Test Run By root on Tue Aug 16 11:27:32 2016 Native configuration is aarch64-unknown-linux-gnu === systemtap tests === Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /root/systemtap_write/systemtap/testsuite/config/unix.exp as tool-and-target-specific interface file. Host: Linux amd-seattle-19.khw.lab.eng.bos.redhat.com 4.8.0-rc1uprobes+ #1 SMP Mon Aug 15 10:03:07 EDT 2016 aarch64 aarch64 aarch64 GNU/Linux Snapshot: version 3.1/0.166, commit release-3.0-208-gba1635087e19 GCC: 4.8.5 [gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-10)] Distro: Red Hat Enterprise Linux Server release 7.3 Beta (Maipo) SElinux: Enforcing Running /root/systemtap_write/systemtap/testsuite/systemtap/notest.exp ... testcase /root/systemtap_write/systemtap/testsuite/systemtap/notest.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/java.exp ... PASS: singleparam compile spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.apps/singleparam.stp -c java singleparam >/dev/null 2>&1 FAIL: singleparam (timeout) FAIL: singleparam (0) PASS: return compile spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.apps/returnstatement.stp -c java returnstatement >/dev/null 2>&1 FAIL: return (0) PASS: multiparams compile spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.apps/multiparams.stp -c java multiparams >/dev/null 2>&1 FAIL: multiparams (0) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.apps/java_backtrace.stp -c java singleparam >/dev/null 2>&1 FAIL: stacktrace (0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/java.exp completed in 145 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/mysql.exp ... UNTESTED: mysql sdt app testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/mysql.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/postgres.exp ... UNTESTED: postgres sdt app testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/postgres.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/python.exp ... UNTESTED: python sdt app testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/python.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/tcl.exp ... UNTESTED: tcl sdt app testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/tcl.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.apps/xulrunner.exp ... UNTESTED: xulrunner sdt app testcase /root/systemtap_write/systemtap/testsuite/systemtap.apps/xulrunner.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/add.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/add.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/add.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 3 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap4axwez/stap_35aed82d0ffb139efa31d48776d425a3_1649_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_35aed82d0ffb139efa31d48776d425a3_1649.ko" in 0usr/3380sys/3439real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/add.stp startup PASS: systemtap.base/add.stp load generation Executing: kill -INT -7537 systemtap ending probe systemtap test success PASS: systemtap.base/add.stp shutdown and output Pass 5: run completed in 0usr/80sys/971real ms. metric: systemtap.base/add.stp 0 400 405 0 10 8 0 0 1 0 3380 3439 0 80 971 Executing: kill -INT -7537 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/add.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/additional_scripts.exp ... spawn stap -p4 -v -E probe timer.s(15) { printf("ending") exit ()} A script must be specified. Try '-i' for building a script interactively. Try '--help' for more information. PASS: additional_scripts (no script) spawn stap -p4 -v -e probe begin{printf("beginning")} -E probe pppppppp.begin { exit(); } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/399real ms. semantic error: while resolving probe point: identifier 'pppppppp' at :1:7 source: probe pppppppp.begin { exit(); } ^ PASS: additional_scripts (-E BAD_SCRIPT) spawn stap -l pb -E probe pb=process.begin {exit();} probe process.end{exit();} pb PASS: additional_scripts (-E listing probes) spawn stap -l pb -E probe pb=process.begin {exit();} probe process.end{exit();} -E probe pppppppp.begin { exit(); } pb PASS: additional_scripts (-E BAD_SCRIPT listing probes) spawn stap -v -e probe begin{printf("beginning")} -E probe timer.s(15) { printf("ending") exit ()} Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapoVs44C/stap_4f122ea04080fe7aa7fca2c2f41d1814_1543_src.c" using 54848virt/47232res/6848shr/38400data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_4f122ea04080fe7aa7fca2c2f41d1814_1543.ko" in 0usr/3360sys/3415real ms. Pass 5: starting run. beginningsaw:beginning endingsaw:ending Pass 5: run completed in 0usr/80sys/15457real ms. PASS: additional_scripts (-e and -E ) spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/additional_scripts.stp -E probe timer.s(15) { printf("ending") exit ()} Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staprPcDhg/stap_0a508146ea5e56757b33ae623100b5f3_1565_src.c" using 54848virt/47296res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_0a508146ea5e56757b33ae623100b5f3_1565.ko" in 0usr/4530sys/4594real ms. Pass 5: starting run. a process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process begana process began saw:a process began ending saw:ending Pass 5: run completed in 0usr/90sys/15530real ms. PASS: additional_scripts (file and -E ) spawn stap -v -e probe process.begin{printf("%s", $1)} -E probe begin{printf("beginning")} -E probe timer.s(15) { printf("ending") exit ()} "hello" Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 4 probes, 2 functions, 0 embeds, 0 globals using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapKQo6c4/stap_3bd3e708843d9a9b01c77dc6d080e4ac_1602_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_3bd3e708843d9a9b01c77dc6d080e4ac_1602.ko" in 0usr/4600sys/4660real ms. Pass 5: starting run. beginninghellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello saw:beginning saw:hello ending saw:ending Pass 5: run completed in 0usr/90sys/15539real ms. PASS: additional_scripts (multiple -E ) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/additional_scripts.exp completed in 63 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-condition.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-condition.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-condition.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 6 probes, 2 functions, 0 embeds, 1 global using 54784virt/46720res/6336shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapJyOQ0U/stap_174a68173811e88612a567b503f38811_1914_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_174a68173811e88612a567b503f38811_1914.ko" in 0usr/3400sys/3448real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/alias-condition.stp startup PASS: systemtap.base/alias-condition.stp load generation Executing: kill -INT -8570 PASS: systemtap.base/alias-condition.stp shutdown and output Pass 5: run completed in 0usr/70sys/462real ms. metric: systemtap.base/alias-condition.stp 0 400 405 0 10 8 0 0 1 0 3400 3448 0 70 462 Executing: kill -INT -8570 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-condition.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-epilog.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-epilog.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-epilog.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staptgwH9p/stap_19542d8c5fe3a59c9a38bd683e095d77_1616_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_19542d8c5fe3a59c9a38bd683e095d77_1616.ko" in 0usr/3350sys/3408real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/alias-epilog.stp startup PASS: systemtap.base/alias-epilog.stp load generation Executing: kill -INT -8825 PASS: systemtap.base/alias-epilog.stp shutdown and output Pass 5: run completed in 0usr/70sys/496real ms. metric: systemtap.base/alias-epilog.stp 0 400 401 0 10 8 0 0 1 0 3350 3408 0 70 496 Executing: kill -INT -8825 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-epilog.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-prolog.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-prolog.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-prolog.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54784virt/46848res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapejQkV2/stap_451d3ba61c7396aab66d228a899050da_1615_src.c" using 54784virt/47360res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_451d3ba61c7396aab66d228a899050da_1615.ko" in 0usr/3370sys/3414real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/alias-prolog.stp startup PASS: systemtap.base/alias-prolog.stp load generation Executing: kill -INT -9080 PASS: systemtap.base/alias-prolog.stp shutdown and output Pass 5: run completed in 0usr/70sys/479real ms. metric: systemtap.base/alias-prolog.stp 0 390 399 0 10 8 0 0 1 0 3370 3414 0 70 479 Executing: kill -INT -9080 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alias-prolog.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes01.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes01.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 0 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapvl8saB/stap_2706a8d88f028fd3202464468b771d37_1509_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_2706a8d88f028fd3202464468b771d37_1509.ko" in 0usr/3360sys/3404real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/alias_suffixes01.stp startup PASS: systemtap.base/alias_suffixes01.stp load generation Executing: kill -INT -9336 systemtap ending probe systemtap test success PASS: systemtap.base/alias_suffixes01.stp shutdown and output Pass 5: run completed in 0usr/70sys/975real ms. metric: systemtap.base/alias_suffixes01.stp 0 400 405 0 10 8 0 0 1 0 3360 3404 0 70 975 Executing: kill -INT -9336 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes02.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes02.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/410sys/410real ms. Pass 2: analyzed script: 5 probes, 1 function, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap1bmHAC/stap_f9733c17cbea15ffd89c45468d34d634_1673_src.c" using 54848virt/47360res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_f9733c17cbea15ffd89c45468d34d634_1673.ko" in 0usr/3360sys/3414real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/alias_suffixes02.stp startup PASS: systemtap.base/alias_suffixes02.stp load generation Executing: kill -INT -9591 systemtap ending probe systemtap test success PASS: systemtap.base/alias_suffixes02.stp shutdown and output Pass 5: run completed in 0usr/70sys/983real ms. metric: systemtap.base/alias_suffixes02.stp 0 410 410 0 10 8 0 0 1 0 3360 3414 0 70 983 Executing: kill -INT -9591 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes03.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes03.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 0 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapHp7j2H/stap_6bde1d91d2dfa6a81a500c5eb8b30bdc_1487_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_6bde1d91d2dfa6a81a500c5eb8b30bdc_1487.ko" in 0usr/3350sys/3402real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/alias_suffixes03.stp startup PASS: systemtap.base/alias_suffixes03.stp load generation Executing: kill -INT -9846 systemtap ending probe systemtap test success PASS: systemtap.base/alias_suffixes03.stp shutdown and output Pass 5: run completed in 0usr/70sys/964real ms. metric: systemtap.base/alias_suffixes03.stp 0 400 404 0 10 8 0 0 1 0 3350 3402 0 70 964 Executing: kill -INT -9846 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes04.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes04.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 0 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapNQsPnK/stap_1a39404b24c91696e6635ee74577e335_1546_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_1a39404b24c91696e6635ee74577e335_1546.ko" in 0usr/3360sys/3405real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/alias_suffixes04.stp startup PASS: systemtap.base/alias_suffixes04.stp load generation Executing: kill -INT -10101 systemtap ending probe systemtap test success PASS: systemtap.base/alias_suffixes04.stp shutdown and output Pass 5: run completed in 0usr/70sys/1015real ms. metric: systemtap.base/alias_suffixes04.stp 0 400 407 0 10 8 0 0 1 0 3360 3405 0 70 1015 Executing: kill -INT -10101 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes05.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes05.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap7RAohR/stap_6d1cc0da05bf239b7eb7a4b0f8748014_1708_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_6d1cc0da05bf239b7eb7a4b0f8748014_1708.ko" in 0usr/3400sys/3443real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/alias_suffixes05.stp startup PASS: systemtap.base/alias_suffixes05.stp load generation Executing: kill -INT -10358 systemtap ending probe systemtap test success PASS: systemtap.base/alias_suffixes05.stp shutdown and output Pass 5: run completed in 0usr/70sys/942real ms. metric: systemtap.base/alias_suffixes05.stp 0 400 405 0 10 8 0 0 1 0 3400 3443 0 70 942 Executing: kill -INT -10358 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_suffixes.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset.exp ... running bash -c {stap -p2 -I /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset.stp | egrep '^kernel|^never|^timer'} spawn bash -c stap -p2 -I /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset.stp | egrep '^kernel|^never|^timer' never /* <- tapset_test.foo = never <- tapset_test.foo */ timer.s(900) /* <- timer.s(900) */ kernel.function("SyS_read@fs/read_write.c:584").call /* pc=_stext+0x221818 */ /* <- kernel.function("SyS_read@fs/read_write.c:584").call */ timer.s(5) /* <- timer.s(5) */ PASS: alias_tapset testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alias_tapset.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/alternatives.exp ... starting stap -u -p2 -e { probe kernel.function("vfs_write") { ret = $z; } } spawn stap -u -p2 -e probe kernel.function("vfs_write") { ret = $z; } semantic error: unresolved type : identifier 'ret' at :2:42 source: probe kernel.function("vfs_write") { ret = $z; } ^ semantic error: unresolved type : identifier 'ret' at :2:42 source: probe kernel.function("vfs_write") { ret = $z; } ^ semantic error: while processing probe kernel.function("vfs_write@fs/read_write.c:544") from: kernel.function("vfs_write") semantic error: unable to find local 'z', [man error::dwarf] dieoffset 0x178f70c in kernel, near pc 0xfffffc00082a18dc in vfs_write fs/read_write.c (alternatives: $buf, $pos, $ret, $file, $count)): identifier '$z' at :2:48 source: probe kernel.function("vfs_write") { ret = $z; } ^ uf, $pos, $ret, $file, $count)): identifier '$z' at :2:48 source: probe kernel.function("vfs_write") { ret = $z; } ^ Pass 2: analysis failed. [man error::pass2] Pass 2: analysis failed. [man error::pass2] EOF wait results: 10620 exp8 0 1 PASS: LOCAL1 starting stap -u -p2 -e { probe kernel.function("vfs_write") { f_pos = $file->f_po; } } spawn stap -u -p2 -e probe kernel.function("vfs_write") { f_pos = $file->f_po; } semantic error: unresolved type : identifier 'f_pos' at :2:42 source: probe kernel.function("vfs_write") { f_pos = $file->f_po; } ^ semantic error: unresolved type : identifier 'f_pos' at :2:42 source: probe kernel.function("vfs_write") { f_pos = $file->f_po; } ^ semantic error: while processing probe kernel.function("vfs_write@fs/read_write.c:544") from: kernel.function("vfs_write") semantic error: unable to find member 'f_po' for struct file (alternatives: f_pos, f_op, f_ra, f_u, f_lock, f_mode, f_path, f_count, f_cred, f_inode, f_flags, f_owner, f_mapping, f_pos_lock, f_version, f_ep_links, f_security, private_data, f_tfile_llink): operator '->' at :2:55 source: probe kernel.function("vfs_write") { f_pos = $file->f_po; } ^ _pos, f_op, f_ra, f_u, f_lock, f_mode, f_path, f_count, f_cred, f_inode, f_flags, f_owner, f_mapping, f_pos_lock, f_version, f_ep_links, f_security, private_data, f_tfile_llink): operator '->' at :2:55 source: probe kernel.function("vfs_write") { f_pos = $file->f_po; } ^ Pass 2: analysis failed. [man error::pass2] Pass 2: analysis failed. [man error::pass2] EOF wait results: 10625 exp8 0 1 PASS: STRUCT1 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/alternatives.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp PASS: argv naked executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp hello PASS: argv one executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp hello world PASS: argv two executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp -G argc=1 -G argv_1=hello PASS: argv one other executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp -G argc=2 -G argv_1=hello -G argv_2=world PASS: argv two other executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp smelly panda -G argv_1=hello -G argv_2=world PASS: argv two mixed executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.stp hello world -G argc=3 -G argv_3=mom PASS: argv three mixed testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/argv.exp completed in 23 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/arith.exp ... spawn stap -DMAXNESTING=5 /root/systemtap_write/systemtap/testsuite/systemtap.base/arith.stp test 1 [+] pass test 2 [+] pass test 3 [-] pass test 4 [==] pass test 5 [!=] pass test 6 [>] pass test 7 [>= (=)] pass test 8 [>= (>)] pass test 9 [<] pass test 10 [<= (=)] pass test 11 [<= (<)] pass test 12 [== s] pass test 13 [>= s (=)] pass test 14 [<= s (=)] pass test 15 [<= s (<)] pass test 16 [>= s (>)] pass test 17 [> s] pass test 18 [< s] pass test 19 [!= s] pass test 20 [<] pass test 21 [<] pass test 22 [*] pass test 23 [*] pass test 24 [/] pass test 25 [%] pass test 26 [/] pass test 27 [%] pass test 28 [/] pass test 29 [%] pass test 30 [/] pass test 31 [%] pass test 32 [%] pass test 33 [&] pass test 34 [|] pass test 35 [^] pass test 36 [&&] pass test 37 [||] pass test 38 [<<] pass test 39 [<<] pass test 40 [<<] pass test 41 [<<] pass test 42 [<<] pass test 43 [>>] pass test 44 [>>] pass test 45 [>>] pass test 46 [>>] pass test 47 [--i] pass test 48 [++i] pass test 49 [i--] pass test 50 [i++] pass test 51 [+=] pass test 52 [after +=] pass test 53 [*=] pass test 54 [after -=] pass test 55 [/=] pass test 56 [after /=] pass test 57 [*=] pass test 58 [after *=] pass test 59 [*=] pass test 60 [after %=] pass test 61 [>>=] pass test 62 [after >>=] pass test 63 [<<=] pass test 64 [after <<=] pass test 65 [&=] pass test 66 [after &=] pass test 67 [^=] pass test 68 [after ^=] pass test 69 [|=] pass test 70 [after |=] pass test 71 [+] pass test 72 [+] pass test 73 [!] pass test 74 [~] pass test 75 [.=] pass test 76 [after .=] pass test 77 [?:] pass passes: 77 failures: 0 PASS: arith testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/arith.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/arith_limits.exp ... spawn stap -DMAXNESTING=5 /root/systemtap_write/systemtap/testsuite/systemtap.base/arith_limits.stp test 0 [string lmax] pass test 1 [hex lmax] pass test 2 [string lmin] pass test 3 [hex lmin] pass test 4 [lmax/-1] pass test 5 [lmin/-1] pass test 6 [lmax +1] pass test 7 [lmin -1] pass test 8 [string llmax] pass test 9 [hex llmax] pass test 10 [string llmin] pass test 11 [hex llmin] pass test 12 [llmax/-1] pass test 13 [llmax*-1] pass test 14 [llmin/-1] pass test 15 [llmin*-1] pass test 16 [llmax +1] pass test 17 [llmin -1] pass test 18 [llmax%1] pass test 19 [llmin%1] pass test 20 [0%1 ] pass test 21 [0%lmax] pass test 22 [1%lmax] pass test 23 [0%lmin] pass test 24 [1%lmin] pass passes: 25 failures: 0 PASS: arith_limits testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/arith_limits.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/array_size.exp ... executing: stap -v -DMAXMAPENTRIES=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/array_size.stp spawn stap -v -DMAXMAPENTRIES=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/array_size.stp Pass 1: parsed user script and 115 library scripts using 54144virt/43264res/5888shr/37696data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 5 probes, 1 function, 0 embeds, 1 global using 54912virt/43264res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapzbpfFj/stap_5ca29c4823bd1e410462f6050e891fc4_1866_src.c" using 54912virt/47360res/6912shr/38464data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_5ca29c4823bd1e410462f6050e891fc4_1866.ko" in 0usr/3510sys/3553real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/array_size.stp startup PASS: systemtap.base/array_size.stp load generation Executing: kill -INT -12156 systemtap ending probe systemtap test success PASS: systemtap.base/array_size.stp shutdown and output Pass 5: run completed in 0usr/70sys/994real ms. metric: systemtap.base/array_size.stp 0 400 403 0 10 8 0 0 2 0 3510 3553 0 70 994 Executing: kill -INT -12156 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/array_size.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/array_slicing.exp ... executing: stap -v -e { global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } } 2 {"hello"} 1 1 {"hey"} 1 * * spawn stap -v -e global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } 2 "hello" 1 1 "hey" 1 * * Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapqzMCkq/stap_3407336cea00aeb36fb6f10b1bbb55b6_1763_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_3407336cea00aeb36fb6f10b1bbb55b6_1763.ko" in 0usr/3480sys/3527real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 11 endPASS: array_slicing foreach (... val[*, *]) startup Executing: kill -INT -12411 PASS: array_slicing foreach (... val[*, *]) shutdown and output Pass 5: run completed in 0usr/70sys/509real ms. metric: array_slicing foreach (... val[*, *]) 0 400 404 0 10 8 0 0 1 0 3480 3527 0 70 509 Executing: kill -INT -12411 executing: stap -v -e { global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } } 2 2 2 3 3 3 2 2 spawn stap -v -e global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } 2 2 2 3 3 3 2 2 Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapTFrFhc/stap_1592fe8eef3feab629f5d8e1cdffb6d3_1749_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_1592fe8eef3feab629f5d8e1cdffb6d3_1749.ko" in 0usr/3480sys/3528real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 2 endPASS: array_slicing foreach (... val[int, int]) startup Executing: kill -INT -12666 PASS: array_slicing foreach (... val[int, int]) shutdown and output Pass 5: run completed in 0usr/70sys/527real ms. metric: array_slicing foreach (... val[int, int]) 0 390 399 0 10 8 0 0 1 0 3480 3528 0 70 527 Executing: kill -INT -12666 executing: stap -v -e { global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } } {"asdf"} {"jkl"} 1 {"fdsa"} {"lkj"} 2 {"asdf"} {"jkl"} spawn stap -v -e global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } "asdf" "jkl" 1 "fdsa" "lkj" 2 "asdf" "jkl" Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapLDBfSU/stap_1c1358e2bfbd1729022a6ae5da1e1d05_1784_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_1c1358e2bfbd1729022a6ae5da1e1d05_1784.ko" in 0usr/3490sys/3537real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 1 endPASS: array_slicing foreach (... val[string, string]) startup Executing: kill -INT -12921 PASS: array_slicing foreach (... val[string, string]) shutdown and output Pass 5: run completed in 0usr/70sys/462real ms. metric: array_slicing foreach (... val[string, string]) 0 390 400 0 10 8 0 10 1 0 3490 3537 0 70 462 Executing: kill -INT -12921 executing: stap -v -e { global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } } 9 1 4 8 9 9 {val[8,9]} * spawn stap -v -e global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } 9 1 4 8 9 9 val[8,9] * Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/390sys/397real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapNc2HLt/stap_155c1c70bcdf37b5ac6539270cba1c7e_1766_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_155c1c70bcdf37b5ac6539270cba1c7e_1766.ko" in 0usr/3470sys/3522real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 4 endPASS: array_slicing foreach (... val[variable, *]) startup Executing: kill -INT -13176 PASS: array_slicing foreach (... val[variable, *]) shutdown and output Pass 5: run completed in 0usr/70sys/498real ms. metric: array_slicing foreach (... val[variable, *]) 0 390 397 0 10 8 0 10 1 0 3470 3522 0 70 498 Executing: kill -INT -13176 executing: stap -v -e { global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } } {"hi"} {"hello"} {"asdf"} {"hi"} {"hi"} {"hello"} {"hi"} {val["hi","hi"]} spawn stap -v -e global val; probe oneshot { val[$1, $2] = $3; val[$4,$5] = $6 print("systemtap starting probe\nsystemtap ending probe\n"); foreach (a=[b,c] in val[$7,$8]) {print(a)} print(" end") } "hi" "hello" "asdf" "hi" "hi" "hello" "hi" val["hi","hi"] Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap2TlK8g/stap_de5af2e912c0873ccc0085b3288b3a45_1813_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_de5af2e912c0873ccc0085b3288b3a45_1813.ko" in 0usr/3490sys/3537real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe asdf endPASS: array_slicing foreach (... val[variable, string]) startup Executing: kill -INT -13431 PASS: array_slicing foreach (... val[variable, string]) shutdown and output Pass 5: run completed in 0usr/70sys/506real ms. metric: array_slicing foreach (... val[variable, string]) 0 400 406 0 10 8 0 10 1 0 3490 3537 0 70 506 Executing: kill -INT -13431 executing: stap -v -e { global val, c=1, d=3; probe oneshot { print("systemtap starting probe\nsystemtap ending probe\n"); val[1,3]=5; val[2,3]=6; foreach ([a,b] in val[c,d]){print(val[a,b]);c++;d++} } } spawn stap -v -e global val, c=1, d=3; probe oneshot { print("systemtap starting probe\nsystemtap ending probe\n"); val[1,3]=5; val[2,3]=6; foreach ([a,b] in val[c,d]){print(val[a,b]);c++;d++} } Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 3 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapsyS2RY/stap_5e4ceb76ade977b03bab67e8f5ad7c3d_1815_src.c" using 54912virt/47424res/6912shr/38464data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_5e4ceb76ade977b03bab67e8f5ad7c3d_1815.ko" in 0usr/3480sys/3531real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 5PASS: array_slicing foreach (... val[c,d]) {c++;d++;} startup Executing: kill -INT -13686 PASS: array_slicing foreach (... val[c,d]) {c++;d++;} shutdown and output Pass 5: run completed in 0usr/70sys/494real ms. metric: array_slicing foreach (... val[c,d]) {c++;d++;} 0 400 402 0 10 8 0 0 1 0 3480 3531 0 70 494 Executing: kill -INT -13686 executing: stap -v -e { global val, c=1, d=2; probe oneshot { print("systemtap starting probe\nsystemtap ending probe\n"); val[1,3]=5; val[2,3]=6; foreach ([a,b] in val[(c==d ? d : c), *]){print(val[a,b])} } } spawn stap -v -e global val, c=1, d=2; probe oneshot { print("systemtap starting probe\nsystemtap ending probe\n"); val[1,3]=5; val[2,3]=6; foreach ([a,b] in val[(c==d ? d : c), *]){print(val[a,b])} } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 3 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapUlHAfC/stap_e2c8c0f062df2bb7db0ca3b077795603_1815_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_e2c8c0f062df2bb7db0ca3b077795603_1815.ko" in 0usr/3470sys/3530real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 5PASS: array_slicing foreach (... val[expression,*]) startup Executing: kill -INT -13941 PASS: array_slicing foreach (... val[expression,*]) shutdown and output Pass 5: run completed in 0usr/70sys/526real ms. metric: array_slicing foreach (... val[expression,*]) 0 400 400 0 10 8 0 0 1 0 3470 3530 0 70 526 Executing: kill -INT -13941 executing: stap -v -e { global val, stats probe oneshot { val[1, 1] = 1; val[3, 3] = 5; val[1, 2] = 2; val[2, 2] = 4; val[2, 1] = 3; stats [1, 1] <<< 9; stats [2, 1] <<< 2; stats [2, 1] <<< 6; stats [23, 1] <<< 5; print("systemtap starting probe\nsystemtap ending probe\n"); foreach (c=[a, b] in val[*,*]+) print(c); foreach (c=[a, b] in val[*,*]-) print(c); foreach ([a,b] in stats[*,1] @sum-) print(@sum(stats[a,b])); } } spawn stap -v -e global val, stats probe oneshot { val[1, 1] = 1; val[3, 3] = 5; val[1, 2] = 2; val[2, 2] = 4; val[2, 1] = 3; stats [1, 1] <<< 9; stats [2, 1] <<< 2; stats [2, 1] <<< 6; stats [23, 1] <<< 5; print("systemtap starting probe\nsystemtap ending probe\n"); foreach (c=[a, b] in val[*,*]+) print(c); foreach (c=[a, b] in val[*,*]-) print(c); foreach ([a,b] in stats[*,1] @sum-) print(@sum(stats[a,b])); } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 2 globals using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap24Vraf/stap_8164c958d0e38aa0222788ec4fc9113d_2109_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_8164c958d0e38aa0222788ec4fc9113d_2109.ko" in 0usr/3770sys/3821real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 1234554321985PASS: array_slicing foreach sorting startup Executing: kill -INT -14196 PASS: array_slicing foreach sorting shutdown and output Pass 5: run completed in 0usr/70sys/539real ms. metric: array_slicing foreach sorting 0 400 403 0 10 8 0 0 2 0 3770 3821 0 70 539 Executing: kill -INT -14196 executing: stap -v -e { global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } } * * spawn stap -v -e global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } * * Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/397real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap0WRkdj/stap_403fb87d913ac5e2641e588c5b8bf52d_1783_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_403fb87d913ac5e2641e588c5b8bf52d_1783.ko" in 0usr/3480sys/3532real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 00PASS: array_slicing delete val[*,*] startup Executing: kill -INT -14451 PASS: array_slicing delete val[*,*] shutdown and output Pass 5: run completed in 0usr/80sys/510real ms. metric: array_slicing delete val[*,*] 0 390 397 0 10 8 0 0 1 0 3480 3532 0 80 510 Executing: kill -INT -14451 executing: stap -v -e { global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } } * {"hello"} spawn stap -v -e global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } * "hello" Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staphB3ht5/stap_9f0c6652cb818b07a13d2dbb95c58270_1789_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_9f0c6652cb818b07a13d2dbb95c58270_1789.ko" in 0usr/3500sys/3540real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 06PASS: array_slicing delete val[*, string] startup Executing: kill -INT -14706 PASS: array_slicing delete val[*, string] shutdown and output Pass 5: run completed in 0usr/70sys/471real ms. metric: array_slicing delete val[*, string] 0 400 401 0 10 8 0 0 1 0 3500 3540 0 70 471 Executing: kill -INT -14706 executing: stap -v -e { global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } } 300 * spawn stap -v -e global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } 300 * Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45184res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapP2QZyK/stap_0f7cd7f81f242815653f14adc8af5fb6_1785_src.c" using 54784virt/47424res/6912shr/38336data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_0f7cd7f81f242815653f14adc8af5fb6_1785.ko" in 0usr/3490sys/3540real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 90PASS: array_slicing delete val[int, *] startup Executing: kill -INT -14961 PASS: array_slicing delete val[int, *] shutdown and output Pass 5: run completed in 0usr/80sys/475real ms. metric: array_slicing delete val[int, *] 0 400 402 0 10 8 0 0 2 0 3490 3540 0 80 475 Executing: kill -INT -14961 executing: stap -v -e { global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } } {(val[9,"hello"] == val[300,"there"] ? 9 : 300)} * spawn stap -v -e global val; probe oneshot { val[9, "hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); delete val[$1, $2]; print(val[9, "hello"]);print(val[300, "there"]); exit(); } (val[9,"hello"] == val[300,"there"] ? 9 : 300) * Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapZfWzNn/stap_161c0dea7303355266c43947638bdd01_1852_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_161c0dea7303355266c43947638bdd01_1852.ko" in 0usr/3490sys/3538real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 90PASS: array_slicing delete val[epression, *] startup Executing: kill -INT -15216 PASS: array_slicing delete val[epression, *] shutdown and output Pass 5: run completed in 0usr/70sys/508real ms. metric: array_slicing delete val[epression, *] 0 400 402 0 10 8 0 10 1 0 3490 3538 0 70 508 Executing: kill -INT -15216 executing: stap -v -e { global stats probe oneshot { stats [1, 1] <<< 9; stats [1, 1] <<< 2; stats [1, 1] <<< 6; stats [2, 2] <<< 1; delete stats [1, *]; print("systemtap starting probe\nsystemtap ending probe\n"); print (@count(stats[1, 1])); print(@count(stats[2,2])); } } spawn stap -v -e global stats probe oneshot { stats [1, 1] <<< 9; stats [1, 1] <<< 2; stats [1, 1] <<< 6; stats [2, 2] <<< 1; delete stats [1, *]; print("systemtap starting probe\nsystemtap ending probe\n"); print (@count(stats[1, 1])); print(@count(stats[2,2])); } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/396real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapckPRjd/stap_7471886a03d430b2287b1049e6a90f75_1821_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_7471886a03d430b2287b1049e6a90f75_1821.ko" in 0usr/3680sys/3736real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 01PASS: array_slicing delete pmaps startup Executing: kill -INT -15471 PASS: array_slicing delete pmaps shutdown and output Pass 5: run completed in 0usr/70sys/469real ms. metric: array_slicing delete pmaps 0 390 396 0 10 8 0 10 2 0 3680 3736 0 70 469 Executing: kill -INT -15471 executing: stap -v -e { global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } } * * spawn stap -v -e global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } * * Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapGQwEh4/stap_16e425a4c1d4e073fb102b735ffbb541_1722_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_16e425a4c1d4e073fb102b735ffbb541_1722.ko" in 0usr/3440sys/3497real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe inPASS: array_slicing membership [*,*] in val startup Executing: kill -INT -15726 PASS: array_slicing membership [*,*] in val shutdown and output Pass 5: run completed in 0usr/70sys/481real ms. metric: array_slicing membership [*,*] in val 0 390 398 0 10 8 0 10 1 0 3440 3497 0 70 481 Executing: kill -INT -15726 executing: stap -v -e { global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } } * {"hello"} spawn stap -v -e global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } * "hello" Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stapWTRkxE/stap_d8075f5d41392b02c55da15059f42803_1728_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_d8075f5d41392b02c55da15059f42803_1728.ko" in 0usr/3450sys/3504real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe inPASS: array_slicing membership [*, string] in val startup Executing: kill -INT -15981 PASS: array_slicing membership [*, string] in val shutdown and output Pass 5: run completed in 0usr/70sys/502real ms. metric: array_slicing membership [*, string] in val 0 400 404 0 0 8 0 0 1 0 3450 3504 0 70 502 Executing: kill -INT -15981 executing: stap -v -e { global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } } 309 * spawn stap -v -e global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } 309 * Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapsp1omf/stap_86ea75286ab16047ae47fe08e50db1bb_1724_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_86ea75286ab16047ae47fe08e50db1bb_1724.ko" in 0usr/3470sys/3516real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe not inPASS: array_slicing membership [int, *] in val startup Executing: kill -INT -16236 PASS: array_slicing membership [int, *] in val shutdown and output Pass 5: run completed in 0usr/70sys/475real ms. metric: array_slicing membership [int, *] in val 0 400 407 0 10 8 0 0 1 0 3470 3516 0 70 475 Executing: kill -INT -16236 executing: stap -v -e { global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } } {(val[9, "hello"] == val[300, "there"]? 9 : 900)} * spawn stap -v -e global val; probe oneshot { val[9,"hello"] = 9; val[300,"there"] = 6; print("systemtap starting probe\nsystemtap ending probe\n"); if ([$1, $2] in val) { print("in");} else {print ("not in");} } (val[9, "hello"] == val[300, "there"]? 9 : 900) * Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapH7IgF0/stap_243fbe65961664abe40bc2900118f4ea_1791_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_243fbe65961664abe40bc2900118f4ea_1791.ko" in 0usr/3470sys/3525real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe not inPASS: array_slicing membership [expression,*] in val startup Executing: kill -INT -16491 PASS: array_slicing membership [expression,*] in val shutdown and output Pass 5: run completed in 0usr/70sys/460real ms. metric: array_slicing membership [expression,*] in val 0 390 398 0 10 8 0 10 2 0 3470 3525 0 70 460 Executing: kill -INT -16491 executing: stap -v -e { global stats probe begin {stats[1,1] <<< 2; exit();} probe end { print("systemtap starting probe\nsystemtap ending probe\n"); print([1, *] in stats); print([2, *] in stats) } } spawn stap -v -e global stats probe begin {stats[1,1] <<< 2; exit();} probe end { print("systemtap starting probe\nsystemtap ending probe\n"); print([1, *] in stats); print([2, *] in stats) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 1 global using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap1j7v7z/stap_f6676a7e93a1dba97b7175583c5e1721_1687_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_f6676a7e93a1dba97b7175583c5e1721_1687.ko" in 0usr/3630sys/3675real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 10PASS: array_slicing membership pmaps startup Executing: kill -INT -16746 PASS: array_slicing membership pmaps shutdown and output Pass 5: run completed in 0usr/70sys/483real ms. metric: array_slicing membership pmaps 0 400 400 0 10 8 0 0 1 0 3630 3675 0 70 483 Executing: kill -INT -16746 executing: stap -v -e { global stats probe begin {stats[1,1] <<< 2; exit();} probe end { print("systemtap starting probe\nsystemtap ending probe\n"); foreach([x,y] in stats) print([1,*] in stats) } } spawn stap -v -e global stats probe begin {stats[1,1] <<< 2; exit();} probe end { print("systemtap starting probe\nsystemtap ending probe\n"); foreach([x,y] in stats) print([1,*] in stats) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapBryavp/stap_dc5d43360778671998f850b557a8ccef_1718_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_dc5d43360778671998f850b557a8ccef_1718.ko" in 0usr/3620sys/3685real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 1PASS: array_slicing membership pmaps (2) startup Executing: kill -INT -17003 PASS: array_slicing membership pmaps (2) shutdown and output Pass 5: run completed in 0usr/80sys/541real ms. metric: array_slicing membership pmaps (2) 0 410 409 0 10 8 0 0 1 0 3620 3685 0 80 541 Executing: kill -INT -17003 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/array_slicing.exp completed in 90 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/array_string.exp ... executing: stap -v -DMAXSTRINGLEN=512 -e { global str global str_array[1] probe begin { str = " 0:123456789+123456789+123456789+123456789+123456789+123456789 1:123456789+123456789+123456789+123456789+123456789+123456789 2:123456789+123456789+123456789+123456789+123456789+123456789 3:123456789+123456789+123456789+123456789+123456789+123456789 4:123456789+123456789+123456789+123456789+123456789+123456789 5:123456789+123456789+123456789+123456789+123456789+123456789 6:123456789+123456789+123456789+123456789+123456789+123456789 7:123456789+123456789+123456789+123456789+123456789+123456789" str_array[0] = str printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") if (strlen(str) < 500) { printf("string str is too short: %d\n", strlen(str)) printf("%s\n", str) } if (strlen(str) == strlen(str_array[0])) { printf("string lengths match\n") } else { printf("string lengths *don't* match\n") printf("str: %d\n", strlen(str)) printf("str_array[0]: %d\n", strlen(str_array[0])) } if (str_array[0] == str) { printf("strings match\n") } else { printf("strings *don't* match!\n") printf("str: %s\n", str) printf("str_array[0]: %s\n", str_array[0]) } } } spawn stap -v -DMAXSTRINGLEN=512 -e global str global str_array[1] probe begin { str = " 0:123456789+123456789+123456789+123456789+123456789+123456789 1:123456789+123456789+123456789+123456789+123456789+123456789 2:123456789+123456789+123456789+123456789+123456789+123456789 3:123456789+123456789+123456789+123456789+123456789+123456789 4:123456789+123456789+123456789+123456789+123456789+123456789 5:123456789+123456789+123456789+123456789+123456789+123456789 6:123456789+123456789+123456789+123456789+123456789+123456789 7:123456789+123456789+123456789+123456789+123456789+123456789" str_array[0] = str printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") if (strlen(str) < 500) { printf("string str is too short: %d\n", strlen(str)) printf("%s\n", str) } if (strlen(str) == strlen(str_array[0])) { printf("string lengths match\n") } else { printf("string lengths *don't* match\n") printf("str: %d\n", strlen(str)) printf("str_array[0]: %d\n", strlen(str_array[0])) } if (str_array[0] == str) { printf("strings match\n") } else { printf("strings *don't* match!\n") printf("str: %s\n", str) printf("str_array[0]: %s\n", str_array[0]) } } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapJtETwj/stap_35390a9f29de1c6107491d2d9d0c6112_2906_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_35390a9f29de1c6107491d2d9d0c6112_2906.ko" in 0usr/3570sys/3612real ms. Pass 5: starting run. systemtap starting probe PASS: ARRAY_STRING startup PASS: ARRAY_STRING load generation Executing: kill -INT -17258 systemtap ending probe string lengths match strings match PASS: ARRAY_STRING shutdown and output Pass 5: run completed in 0usr/70sys/993real ms. metric: ARRAY_STRING 0 400 404 0 10 9 0 0 2 0 3570 3612 0 70 993 Executing: kill -INT -17258 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/array_string.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o at_var (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o at_var executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.stp -c ./at_var FAIL: at_var line 7: expected "$utimes$$: {.tv_sec=1, .tv_usec=2}" Got "user_int(&$foo->bar): 40" "user_int(&@var("foo")->bar): 40" "&@cast($foo->bar, "struct foo")->bar: 42" "&@cast(@var("foo")->bar, "struct foo")->bar: 42" "$foo->bar == @entry($foo->bar): true" "@var("foo")->bar == @entry(@var("foo")->bar): true" Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -g -lm -o at_var (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -g -lm -o at_var executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.stp -c ./at_var FAIL: at_var (non-optimized) line 7: expected "$utimes$$: {.tv_sec=1, .tv_usec=2}" Got "user_int(&$foo->bar): 40" "user_int(&@var("foo")->bar): 40" "&@cast($foo->bar, "struct foo")->bar: 42" "&@cast(@var("foo")->bar, "struct foo")->bar: 42" "$foo->bar == @entry($foo->bar): true" "@var("foo")->bar == @entry(@var("foo")->bar): true" testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_2.c /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_3.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_cu (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_2.c /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu_3.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_cu executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu.stp -c ./at_var_cu /root/systemtap_write/systemtap/testsuite/at_var_cu PASS: at_var_cu testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_cu.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_func.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_func (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_func executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_func.stp -c ./at_var_func /root/systemtap_write/systemtap/testsuite/at_var_func /root/systemtap_write/install/bin/stap:/root/systemtap_write/systemtap/testsuite/at_var_func:/root/systemtap_write/install/bin/staprun /root/systemtap_write/install/bin/stap:/root/systemtap_write/install/bin/staprun PASS: at_var_func testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_func.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_lvalue.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_lvalue.c -O2 -g -lm -o at_var_lvalue (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_lvalue.c -O2 -g -lm -o at_var_lvalue executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_lvalue.stp -c ./at_var_lvalue -g /root/systemtap_write/systemtap/testsuite/at_var_lvalue PASS: at_var_lvalue testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_lvalue.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark.stp -c {/root/systemtap_write/install/bin/stap -e 'probe begin { exit() }'} spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark.stp -c /root/systemtap_write/install/bin/stap -e 'probe begin { exit() }' Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 16 probes, 9 functions, 0 embeds, 1 global using 57728virt/51072res/7552shr/41280data kb, in 0usr/110sys/110real ms. Pass 3: translated to C into "/tmp/stapO4DplA/stap_e66a8ba5713602c13890f5c6f5f75463_34659_src.c" using 57728virt/51200res/7680shr/41280data kb, in 0usr/1450sys/1480real ms. Pass 4: compiled C into "stap_e66a8ba5713602c13890f5c6f5f75463_34659.ko" in 0usr/5290sys/5364real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe s = 4397065072840 PASS: at_var_mark startup PASS: at_var_mark load generation Executing: kill -INT -18878 pass:yes:0 Pass 5: run completed in 0usr/90sys/829real ms. PASS: at_var_mark shutdown and output metric: at_var_mark 0 400 400 0 110 110 0 1450 1480 0 5290 5364 0 90 829 Executing: kill -INT -18878 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark_func.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark_func.stp /root/systemtap_write/install/bin/stap -c {/root/systemtap_write/install/bin/stap -e 'probe begin { exit() }'} spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark_func.stp /root/systemtap_write/install/bin/stap -c /root/systemtap_write/install/bin/stap -e 'probe begin { exit() }' Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/410sys/413real ms. Pass 2: analyzed script: 16 probes, 6 functions, 0 embeds, 1 global using 55040virt/48192res/7488shr/38592data kb, in 0usr/80sys/82real ms. Pass 3: translated to C into "/tmp/stapS9yJ91/stap_d25b6d5c9f919a4170636637ac16fdae_7257_src.c" using 55040virt/48384res/7680shr/38592data kb, in 0usr/1450sys/1479real ms. Pass 4: compiled C into "stap_d25b6d5c9f919a4170636637ac16fdae_7257.ko" in 0usr/4950sys/5003real ms. Pass 5: starting run. systemtap starting probe PASS: at_var_mark_func startup PASS: at_var_mark_func load generation Executing: kill -INT -19149 systemtap ending probe pass:yes:0 Pass 5: run completed in 0usr/90sys/792real ms. PASS: at_var_mark_func shutdown and output metric: at_var_mark_func 0 410 413 0 80 82 0 1450 1479 0 4950 5003 0 90 792 Executing: kill -INT -19149 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_mark_func.exp completed in 13 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_pie.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -fPIE -pie -lm -o /root/systemtap_write/systemtap/testsuite/at_var_pie (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -fPIE -pie -lm -o /root/systemtap_write/systemtap/testsuite/at_var_pie executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_func.stp -c ./at_var_pie /root/systemtap_write/systemtap/testsuite/at_var_pie /root/systemtap_write/install/bin/stap:/root/systemtap_write/systemtap/testsuite/at_var_pie:/root/systemtap_write/install/bin/staprun /root/systemtap_write/install/bin/stap:/root/systemtap_write/install/bin/staprun PASS: at_var_pie testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_pie.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_timer_profile.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_timer_profile.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_timer_profile (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_timer_profile.c -O2 -g -lm -o /root/systemtap_write/systemtap/testsuite/at_var_timer_profile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_timer_profile.stp -c ./at_var_timer_profile /root/systemtap_write/systemtap/testsuite/at_var_timer_profile /root/systemtap_write/install/bin/stap:/root/systemtap_write/systemtap/testsuite/at_var_timer_profile:/root/systemtap_write/install/bin/staprun /root/systemtap_write/install/bin/stap:/root/systemtap_write/install/bin/staprun PASS: at_var_timer_profile testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_timer_profile.exp completed in 11 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_tracepoint.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_tracepoint.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_tracepoint.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 4 probes, 6 functions, 0 embeds, 1 global using 66624virt/59904res/7552shr/50176data kb, in 0usr/108210sys/16589real ms. Pass 3: translated to C into "/tmp/stapjuyZBz/stap_70a94f95d97fc9c7f87d40e840291544_5182_src.c" using 66624virt/60032res/7680shr/50176data kb, in 0usr/10sys/12real ms. Pass 4: compiled C into "stap_70a94f95d97fc9c7f87d40e840291544_5182.ko" in 0usr/4050sys/3649real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe sys_tz = {.tz_minuteswest=240, .tz_dsttime=0} PASS: at_var_tracepoint startup PASS: at_var_tracepoint load generation Executing: kill -INT -19952 PASS: at_var_tracepoint shutdown and output Pass 5: run completed in 0usr/70sys/1931real ms. metric: at_var_tracepoint 0 400 407 0 108210 16589 0 10 12 0 4050 3649 0 70 1931 Executing: kill -INT -19952 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_tracepoint.exp completed in 23 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved.exp ... spawn stap -e probe begin { println(@var("var_really_not_exist")) exit() } semantic error: while processing probe begin semantic error: unable to find global 'var_really_not_exist' in kernel: operator '@var' at :1:23 source: probe begin { println(@var("var_really_not_exist")) exit() } ^ Pass 2: analysis failed. [man error::pass2] PASS: at_var_unresolved (1) spawn stap -e probe begin { println(@var("var_really_not_exist@*.c")) exit() } semantic error: while processing probe begin semantic error: unable to find global 'var_really_not_exist' in kernel, in *.c: operator '@var' at :1:23 source: probe begin { println(@var("var_really_not_exist@*.c")) exit() } ^ Pass 2: analysis failed. [man error::pass2] PASS: at_var_unresolved (cuname: 1, 0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved_lvalue.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o at_var_unresolved_lvalue (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c -O2 -g -lm -o at_var_unresolved_lvalue spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved_lvalue.stp -c ./at_var_unresolved_lvalue at_var_unresolved_lvalue -g semantic error: while processing probe process("/root/systemtap_write/systemtap/testsuite/at_var_unresolved_lvalue").function("sub@/root/systemtap_write/systemtap/testsuite/systemtap.base/at_var.c:10") from: process("./at_var_unresolved_lvalue").function("sub") semantic error: unable to find global 'no_such_variable' in at_var_unresolved_lvalue: operator '@var' at /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved_lvalue.stp:3:3 source: @var("no_such_variable", @1) = 3 ^ Pass 2: analysis failed. [man error::pass2] PASS: at_var_unresolved_lvalue testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_unresolved_lvalue.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.c -O2 -g -lm -o at_var_void_stmt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.c -O2 -g -lm -o at_var_void_stmt spawn stap --vp 03 /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.stp -c ./at_var_void_stmt at_var_void_stmt Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'sub', func 'sub' focused on module '/root/systemtap_write/systemtap/testsuite/at_var_void_stmt' = [0x400000-0x420038, bias 0 file /root/systemtap_write/systemtap/testsuite/at_var_void_stmt ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/at_var_void_stmt' selected function sub selected function sub CU '/root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.c' in module '/root/systemtap_write/systemtap/testsuite/at_var_void_stmt' has valid locs probe sub@/root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.c:10 process=/root/systemtap_write/systemtap/testsuite/at_var_void_stmt reloc=.absolute pc=0x4006d0 blacklist regexps: blfn: ^(atomic_notifier_call_chain|default_do_nmi|__die|die_nmi|do_debug|do_general_protection|do_int3|do_IRQ|do_page_fault|do_sparc64_fault|do_trap|dummy_nmi_callback|flush_icache_range|ia64_bad_break|ia64_do_page_fault|ia64_fault|io_check_error|mem_parity_error|nmi_watchdog_tick|notifier_call_chain|oops_begin|oops_end|program_check_exception|single_step_exception|sync_regs|unhandled_fault|unknown_nmi_error|xen_[gs]et_debugreg|xen_irq_.*|xen_.*_fl_direct.*|check_events|xen_adjust_exception_frame|xen_iret.*|xen_sysret64.*|test_ti_thread_flag.*|inat_get_opcode_attribute|system_call_after_swapgs|HYPERVISOR_[gs]et_debugreg|HYPERVISOR_event_channel_op|hash_64|hash_ptr|native_set_pte|.*raw_.*_lock.*|.*raw_.*_unlock.*|.*raw_.*_trylock.*|.*read_lock.*|.*read_unlock.*|.*read_trylock.*|.*write_lock.*|.*write_unlock.*|.*write_trylock.*|.*write_seqlock.*|.*write_sequnlock.*|.*spin_lock.*|.*spin_unlock.*|.*spin_trylock.*|.*spin_is_locked.*|rwsem_.*lock.*|.*mutex_.*lock.*|atomic_.*|atomic64_.*|get_bh|put_bh|.*apic.*|.*APIC.*|.*softirq.*|.*IRQ.*|.*_intr.*|__delay|.*kernel_text.*|get_current|current_.*|.*exception_tables.*|.*setup_rt_frame.*|.*preempt_count.*|preempt_schedule|special_mapping_.*|.*_pte_.*)$ blfn_ret: ^(do_exit|sys_exit|sys_exit_group)$ blfile: ^(kernel/kprobes\.c|arch/.*/kernel/kprobes\.c|.*/include/asm/io\.h|.*/include/asm/io-defs\.h|.*/include/asm/io_64\.h|.*/include/asm/bitops\.h|drivers/ide/ide-iops\.c|arch/.*/kernel/paravirt\.c|.*/include/asm/paravirt\.h|fs/seq_file\.c)$ blsection: ^(\.init\.|\.exit\.|\.devinit\.|\.devexit\.|\.cpuinit\.|\.cpuexit\.|\.meminit\.|\.memexit\.) Eliding side-effect-free singleton block operator '{' at :1:19 Eliding unused target symbol operator '@var' at /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.stp:10:3 Eliding side-effect-free singleton block operator '@var' at /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.stp:10:3 Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 1 global using 55360virt/48256res/7232shr/38912data kb, in 0usr/1450sys/1481real ms. count = 3 PASS: at_var_void_stmt (1, 2) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/at_var_void_stmt.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/atomic.exp ... executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(0)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(0)) } Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapN15zX1/stap_3d1ef54312305c3b4b42c368aeb2f03d_2044_src.c" using 54848virt/47360res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_3d1ef54312305c3b4b42c368aeb2f03d_2044.ko" in 0usr/3430sys/3465real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -21880 ERROR: read fault [man error::fault] at 0x (null) (a) near identifier 'atomic_long_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:36:10 PASS: atomic1 expected error Executing: kill -INT -21880 executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(-1)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(-1)) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapacllpw/stap_36086beb0a1fd987bab1a86ed4bc9485_2045_src.c" using 54848virt/47296res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_36086beb0a1fd987bab1a86ed4bc9485_2045.ko" in 0usr/3400sys/3449real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -22134 ERROR: read fault [man error::fault] at 0xffffffffffffffff (a) near identifier 'atomic_long_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:36:10 WARNING: PASS: atomic2 expected error Executing: kill -INT -22134 executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(3)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(3)) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapatbW3c/stap_147b049400c1a5bc55d249745f3545f3_2044_src.c" using 54848virt/47296res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_147b049400c1a5bc55d249745f3545f3_2044.ko" in 0usr/3410sys/3446real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -22388 ERROR: read fault [man error::fault] at 0x0000000000000003 (a) near identifier 'atomic_long_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:36:10 WARNING: PASS: atomic3 expected error Executing: kill -INT -22388 executing: stap -v -ge { %{ #include #ifdef ATOMIC_LONG_INIT struct { ulong barrier1; atomic_long_t a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, ATOMIC_LONG_INIT(5), ULONG_MAX }; #else struct { ulong barrier1; long a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, 5, ULONG_MAX }; #endif %} function get_atomic_long_addr:long() %{ STAP_RETVALUE = (long)&stp_atomic_struct.a; %} probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(get_atomic_long_addr() + 0)) } } spawn stap -v -ge %{ #include #ifdef ATOMIC_LONG_INIT struct { ulong barrier1; atomic_long_t a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, ATOMIC_LONG_INIT(5), ULONG_MAX }; #else struct { ulong barrier1; long a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, 5, ULONG_MAX }; #endif %} function get_atomic_long_addr:long() %{ STAP_RETVALUE = (long)&stp_atomic_struct.a; %} probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_long_read(get_atomic_long_addr() + 0)) } Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 3 probes, 4 functions, 1 embed, 0 globals using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stappJTyXG/stap_47b933d408578b25ab87296125500fcc_2571_src.c" using 54848virt/47360res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_47b933d408578b25ab87296125500fcc_2571.ko" in 0usr/3420sys/3459real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 5 Executing: kill -INT -22642 PASS: atomic4 no expected error Executing: kill -INT -22642 executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(0)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(0)) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapdX175c/stap_8272c8de4527a1ce2f1268e96fc7f8ed_1988_src.c" using 54848virt/47232res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_8272c8de4527a1ce2f1268e96fc7f8ed_1988.ko" in 0usr/3420sys/3452real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -22894 ERROR: read fault [man error::fault] at 0x (null) (a) near identifier 'atomic_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:16:10 WARNING: PASS: atomic5 expected error Executing: kill -INT -22894 executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(-1)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(-1)) } Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap2MjtfF/stap_59c321fe9b1c921951d154f7c126a738_1989_src.c" using 54848virt/47296res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_59c321fe9b1c921951d154f7c126a738_1989.ko" in 0usr/3420sys/3457real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -23150 ERROR: read fault [man error::fault] at 0xffffffffffffffff (a) near identifier 'atomic_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:16:10 WARNING: Number of errors: 1, skipped probes: 0 PASS: atomic6 expected error Executing: kill -INT -23150 executing: stap -v -e { probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(3)) } } spawn stap -v -e probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(3)) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapFBuhse/stap_2a5bba4cc28836a137c476ca741194e4_1988_src.c" using 54848virt/47232res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_2a5bba4cc28836a137c476ca741194e4_1988.ko" in 0usr/3410sys/3463real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe Executing: kill -INT -23404 ERROR: read fault [man error::fault] at 0x0000000000000003 (a) near identifier 'atomic_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:16:10 WARNING: PASS: atomic7 expected error Executing: kill -INT -23404 executing: stap -v -ge { %{ #include struct { ulong barrier1; atomic_t a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, ATOMIC_INIT(5), ULONG_MAX }; %} function get_atomic_addr:long() %{ STAP_RETVALUE = (long)&stp_atomic_struct.a; %} probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(get_atomic_addr() + 0)) } } spawn stap -v -ge %{ #include struct { ulong barrier1; atomic_t a; ulong barrier2; } stp_atomic_struct = { ULONG_MAX, ATOMIC_INIT(5), ULONG_MAX }; %} function get_atomic_addr:long() %{ STAP_RETVALUE = (long)&stp_atomic_struct.a; %} probe begin { print("systemtap starting probe\n") exit() } probe end { print("systemtap ending probe\n") printf("%d\n", atomic_read(get_atomic_addr() + 0)) } Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 3 probes, 4 functions, 1 embed, 0 globals using 54848virt/46848res/6400shr/38400data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/staphaV5CQ/stap_779a193addfccb0733e6ae091d6b6a8c_2314_src.c" using 54848virt/47360res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_779a193addfccb0733e6ae091d6b6a8c_2314.ko" in 0usr/3420sys/3458real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 5 Executing: kill -INT -23658 PASS: atomic8 no expected error Executing: kill -INT -23658 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/atomic.exp completed in 37 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.c -g -lm -o /tmp/stap_auto_path/ap (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.c -g -lm -o /tmp/stap_auto_path/ap spawn stap -I /root/systemtap_write/systemtap/testsuite/systemtap.base/tapset -e probe begin {println("begin")} probe ap1.process {println(pp()) exit()} begin process("/tmp/stap_auto_path/a/ap1").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.c:1") PASS: auto_path1 spawn stap -I /root/systemtap_write/systemtap/testsuite/systemtap.base/tapset -e probe begin {println("begin")} probe ap2 {println(pp()) exit()} begin process("/tmp/stap_auto_path/a/b/ap2").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.c:1") PASS: auto_path2 spawn stap -I /root/systemtap_write/systemtap/testsuite/systemtap.base/tapset -e probe begin {println("begin")} probe ap3 {println(pp()) exit()} begin process("/tmp/stap_auto_path/b/ap3").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.c:1") PASS: auto_path3 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/auto_path.exp completed in 22 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/backtrace.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/backtrace.stp begin 0x0 0x0 (inexact) timer.ms(100) 0x0 0x0 (inexact) end 0x0 0x0 (inexact) KPASS: backtrace (3 6) (PRMS 10739) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/backtrace.stp -d kernel begin 0x0 0x0 (inexact) timer.ms(100) 0x0 0x0 (inexact) end 0x0 0x0 (inexact) KPASS: backtrace-unwindsyms (3 6) (PRMS 10739) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/backtrace.stp -d kernel begin 0x0 0x0 (inexact) timer.ms(100) 0x0 0x0 (inexact) end 0x0 0x0 (inexact) KFAIL: self-unwind-ensure-exact (3) (PRMS: 10739) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/backtrace.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.c -g -lm -o bad-code (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.c -g -lm -o bad-code PASS: bad-code.c compile Running: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.stp -w -d ./bad-code -c ./bad-code spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.stp -w -d ./bad-code -c ./bad-code 0x40071c : func+0x18/0x28 [/root/systemtap_write/systemtap/testsuite/bad-code] 0x400748 : main+0x1c/0x24 [/root/systemtap_write/systemtap/testsuite/bad-code] 0x3ff92650c94 [/usr/lib64/libc-2.17.so+0x20c94/0x180000] Executing: kill -INT -25217 main: 1, func: 1, libc: 1 PASS: bad-code testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bad-code.exp completed in 22 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/badkprobe.exp ... spawn stap -g -e probe $1 { k++ } global k probe timer.ms(100) { exit() } probe end { println("cleanup ok") } kernel.statement(-1).absolute WARNING: probe kernel.statement(0xffffffffffffffff).absolute (address 0xffffffffffffffff) registration error (rc -1) cleanup ok k=0x0 PASS: bad kprobe registration: kernel.statement(-1).absolute spawn stap -g -e probe $1 { k++ } global k probe timer.ms(100) { exit() } probe end { println("cleanup ok") } kprobe.statement(-1).absolute WARNING: probe kprobe.statement(0xffffffffffffffff).absolute (address 0xffffffffffffffff) registration error (rc -1) cleanup ok k=0x0 PASS: bad kprobe registration: kprobe.statement(-1).absolute spawn stap -g -w -e probe $1 { k++ } global k probe timer.ms(100) { exit() } probe end { println("cleanup ok") } kernel.statement(-1).absolute ? cleanup ok k=0x0 PASS: bad optional kprobe registration: kernel.statement(-1).absolute spawn stap -g -w -e probe $1 { k++ } global k probe timer.ms(100) { exit() } probe end { println("cleanup ok") } kprobe.statement(-1).absolute ? cleanup ok k=0x0 PASS: bad optional kprobe registration: kprobe.statement(-1).absolute testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/badkprobe.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/be_loaded.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/be_loaded.stp -c true PASS: be_loaded testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/be_loaded.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/be_order.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/be_order.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/be_order.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 15 probes, 1 function, 0 embeds, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapUK9fwq/stap_2dd0df5f71ff46d2d2a6364376e8f77a_2642_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_2dd0df5f71ff46d2d2a6364376e8f77a_2642.ko" in 0usr/3470sys/3521real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/be_order.stp startup PASS: systemtap.base/be_order.stp load generation Executing: kill -INT -26726 systemtap ending probe systemtap test success PASS: systemtap.base/be_order.stp shutdown and output Pass 5: run completed in 0usr/70sys/988real ms. metric: systemtap.base/be_order.stp 0 400 405 0 10 9 0 0 2 0 3470 3521 0 70 988 Executing: kill -INT -26726 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/be_order.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.exp ... spawn stap -DSTP_NO_VERREL_CHECK /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.stp ERROR: division by 0 near operator '/' at /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.stp:1:46 ok begin ok error ok error(10) ERROR: division by 0 near operator '/' at /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.stp:5:39 ERROR: division by 0 near operator '/' at /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.stp:5:39 WARNING: Number of errors: 3, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: beginenderror (5 3 0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/beginenderror.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bench.exp ... spawn stap -tu /root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp gs="" gnn[1]=0x1 gss["foo"]="bar" ----- probe hit report: begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.null from: test.null, index: 0 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 1 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 2 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 3 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 4 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 5 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 6 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.null from: test.null, index: 7 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 8 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.null from: test.null, index: 9 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 10 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 11 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 12 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 13 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 14 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.null from: test.null, index: 15 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 16 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.null from: test.null, index: 17 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.null from: test.null, index: 18 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 19 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 20 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 21 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 22 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.null from: test.null, index: 23 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 24 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 25 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.null from: test.null, index: 26 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 27 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 28 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 29 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.null from: test.null, index: 30 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.null from: test.null, index: 31 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.null from: test.null, index: 32 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.null from: test.null, index: 33 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 34 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 35 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 36 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 20min/20avg/20max, from: repeat from: test.null from: test.null, index: 37 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.null from: test.null, index: 38 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:12:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.null from: test.null, index: 39 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 40 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.intassmt from: test.intassmt, index: 41 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.intassmt from: test.intassmt, index: 42 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intassmt from: test.intassmt, index: 43 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 44 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 45 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 46 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 84min/84avg/84max, from: repeat from: test.intassmt from: test.intassmt, index: 47 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 48 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 49 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intassmt from: test.intassmt, index: 50 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.intassmt from: test.intassmt, index: 51 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.intassmt from: test.intassmt, index: 52 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 122min/122avg/122max, from: repeat from: test.intassmt from: test.intassmt, index: 53 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intassmt from: test.intassmt, index: 54 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.intassmt from: test.intassmt, index: 55 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intassmt from: test.intassmt, index: 56 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 57 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intassmt from: test.intassmt, index: 58 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intassmt from: test.intassmt, index: 59 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intassmt from: test.intassmt, index: 60 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 61 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intassmt from: test.intassmt, index: 62 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 63 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.intassmt from: test.intassmt, index: 64 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.intassmt from: test.intassmt, index: 65 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intassmt from: test.intassmt, index: 66 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.intassmt from: test.intassmt, index: 67 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.intassmt from: test.intassmt, index: 68 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intassmt from: test.intassmt, index: 69 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.intassmt from: test.intassmt, index: 70 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.intassmt from: test.intassmt, index: 71 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 72 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 73 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 74 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 75 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 76 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intassmt from: test.intassmt, index: 77 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intassmt from: test.intassmt, index: 78 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:13:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intassmt from: test.intassmt, index: 79 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 126min/126avg/126max, from: repeat from: test.gintassmt from: test.gintassmt, index: 80 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintassmt from: test.gintassmt, index: 81 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintassmt from: test.gintassmt, index: 82 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.gintassmt from: test.gintassmt, index: 83 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.gintassmt from: test.gintassmt, index: 84 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.gintassmt from: test.gintassmt, index: 85 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintassmt from: test.gintassmt, index: 86 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.gintassmt from: test.gintassmt, index: 87 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.gintassmt from: test.gintassmt, index: 88 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gintassmt from: test.gintassmt, index: 89 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.gintassmt from: test.gintassmt, index: 90 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintassmt from: test.gintassmt, index: 91 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 34min/34avg/34max, from: repeat from: test.gintassmt from: test.gintassmt, index: 92 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.gintassmt from: test.gintassmt, index: 93 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.gintassmt from: test.gintassmt, index: 94 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.gintassmt from: test.gintassmt, index: 95 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintassmt from: test.gintassmt, index: 96 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintassmt from: test.gintassmt, index: 97 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gintassmt from: test.gintassmt, index: 98 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 126min/126avg/126max, from: repeat from: test.gintassmt from: test.gintassmt, index: 99 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.gintassmt from: test.gintassmt, index: 100 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintassmt from: test.gintassmt, index: 101 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gintassmt from: test.gintassmt, index: 102 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 84min/84avg/84max, from: repeat from: test.gintassmt from: test.gintassmt, index: 103 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.gintassmt from: test.gintassmt, index: 104 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.gintassmt from: test.gintassmt, index: 105 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.gintassmt from: test.gintassmt, index: 106 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.gintassmt from: test.gintassmt, index: 107 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.gintassmt from: test.gintassmt, index: 108 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.gintassmt from: test.gintassmt, index: 109 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gintassmt from: test.gintassmt, index: 110 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintassmt from: test.gintassmt, index: 111 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintassmt from: test.gintassmt, index: 112 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintassmt from: test.gintassmt, index: 113 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.gintassmt from: test.gintassmt, index: 114 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintassmt from: test.gintassmt, index: 115 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.gintassmt from: test.gintassmt, index: 116 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintassmt from: test.gintassmt, index: 117 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.gintassmt from: test.gintassmt, index: 118 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:14:24), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.gintassmt from: test.gintassmt, index: 119 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 50min/50avg/50max, from: repeat from: test.intincr from: test.intincr, index: 120 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intincr from: test.intincr, index: 121 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intincr from: test.intincr, index: 122 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intincr from: test.intincr, index: 123 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 124 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.intincr from: test.intincr, index: 125 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intincr from: test.intincr, index: 126 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 82min/82avg/82max, from: repeat from: test.intincr from: test.intincr, index: 127 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intincr from: test.intincr, index: 128 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intincr from: test.intincr, index: 129 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.intincr from: test.intincr, index: 130 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intincr from: test.intincr, index: 131 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 132 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 136min/136avg/136max, from: repeat from: test.intincr from: test.intincr, index: 133 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.intincr from: test.intincr, index: 134 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.intincr from: test.intincr, index: 135 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intincr from: test.intincr, index: 136 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.intincr from: test.intincr, index: 137 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intincr from: test.intincr, index: 138 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intincr from: test.intincr, index: 139 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intincr from: test.intincr, index: 140 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intincr from: test.intincr, index: 141 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.intincr from: test.intincr, index: 142 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.intincr from: test.intincr, index: 143 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.intincr from: test.intincr, index: 144 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 145 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 146 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intincr from: test.intincr, index: 147 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.intincr from: test.intincr, index: 148 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.intincr from: test.intincr, index: 149 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.intincr from: test.intincr, index: 150 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.intincr from: test.intincr, index: 151 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.intincr from: test.intincr, index: 152 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.intincr from: test.intincr, index: 153 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 154 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.intincr from: test.intincr, index: 155 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.intincr from: test.intincr, index: 156 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.intincr from: test.intincr, index: 157 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.intincr from: test.intincr, index: 158 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:15:22), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.intincr from: test.intincr, index: 159 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintincr from: test.gintincr, index: 160 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.gintincr from: test.gintincr, index: 161 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gintincr from: test.gintincr, index: 162 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintincr from: test.gintincr, index: 163 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.gintincr from: test.gintincr, index: 164 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 104min/104avg/104max, from: repeat from: test.gintincr from: test.gintincr, index: 165 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintincr from: test.gintincr, index: 166 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 106min/106avg/106max, from: repeat from: test.gintincr from: test.gintincr, index: 167 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintincr from: test.gintincr, index: 168 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintincr from: test.gintincr, index: 169 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.gintincr from: test.gintincr, index: 170 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gintincr from: test.gintincr, index: 171 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.gintincr from: test.gintincr, index: 172 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintincr from: test.gintincr, index: 173 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gintincr from: test.gintincr, index: 174 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 114min/114avg/114max, from: repeat from: test.gintincr from: test.gintincr, index: 175 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gintincr from: test.gintincr, index: 176 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintincr from: test.gintincr, index: 177 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gintincr from: test.gintincr, index: 178 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintincr from: test.gintincr, index: 179 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.gintincr from: test.gintincr, index: 180 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gintincr from: test.gintincr, index: 181 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.gintincr from: test.gintincr, index: 182 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.gintincr from: test.gintincr, index: 183 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.gintincr from: test.gintincr, index: 184 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintincr from: test.gintincr, index: 185 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.gintincr from: test.gintincr, index: 186 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gintincr from: test.gintincr, index: 187 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintincr from: test.gintincr, index: 188 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gintincr from: test.gintincr, index: 189 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 22min/22avg/22max, from: repeat from: test.gintincr from: test.gintincr, index: 190 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 130min/130avg/130max, from: repeat from: test.gintincr from: test.gintincr, index: 191 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintincr from: test.gintincr, index: 192 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintincr from: test.gintincr, index: 193 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.gintincr from: test.gintincr, index: 194 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gintincr from: test.gintincr, index: 195 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 32min/32avg/32max, from: repeat from: test.gintincr from: test.gintincr, index: 196 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gintincr from: test.gintincr, index: 197 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gintincr from: test.gintincr, index: 198 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:16:23), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.gintincr from: test.gintincr, index: 199 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.strassmt from: test.strassmt, index: 200 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.strassmt from: test.strassmt, index: 201 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.strassmt from: test.strassmt, index: 202 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.strassmt from: test.strassmt, index: 203 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.strassmt from: test.strassmt, index: 204 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.strassmt from: test.strassmt, index: 205 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.strassmt from: test.strassmt, index: 206 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.strassmt from: test.strassmt, index: 207 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 50min/50avg/50max, from: repeat from: test.strassmt from: test.strassmt, index: 208 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.strassmt from: test.strassmt, index: 209 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.strassmt from: test.strassmt, index: 210 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 7626min/7626avg/7626max, from: repeat from: test.strassmt from: test.strassmt, index: 211 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.strassmt from: test.strassmt, index: 212 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.strassmt from: test.strassmt, index: 213 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 36min/36avg/36max, from: repeat from: test.strassmt from: test.strassmt, index: 214 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.strassmt from: test.strassmt, index: 215 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.strassmt from: test.strassmt, index: 216 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.strassmt from: test.strassmt, index: 217 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.strassmt from: test.strassmt, index: 218 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.strassmt from: test.strassmt, index: 219 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.strassmt from: test.strassmt, index: 220 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.strassmt from: test.strassmt, index: 221 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.strassmt from: test.strassmt, index: 222 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.strassmt from: test.strassmt, index: 223 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.strassmt from: test.strassmt, index: 224 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.strassmt from: test.strassmt, index: 225 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.strassmt from: test.strassmt, index: 226 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.strassmt from: test.strassmt, index: 227 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.strassmt from: test.strassmt, index: 228 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.strassmt from: test.strassmt, index: 229 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.strassmt from: test.strassmt, index: 230 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.strassmt from: test.strassmt, index: 231 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 120min/120avg/120max, from: repeat from: test.strassmt from: test.strassmt, index: 232 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.strassmt from: test.strassmt, index: 233 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.strassmt from: test.strassmt, index: 234 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 50min/50avg/50max, from: repeat from: test.strassmt from: test.strassmt, index: 235 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 34min/34avg/34max, from: repeat from: test.strassmt from: test.strassmt, index: 236 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 104min/104avg/104max, from: repeat from: test.strassmt from: test.strassmt, index: 237 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.strassmt from: test.strassmt, index: 238 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:18:23), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.strassmt from: test.strassmt, index: 239 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 240 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 241 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 242 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 243 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 244 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 245 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 246 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 110min/110avg/110max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 247 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 248 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 249 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 250 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 251 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 252 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 253 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 254 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 104min/104avg/104max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 255 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 256 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 257 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 258 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 259 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 260 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 261 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 262 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 263 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 264 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 265 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 266 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 267 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 268 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 269 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 270 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 271 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 272 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 273 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 274 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 275 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 276 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 277 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 278 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:19:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.gstrassmt from: test.gstrassmt, index: 279 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.forloop from: test.forloop, index: 280 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.forloop from: test.forloop, index: 281 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.forloop from: test.forloop, index: 282 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.forloop from: test.forloop, index: 283 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.forloop from: test.forloop, index: 284 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.forloop from: test.forloop, index: 285 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.forloop from: test.forloop, index: 286 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 104min/104avg/104max, from: repeat from: test.forloop from: test.forloop, index: 287 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 288 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 38min/38avg/38max, from: repeat from: test.forloop from: test.forloop, index: 289 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.forloop from: test.forloop, index: 290 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.forloop from: test.forloop, index: 291 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.forloop from: test.forloop, index: 292 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.forloop from: test.forloop, index: 293 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.forloop from: test.forloop, index: 294 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 82min/82avg/82max, from: repeat from: test.forloop from: test.forloop, index: 295 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.forloop from: test.forloop, index: 296 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.forloop from: test.forloop, index: 297 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.forloop from: test.forloop, index: 298 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.forloop from: test.forloop, index: 299 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.forloop from: test.forloop, index: 300 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.forloop from: test.forloop, index: 301 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.forloop from: test.forloop, index: 302 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 80min/80avg/80max, from: repeat from: test.forloop from: test.forloop, index: 303 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 304 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 305 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.forloop from: test.forloop, index: 306 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.forloop from: test.forloop, index: 307 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.forloop from: test.forloop, index: 308 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.forloop from: test.forloop, index: 309 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.forloop from: test.forloop, index: 310 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 112min/112avg/112max, from: repeat from: test.forloop from: test.forloop, index: 311 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.forloop from: test.forloop, index: 312 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 313 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.forloop from: test.forloop, index: 314 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 315 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 80min/80avg/80max, from: repeat from: test.forloop from: test.forloop, index: 316 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.forloop from: test.forloop, index: 317 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.forloop from: test.forloop, index: 318 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:21:22), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.forloop from: test.forloop, index: 319 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.ifgint from: test.ifgint, index: 320 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.ifgint from: test.ifgint, index: 321 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.ifgint from: test.ifgint, index: 322 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.ifgint from: test.ifgint, index: 323 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.ifgint from: test.ifgint, index: 324 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.ifgint from: test.ifgint, index: 325 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.ifgint from: test.ifgint, index: 326 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.ifgint from: test.ifgint, index: 327 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 328 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 329 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.ifgint from: test.ifgint, index: 330 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.ifgint from: test.ifgint, index: 331 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.ifgint from: test.ifgint, index: 332 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.ifgint from: test.ifgint, index: 333 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.ifgint from: test.ifgint, index: 334 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.ifgint from: test.ifgint, index: 335 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.ifgint from: test.ifgint, index: 336 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.ifgint from: test.ifgint, index: 337 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.ifgint from: test.ifgint, index: 338 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 339 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.ifgint from: test.ifgint, index: 340 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.ifgint from: test.ifgint, index: 341 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.ifgint from: test.ifgint, index: 342 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.ifgint from: test.ifgint, index: 343 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.ifgint from: test.ifgint, index: 344 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 345 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.ifgint from: test.ifgint, index: 346 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.ifgint from: test.ifgint, index: 347 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 348 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 48min/48avg/48max, from: repeat from: test.ifgint from: test.ifgint, index: 349 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.ifgint from: test.ifgint, index: 350 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.ifgint from: test.ifgint, index: 351 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.ifgint from: test.ifgint, index: 352 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 353 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.ifgint from: test.ifgint, index: 354 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.ifgint from: test.ifgint, index: 355 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 32min/32avg/32max, from: repeat from: test.ifgint from: test.ifgint, index: 356 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.ifgint from: test.ifgint, index: 357 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.ifgint from: test.ifgint, index: 358 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:22:21), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.ifgint from: test.ifgint, index: 359 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.next from: test.next, index: 360 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.next from: test.next, index: 361 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 132min/132avg/132max, from: repeat from: test.next from: test.next, index: 362 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.next from: test.next, index: 363 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.next from: test.next, index: 364 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.next from: test.next, index: 365 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.next from: test.next, index: 366 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.next from: test.next, index: 367 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.next from: test.next, index: 368 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.next from: test.next, index: 369 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.next from: test.next, index: 370 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.next from: test.next, index: 371 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.next from: test.next, index: 372 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.next from: test.next, index: 373 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.next from: test.next, index: 374 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.next from: test.next, index: 375 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.next from: test.next, index: 376 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.next from: test.next, index: 377 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 188min/188avg/188max, from: repeat from: test.next from: test.next, index: 378 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.next from: test.next, index: 379 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.next from: test.next, index: 380 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.next from: test.next, index: 381 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.next from: test.next, index: 382 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.next from: test.next, index: 383 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.next from: test.next, index: 384 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 32min/32avg/32max, from: repeat from: test.next from: test.next, index: 385 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.next from: test.next, index: 386 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.next from: test.next, index: 387 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.next from: test.next, index: 388 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.next from: test.next, index: 389 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.next from: test.next, index: 390 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.next from: test.next, index: 391 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 34min/34avg/34max, from: repeat from: test.next from: test.next, index: 392 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.next from: test.next, index: 393 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.next from: test.next, index: 394 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 24min/24avg/24max, from: repeat from: test.next from: test.next, index: 395 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.next from: test.next, index: 396 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 132min/132avg/132max, from: repeat from: test.next from: test.next, index: 397 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.next from: test.next, index: 398 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:23:19), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.next from: test.next, index: 399 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 400 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.stataccum from: test.stataccum, index: 401 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.stataccum from: test.stataccum, index: 402 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.stataccum from: test.stataccum, index: 403 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.stataccum from: test.stataccum, index: 404 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 46min/46avg/46max, from: repeat from: test.stataccum from: test.stataccum, index: 405 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 406 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.stataccum from: test.stataccum, index: 407 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 52min/52avg/52max, from: repeat from: test.stataccum from: test.stataccum, index: 408 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.stataccum from: test.stataccum, index: 409 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 410 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 411 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.stataccum from: test.stataccum, index: 412 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.stataccum from: test.stataccum, index: 413 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 414 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 158min/158avg/158max, from: repeat from: test.stataccum from: test.stataccum, index: 415 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.stataccum from: test.stataccum, index: 416 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 417 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 418 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.stataccum from: test.stataccum, index: 419 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 420 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.stataccum from: test.stataccum, index: 421 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.stataccum from: test.stataccum, index: 422 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.stataccum from: test.stataccum, index: 423 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.stataccum from: test.stataccum, index: 424 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.stataccum from: test.stataccum, index: 425 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.stataccum from: test.stataccum, index: 426 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 427 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.stataccum from: test.stataccum, index: 428 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.stataccum from: test.stataccum, index: 429 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 26min/26avg/26max, from: repeat from: test.stataccum from: test.stataccum, index: 430 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.stataccum from: test.stataccum, index: 431 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 50min/50avg/50max, from: repeat from: test.stataccum from: test.stataccum, index: 432 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 433 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.stataccum from: test.stataccum, index: 434 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.stataccum from: test.stataccum, index: 435 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 436 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.stataccum from: test.stataccum, index: 437 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.stataccum from: test.stataccum, index: 438 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:25:24), hits: 1, cycles: 104min/104avg/104max, from: repeat from: test.stataccum from: test.stataccum, index: 439 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.statcount from: test.statcount, index: 440 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.statcount from: test.statcount, index: 441 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.statcount from: test.statcount, index: 442 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.statcount from: test.statcount, index: 443 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.statcount from: test.statcount, index: 444 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 86min/86avg/86max, from: repeat from: test.statcount from: test.statcount, index: 445 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.statcount from: test.statcount, index: 446 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.statcount from: test.statcount, index: 447 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 150min/150avg/150max, from: repeat from: test.statcount from: test.statcount, index: 448 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.statcount from: test.statcount, index: 449 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.statcount from: test.statcount, index: 450 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.statcount from: test.statcount, index: 451 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 110min/110avg/110max, from: repeat from: test.statcount from: test.statcount, index: 452 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.statcount from: test.statcount, index: 453 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.statcount from: test.statcount, index: 454 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 122min/122avg/122max, from: repeat from: test.statcount from: test.statcount, index: 455 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.statcount from: test.statcount, index: 456 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 82min/82avg/82max, from: repeat from: test.statcount from: test.statcount, index: 457 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.statcount from: test.statcount, index: 458 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.statcount from: test.statcount, index: 459 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.statcount from: test.statcount, index: 460 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 90min/90avg/90max, from: repeat from: test.statcount from: test.statcount, index: 461 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.statcount from: test.statcount, index: 462 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 114min/114avg/114max, from: repeat from: test.statcount from: test.statcount, index: 463 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.statcount from: test.statcount, index: 464 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.statcount from: test.statcount, index: 465 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.statcount from: test.statcount, index: 466 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 114min/114avg/114max, from: repeat from: test.statcount from: test.statcount, index: 467 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 132min/132avg/132max, from: repeat from: test.statcount from: test.statcount, index: 468 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.statcount from: test.statcount, index: 469 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 86min/86avg/86max, from: repeat from: test.statcount from: test.statcount, index: 470 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 118min/118avg/118max, from: repeat from: test.statcount from: test.statcount, index: 471 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.statcount from: test.statcount, index: 472 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.statcount from: test.statcount, index: 473 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.statcount from: test.statcount, index: 474 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.statcount from: test.statcount, index: 475 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.statcount from: test.statcount, index: 476 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.statcount from: test.statcount, index: 477 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.statcount from: test.statcount, index: 478 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:26:24), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.statcount from: test.statcount, index: 479 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 480 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 481 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 482 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 68min/68avg/68max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 483 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 50min/50avg/50max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 484 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 485 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 486 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 144min/144avg/144max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 487 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 488 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 66min/66avg/66max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 489 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 490 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 30min/30avg/30max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 491 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 54min/54avg/54max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 492 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 493 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 494 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 495 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 496 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 497 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 498 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 499 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 500 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 501 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 56min/56avg/56max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 502 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 92min/92avg/92max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 503 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 504 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 505 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 506 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 507 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 60min/60avg/60max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 508 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 509 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 510 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 511 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 512 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 70min/70avg/70max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 513 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 64min/64avg/64max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 514 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 515 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 58min/58avg/58max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 516 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 124min/124avg/124max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 517 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 28min/28avg/28max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 518 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:28:25), hits: 1, cycles: 162min/162avg/162max, from: repeat from: test.nnarrassmt from: test.nnarrassmt, index: 519 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 266min/266avg/266max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 520 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 521 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 94min/94avg/94max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 522 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 523 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 84min/84avg/84max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 524 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 525 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 526 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 102min/102avg/102max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 527 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 528 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 106min/106avg/106max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 529 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 530 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 531 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 532 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 80min/80avg/80max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 533 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 534 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 535 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 124min/124avg/124max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 536 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 537 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 88min/88avg/88max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 538 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 539 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 540 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 72min/72avg/72max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 541 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 542 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 543 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 98min/98avg/98max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 544 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 80min/80avg/80max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 545 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 126min/126avg/126max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 546 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 84min/84avg/84max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 547 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 548 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 549 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 550 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 108min/108avg/108max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 551 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 552 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 76min/76avg/76max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 553 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 62min/62avg/62max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 554 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 555 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 78min/78avg/78max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 556 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 74min/74avg/74max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 557 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 80min/80avg/80max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 558 begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:29:25), hits: 1, cycles: 100min/100avg/100max, from: repeat from: test.ssarrassmt from: test.ssarrassmt, index: 559 begin(9999), (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:31:1), hits: 1, cycles: 68min/68avg/68max, from: begin(9999), index: 560 end, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:1:1), hits: 1, cycles: 548min/548avg/548max, from: end, index: 562 end, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:1:1), hits: 1, cycles: 534min/534avg/534max, from: end, index: 563 end, (/root/systemtap_write/systemtap/testsuite/systemtap.base/bench.stp:1:1), hits: 1, cycles: 390min/390avg/390max, from: end, index: 564 ----- refresh report: PASS: bench testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bench.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bitfield.exp ... executing: stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/bitfield.stp spawn stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/bitfield.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 2 probes, 10 functions, 1 embed, 0 globals using 165632virt/158592res/7232shr/149184data kb, in 0usr/1660sys/1686real ms. Pass 3: translated to C into "/tmp/stap4k6030/stap_460318a5c55247008e94dc88f181ff73_6378_src.c" using 165632virt/158656res/7296shr/149184data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_460318a5c55247008e94dc88f181ff73_6378.ko" in 0usr/3790sys/3847real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/bitfield.stp startup PASS: systemtap.base/bitfield.stp load generation Executing: kill -INT -27483 PASS: systemtap.base/bitfield.stp shutdown and output Pass 5: run completed in 0usr/70sys/506real ms. metric: systemtap.base/bitfield.stp 0 400 400 0 1660 1686 0 0 2 0 3790 3847 0 70 506 Executing: kill -INT -27483 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bitfield.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/break_and_continue.exp ... executing: stap -v -w /root/systemtap_write/systemtap/testsuite/systemtap.base/break_and_continue.stp spawn stap -v -w /root/systemtap_write/systemtap/testsuite/systemtap.base/break_and_continue.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 1 global using 54848virt/45056res/5888shr/38400data kb, in 0usr/0sys/9real ms. Pass 3: translated to C into "/tmp/stappfqAmD/stap_ab7a45ca6412b26f4d2af7078b0dfd68_2208_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "stap_ab7a45ca6412b26f4d2af7078b0dfd68_2208.ko" in 0usr/3510sys/3561real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/break_and_continue.stp startup PASS: systemtap.base/break_and_continue.stp load generation Executing: kill -INT -27739 PASS: systemtap.base/break_and_continue.stp shutdown and output Pass 5: run completed in 0usr/70sys/505real ms. metric: systemtap.base/break_and_continue.stp 0 400 406 0 0 9 0 0 3 0 3510 3561 0 70 505 Executing: kill -INT -27739 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/break_and_continue.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.exp ... Executing on host: gcc -g -c -o /root/systemtap_write/systemtap/testsuite/buildid.o /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c (timeout = 300) spawn -ignore SIGHUP gcc -g -c -o /root/systemtap_write/systemtap/testsuite/buildid.o /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c PASS: buildid.o Executing on host: ld buildid.o -r -o buildid.ro (timeout = 300) spawn -ignore SIGHUP ld buildid.o -r -o buildid.ro PASS: buildid.ro Executing on host: gcc buildid.ro -lm -o ./buildid.x (timeout = 300) spawn -ignore SIGHUP gcc buildid.ro -lm -o ./buildid.x PASS: ./buildid.x spawn /usr/bin/eu-readelf -n ./buildid.x Note section [ 2] '.note.ABI-tag' of 32 bytes at offset 0x254: Owner Data size Type GNU 16 VERSION OS: Linux, ABI: 3.7.0 Note section [ 3] '.note.gnu.build-id' of 36 bytes at offset 0x274: Owner Data size Type GNU 20 GNU_BUILD_ID Build ID: 97d83f5d22165bcc296529d5a1e6c58210aa1b40 PASS: nonshared build id (module compilation) spawn staprun /root/systemtap_write/systemtap/testsuite/bid.ko -c ./buildid.x WARNING: Child process exited with status 2 x=1 PASS: nonshared build id ok (1) PASS: nonshared build id (build id removal) spawn staprun /root/systemtap_write/systemtap/testsuite/bid.ko -c ./buildid.x WARNING: Child process exited with status 2 ERROR: Build-id mismatch [man error::buildid]: "/root/systemtap_write/systemtap/testsuite/buildid.x" byte 0 (0x97 vs 0x00) address 0x400284 rc 0 WARNING: task_finder inode-uprobes callback for task 28293 failed: 1 PASS: nonshared build id !ok - removed (1) Executing on host: gcc buildid2.ro -lm -o ./buildid.x (timeout = 300) spawn -ignore SIGHUP gcc buildid2.ro -lm -o ./buildid.x PASS: nonshared build id (build id modified) spawn staprun /root/systemtap_write/systemtap/testsuite/bid.ko -c ./buildid.x WARNING: Child process exited with status 2 ERROR: Build-id mismatch [man error::buildid]: "/root/systemtap_write/systemtap/testsuite/buildid.x" byte 0 (0x97 vs 0x28) address 0x400284 rc 0 WARNING: task_finder inode-uprobes callback for task 28310 failed: 1 PASS: nonshared build id !ok - modified (1) PASS: STP_NO_BUILDID_CHECK (module compilation) spawn staprun /root/systemtap_write/systemtap/testsuite/bid_nocheck.ko -c ./buildid.x WARNING: Child process exited with status 2 x=1 PASS: STP_NO_BUILDID_CHECK ok (1) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c -DNO_MAIN -shared -g -lm -o libbid.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c -DNO_MAIN -shared -g -lm -o libbid.so PASS: libbid.so -DNO_MAIN Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lbid -lm -o ./buildid.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.c -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lbid -lm -o ./buildid.x PASS: ./buildid.x -DONLY_MAIN PASS: shared build id (module compilation) spawn staprun /root/systemtap_write/systemtap/testsuite/bid_shared.ko -c ./buildid.x WARNING: Child process exited with status 2 x=1 PASS: shared build id ok (1) PASS: shared build id (build id removal) spawn staprun /root/systemtap_write/systemtap/testsuite/bid_shared.ko -c ./buildid.x WARNING: Child process exited with status 2 ERROR: Build-id mismatch [man error::buildid]: "/root/systemtap_write/systemtap/testsuite/libbid.so" byte 0 (0x42 vs 0x00) address 0x3ff7c7301d8 rc 0 WARNING: task_finder mmap inode-uprobes callback for task 28848 failed: 1 PASS: shared build id !ok - removed (1) PASS: shared build id (build id modified) spawn staprun /root/systemtap_write/systemtap/testsuite/bid_shared.ko -c ./buildid.x WARNING: Child process exited with status 2 ERROR: Build-id mismatch [man error::buildid]: "/root/systemtap_write/systemtap/testsuite/libbid.so" byte 0 (0x42 vs 0x00) address 0x3ff93d201d8 rc 0 WARNING: task_finder mmap inode-uprobes callback for task 28859 failed: 1 PASS: shared build id !ok - modified (1) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/buildid.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.exp ... PASS: bz10078 compile starting /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0c1bedf06ff635df7580f33949a94a6_3255.ko wait results: 28884 exp11 0 0 PASS: bz10078 -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.stp -c ./bz10078 1,2 mkpoint2 returns mkpoint1 returns PASS: bz10078 -p5 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz10078.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1027459.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1027459.stp WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) hi FAIL: bz1027459 -p5 (0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1027459.exp completed in 122 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1074541.exp ... Attempt no. 0 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 1 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 2 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 3 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 4 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 5 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 6 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 7 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 8 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 9 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 10 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 11 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 12 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 13 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 14 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 15 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 16 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 17 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 18 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 Attempt no. 19 to crash the kernel... spawn stap -ge probe netfilter.ipv4.local_in { $verdict = nf_drop; exit() } -c ping -qfc 1000 127.0.0.1 PASS: ./bz1074541 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1074541.exp completed in 281 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1126645.exp ... spawn stap -c /bin/true -e probe kprocess.exec_complete {println("return")} return PASS: bz1126645 -p5 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1126645.exp completed in 6 seconds Running /root/systemtap_write/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) } } PASS: stap -p4 -e { probe nfs.proc.rename { println(name) } } testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1214176.exp completed in 49 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1252436.exp ... PASS: bz1252436 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz1252436.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz13338.exp ... spawn stap -vvl process("/usr/bin/?").function("main") Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapDgMMs5" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45248res/6080shr/37568data kb, in 0usr/410sys/409real ms. Expanded process("/usr/bin/?") to process("/usr/bin/\[") Expanded process("/usr/bin/?") to process("/usr/bin/w") focused on module '/usr/bin/w' = [0x400000-0x4201d0, bias 0 file /usr/bin/w ELF machine arm64| (code 183) probe main@:-1 process=/usr/bin/w reloc=.absolute pc=0x401670 WARNING: side-effect-free probe 'probe_2763': keyword at :1:1 source: probe process("/usr/bin/?").function("main") {} ^ WARNING: side-effect-free probe 'probe_2763': keyword at :1:1 source: probe process("/usr/bin/?").function("main") {} ^ process("/usr/bin/w").function("main") Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54784virt/48192res/7616shr/38336data kb, in 0usr/10sys/23real ms. Running rm -rf /tmp/stapDgMMs5 Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapDgMMs5" PASS: bz13338 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz13338.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz5274.exp ... PASS: ./bz5274 compile PASS: ./bz5274 longjmp to a uretprobed function PASS: ./bz5274 longjmp to a non-uretprobed function testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz5274.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.exp ... PASS: bz6850 compile starting /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp WARNING: function _start return probe is blacklisted: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp:5:1 source: probe process("./bz6850").function("*").return { ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/97/stap_97b9a67317e7d38a3363edae13c60025_12980.ko wait results: 781 exp31 0 0 PASS: bz6850 -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp -c ./bz6850 WARNING: function _start return probe is blacklisted: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.stp:5:1 source: probe process("./bz6850").function("*").return { ^ _start called __libc_csu_init called _init called call_weak_fn called _init returns __libc_csu_init returns frame_dummy called register_tm_clones called __libc_csu_init returns __libc_csu_init returns 0x3ff99230c38 returns main called fork_and_exec1 called fork_and_exec2 called fork1 called fork2 called fork1 returns fork_and_exec2 returns fork1 returns fork_and_exec2 returns fork_and_exec1 returns main returns __do_global_dtors_aux called deregister_tm_clones called __do_global_dtors_aux returns 0x3ff993ce120 returns _fini called 0x3ff993ce140 returns PASS: bz6850 -p5 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/bz6850.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cache.exp ... spawn stap -v -p4 -e probe begin { println(1) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/7real ms. Pass 3: translated to C into "/tmp/stapybALGO/stap_f9afc4330f7399af4153e118ca90e703_915_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f9afc4330f7399af4153e118ca90e703_915.ko Pass 4: compiled C into "stap_f9afc4330f7399af4153e118ca90e703_915.ko" in 0usr/14080sys/14459real ms. PASS: BASIC1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/7real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f9afc4330f7399af4153e118ca90e703_915.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f9afc4330f7399af4153e118ca90e703_915.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f9afc4330f7399af4153e118ca90e703_915.ko PASS: BASIC2 was cached spawn stap -v -p4 -e probe begin { println(1) } -DFOO=1 Pass 1: parsed user script and 115 library scripts using 54016virt/45440res/5888shr/37568data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54592virt/45440res/5888shr/38144data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stapKptPeB/stap_e076087f7c64595e3157c7ecdc9b7a87_920_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e0/stap_e076087f7c64595e3157c7ecdc9b7a87_920.ko Pass 4: compiled C into "stap_e076087f7c64595e3157c7ecdc9b7a87_920.ko" in 0usr/3230sys/3282real ms. PASS: OPTION1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -DFOO=1 Pass 1: parsed user script and 115 library scripts using 54016virt/45376res/5888shr/37568data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54592virt/45376res/5888shr/38144data kb, in 0usr/0sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e0/stap_e076087f7c64595e3157c7ecdc9b7a87_920.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e0/stap_e076087f7c64595e3157c7ecdc9b7a87_920.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e0/stap_e076087f7c64595e3157c7ecdc9b7a87_920.ko PASS: OPTION2 was cached spawn stap -v -p4 -e probe begin { println(1) } -b Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/7real ms. Pass 3: translated to C into "/tmp/stapGtcikg/stap_82635b2fd4f91379b36c4bf8408c245f_915_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/82/stap_82635b2fd4f91379b36c4bf8408c245f_915.ko Pass 4: compiled C into "stap_82635b2fd4f91379b36c4bf8408c245f_915.ko" in 0usr/3280sys/3314real ms. PASS: BULK1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -b Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/397real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/82/stap_82635b2fd4f91379b36c4bf8408c245f_915.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/82/stap_82635b2fd4f91379b36c4bf8408c245f_915.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/82/stap_82635b2fd4f91379b36c4bf8408c245f_915.ko PASS: BULK2 was cached spawn stap -v -p4 -e probe begin { println(1) } -t Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapHuqKTQ/stap_d4ad9ea475285f165a1343a141aa56fd_915_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/10sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4ad9ea475285f165a1343a141aa56fd_915.ko Pass 4: compiled C into "stap_d4ad9ea475285f165a1343a141aa56fd_915.ko" in 0usr/3350sys/3397real ms. PASS: TIMING1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -t Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/409real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4ad9ea475285f165a1343a141aa56fd_915.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4ad9ea475285f165a1343a141aa56fd_915.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4ad9ea475285f165a1343a141aa56fd_915.ko PASS: TIMING2 was cached spawn stap -v -p4 -e probe begin { println(1) } -R /root/systemtap_write/systemtap/testsuite/.cache_test_runtime Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/7real ms. Pass 3: translated to C into "/tmp/stapeksGcy/stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7b/stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947.ko Pass 4: compiled C into "stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947.ko" in 0usr/14070sys/14464real ms. PASS: RUNTIME1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -R /root/systemtap_write/systemtap/testsuite/.cache_test_runtime Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/0sys/7real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7b/stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7b/stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7b/stap_7b1bdf40a4a634d65ab0bc50b72a1d93_947.ko PASS: RUNTIME2 was cached spawn stap -v -p4 -e probe begin { println(1) } WARNING: failed to create systemtap data directory "/dev/null" Not a directory, disabling cache support. Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stappk5iIl/stap_2829_src.c" using 54720virt/44928res/5888shr/38272data kb, in 0usr/0sys/1real ms. stap_2829.ko Pass 4: compiled C into "stap_2829.ko" in 0usr/14060sys/14485real ms. PASS: DISABLED1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } WARNING: failed to create systemtap data directory "/dev/null" Not a directory, disabling cache support. Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/397real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapB61ppt/stap_3314_src.c" using 54720virt/44992res/5888shr/38272data kb, in 0usr/0sys/1real ms. stap_3314.ko Pass 4: compiled C into "stap_3314.ko" in 0usr/14070sys/14494real ms. PASS: DISABLED2 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -m modnam Pass 1: parsed user script and 115 library scripts using 53952virt/45504res/5888shr/37504data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/45504res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapv1lE4C/modnam_src.c" using 54720virt/45504res/5888shr/38272data kb, in 0usr/0sys/1real ms. modnam.ko Pass 4: compiled C into "modnam.ko" in 0usr/3240sys/3330real ms. PASS: MODNAM1 wasn't cached spawn stap -v -p4 -e probe begin { println(1) } -m modnam Pass 1: parsed user script and 115 library scripts using 53952virt/45504res/5888shr/37504data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54720virt/45504res/5888shr/38272data kb, in 0usr/10sys/7real ms. Pass 3: translated to C into "/tmp/stap8XWIbD/modnam_src.c" using 54720virt/45504res/5888shr/38272data kb, in 0usr/0sys/1real ms. modnam.ko Pass 4: compiled C into "modnam.ko" in 0usr/3240sys/3327real ms. PASS: MODNAM2 wasn't cached spawn stap -v -p4 -e probe XbeginX { } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/406real ms. semantic error: while resolving probe point: identifier 'XbeginX' at :1:7 source: probe XbeginX { } ^ semantic error: probe point mismatch (similar: begin, end, init, nfs, vm): identifier 'XbeginX' at :1:7 source: probe XbeginX { } ^ Pass 2: analyzed script: 0 probes, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 2: analysis failed. [man error::pass2] PASS: ERROR1 wasn't cached spawn stap -v -p4 -e probe XbeginX { } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/410sys/407real ms. semantic error: while resolving probe point: identifier 'XbeginX' at :1:7 source: probe XbeginX { } ^ semantic error: probe point mismatch (similar: begin, end, init, nfs, vm): identifier 'XbeginX' at :1:7 source: probe XbeginX { } ^ Pass 2: analyzed script: 0 probes, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/0sys/8real ms. Pass 2: analysis failed. [man error::pass2] PASS: ERROR2 wasn't cached spawn stap -v -p4 -e probe begin, end { println(2) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stapgye85Z/stap_6c39809d2b1fd47ef238c0b974a82764_953_src.c" using 54720virt/47168res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6c/stap_6c39809d2b1fd47ef238c0b974a82764_953.ko Pass 4: compiled C into "stap_6c39809d2b1fd47ef238c0b974a82764_953.ko" in 0usr/3230sys/3278real ms. PASS: BASIC3 wasn't cached spawn stap -v -p4 -e probe begin, end { println(2) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/0sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6c/stap_6c39809d2b1fd47ef238c0b974a82764_953.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6c/stap_6c39809d2b1fd47ef238c0b974a82764_953.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6c/stap_6c39809d2b1fd47ef238c0b974a82764_953.ko PASS: BASIC4 was cached spawn stap -v -p4 -e probe begin { println(@var("jiffies")) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/402real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56832virt/49920res/7296shr/40384data kb, in 0usr/50sys/53real ms. Pass 3: translated to C into "/tmp/stapvPhdZy/stap_facdc99873361addbff6c60f623d3ba6_1947_src.c" using 56832virt/50240res/7616shr/40384data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_facdc99873361addbff6c60f623d3ba6_1947.ko Pass 4: compiled C into "stap_facdc99873361addbff6c60f623d3ba6_1947.ko" in 0usr/3280sys/3323real ms. PASS: VAR1 wasn't cached spawn stap -v -p4 -e probe begin { println(@var("jiffies")) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56832virt/49920res/7296shr/40384data kb, in 0usr/50sys/54real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_facdc99873361addbff6c60f623d3ba6_1947.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_facdc99873361addbff6c60f623d3ba6_1947.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_facdc99873361addbff6c60f623d3ba6_1947.ko PASS: VAR2 was cached testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cache.exp completed in 95 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cache_clean.exp ... spawn stap -vv -p4 -e probe begin {println(1)} Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapMgijwi" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45248res/6080shr/37568data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54784virt/45248res/6080shr/38336data kb, in 0usr/0sys/8real ms. function recursion-analysis: max-nesting 0 non-recursive 1 statements for probe probe_2759 Pass 3: translated to C into "/tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915_src.c" using 54784virt/47296res/6848shr/38336data kb, in 0usr/0sys/1real ms. Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapMgijwi modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915_src.o CC [M] /tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915_aux_0.o LD [M] /tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915.mod.o LD [M] /tmp/stapMgijwi/stap_f9afc4330f7399af4153e118ca90e703_915.ko Spawn waitpid result (0x0): 0 /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f9afc4330f7399af4153e118ca90e703_915.ko Pass 4: compiled C into "stap_f9afc4330f7399af4153e118ca90e703_915.ko" in 0usr/14040sys/14451real ms. Cache limit file /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cache_mb_limit missing, creating default. Cache cleaning skipped, interval not reached 15 s / 100000 s. PASS: cache_clean premature cleaning spawn stap -vv -p4 -e probe begin {println(2)} Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapCEBN9o" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45184res/6080shr/37568data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54784virt/45184res/6080shr/38336data kb, in 0usr/10sys/8real ms. function recursion-analysis: max-nesting 0 non-recursive 1 statements for probe probe_2759 Pass 3: translated to C into "/tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915_src.c" using 54784virt/47232res/6848shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapCEBN9o modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915_src.o CC [M] /tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915_aux_0.o LD [M] /tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915.mod.o LD [M] /tmp/stapCEBN9o/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915.ko Spawn waitpid result (0x0): 0 /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915.ko Pass 4: compiled C into "stap_f98bdb49901fd29eb79dc6ef3c3e7f09_915.ko" in 0usr/3250sys/3291real ms. Cleaning cache, interval reached 5 s > 1 s. PASS: cache_clean timed cleaning testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cache_clean.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c -O -g -lm -o callee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c -O -g -lm -o callee PASS: callee (simple - compilation - 64-bit) spawn stap -L process("./callee").function("main").callee("level1") process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callee(foo) - 64-bit) spawn stap -L process("./callee").function("main").callee("*") process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callee(*) - 64-bit) spawn stap -L process("./callee").function("main").callee("level1").return process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14").return $return:int $a:int $b:int PASS: callee (simple - listing .callee(foo).return - 64-bit) spawn stap -L process("./callee").function("main").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callees - 64-bit) spawn stap -L process("./callee").function("main").callees(1) process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callees(1) - 64-bit) spawn stap -L process("./callee").function("main").callees(2) process("/root/systemtap_write/systemtap/testsuite/callee").function("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14").callee("level2@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:9") $a:int $b:int process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callees(2) - 64-bit) spawn stap -L process("./callee").function("main").callees(3) process("/root/systemtap_write/systemtap/testsuite/callee").function("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14").callee("level2@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:9") $a:int $b:int process("/root/systemtap_write/systemtap/testsuite/callee").function("level2@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:9").callee("level3@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:4") $a:int $b:int process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:18").callee("level1@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.simple.c:14") $a:int $b:int PASS: callee (simple - listing .callees(3) - 64-bit) expecting 1 line(s): '^caller main callee level1[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callee("level1") { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee level1 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callee(foo) - 64-bit) expecting 1 line(s): '^caller main callee level1[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callee("level1").return { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) } -c ./callee ; true caller main callee level1 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callee(foo).return - 64-bit) expecting 1 line(s): '^caller main callee level1[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee level1 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callees - 64-bit) expecting 1 line(s): '^caller main callee level1[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees(1) { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee level1 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callees(1) - 64-bit) expecting 2 line(s): '^caller main callee level1[^\r\n]*\r\n|^caller level1 callee level2[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees(2) { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee level1 caller level1 callee level2 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callees(2) - 64-bit) expecting 3 line(s): '^caller main callee level1[^\r\n]*\r\n|^caller level1 callee level2[^\r\n]*\r\n|^caller level2 callee level3[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees(3) { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee level1 caller level1 callee level2 caller level2 callee level3 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (simple - probing .callees(3) - 64-bit) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c -O -g -lm -o callee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c -O -g -lm -o callee PASS: callee (multicalls - compilation - 64-bit) spawn stap -L process("./callee").function("main").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:18").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:14") $a:int $b:int process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:18").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:9") $a:int $b:int PASS: callee (multicalls - listing main .callees - 64-bit) spawn stap -L process("./callee").function("bar").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:14").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.multicalls.c:9") $a:int $b:int PASS: callee (multicalls - listing bar .callees - 64-bit) expecting 3 line(s): '^caller main callee foo[^\r\n]*\r\n|^caller main callee bar[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee foo caller main callee bar caller main callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (multicalls - probing main .callees - 64-bit) expecting 1 line(s): '^caller bar callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("bar").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller bar callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (multicalls - probing bar .callees - 64-bit) expecting 6 line(s): '^caller main callee foo[^\r\n]*\r\n|^caller foo callee baz[^\r\n]*\r\n|^caller main callee bar[^\r\n]*\r\n|^caller bar callee foo[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n|^caller foo callee baz[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees(2) { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee foo caller foo callee baz caller main callee bar caller bar callee foo caller main callee foo caller foo callee baz WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (multicalls - probing main .callees(2) - 64-bit) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c -O -g -lm -o callee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c -O -g -lm -o callee PASS: callee (inlined - compilation - 64-bit) spawn stap -L process("./callee").function("main").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:26").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:20") $b:int $a:int process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:26").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:13") $b:int $a:int PASS: callee (inlined - listing main .callees - 64-bit) spawn stap -L process("./callee").function("bar").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:20").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:13") $b:int $a:int PASS: callee (inlined - listing bar .callees - 64-bit) spawn stap -L process("./callee").function("main").callee("foo").call process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:26").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.inlined.c:13").call $b:int $a:int PASS: callee (inlined - listing .callee(foo).call - 64-bit) expecting 2 line(s): '^caller main callee foo[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callee("foo").call { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) } -c ./callee ; true caller main callee foo caller main callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (inlined - probing .callee(foo).call - 64-bit) expecting 3 line(s): '^caller main callee foo[^\r\n]*\r\n|^caller main callee bar[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) } -c ./callee ; true caller main callee foo caller main callee bar caller main callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (inlined - probing main .callees - 64-bit) expecting 1 line(s): '^caller main callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("bar").callees { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) } -c ./callee ; true caller main callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (inlined - probing bar .callees - 64-bit) expecting 6 line(s): '^caller main callee foo[^\r\n]*\r\n|^caller main callee baz[^\r\n]*\r\n|^caller main callee bar[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n|^caller main callee foo[^\r\n]*\r\n|^caller main callee baz[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees(2) { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) } -c ./callee ; true caller main callee foo caller main callee baz caller main callee bar caller main callee foo caller main callee foo caller main callee baz WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (inlined - probing main .callees(2) - 64-bit) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.2.c /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.c -O -g -lm -o callee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.2.c /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.c -O -g -lm -o callee PASS: callee (extern - compilation - 64-bit) spawn stap -L process("./callee").function("main").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.c:10").callee("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.2.c:5") $a:int $b:int PASS: callee (extern - listing main .callees - 64-bit) spawn stap -L process("./callee").function("foo").callees process("/root/systemtap_write/systemtap/testsuite/callee").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.2.c:5").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.extern.c:5") $x:int $y:int $z:int PASS: callee (extern - listing foo .callees - 64-bit) expecting 1 line(s): '^caller main callee foo[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("main").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller main callee foo WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (extern - probing main .callees - 64-bit) expecting 1 line(s): '^caller foo callee bar[^\r\n]*\r\n' spawn stap -e probe process("./callee").function("foo").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./callee ; true caller foo callee bar WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' PASS: callee (extern - probing foo .callees - 64-bit) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.lib.c -O -g -shared -fPIC -lm -o libreloc.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.lib.c -O -g -shared -fPIC -lm -o libreloc.so PASS: callee (reloc - shlib compilation - 64-bit) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.c -O -g -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lreloc -lm -o reloc (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.c -O -g -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lreloc -lm -o reloc PASS: callee (reloc - exe compilation - 64-bit) spawn stap -L process("./reloc").library("libreloc.so").function("foo").callees process("/root/systemtap_write/systemtap/testsuite/reloc").library("libreloc.so").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.lib.c:10").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/callee.reloc.lib.c:4") $a:int $b:int $c:int PASS: callee (reloc - listing shlib foo .callees - 64-bit) spawn stap -e probe process("./reloc").library("libreloc.so") .function("foo").callees { printf("caller %s callee %s\n", usymname(ustack(1)), ppfunc()) } -c ./reloc ; true caller foo callee bar PASS: callee (reloc - probing shlib foo .callees - 64-bit) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/callee.exp completed in 173 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/caller.exp ... executing: stap -v -e { global caller_str probe begin { printf("systemtap starting probe\n") } probe kernel.function("vfs_write") { caller_str = caller() exit() } probe end { printf("systemtap ending probe\n") printf("%s\n", caller_str) } } -c {echo hi > /dev/null} spawn stap -v -e global caller_str probe begin { printf("systemtap starting probe\n") } probe kernel.function("vfs_write") { caller_str = caller() exit() } probe end { printf("systemtap ending probe\n") printf("%s\n", caller_str) } -c echo hi > /dev/null Pass 1: parsed user script and 115 library scripts using 54080virt/45248res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 4 probes, 10 functions, 5 embeds, 1 global using 95168virt/88384res/7552shr/78720data kb, in 0usr/2640sys/2683real ms. Pass 3: translated to C into "/tmp/stapv6AvdJ/stap_ba69dd9eee3982e9c56ecaf0c2977aef_5145_src.c" using 95168virt/88512res/7680shr/78720data kb, in 0usr/920sys/931real ms. Pass 4: compiled C into "stap_ba69dd9eee3982e9c56ecaf0c2977aef_5145.ko" in 0usr/14850sys/15002real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe sys_write 0xfffffc00082a291c PASS: caller startup PASS: caller load generation Executing: kill -INT -9333 PASS: caller shutdown and output WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux Pass 5: run completed in 0usr/100sys/1363real ms. FAIL: caller unexpected output (after passing output) Executing: kill -INT -9333 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/caller.exp completed in 21 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.exp ... Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o cast-scope-m64.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o cast-scope-m64.exe PASS: cast-scope-m64 compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.stp -c ./cast-scope-m64.exe PASS: cast-scope-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o cast-scope-m64.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o cast-scope-m64.exe PASS: cast-scope-m64 compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.stp -c ./cast-scope-m64.exe PASS: cast-scope-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -lm -o cast-scope-m64-O.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -lm -o cast-scope-m64-O.exe PASS: cast-scope-m64-O compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.stp -c ./cast-scope-m64-O.exe PASS: cast-scope-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-scope.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-user.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/cast-user.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/cast-user.exe PASS: cast-user compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-user.stp /root/systemtap_write/systemtap/testsuite/cast-user.exe -c /root/systemtap_write/systemtap/testsuite/cast-user.exe PASS: cast-user testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cast-user.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cast.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cast.stp PASS: systemtap.base/cast.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cast.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cmd_parse.exp ... spawn stap -c echo "hello world" -we probe begin {} hello world PASS: cmd_parse1 spawn stap -c echo "hello "\"world\" -we probe begin {} hello "world" PASS: cmd_parse2 spawn stap -c sh -c '(a="hello world"; echo $a)' -we probe begin {} hello world PASS: cmd_parse3 spawn stap -c sh -c '(a="hello "\"world\"; echo $a)' -we probe begin {} hello "world" PASS: cmd_parse4 spawn stap -c sh -c '(a="hello "world; echo $a)' -we probe begin {} hello world PASS: cmd_parse5 spawn stap -c bash -c '((a=42+7)); echo "The answer is $a"' -we probe begin {} The answer is 49 PASS: cmd_parse6 spawn stap -c sh -c '(echo "Hello World" 1>&2) > /dev/null' -we probe begin {} Hello World PASS: cmd_parse7 spawn stap -l vm.* vm.brk vm.kfree vm.kmalloc vm.kmalloc_node vm.kmem_cache_alloc vm.kmem_cache_alloc_node vm.kmem_cache_free vm.mmap vm.munmap vm.oom_kill vm.pagefault vm.write_shared PASS: cmd_parse8 spawn stap -e probe begin { printf("%d %s\n", argc, argv[$1]) exit() } 1 1 1 PASS: cmd_parse9 spawn stap -e probe begin { printf("%d %s\n", argc, argv[$1]) exit() } 5 a b c d 5 d PASS: cmd_parse10 spawn stap -e probe begin { printf("%d %s\n", argc, argv[$1]) exit() } 10 a b c d 5 PASS: cmd_parse11 spawn stap -e probe begin { printf("%d %s\n", argc, argv[0]) exit() } 0 PASS: cmd_parse12 spawn stap -L syscall.a* syscall.accept sockfd:long addr_uaddr:long addrlen_uaddr:long name:string argstr:string $fd:long int $upeer_sockaddr:long int $upeer_addrlen:long int PASS: cmd_parse13 PASS: cmd_parse14 spawn sh -c stap -m do_not_cache_me -B kernelrelease -p4 -e 'probe begin {exit()}' 4.8.0-rc1uprobes+ PASS: cmd_parse15 spawn sh -c stap -m do_not_cache_me -a arm64 -p4 -e 'probe begin {exit()}' do_not_cache_me.ko PASS: cmd_parse16 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cmd_parse.exp completed in 59 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cmdline.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/cmdline.stp -c {rm -f abcdef} PASS: cmdline testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cmdline.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/color_parsing.exp ... SYSTEMTAP_COLORS set to "" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (empty - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (empty - staprun: output matched) SYSTEMTAP_COLORS set to "a" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key1 - staprun: output matched) SYSTEMTAP_COLORS set to "a:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key2 - staprun: output matched) SYSTEMTAP_COLORS set to "a:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key3 - staprun: output matched) SYSTEMTAP_COLORS set to ":a" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key4 - staprun: output matched) SYSTEMTAP_COLORS set to ":a:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key5 - staprun: output matched) SYSTEMTAP_COLORS set to ":a:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key6 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key6 - staprun: output matched) SYSTEMTAP_COLORS set to "error=32:a:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key7 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key7 - staprun: output matched) SYSTEMTAP_COLORS set to "error=32:a=:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key8 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key8 - staprun: output matched) SYSTEMTAP_COLORS set to "error=32:a=val:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (short_key9 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (short_key9 - staprun: output matched) SYSTEMTAP_COLORS set to "asd:dsa:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq1 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq2 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq3 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq4 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41:hfd" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq5 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41:hfd:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq6 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq6 - staprun: output matched) SYSTEMTAP_COLORS set to "asd41:hfd:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq7 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq7 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=41:hfd" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq8 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq8 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=41:hfd:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq9 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq9 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=41:hfd:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_eq10 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_eq10 - staprun: output matched) SYSTEMTAP_COLORS set to ":" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key1 - staprun: output matched) SYSTEMTAP_COLORS set to ":error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key2 - staprun: output matched) SYSTEMTAP_COLORS set to "=" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key3 - staprun: output matched) SYSTEMTAP_COLORS set to "=:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key4 - staprun: output matched) SYSTEMTAP_COLORS set to "=1" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key5 - staprun: output matched) SYSTEMTAP_COLORS set to "=1:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key6 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key6 - staprun: output matched) SYSTEMTAP_COLORS set to "=31" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key7 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key7 - staprun: output matched) SYSTEMTAP_COLORS set to "=31:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key8 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key8 - staprun: output matched) SYSTEMTAP_COLORS set to ":=31" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key9 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key9 - staprun: output matched) SYSTEMTAP_COLORS set to ":=31:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key10 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key10 - staprun: output matched) SYSTEMTAP_COLORS set to "=:31" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key11 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key11 - staprun: output matched) SYSTEMTAP_COLORS set to "=:31:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key12 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key12 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41:31" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_key13 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_key13 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_val1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_val1 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_val2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_val2 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_val3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_val3 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_val4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_val4 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41:asd=:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (no_val5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (no_val5 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=x" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (bad_val1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (bad_val1 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=x:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (bad_val2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (bad_val2 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=x:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (bad_val3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (bad_val3 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=x1:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (bad_val4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (bad_val4 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=1x:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (bad_val5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (bad_val5 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (valid1 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (valid1 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41:" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (valid2 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (valid2 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41:asd" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (valid3 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (valid3 - staprun: output matched) SYSTEMTAP_COLORS set to "error=41:asd=dsa" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (valid4 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (valid4 - staprun: output matched) SYSTEMTAP_COLORS set to "asd=;:dsa=12;3;;22;4;2:error=41" spawn stap --color -p4 -e junk parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: identifier 'junk' at :1:1 source: junk ^ 1 parse error. Pass 1: parse failed. [man error::pass1] PASS: color_parsing (valid5 - stap: output matched) spawn staprun -C always ERROR: Need a module name or path to load. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap PASS: color_parsing (valid5 - staprun: output matched) PASS: color_parsing testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/color_parsing.exp completed in 32 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.stp -g PASS: systemtap.base/const_op.stp -g executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.stp -g --skip-badvars PASS: systemtap.base/const_op.stp -g --skip-badvars spawn stap -p1 /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.stp parse error: using @const operator not permitted; need stap -g saw: operator '@const' at /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.stp:3:18 source: println("x", @const("STP_SKIP_BADVARS"), "y") ^ parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.stp:3:24 PASS: const_op (non-guru) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/const_op.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value.c -g -O2 -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o const_value.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value.c -g -O2 -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o const_value.exe PASS: const_value.c compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value.stp -c ./const_value.exe PASS: systemtap.base/const_value.stp -c ./const_value.exe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value_func.c -g -O2 -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o const_value_func.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value_func.c -g -O2 -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o const_value_func.exe PASS: const_value_func.c compile UNTESTED: const_value_func (no-const-value) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/const_value.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.exp ... spawn stap -u -DMAXNESTING=5 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXNESTING exceeded near identifier 'recurse' at /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp:3:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXNESTING (1) spawn stap -u -DMAXNESTING=8 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXSTRINGLEN enlarged WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXNESTING proper (0) spawn stap -u -DMAXACTION_INTERRUPTIBLE=500 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXACTION exceeded near operator '{' at /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp:12:25 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXACTION (1) spawn stap -u -DMAXACTION_INTERRUPTIBLE=502 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXSTRINGLEN enlarged WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXACTION proper (0) spawn stap -u -D MAXMAPENTRIES=19 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: Array overflow, check MAXMAPENTRIES near identifier 'array' at /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp:21:3 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXMAPENTRIES (1) spawn stap -u -D MAXMAPENTRIES=20 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXSTRINGLEN enlarged WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXMAPENTRIES proper (0) spawn stap -u -DMAXSTRINGLEN=50 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXSTRINGLEN reduced WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXSTRINGLEN small (1) spawn stap -u -DMAXSTRINGLEN=500 /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.stp ERROR: MAXSTRINGLEN enlarged WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: control_limits MAXSTRINGLEN large (1) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/control_limits.exp completed in 39 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/crash.exp ... UNTESTED: crash - no staplog.so testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/crash.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/ctime.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/ctime.stp PASS: systemtap.base/ctime.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/ctime.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -lm -o cu-decl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -lm -o cu-decl PASS: cu-decl-m64 target compilation running stap -v -p4 -e { probe process("cu-decl").function("print") { println($f->x * $f->y) } } spawn stap -v -p4 -e probe process("cu-decl").function("print") { println($f->x * $f->y) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 0 globals using 54848virt/47872res/7296shr/38400data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapbGzMty/stap_d669a6b9f074df720f95b729022f1e6a_4143_src.c" using 54976virt/48192res/7488shr/38528data kb, in 0usr/1460sys/1481real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d669a6b9f074df720f95b729022f1e6a_4143.ko Pass 4: compiled C into "stap_d669a6b9f074df720f95b729022f1e6a_4143.ko" in 0usr/4760sys/4832real ms. PASS: cu-decl-m64 compilation succeeded Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -lm -o cu-decl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -lm -o cu-decl PASS: cu-decl-m64 target compilation running stap -v -p4 -e { probe process("cu-decl").function("print") { println($f->x * $f->y) } } spawn stap -v -p4 -e probe process("cu-decl").function("print") { println($f->x * $f->y) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 0 globals using 54784virt/47808res/7296shr/38336data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapHooPn5/stap_ef7a8df85fae577e41114a8f086642e8_4143_src.c" using 54912virt/48128res/7488shr/38464data kb, in 0usr/1450sys/1481real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/stap_ef7a8df85fae577e41114a8f086642e8_4143.ko Pass 4: compiled C into "stap_ef7a8df85fae577e41114a8f086642e8_4143.ko" in 0usr/4760sys/4835real ms. PASS: cu-decl-m64 compilation succeeded Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -O -lm -o cu-decl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-1.c /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl-2.c -g -O -lm -o cu-decl PASS: cu-decl-m64-O target compilation running stap -v -p4 -e { probe process("cu-decl").function("print") { println($f->x * $f->y) } } spawn stap -v -p4 -e probe process("cu-decl").function("print") { println($f->x * $f->y) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 0 globals using 54848virt/47872res/7296shr/38400data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapSIkhXs/stap_bb5fc558c0ac5cca13fbc1d5cd1f1721_3589_src.c" using 54976virt/48192res/7488shr/38528data kb, in 0usr/1450sys/1480real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bb5fc558c0ac5cca13fbc1d5cd1f1721_3589.ko Pass 4: compiled C into "stap_bb5fc558c0ac5cca13fbc1d5cd1f1721_3589.ko" in 0usr/4750sys/4817real ms. PASS: cu-decl-m64-O compilation succeeded testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cu-decl.exp completed in 23 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.exp ... Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o cxxclass.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o cxxclass.exe PASS: m64 cxxclass.c compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.stp cxxclass.exe -c ./cxxclass.exe PASS: cxxclass-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o cxxclass.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o cxxclass.exe PASS: m64 cxxclass.c compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.stp cxxclass.exe -c ./cxxclass.exe PASS: cxxclass-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -O -lm -o cxxclass.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.cxx -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -DSTAP_SDT_ARG_CONSTRAINT=nr -O -lm -o cxxclass.exe PASS: m64-O cxxclass.c compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.stp cxxclass.exe -c ./cxxclass.exe PASS: cxxclass-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/cxxclass.exp completed in 24 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/debug_mem.exp ... PASS: debug_mem (run) spawn dmesg [ 2807.722109] stap_6af57b77dfdeb9af1ac96599c5dd398d_4346: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 40data/32text/5ctx/2058net/257alloc kb, probes: 2 [ 2812.389458] stap_691fae485abef69effa3c200bf56bff3_4597: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 38data/30text/9ctx/2058net/129alloc kb, probes: 5 [ 2817.489627] stap_e189b442e50deab68684622dfe9e2b92_4852: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 2822.019803] stap_a0db787f500df270f745e3b0ce967fa6_5103: `z29' invalid for parameter `var1' [ 2822.819974] stap_a0db787f500df270f745e3b0ce967fa6_5111: unknown parameter 'var2' ignored [ 2822.882190] stap_a0db787f500df270f745e3b0ce967fa6_5111: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 2827.615405] stap_6b09f442f8faf8e7b4f17181ca435d0f_5364: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 36data/31text/6ctx/2058net/129alloc kb, probes: 4 [ 2835.867491] stap_71ace39e7f1491eedb0ed0533bea7307__5649: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 105data/59text/5ctx/2058net/129alloc kb, probes: 6 [ 2844.142028] stap_076b3cef986e6c197b3859e518c5e70b__5935: systemtap: 3.1/0.166, base: fffffc00011d0000, memory: 105data/59text/5ctx/2058net/129alloc kb, probes: 6 [ 2852.392807] stap_1c8e81ef8b6a74c75724364f341c34e8__6219: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 109data/59text/5ctx/2058net/129alloc kb, probes: 7 [ 2859.935965] stap_50b49141b13e82f6e0dc96cfc66280ce__6489: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 41data/36text/31ctx/2058net/129alloc kb, probes: 3 [ 2864.777372] stap_cb76ded41b17b1ce8a08a26a92b45152_6745: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 41data/33text/13ctx/2058net/129alloc kb, probes: 5 [ 2873.055460] stap_cbe0e3708c4ffb3f0c4d42429d95d2ea_7010: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 41data/36text/5ctx/2058net/130alloc kb, probes: 2 [ 2876.913976] stap_cbe0e3708c4ffb3f0c4d42429d95d2ea_7024: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 41data/36text/5ctx/2058net/130alloc kb, probes: 2 [ 2881.808178] stap_cbe0e3708c4ffb3f0c4d42429d95d2ea_7038: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 41data/36text/5ctx/2058net/130alloc kb, probes: 2 [ 2921.837558] stap_f5ca6f04589de05a13bb19f0dee16e51_8077: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [ 2931.497644] stap_ff0e053fa5d0a7b53fe7f0305106d09d__8353: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 115data/64text/6ctx/2058net/129alloc kb, probes: 7 [ 2940.714006] stap_5be98414c9313ffd9e4bacdbe4f9572f__8629: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 115data/64text/6ctx/2058net/129alloc kb, probes: 7 [ 2949.723850] stap_c5d49a90fe13f14b2a4496baea81fe16__8904: systemtap: 3.1/0.166, base: fffffc0001830000, memory: 111data/61text/6ctx/2058net/129alloc kb, probes: 7 [ 2954.381488] stap_9deda0b9b6d1e62382d59c3d65a76fe7_9158: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [ 2962.974734] stap_67b185bb59bbd430be5af2e51555ade0__9431: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 83data/58text/22ctx/2058net/129alloc kb, probes: 2 [ 2971.133551] stap_3ac391cb842d9338613f319f9811d75a__9703: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 83data/58text/22ctx/2058net/129alloc kb, probes: 2 [ 2979.292074] stap_2f972de8dd896948310cf8349643e21e__9975: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 83data/58text/22ctx/2058net/129alloc kb, probes: 2 [ 2987.391200] stap_3825716763f623a30c187a873f09b64_10247: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 82data/56text/10ctx/2058net/129alloc kb, probes: 2 [ 2995.433988] stap_5872f84b80138173fed3ce69cf7e36d_10519: systemtap: 3.1/0.166, base: fffffc0000eb0000, memory: 82data/56text/10ctx/2058net/129alloc kb, probes: 2 [ 3003.635031] stap_f028c9597d1182bdfd2d2613b91ccb73_10791: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 96data/59text/10ctx/2058net/129alloc kb, probes: 4 [ 3018.384504] stap_94c6e56295d2ffc47cbeb2373b00a5a_11075: systemtap: 3.1/0.166, base: fffffc0001870000, memory: 4424data/48text/132ctx/2058net/129alloc kb, probes: 2 [ 3025.961118] stap_23e8bdca8e2265db7d1789b3c826596_11330: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 42data/36text/6ctx/2058net/129alloc kb, probes: 2 [ 3047.369214] stap_9c6f0fb3dacc5ed8d94d9ea33db65bd_12079: systemtap: 3.1/0.166, base: fffffc00010a0000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 3234.120518] stap_9a7fa3ebef0923ae3d8cdae0851a48a_12591: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 40data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 3239.520755] stap_6ce5cb9b5f016bf8ca83d27b7d24a87_12848: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 3241.445377] stap_9a7fa3ebef0923ae3d8cdae0851a48a_12871: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 40data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 3243.129669] stap_6ce5cb9b5f016bf8ca83d27b7d24a87_12895: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 3248.554968] stap_78754f774d0f9760f244ae0d91e4757_13169: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 39data/33text/9ctx/2058net/129alloc kb, probes: 4 [ 3256.523942] stap_f88840676e6ecd75f2095ba2b401dc12_13425: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 48data/40text/38ctx/2058net/129alloc kb, probes: 5 [ 3266.981761] stap_0b027171df84dc3f55995c3f2242ff2b_13732: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 115data/56text/13ctx/2058net/129alloc kb, probes: 9 [ 3283.740005] stap_1692bbf90a384b184fbc25d1887930fe_14089: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3295.165805] stap_fcb9e34bc0a388bb920f7c2906c12d63_14372: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3306.492636] stap_bd2efe0d5d174ad0c79e80ad516a033f_14640: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3311.149837] stap_fcb9e34bc0a388bb920f7c2906c12d63_14681: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3322.426083] stap_2e8c31f6f4996370eee859750ca3b68c_14947: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3327.567922] stap_1692bbf90a384b184fbc25d1887930fe_14988: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3332.209137] stap_fcb9e34bc0a388bb920f7c2906c12d63_15028: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3336.860428] stap_fcb9e34bc0a388bb920f7c2906c12d63_15068: systemtap: 3.1/0.166, base: fffffc0001d50000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3341.586491] stap_fcb9e34bc0a388bb920f7c2906c12d63_15108: systemtap: 3.1/0.166, base: fffffc0001dc0000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3352.859940] stap_f552515d39c9cdc61b94a13f9ae7f375_15374: systemtap: 3.1/0.166, base: fffffc0001e30000, memory: 138data/61text/10ctx/2058net/129alloc kb, probes: 16 [ 3364.136953] stap_add7fbd6f9e353fd72ef228b29ce245_15640: systemtap: 3.1/0.166, base: fffffc0001ea0000, memory: 81data/55text/13ctx/2058net/129alloc kb, probes: 2 [ 3375.002414] stap_9ecdeb1a20c788454b35549530a1de8_15905: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 120data/55text/13ctx/2058net/129alloc kb, probes: 12 [ 3382.752466] stap_f2817ba6cb3e1e8213d9151fe203f2c_16160: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [ 8640.893037] stap_fa9becc2a47d8b92bfcaf6796e1c77b_23195: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/30text/5ctx/2058net/129alloc kb, probes: 3 [ 8648.210633] stap_43b79636595928a0d6843f1509f1d52_23457: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 40data/35text/5ctx/2058net/129alloc kb, probes: 6 [ 8655.396170] stap_c5bb6107a170c27fbbef9a5f40f1835_23714: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 40data/35text/5ctx/2058net/129alloc kb, probes: 6 [ 8662.662807] stap_17c140aec08e6ad86ee643381d3328a_23970: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 41data/36text/37ctx/2058net/1249alloc kb, probes: 6 [ 8669.183869] Systemtap Error at _stp_mempool_init:50 Memory allocation failed. [ 8669.191027] Systemtap Error at _stp_register_ctl_channel:739 Error creating systemtap control channel. [ 8678.589134] stap_c67e58a2ae44b30d364d5b519dbeebd_24507: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 131data/59text/38ctx/2058net/129alloc kb, probes: 15 [ 8687.964482] stap_0f31e02e1f6e16fcc106f67cf4a2651_24769: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 131data/59text/38ctx/2058net/129alloc kb, probes: 15 [ 8692.622940] stap_95545d7ebb3ca304df3f4c150898c773_1729: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 37data/30text/13ctx/2058net/129alloc kb, probes: 2 [ 8708.032755] stap_2ed4eb63c9db17bf0b4e9b981b78414_25748: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 38data/32text/5ctx/2058net/129alloc kb, probes: 2 [ 8712.823913] stap_70c5276a43deeba9fc574dc435abe27_26006: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 37data/32text/5ctx/2058net/129alloc kb, probes: 2 [ 8715.490711] stap_2ed4eb63c9db17bf0b4e9b981b78414_26022: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 38data/32text/5ctx/2058net/129alloc kb, probes: 2 [ 8720.282123] stap_93ff88a86c412fb914305b0a08c2982_26277: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 37data/32text/5ctx/2058net/129alloc kb, probes: 2 [ 8737.116252] stap_43b60edfdbd5f503e049e59de0589768_26556: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 53data/39text/9ctx/2058net/175alloc kb, probes: 7 [ 8753.050846] stap_88d2af03452c7e5d00e55516d4fd2d17_26807: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8769.051224] stap_9e9ff730cd82661e4a64ab34573dff09_27058: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8784.959413] stap_a1b0cd67dbb56bc43f9e12e3b0d8c2a9_27309: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8800.884949] stap_82fa6e47cc37ecc8ae517ba9e9f2951e_27560: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8816.852041] stap_90f7e1b31f61535e930d3c0dc9bb98bb_27811: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 53data/39text/9ctx/2058net/175alloc kb, probes: 7 [ 8832.845346] stap_e9a8a1965cb84fbb6fcdb83899cb1d25_28062: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8848.820476] stap_910187b07c3df0e1403de3c99be43432_28314: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8864.780139] stap_7c205842a691f6d127032bed1ee13183_28565: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8880.755106] stap_ea6a30be0635d817f13dc3c73fb373ce_28816: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8896.780700] stap_64e78755c84120b84bbc905a3243404e_29069: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 53data/39text/9ctx/2058net/175alloc kb, probes: 7 [ 8912.722917] stap_7e36591d2891c2d5314b2c15f89539d5_29320: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8928.749574] stap_f7ef2a486eeee57bde89c41ca9b40b40_29571: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8944.708133] stap_b1455ebef908c789db7fa31fe5126bbe_29822: systemtap: 3.1/0.166, base: fffffc0001940000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8960.657813] stap_7d606e8a91b406c7c6d05369b33685fd_30073: systemtap: 3.1/0.166, base: fffffc0001990000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 7 [ 8965.259128] stap_53c2fb0a73b57a8710ac3c74254eea3_30327: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [ 8974.209072] stap_ef54105c5bae58d49be9217bf5cfb283_30583: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 52data/47text/18ctx/2058net/129alloc kb, probes: 12 [ 9000.501165] stap_7ab418f758b4e779e582f8a437cd7e9_30884: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/32text/5ctx/2058net/241alloc kb, probes: 3 [ 9005.884277] stap_a040f9f8e718d95ff2a315de5355794_31139: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/32text/14ctx/2058net/129alloc kb, probes: 4 [ 9017.535486] stap_c73a08248ecdb5e9cddf3ad3a746ff8_31397: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [ 9022.721285] stap_53f146d46ac33673dd1c6c2e8508331_31648: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 43data/39text/6ctx/2058net/135alloc kb, probes: 5 [ 9025.161866] stap_17c140aec08e6ad86ee643381d3328a_31659: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 41data/36text/37ctx/2058net/1249alloc kb, probes: 6 [ 9031.670606] stap_30c2baf81b8bba207521ee632008376_31912: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 41data/36text/37ctx/2058net/1249alloc kb, probes: 6 [ 9037.971295] stap_769518d94b206fb9044e4f453a94978_32167: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 41data/36text/37ctx/2058net/1249alloc kb, probes: 6 [ 9049.171870] stap_bfa8eac4f803474031ee4d5922386e9_32484: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 65data/54text/5ctx/2058net/129alloc kb, probes: 5 [ 9055.480421] stap_9af4c671ffe61cf9c87c56659135c25_32736: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3 [ 9064.189751] stap_efcb49a752779b93fffd345e398ea912__569: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 94data/60text/5ctx/2058net/129alloc kb, probes: 6 [ 9073.674603] stap_4b4e2c3a122ddd7b928e7e427fe4db7c__881: systemtap: 3.1/0.166, base: fffffc00011d0000, memory: 94data/62text/5ctx/2058net/369alloc kb, probes: 5 [ 9078.449133] stap_99fc16703cd983bb0b5b61845d7591e7_1134: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 37data/32text/5ctx/2058net/129alloc kb, probes: 3 [ 9086.284332] stap_cf7279839ab975d0286e39ada16eb2ed_1391: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 93data/60text/5ctx/2058net/1249alloc kb, probes: 6 [ 9094.145413] stap_d4d514d6983105e406143d1f3bb4de69_1642: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 93data/60text/5ctx/2058net/1249alloc kb, probes: 6 [ 9103.010986] stap_d41b645a2bc89018e93a69080e194c4d__1933: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 193data/67text/13ctx/2058net/1249alloc kb, probes: 43 [ 9111.243778] stap_db565bff34bb595095fad7fc491ef87a__2189: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 193data/67text/13ctx/2058net/1249alloc kb, probes: 43 [ 9119.886625] stap_b11011e6706485f39df9a2f11deaafb8__2445: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 260data/77text/13ctx/2058net/1249alloc kb, probes: 84 [ 9128.519813] stap_0591c5ed12941cac169b25120c339353__2698: systemtap: 3.1/0.166, base: fffffc0001750000, memory: 260data/77text/13ctx/2058net/1249alloc kb, probes: 84 [ 9136.196041] stap_a10baf2618cf7299700c442e056cd399_2949: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 82data/57text/13ctx/2058net/1249alloc kb, probes: 3 [ 9143.987053] stap_4c8c03ff0ccefc6cd8e544f5a9222a67_3202: systemtap: 3.1/0.166, base: fffffc00017c0000, memory: 40data/35text/9ctx/2058net/129alloc kb, probes: 2 [ 9156.961137] stap_0f39c675d53ea08c5a43f45e8f1ad9e1__3454: systemtap: 3.1/0.166, base: fffffc00019c0000, memory: 3449data/64text/50ctx/2058net/2273alloc kb, probes: 52 [ 9167.748077] stap_b369eb14054a96e8b912dc910af1d51a__3707: systemtap: 3.1/0.166, base: fffffc0001810000, memory: 43data/38text/18ctx/2058net/10641alloc kb, probes: 5 [ 9176.873648] stap_f31f49581cff0bc2f65ff3e262cd92f5__3968: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 43data/38text/18ctx/2058net/10641alloc kb, probes: 5 [ 9191.781789] stap_24866beea75d92cff6a68ca1c13b8bec_23553: systemtap: 3.1/0.166, base: fffffc0001840000, memory: 3472data/67text/124ctx/2058net/467alloc kb, probes: 97 [ 9207.046545] stap_569b2dae856044d18d13be2105f36d09_1352: systemtap: 3.1/0.166, base: fffffc0000d40000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9212.273435] stap_c1ec288f2df47096faf2326752171339_4822: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 37data/31text/5ctx/2058net/129alloc kb, probes: 4 [ 9217.182343] stap_1d343fe083fe45484eed8f6bc4050b94_5073: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 39data/33text/5ctx/2058net/130alloc kb, probes: 4 [ 9221.875037] stap_9d687f59aac0d734780874820dc52d2d_5324: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/30text/5ctx/2058net/129alloc kb, probes: 4 [ 9230.726127] stap_e19d009ba47ee9ea7e61953dc4829188_5577: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/32text/5ctx/2058net/130alloc kb, probes: 4 [ 9251.146807] stap_38240a6e12e75f19970b550bb0c18efb_1_5833: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 2720data/49text/76ctx/2058net/129alloc kb, probes: 168 [ 9267.487521] stap_8ad5e4b74cd8e80ab760e6a8526285d4_1_6086: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 2720data/49text/76ctx/2058net/129alloc kb, probes: 168 [ 9283.705381] stap_37b219bd94f1441b334997a9d3acd0ec_1_6338: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 2720data/49text/76ctx/2058net/129alloc kb, probes: 168 [ 9301.914470] stap_d2af6fac7d03830a60c1ff8ff7a4268e_1_6590: systemtap: 3.1/0.166, base: fffffc0001e90000, memory: 2749data/76text/80ctx/2058net/129alloc kb, probes: 168 [ 9313.163175] stap_0bdbef936aadffb9c8b4865a409aa605_6841: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 37data/32text/5ctx/2058net/129alloc kb, probes: 2 [ 9320.158729] stap_17049805f13f471ade4f77d5eec4b11b_7102: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9328.451950] stap_c7515ee5de8c9a50d4ef6569e3b05106_7367: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 80data/54text/5ctx/2058net/129alloc kb, probes: 2 [ 9338.367822] stap_88a7ce2111c1286a07518039f76448c3_7628: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 90data/61text/92ctx/2058net/149alloc kb, probes: 3 [ 9347.769105] stap_0053af0ecb999521f49d6b00a57c5380_7888: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 90data/61text/92ctx/2058net/149alloc kb, probes: 3 [ 9363.638864] stap_ac29d785f8e120c3e1895cda03c9a27d_8383: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 34data/29text/5ctx/16394net/129alloc kb, probes: 2 [ 9377.068781] stap_34af582c197726eab2d670bd059a4d98_8656: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9382.503484] stap_abd035ff6be7588a93e0b1aab54a0735_8920: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 37data/33text/33ctx/2058net/129alloc kb, probes: 3 [ 9387.605014] stap_3af5dbe882826bab6faadf7f7a513b1f_9175: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9392.904877] stap_3168832ace99bac08708a866e944f319_9431: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9398.122396] stap_93df0ead4ee2fdf882de18488628a370_9687: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9399.238862] stap_93df0ead4ee2fdf882de18488628a370_9698: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9403.785090] stap_d365ec1c7475c7f95fe31fb18f26bf03_9948: unknown parameter 'pt' ignored [ 9403.847563] stap_d365ec1c7475c7f95fe31fb18f26bf03_9948: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9408.440070] stap_f39918bb348ef4d75dd77b61b37269f_10199: systemtap: 3.1/0.166, base: fffffc0002170000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9413.032539] stap_ed0ae5a86fb996a4e8287e7e0d39313_10450: systemtap: 3.1/0.166, base: fffffc00021c0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9421.165152] stap_c492f362a4f5bc69c3a295f1ff4e2e0_10701: systemtap: 3.1/0.166, base: fffffc0002210000, memory: 35data/31text/13ctx/2058net/1249alloc kb, probes: 3 [ 9425.783126] stap_829ee6b6862d7ac4ccf2da09e435b15_10953: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9430.358124] stap_4aae0f36885a7d14c583bdb86106918_11204: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9442.606820] stap_f004de5f7a4b154ae29f19ae4893a61_11460: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 3428data/60text/38ctx/2058net/129alloc kb, probes: 4 [ 9456.216330] stap_f43ae1b430375aca6d83606242d5b0c_11717: systemtap: 3.1/0.166, base: fffffc00019a0000, memory: 3428data/60text/38ctx/2058net/129alloc kb, probes: 4 [ 9466.907698] stap_1bf9deeabe63c5f1a2420866d34a1eb_11979: systemtap: 3.1/0.166, base: fffffc0001d20000, memory: 3400data/35text/17ctx/2058net/129alloc kb, probes: 7 [ 9475.776628] stap_6a991f32692f1bdd806de8afd8722b9_12263: systemtap: 3.1/0.166, base: fffffc0000c50000, memory: 104data/56text/5ctx/2058net/129alloc kb, probes: 8 [ 9486.020790] stap_869ae67b36a6810006696a093601afe_12548: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 73data/59text/13ctx/2058net/130alloc kb, probes: 9 [ 9501.198190] stap_13e14c85d7dd040a8d60d6ea1208d09_12835: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 73data/59text/13ctx/2058net/130alloc kb, probes: 9 [ 9516.424861] stap_0eebc3288166e86b8b33135f272983d_13121: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 73data/59text/13ctx/2058net/130alloc kb, probes: 9 [ 9529.854311] stap_be439b54e06eea66f3fceecbbe8885b_13407: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 108data/54text/5ctx/2058net/129alloc kb, probes: 8 [ 9537.662961] stap_6b59c63e2070a8e3c014ebd8e9b7e14_13669: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 101data/54text/5ctx/2058net/129alloc kb, probes: 6 [ 9547.847914] stap_757c2c194f2bd48bd876db81680e5576_13961: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 150data/60text/18ctx/2058net/1249alloc kb, probes: 24 [ 9581.005863] stap_4ad34b5181564de29aab51206975333_14261: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 4 [ 9592.831853] stap_76c53ac797833786bf991b116b95ef9_14525: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [ 9602.215194] PROCFS: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 40data/34text/21ctx/2058net/129alloc kb, probes: 5 [ 9607.674958] PROCFS_BUFFER1: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 40data/36text/2ctx/2058net/130alloc kb, probes: 5 [ 9613.167747] PROCFS_BUFFER2: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 40data/36text/2ctx/2058net/130alloc kb, probes: 5 [ 9618.633402] PROCFS_BUFFER3: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 40data/36text/1ctx/2058net/129alloc kb, probes: 5 [ 9624.092794] PROCFS_BUFFER4: systemtap: 3.1/0.166, base: fffffc00012b0000, memory: 40data/36text/1ctx/2058net/129alloc kb, probes: 5 [ 9629.601523] PROCFS_BUFFER5: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 40data/36text/1ctx/2058net/129alloc kb, probes: 5 [ 9635.059895] PROCFS_BUFFER6: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 40data/36text/1ctx/2058net/129alloc kb, probes: 6 [ 9640.486318] PROCFS_BUFFER7: systemtap: 3.1/0.166, base: fffffc0002090000, memory: 42data/34text/25ctx/2058net/134alloc kb, probes: 4 [ 9645.794642] PROCFS_BUFFER8: systemtap: 3.1/0.166, base: fffffc00020e0000, memory: 40data/34text/21ctx/2058net/129alloc kb, probes: 5 [ 9651.111234] PROCFS_BUFFER9: systemtap: 3.1/0.166, base: fffffc0002130000, memory: 40data/34text/21ctx/2058net/129alloc kb, probes: 5 [ 9656.520136] PROCFS_UMASK: systemtap: 3.1/0.166, base: fffffc0002180000, memory: 52data/35text/21ctx/2058net/129alloc kb, probes: 16 [ 9661.912122] PROCFS_WRITE: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 40data/34text/17ctx/2058net/140alloc kb, probes: 4 [ 9668.863011] stap_90e02e1bfb6122e5a5ecfdec96dc7ced_17900: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 42data/37text/31ctx/2058net/129alloc kb, probes: 3 [ 9675.557510] stap_13531a39d294b1d1087500f821a86e6b_18151: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 42data/37text/31ctx/2058net/129alloc kb, probes: 3 [ 9682.098377] stap_acd7a99ebc0eb2491eff71c9a8f36f1_18404: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 38data/33text/5ctx/2058net/129alloc kb, probes: 4 [ 9694.167066] stap_906132ba31dd495160eadcfcb5dde866_18725: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 90data/57text/5ctx/2058net/129alloc kb, probes: 3 [ 9702.917488] stap_b530f7629bcaa067b91be05278ec0d81_19004: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 90data/57text/5ctx/2058net/129alloc kb, probes: 3 [ 9709.341892] stap_d44f5cf3b437b6ff23d293d7d407292_19290: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [ 9717.625020] stap_53300bee8c92c46886ad8fbaa3ece71_19546: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/30text/17ctx/2058net/129alloc kb, probes: 4 [ 9727.252261] stap_53300bee8c92c46886ad8fbaa3ece71_19569: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 35data/30text/17ctx/2058net/129alloc kb, probes: 4 [ 9734.722286] stap_53300bee8c92c46886ad8fbaa3ece71_19586: systemtap: 3.1/0.166, base: fffffc00010c0000, memory: 35data/30text/17ctx/2058net/129alloc kb, probes: 4 [ 9734.771183] stap_53300bee8c92c46886ad8fbaa3ece71_19587: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 35data/30text/17ctx/2058net/129alloc kb, probes: 4 [ 9740.770910] stap_569b2dae856044d18d13be2105f36d0_19612: systemtap: 3.1/0.166, base: fffffc0000aa0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9740.819770] stap_569b2dae856044d18d13be2105f36d0_19613: systemtap: 3.1/0.166, base: fffffc0000a60000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9752.900122] stap_569b2dae856044d18d13be2105f36d09_1352: systemtap: 3.1/0.166, base: fffffc0000e20000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9763.870494] stap_569b2dae856044d18d13be2105f36d0_19655: systemtap: 3.1/0.166, base: fffffc00011a0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [ 9763.921760] stap_569b2dae856044d18d13be2105f36d0_19651: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [10112.054181] stap_dfedfa8c0a8c4e65aaac9e1c29bb1ed_20751: systemtap: 3.1/0.166, base: fffffc0001220000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [10120.404795] stap_5bd527de547cdf5c883b4223b3a6e54_21024: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [10129.113089] stap_004bb2df0a1e59a42d3c71c2c8700553_21296: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10137.881281] stap_062bf88ab5df4be46ed26553e3181581_21568: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10146.623022] stap_4000a684fa4fcf81c353550f504a68f3_21842: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10155.349495] stap_84cbb36ebd3149232106ec32bb818d2c_22115: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10164.107272] stap_17755aa8489b8bfb0bb3967f0e44dd36_22387: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10172.832053] stap_781a21eeaf992296313429feecd4967f_22659: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10181.651285] stap_e820f03c028e6ca8523cb95fae0a8ccd_22939: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10190.484681] stap_a72389ca85b912da2606d872e9d41bfe_23211: systemtap: 3.1/0.166, base: fffffc0001820000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10199.259985] stap_7c5208e8c08a7a3e7005d7caf07ca494_23485: systemtap: 3.1/0.166, base: fffffc0001890000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10208.076568] stap_2c2aec27e2f1c8bea981a40e47f8c4ac_23757: systemtap: 3.1/0.166, base: fffffc0001900000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10216.862586] stap_2b67b054210c4a6300d1c24dbe054181_24029: systemtap: 3.1/0.166, base: fffffc0001970000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10225.685930] stap_24c4323ddad80425071d1a6e7d007bd6_24301: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10234.488877] stap_16cf6c8f9a9673de9db9d2060f4887d7_24573: systemtap: 3.1/0.166, base: fffffc0001a50000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10243.328522] stap_2bbfa6330a04b7a1db45bafc2cab69ee_24845: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 128data/70text/8ctx/2058net/129alloc kb, probes: 14 [10251.637220] stap_651def0c41127c31b1c787460ba86c8_25117: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 122data/61text/5ctx/2058net/129alloc kb, probes: 12 [10259.913312] stap_b50163c8422216554728200c4954bfe_25389: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 122data/61text/5ctx/2058net/129alloc kb, probes: 12 [10268.437779] stap_28c9b2b3dc96a62fe78dc6677db93f2_25661: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10276.964920] stap_8405db8894d59e6fe1505447ee9c4c3_25933: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10285.531320] stap_5a3307982c39698cd05371039c1c0a0_26205: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10294.056728] stap_a870a45e2a765265728670c4e476d28_26477: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10302.631593] stap_78fbb2d1da1ae8e5361ecac2ecec3ad_26749: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10311.141112] stap_7c135d9548c090e63a992fedd202b58_27021: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10319.716020] stap_c670d7003fa87fe5a49f69ff0d19e49_27293: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10328.252320] stap_e9539981f53db61d7cc7432a8d449f9_27565: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10336.801785] stap_45705dfd351428b2bde7c169d3f97ed_27837: systemtap: 3.1/0.166, base: fffffc0001160000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10345.403197] stap_08c6547d4b730c269ac011346d5e94b_28109: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10353.972831] stap_05daf62eca4bf3119b6f1e755a5ca94_28381: systemtap: 3.1/0.166, base: fffffc0001220000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10362.713805] stap_92844b37e260a1074387579866f7159_28653: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10371.331462] stap_58755c51194ce326d9cbec0306ad92e_28925: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10379.915066] stap_691e067397304cd1123fb4b62323b4b_29199: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 123data/66text/8ctx/2058net/129alloc kb, probes: 12 [10387.906900] stap_f939ab507b4519b5099e2612561422b_29473: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 3 [10395.983089] stap_41c32ce178c63b1b8ca469ca4d39d9d_29745: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 4 [10404.225428] stap_b4237a1c4b7f040b844095e0bb5c183_30019: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 97data/60text/5ctx/2058net/129alloc kb, probes: 4 [10412.225971] stap_34df9beae15097e898816e0d0bea8c3_30292: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 3 [10421.935290] stap_bbbeb6197325a019ca36de5e4e663aa8_30607: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 110data/59text/5ctx/2058net/129alloc kb, probes: 8 [10433.168764] stap_9eb11494b3d31ae410b8ab28d2cd388e_30881: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 110data/59text/5ctx/2058net/129alloc kb, probes: 8 [10473.287630] stap_9c59148d104c03541706d96c76d69c28_31164: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 228data/90text/89ctx/2058net/129alloc kb, probes: 52 [10483.263443] stap_bb491d89a86f0afed19583ef5070c32d_31436: systemtap: 3.1/0.166, base: fffffc00018e0000, memory: 228data/90text/89ctx/2058net/129alloc kb, probes: 52 [10494.546049] stap_257c8e783eb35813b7fd313f927a47bb__31708: systemtap: 3.1/0.166, base: fffffc0001960000, memory: 240data/108text/69ctx/2058net/129alloc kb, probes: 43 [10505.771666] stap_28579275377e63e6df85c5003931d67c__31980: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 240data/108text/69ctx/2058net/129alloc kb, probes: 43 [10517.623471] stap_b6c62c8435615cb9f41aa9cf70a4656c__32252: systemtap: 3.1/0.166, base: fffffc0001b10000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10529.531618] stap_b89ea8c78879c1e00d7cfc8132c97341__32526: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10541.482292] stap_840edea3c39db7031edf943b1731116b_12_332: systemtap: 3.1/0.166, base: fffffc0001c70000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10553.350119] stap_cb6ce5e250e1f039f178b109796847e3_12_637: systemtap: 3.1/0.166, base: fffffc0001d20000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10564.540459] stap_0291feaa57e9b4f088af12895489f164_10_968: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 233data/106text/69ctx/2058net/129alloc kb, probes: 40 [10575.707836] stap_67cc714bd0e6a39b9edab41dc52b24a8_1_1242: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 233data/106text/69ctx/2058net/129alloc kb, probes: 40 [10586.934099] stap_0d86aa9f22892bb684993ae3c60d510f_1_1517: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 233data/106text/69ctx/2058net/129alloc kb, probes: 40 [10598.075547] stap_df5d28ee542568e13c9d530ce672d4cd_1_1792: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 233data/106text/69ctx/2058net/129alloc kb, probes: 40 [10609.976860] stap_8a97f07a536213967f37065a25f192e5_1_2064: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10621.934513] stap_6b4d71220d4d239e6be12a30545f25b7_1_2341: systemtap: 3.1/0.166, base: fffffc00011a0000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10633.885793] stap_d3b9277ea1b70f8b85b750c3802453d1_1_2617: systemtap: 3.1/0.166, base: fffffc0001220000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10645.827100] stap_174ab121f12f44290c926a9de06cbeea_1_2891: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 265data/118text/89ctx/2058net/129alloc kb, probes: 52 [10658.352479] stap_fc189b9305b9b670366a77d6e4b8a76d_3266: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 107data/57text/6ctx/2058net/129alloc kb, probes: 8 [10669.478530] stap_f1f34a790c4a0e7b890f5ff94ad92903_3540: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 107data/57text/6ctx/2058net/129alloc kb, probes: 8 [10708.804260] stap_951ae394092383ab19bf5e9241a59403__3822: systemtap: 3.1/0.166, base: fffffc00016a0000, memory: 215data/79text/89ctx/2058net/129alloc kb, probes: 52 [10718.130838] stap_a792844aaf41ab897c547a8a973c0f3c__4094: systemtap: 3.1/0.166, base: fffffc0001700000, memory: 215data/79text/89ctx/2058net/129alloc kb, probes: 52 [10727.638639] stap_762614d1a1b2129aa8bc6d5cf10a5e97__4366: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 199data/83text/69ctx/2058net/129alloc kb, probes: 43 [10737.164369] stap_824714d6af3d2155056248862bc88736__4640: systemtap: 3.1/0.166, base: fffffc00017c0000, memory: 199data/83text/69ctx/2058net/129alloc kb, probes: 43 [10746.915058] stap_f3a6b82d924de1707c9b5eda548c002b__4912: systemtap: 3.1/0.166, base: fffffc0001820000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10756.640578] stap_14a740df75a2684662937f1ef73cb950__5184: systemtap: 3.1/0.166, base: fffffc0001880000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10766.391105] stap_62493c634970d110e926df88ce560379__5459: systemtap: 3.1/0.166, base: fffffc00018e0000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10776.174424] stap_89877727bd1d39de855a2b8c85b51f62__5732: systemtap: 3.1/0.166, base: fffffc0001940000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10785.635137] stap_f1228188cb455fa7cda361e78cea882e__6004: systemtap: 3.1/0.166, base: fffffc00019a0000, memory: 193data/82text/69ctx/2058net/129alloc kb, probes: 40 [10795.259118] stap_5923c1f0379e9007838f0eb057bc3366__6278: systemtap: 3.1/0.166, base: fffffc0001a00000, memory: 193data/82text/69ctx/2058net/129alloc kb, probes: 40 [10804.742698] stap_8341598325db56aac44078e675326b44__6550: systemtap: 3.1/0.166, base: fffffc0001a60000, memory: 193data/82text/69ctx/2058net/129alloc kb, probes: 40 [10814.268983] stap_33f0d78c41a02956453eb5746ffefcf8__6824: systemtap: 3.1/0.166, base: fffffc0001ac0000, memory: 193data/82text/69ctx/2058net/129alloc kb, probes: 40 [10824.043681] stap_34ae8f935f4dc9b5ea12aadca7321aa4__7097: systemtap: 3.1/0.166, base: fffffc0001b20000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10833.878416] stap_a831f8664a0b4eeeb71bdc9246e1281e__7373: systemtap: 3.1/0.166, base: fffffc0001b80000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10843.661303] stap_7d155f6b153a59b6809108af966b8af4__7645: systemtap: 3.1/0.166, base: fffffc0001c00000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10853.511950] stap_9ae28ff97ec039acaa952d83c3ec93b5__7917: systemtap: 3.1/0.166, base: fffffc0001c80000, memory: 215data/87text/90ctx/2058net/129alloc kb, probes: 52 [10866.096452] stap_ca3470a5ff6600c39b799d7f867d30d1_8292: systemtap: 3.1/0.166, base: fffffc0001dd0000, memory: 108data/57text/6ctx/2058net/129alloc kb, probes: 8 [10877.246986] stap_f20111b71b1c85d88c156eb9e3a7c6af_8566: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 108data/57text/6ctx/2058net/129alloc kb, probes: 8 [10916.706228] stap_f72dad479ff9f902d1aa561b780e760f__8854: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 215data/80text/89ctx/2058net/129alloc kb, probes: 52 [10926.124631] stap_339fc4c708c562ce4c7c7ad2eccf91a5__9127: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 215data/80text/89ctx/2058net/129alloc kb, probes: 52 [10935.439907] stap_b4cb6de26b3bfe7d31c040da348bcbff__9400: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 199data/79text/69ctx/2058net/129alloc kb, probes: 43 [10944.758062] stap_5f01855e4720ae7d1d454d8fa930f58d__9673: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 199data/79text/69ctx/2058net/129alloc kb, probes: 43 [10954.283554] stap_b0bd00c7b11c24ba16cf3fe6651ed7f5__9945: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 215data/83text/89ctx/2058net/129alloc kb, probes: 52 [10963.792001] stap_b7b4e2233efa3906d56d6c604ad77505_10219: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 215data/83text/89ctx/2058net/129alloc kb, probes: 52 [10973.359639] stap_800c6afb649f1288eeb900a1da158f68_10492: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 215data/83text/89ctx/2058net/129alloc kb, probes: 52 [10982.893336] stap_1ca428bc9352242b1c91316db07f6301_10765: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 215data/83text/89ctx/2058net/129alloc kb, probes: 52 [10992.209266] stap_71a1e6090a20a881c3eef44a424babb7_11041: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 193data/77text/69ctx/2058net/129alloc kb, probes: 40 [11001.453095] stap_99bdc939b013f89154fd91a5ead805ac_11315: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 193data/77text/69ctx/2058net/129alloc kb, probes: 40 [11010.694716] stap_7ddb6cb45c107577b456b1df10fc1122_11588: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 193data/77text/69ctx/2058net/129alloc kb, probes: 40 [11019.978569] stap_a189045e2344b2bbe579a6c9a9a25cbe_11862: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 193data/77text/69ctx/2058net/129alloc kb, probes: 40 [11029.554096] stap_42d524df2555b7e7686e2a7a1d5aa6d3_12142: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 215data/82text/89ctx/2058net/129alloc kb, probes: 52 [11039.079118] stap_22c07f43d49cb09fb716d007493da18d_12414: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 215data/82text/89ctx/2058net/129alloc kb, probes: 52 [11048.671401] stap_a5d587ade95d5eea9b28101796262e17_12686: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 215data/82text/89ctx/2058net/129alloc kb, probes: 52 [11058.206367] stap_62c4fc0bc1e744320fbd26cc9bb76abe_12958: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 215data/82text/89ctx/2058net/129alloc kb, probes: 52 [11066.498749] stap_dc2e4a47ea1e4a9e51e2b9404899662_13238: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 108data/58text/6ctx/2058net/129alloc kb, probes: 8 [11077.741063] stap_2a1c49e603089b48e58e4511f53b99e_13518: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 108data/58text/6ctx/2058net/129alloc kb, probes: 8 [11117.442104] stap_3fd41fdc377231d05dd87cbb00ab5e5_13816: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 81data/56text/14ctx/2058net/129alloc kb, probes: 2 [11128.918410] stap_bf182ca1751ef84200b0ad5f618a297_14087: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11137.291898] stap_d2c2a9aa386257bf1473227dfc6b20a_14359: systemtap: 3.1/0.166, base: fffffc00018d0000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11145.766841] stap_1cf4466bc276d523c00654a47dbfd98_14632: systemtap: 3.1/0.166, base: fffffc0001940000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11154.151766] stap_968280a5dc494c4de805c3facc18b42_14904: systemtap: 3.1/0.166, base: fffffc00019b0000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11162.610531] stap_2959dce5f89dc199ade9f368150a5f8_15176: systemtap: 3.1/0.166, base: fffffc0001a20000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11171.036575] stap_678526534a3757b5a113f647b98fcc7_15448: systemtap: 3.1/0.166, base: fffffc0001a90000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11179.494019] stap_8744bc07286933a8db50ffe91c1ab01_15720: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11187.961276] stap_9f651d79f7a85ca51c76ec0d7d8bb24_15992: systemtap: 3.1/0.166, base: fffffc0001b70000, memory: 128data/64text/5ctx/2058net/129alloc kb, probes: 14 [11196.170666] stap_ab4f7ee932ac4bee078b6dcf9743165_16272: systemtap: 3.1/0.166, base: fffffc0001be0000, memory: 90data/59text/5ctx/2058net/129alloc kb, probes: 3 [11201.361496] stap_5bffa505d070f5f661eb9edafb77802_16524: systemtap: 3.1/0.166, base: fffffc0001c40000, memory: 46data/39text/41ctx/2058net/129alloc kb, probes: 4 [11209.961304] stap_442019018a596b3e25d05a6d78d0498_16787: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 89data/62text/21ctx/2058net/129alloc kb, probes: 4 [11221.270634] stap_be90e9794d15fc6da3db124267c9d77_17145: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [11226.407895] stap_dbcd1180f0880144c19cf78ee04cee6_17398: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 35data/29text/5ctx/16394net/129alloc kb, probes: 3 [11231.038957] stap_bf62c55ebeac5a199fb800c1d1b8061_17657: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [11236.172072] stap_df1e78c1a0cfbc4a69a1eec6c8d570a_17916: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [11240.805835] stap_103e47c2118013a3d0dc0586dae5742_18167: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 34data/29text/29ctx/2058net/129alloc kb, probes: 2 [11245.538576] stap_8d6abb07baacdf3527849fed2d19edc_18418: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [11250.148034] stap_0e5f0c84837c5166a64025bb008f4eb_18669: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/30text/29ctx/2058net/129alloc kb, probes: 2 [11254.832467] stap_d7207a0fca660426fbd8bcb49897adb_18920: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 36data/31text/7ctx/2058net/129alloc kb, probes: 2 [11259.483108] stap_3ee6491adad2faf01d96928ebec520a_19171: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 36data/31text/30ctx/2058net/129alloc kb, probes: 2 [11264.149190] stap_3c83da1aee78356393d9e92be526666_19422: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [11268.774807] stap_3c888e7bff091eca6e869c96ed6662f_19673: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 35data/30text/29ctx/2058net/129alloc kb, probes: 2 [11273.500166] stap_2bfb58fa82cc580ecc063fa908e4d8e_19926: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 36data/31text/6ctx/2058net/129alloc kb, probes: 2 [11278.159730] stap_fecb953ed09e0d8a8326edb60f56bb5_20177: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 36data/31text/30ctx/2058net/129alloc kb, probes: 2 [11279.304391] stap_9c53ae2d8e847ec2e002ad23bda864c_20188: systemtap: 3.1/0.166, base: fffffc0000a60000, memory: 34data/29text/5ctx/1034net/129alloc kb, probes: 2 [11280.465576] stap_9c53ae2d8e847ec2e002ad23bda864c_20198: systemtap: 3.1/0.166, base: fffffc0000da0000, memory: 34data/29text/5ctx/65546net/129alloc kb, probes: 2 [11285.212719] stap_621af1ba6a62ba498ed0421c14a81cc_20450: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 37data/32text/9ctx/2058net/130alloc kb, probes: 2 [11411.569422] stap_a2ca86e3ea20abebe91edb566bfb7eb_20705: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 40data/34text/29ctx/2058net/129alloc kb, probes: 5 [11442.427747] stap_db8e1dc5a72eb1e8bffa8bb4fd4435c_21174: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/30text/6ctx/2058net/129alloc kb, probes: 2 [11447.412283] stap_df4068e5c9cc172bcff82497cbb90e3_21441: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/30text/125ctx/2058net/129alloc kb, probes: 2 [11452.420911] stap_a71c839e58b92a98e3ad308f17e2330_21708: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 36data/30text/6ctx/2058net/129alloc kb, probes: 2 [11457.412079] stap_0b3b37a8fbdb4c848f07ce7681bd656_21975: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 36data/30text/6ctx/2058net/129alloc kb, probes: 2 [11462.396087] stap_89554ce65401c969d0741645556a083_22239: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 37data/30text/5ctx/2058net/129alloc kb, probes: 2 [11467.430950] stap_c767081156ad3581d1b71d5fb28b897_22506: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 37data/30text/29ctx/2058net/129alloc kb, probes: 2 [11472.473889] stap_39218c935487dae8c2f35c58034cfb0_22773: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 37data/30text/5ctx/2058net/129alloc kb, probes: 2 [11477.488650] stap_c0529345ae5b9bb9390cae02002e679_23042: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 37data/30text/5ctx/2058net/129alloc kb, probes: 2 [11482.497798] stap_5415818ce4f428097921ee60439c381_23305: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [11487.539780] stap_37b8354c63339efefd80fb0afe751bd_23572: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 38data/30text/29ctx/2058net/129alloc kb, probes: 2 [11492.506861] stap_df05edce07ae24ef96705f4da7c3939_23839: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [11497.483608] stap_f06c32327372c7d0ca1cab9d966ec77_24106: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [11502.491943] stap_98bc853427e049f5a418ca657dae813_24369: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [11507.543557] stap_67fef92ece744a8c36a8444936f6287_24636: systemtap: 3.1/0.166, base: fffffc00012b0000, memory: 39data/31text/29ctx/2058net/129alloc kb, probes: 2 [11512.534615] stap_5b6c666f514d6eeab82dc204a0aec53_24903: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [11517.568774] stap_7c445fcb1c9366ed540d47224f665bd_25170: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [11526.179627] stap_e2aac7eff147a05f8c4c323b15f7f41_25444: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 3 [11618.312970] stap_2e6d63bb43c53307f6cc60bbc023b3f_25957: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [11626.355237] stap_4fa88ab7ac1b6557316962ce8569c51_26229: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [11634.929910] stap_16b54aed6617b17849f21013087e743_26515: systemtap: 3.1/0.166, base: fffffc0000a60000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [11636.079935] stap_16b54aed6617b17849f21013087e743_26526: systemtap: 3.1/0.166, base: fffffc0000de0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [11640.687850] stap_088a55a37cc6f33b9d73fc694bff958_26779: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 35data/29text/4ctx/2058net/129alloc kb, probes: 5 [11645.321072] stap_85d5acf854079e71562f5c865f25030_27030: systemtap: 3.1/0.166, base: fffffc0001790000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 5 [11651.422514] stap_31d6136867c212de159fae328beb4bc_27281: systemtap: 3.1/0.166, base: fffffc00017e0000, memory: 34data/29text/29ctx/2058net/129alloc kb, probes: 2 [11659.416285] stap_c5b362aad521dafbc9f8873138e238b_27566: systemtap: 3.1/0.166, base: fffffc0001830000, memory: 62data/51text/5ctx/2058net/129alloc kb, probes: 2 [11665.607668] stap_01fd09631ee7239b09a6c232439d5f1_27821: systemtap: 3.1/0.166, base: fffffc0001880000, memory: 40data/34text/20ctx/2058net/129alloc kb, probes: 6 [11670.382780] stap_cb24aa5b8c07e1d8cf06bf404ca12fc_28098: systemtap: 3.1/0.166, base: fffffc00018d0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [11674.975784] stap_e9d86e4ffeae6e7e471efac3b118d13_28348: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [11679.566707] stap_b92996ca69897e327ec5019209d8fcb_28598: systemtap: 3.1/0.166, base: fffffc0001970000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [11691.042519] stap_eaa2684b15b35574807f6eded921d521_28853: systemtap: 3.1/0.166, base: fffffc00019c0000, memory: 73data/63text/11ctx/2058net/241alloc kb, probes: 7 [11701.435428] stap_d5ab80986825129faedbcb249f5f0719_29146: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 99data/61text/5ctx/2058net/241alloc kb, probes: 7 [11713.170016] stap_a7d285897f8b9fbbad46dc79ee363a55_29403: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 88data/75text/114ctx/2058net/241alloc kb, probes: 6 [11724.720714] stap_8feb1a5a1fc0029b65714f85b3f636ba_29670: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 57data/50text/135ctx/2058net/129alloc kb, probes: 2 [11736.712282] stap_cea65616a80999dbc9fefc53a8b37a00_29924: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 60data/56text/134ctx/2058net/129alloc kb, probes: 4 [11741.979182] stap_30182: systemtap: 3.1/0.166, base: fffffc0000aa0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [11748.340957] stap_b5384ee39143b33e9df70b7186a54bc_30434: systemtap: 3.1/0.166, base: fffffc0000d40000, memory: 42data/37text/5ctx/2058net/130alloc kb, probes: 5 [11754.446701] stap_e513bb1ee5b02b6e2e8b32c6fa4fbe1_30695: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [11760.572464] stap_27f4f677c70625cd715f5b3851af977_30947: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 52data/40text/5ctx/2058net/129alloc kb, probes: 20 [12063.994405] stap_78279d98d3587a280b55e95b9f2777f8_97_751: systemtap: 3.1/0.166, base: fffffc0001a00000, memory: 2223data/2107text/25ctx/2058net/129alloc kb, probes: 1547 [12063.998604] Scheduler tracepoints stat_sleep, stat_iowait, stat_blocked and stat_runtime require the kernel parameter schedstats=enabled or kernel.sched_schedstats=1 [12070.658888] stap_83560c962525c348e607327ab8f30f58_1046: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/29text/13ctx/2058net/129alloc kb, probes: 2 [12076.034899] stap_86f23eb777150919afc4cdc7af957f89_1312: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 37data/30text/5ctx/2058net/129alloc kb, probes: 3 [12081.185845] stap_9197adcbf5283a47054f9cf8d4e40b2d_1569: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 35data/30text/13ctx/2058net/129alloc kb, probes: 3 [12085.967791] stap_3302aa8b390900b740f9d0fec920a8bd_1826: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 39data/32text/41ctx/2058net/129alloc kb, probes: 2 [12090.744652] stap_d4c2095c514f8cf2c5d6b359eded400b_2077: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 40data/33text/41ctx/2058net/129alloc kb, probes: 2 [12142.251034] stap_d11c2b822e9e080e2705fd70d7e0d881__4508: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 119data/68text/126ctx/2058net/149alloc kb, probes: 8 [12150.958761] stap_5943c923504aed26b656478b933f294b_4785: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 88data/56text/21ctx/2058net/129alloc kb, probes: 3 [12159.626756] stap_e59a5f3cf1f76cfa983e5e533ebbf127_5054: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/21ctx/2058net/129alloc kb, probes: 2 [12168.142940] stap_08c4a89f342cb2c2b2ef4bd548fc7bba_5323: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 80data/55text/21ctx/2058net/129alloc kb, probes: 2 [12175.926888] stap_119485e8c6fd9f2fca543e34e3727192_5588: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2, unpriv-uid: 0 [12219.543391] stap_62683e3fd4ffb878b29bec65e648a0e7_6099: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 41data/35text/21ctx/2058net/129alloc kb, probes: 2 [12224.304099] stap_b63d637dbc48defc5ffa781e44a7e6f0_6350: systemtap: 3.1/0.166, base: fffffc00017f0000, memory: 38data/32text/1ctx/2058net/129alloc kb, probes: 2 [12229.045698] stap_887a84741a43dc56f9b8c6b10f954f42_6599: systemtap: 3.1/0.166, base: fffffc0001840000, memory: 35data/31text/25ctx/2058net/129alloc kb, probes: 2 [12237.430087] stap_b9d7cd1787636b553ab24d7ce95901e0__6868: systemtap: 3.1/0.166, base: fffffc0001890000, memory: 86data/62text/93ctx/2058net/129alloc kb, probes: 2 [12245.696973] stap_7809bc16cfcf6cd77d614253a1f01ccb_7140: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 87data/61text/21ctx/2058net/129alloc kb, probes: 2 [12253.781946] stap_01d1979061e59723aac8bfdeb6aea21c_7412: systemtap: 3.1/0.166, base: fffffc0001950000, memory: 82data/57text/1ctx/2058net/129alloc kb, probes: 2 [12362.846833] stap_4b4beb5de7ae183b0ec92cb29d128d1_11618: systemtap: 3.1/0.166, base: fffffc0001e50000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12369.938026] stap_4b4beb5de7ae183b0ec92cb29d128d1_11658: systemtap: 3.1/0.166, base: fffffc0001ea0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12382.562739] stap_24da76c7e460ec77f1185cf5cae56a2_11935: systemtap: 3.1/0.166, base: fffffc0001ef0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12389.646579] stap_24da76c7e460ec77f1185cf5cae56a2_11976: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12402.271665] stap_22dd47f6ef738b31ae6034056876f97_12252: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12415.571957] stap_fdd69383bccf9cd047a5437a9d3c0fb_12533: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12428.830494] stap_36e53e6e6417b08a204c01b9255aeda_12813: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12430.873250] stap_36e53e6e6417b08a204c01b9255aeda_12848: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12443.464931] stap_3cfd2dfc38c13c47394c2d987cc1c44_13125: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12445.565620] stap_3cfd2dfc38c13c47394c2d987cc1c44_13160: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 4 [12458.524950] stap_aed7dfe7555328f440f20f1df86c236_13435: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 67data/58text/17ctx/2058net/2690alloc kb, probes: 4 [12465.491123] stap_de2bb36619933350ca46c069d9026ad_13710: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 65data/54text/14ctx/2058net/129alloc kb, probes: 4 [12478.278150] stap_555e0f4e3d1b95daebcbae05b54141b8_14009: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 92data/85text/35ctx/2058net/244alloc kb, probes: 8 [12478.298038] utrace_syscall_[14011]: syscall 65535 [12478.302753] Code: aa0503e4 aa0603e5 aa0703e6 d4000001 (b13ffc1f) [12478.308861] CPU: 1 PID: 14011 Comm: utrace_syscall_ Tainted: G W IOE 4.8.0-rc1uprobes+ #1 [12478.317827] Hardware name: AMD Overdrive/Supercharger/Default string, BIOS ROD1001A 02/09/2016 [12478.326445] task: fffffe03d9749400 task.stack: fffffe03d5018000 [12478.332368] PC is at 0x3ff8a3858a4 [12478.335772] LR is at 0x400a24 [12478.338741] pc : [<000003ff8a3858a4>] lr : [<0000000000400a24>] pstate: 20000000 [12478.346141] sp : 000003ffe57a6c40 [12478.349459] x29: 000003ffe57a6c40 x28: 0000000000000000 [12478.354787] x27: 0000000000000000 x26: 0000000000000000 [12478.360118] x25: 0000000000000000 x24: 0000000000000000 [12478.365443] x23: 0000000000000000 x22: 0000000000000000 [12478.370767] x21: 0000000000400760 x20: 0000000000000000 [12478.376097] x19: 0000000000000000 x18: 000003ffe57a6a10 [12478.381421] x17: 000003ff8a385880 x16: 0000000000420050 [12478.386745] x15: 00000000001815e7 x14: 000003ff8a54ffb8 [12478.392077] x13: 000000000000000f x12: 0000000000000090 [12478.397400] x11: 0000000090000000 x10: 00000000ffffffff [12478.402724] x9 : 0000000000000018 x8 : 000000000000ffff [12478.408054] x7 : beb3ff8c988d9ea0 x6 : beb3ff8c988d9ea0 [12478.413379] x5 : def7ddef7ddef7dd x4 : ad6b5ad6b5ad6b5a [12478.418704] x3 : 2492492492492492 x2 : db6db6db6db6db6d [12478.424042] x1 : 0f0f0f0f0f0f0f0f x0 : 1c71c71c71c71c71 [12479.618089] stap_804ae24068d59d563f749c42a7b7501_14045: systemtap: 3.1/0.166, base: fffffc0000a60000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [12517.876470] stap_fc8642ef7ce59f129112d9e9906d0c7_14857: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [12534.744758] stap_3036b21f62149782334c9e75adf0a94c_15151: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 69data/60text/22ctx/2058net/129alloc kb, probes: 3 [12542.952515] stap_46dfe14950b015cbf42590a88f6102a_15453: systemtap: 3.1/0.166, base: fffffc00011d0000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 4 [12549.070387] stap_024e5b22c369c597e7b601e4eb402a8_15707: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 39data/34text/13ctx/2058net/129alloc kb, probes: 3 [12689.057548] stap_37696b13c5cac24ad81b8e46686549ca__15998: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 284data/160text/30ctx/2058net/129alloc kb, probes: 304 [12698.714012] stap_7f34ae541b1bc7cf9a591049f3e452d_16524: systemtap: 3.1/0.166, base: fffffc0001390000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [12699.864714] stap_7f34ae541b1bc7cf9a591049f3e452d_16535: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [12700.998136] stap_7f34ae541b1bc7cf9a591049f3e452d_16545: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [12712.873355] stap_d7825f3b50644800f1c661f5291ddc8_16875: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 109data/58text/13ctx/2058net/129alloc kb, probes: 9 [12721.233275] stap_6be1654dca9df7f886263c63d4a74fd_17156: systemtap: 3.1/0.166, base: fffffc00016d0000, memory: 109data/58text/13ctx/2058net/129alloc kb, probes: 9 [12730.359630] stap_45e3d5aad9014f2e4f21060decce181_17488: systemtap: 3.1/0.166, base: fffffc0001730000, memory: 106data/58text/13ctx/2058net/129alloc kb, probes: 8 [12738.984458] stap_a43184611cd77faadae52866e17313d_17781: systemtap: 3.1/0.166, base: fffffc0001790000, memory: 106data/58text/13ctx/2058net/129alloc kb, probes: 8 [12748.102247] stap_133a7fbc14c48f07f435a84e35755ad_18109: systemtap: 3.1/0.166, base: fffffc00017f0000, memory: 101data/57text/13ctx/2058net/129alloc kb, probes: 7 [12756.745048] stap_3bf85d7750106fcaee7f12d00914e09_18402: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 101data/57text/13ctx/2058net/129alloc kb, probes: 7 [12765.003475] stap_5bc33522e38b55c5583142830e3a3ca_18687: systemtap: 3.1/0.166, base: fffffc00018b0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 4 [12778.828543] stap_74e53f4a328e5caffca9767912b08f6_19005: systemtap: 3.1/0.166, base: fffffc0001910000, memory: 69data/58text/5ctx/2058net/465alloc kb, probes: 7 [12791.929953] stap_66d9495e2f2233ebdaf3b9ff3612ee8_19295: systemtap: 3.1/0.166, base: fffffc0001960000, memory: 97data/58text/5ctx/2058net/353alloc kb, probes: 7 [12818.528757] stap_2dfbc6262010d13636f02b59cd8fc79_20048: systemtap: 3.1/0.166, base: fffffc00019a0000, memory: 6021data/54text/124ctx/2058net/129alloc kb, probes: 7 [12824.242372] stap_e99da00a3a41688b8ce85dda41ed8399_20303: systemtap: 3.1/0.166, base: fffffc0000a50000, memory: 53data/42text/17ctx/2058net/129alloc kb, probes: 14 [12832.467755] stap_db96812eef685297bf39926758cb387_20569: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 41data/36text/17ctx/2058net/129alloc kb, probes: 3 [12840.099786] stap_03854ff75a6c7fd176fddbe5cbad7384_20833: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 64data/49text/117ctx/2058net/149alloc kb, probes: 15 [12852.524466] stap_1f9d58c45b7ff3ba334c7b8663b7221d_21098: systemtap: 3.1/0.166, base: fffffc0001fa0000, memory: 3423data/43text/29ctx/2058net/129alloc kb, probes: 31 [12874.625057] stap_21833: systemtap: 3.1/0.166, base: fffffc0000d40000, memory: 66data/56text/5ctx/2058net/129alloc kb, probes: 4 [12884.118516] stap_70bafcb98af501930f105faa05c8933_22131: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 101data/73text/55ctx/2058net/129alloc kb, probes: 3 [12892.759985] stap_5ca5d7cb5e31c1b1df48a513a3f1814_22383: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 101data/73text/55ctx/2058net/129alloc kb, probes: 3 [12899.051085] stap_2d7fd7743d1a4b4cac39b4165e1b364_22635: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 36data/31text/57ctx/2058net/129alloc kb, probes: 2 [12908.445085] stap_a50d3e55baf5fbd0c6c51b8e1420d88_22904: systemtap: 3.1/0.166, base: fffffc0001010000, memory: 105data/54text/5ctx/2058net/129alloc kb, probes: 7 [12911.110211] stap_a50d3e55baf5fbd0c6c51b8e1420d88_22914: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 105data/54text/5ctx/2058net/129alloc kb, probes: 7 [12920.170526] stap_be9635a5829970578332545f1581478_23163: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 104data/54text/5ctx/2058net/129alloc kb, probes: 7 [12929.146450] stap_1b25762ef3190de86eb682f2535de3c_23417: systemtap: 3.1/0.166, base: fffffc0001160000, memory: 104data/54text/5ctx/2058net/129alloc kb, probes: 7 [12939.489541] stap_bc706443c29952368b38d6ae891f5d8_23696: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 108data/59text/13ctx/2058net/129alloc kb, probes: 7 [12949.007379] stap_65f59aa645f0e03b1e214e51d579e0b_23966: systemtap: 3.1/0.166, base: fffffc0001220000, memory: 81data/55text/21ctx/2058net/129alloc kb, probes: 2 [12965.730759] stap_e3979286b332826f1cbf17afc3345873_24263: systemtap: 3.1/0.166, base: fffffc0002320000, memory: 3574data/59text/27ctx/2058net/129alloc kb, probes: 2 [12981.716013] stap_1b05de05b762e5e6883721d782b96329_24532: systemtap: 3.1/0.166, base: fffffc00026c0000, memory: 3574data/59text/27ctx/2058net/129alloc kb, probes: 2 [12997.778081] stap_2b9fa37965d8eceaec6dfaf5ce4e3d96_24803: systemtap: 3.1/0.166, base: fffffc0002a60000, memory: 3574data/59text/27ctx/2058net/129alloc kb, probes: 2 [13006.518484] stap_6e67b3e417ccecd134d81f99cf576a1_25077: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13015.936860] stap_fcc52205f41326c38262b5aa402efc7_25333: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13023.945184] stap_8ec032b4952743b878e17e4aaa0b8a4_25589: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13033.362984] stap_2cc6c4fc0439ae2f3c4cbd40c179d08_25845: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13041.313184] stap_e0a7e10d590fd39392996ddb77fe56f_26101: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13050.812728] stap_8b94cd15f6b97c74ba6b681514f0bc7_26357: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 88data/62text/13ctx/2058net/129alloc kb, probes: 2 [13060.389878] stap_1a5dbc270893bbeb7971d21b8b853794_26614: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 213data/64text/33ctx/2058net/129alloc kb, probes: 60 [13069.765754] stap_357d52e1d3e6f652573d88d14789f96_26872: systemtap: 3.1/0.166, base: fffffc0000eb0000, memory: 69data/60text/13ctx/2058net/129alloc kb, probes: 2 [13079.031264] stap_03aa4f8943a1589179e58147a340837_27128: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 69data/60text/13ctx/2058net/129alloc kb, probes: 2 [13088.375894] stap_3f38e40f88ffb9bead83f6aa0c620bf_27384: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 69data/60text/13ctx/2058net/129alloc kb, probes: 2 [13107.897975] stap_c9867a88d06c63f832fe53a0582e1ebd_27885: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 55data/50text/19ctx/2058net/30211alloc kb, probes: 12 [13114.307526] stap_b417a2cd7243901a5774a02232157ce_28137: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 36data/32text/46ctx/2058net/129alloc kb, probes: 2 [13119.750488] stap_a37b5241fd174da920bce905290c3a9_28389: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 36data/32text/42ctx/2058net/129alloc kb, probes: 2 [13131.718505] stap_659948c5b8cddf44bd844f9cc362bf36_28641: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 46data/40text/21ctx/2058net/241alloc kb, probes: 8 [13143.262091] stap_49f3f0c8461da1b5f284962c5e17fd33__28896: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 343data/40text/120ctx/2058net/355alloc kb, probes: 725 [13143.297959] nr_pdflush_threads exported in /proc is scheduled for removal [13287.459592] stap_d080a44ac5303168c0315ee6ab87b570__29392: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 257data/137text/101ctx/2058net/19972alloc kb, probes: 340 [13304.572261] stap_8c5b9d02fb575c514c129d82fee64d76_29885: systemtap: 3.1/0.166, base: fffffc00016a0000, memory: 45data/42text/11ctx/2058net/252alloc kb, probes: 5 [13329.289926] stap_ad8d261e5b4e4255cf2d49a5ea2cf41_30393: systemtap: 3.1/0.166, base: fffffc00016f0000, memory: 59data/49text/76ctx/2058net/12467alloc kb, probes: 11 [13335.535788] stap_a492a6300df9771957316cc1ecc524e_30648: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [13343.586490] stap_4a62b5970320650f0ff71e8ab4553c7_30901: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 39data/34text/13ctx/2058net/129alloc kb, probes: 4 [13356.586211] stap_3a09dbe8fabf9f7f44f03c7fcae5317_31156: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 38data/33text/5ctx/2058net/129alloc kb, probes: 3 [13431.935333] stap_44bca55c59631855fe32c7bd1a1b5fe4_1_31412: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 903data/688text/266ctx/2058net/467alloc kb, probes: 727 [13452.466169] stap_217e218cd1541de3e567087532ee2282__31667: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 418data/149text/155ctx/2058net/467alloc kb, probes: 727 [13472.338218] stap_1e564cff24d1411a748a463063c85f41_32194: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 40data/36text/34ctx/2058net/129alloc kb, probes: 3 [13485.138248] stap_79bd50df1aee114fe33a0a26069d3429__445: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [13975.403892] stap_b5d8875b2cbe2747f1fc24499b279350_2_1044: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 341data/101text/48ctx/2058net/2371alloc kb, probes: 610 [13993.735994] stap_91a6e3f0696c5481a6ad51f1cda928e7__1543: systemtap: 3.1/0.166, base: fffffc00012c0000, memory: 53data/48text/25ctx/2058net/1249alloc kb, probes: 20 [14010.061218] stap_03da3ba976a0a333a1a9d0b31ba17aff__2040: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 41data/36text/46ctx/2058net/353alloc kb, probes: 5 [14027.197204] stap_b81674610bbb16863fea2d8ba0a019d1__2297: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 83data/74text/87ctx/2058net/12114alloc kb, probes: 10 [14047.524399] stap_7d9400d58e7effa0b00ce6e15a05a1ef__3027: systemtap: 3.1/0.166, base: fffffc00016a0000, memory: 39data/34text/14ctx/2058net/241alloc kb, probes: 5 [14088.962219] stap_8740a2c34609ab016e1a63ae62170091_3519: systemtap: 3.1/0.166, base: fffffc0001720000, memory: 6012data/54text/124ctx/2058net/2289alloc kb, probes: 5 [14107.887063] stap_1386bc43c7a987a581f4d3d965e0851e__4028: systemtap: 3.1/0.166, base: fffffc0001d40000, memory: 46data/43text/83ctx/2058net/30194alloc kb, probes: 4 [14133.879173] stap_b30ef2cfdd433ee3771d7da1743601b9__4520: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 58data/57text/103ctx/2058net/5523alloc kb, probes: 8 [14146.142076] stap_19d8df26c6c2e5f1ec6eb2ddacaab8e6__4772: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 43data/36text/10ctx/2058net/129alloc kb, probes: 8 [14188.552891] stap_6d2c2efd2b22d84738abf8360732cbb8__5268: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 53data/41text/120ctx/2058net/130alloc kb, probes: 8 [14212.059804] stap_c982e86202c46d0e5082b9314f07b646__5762: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 41data/37text/23ctx/2058net/129alloc kb, probes: 4 [14231.378202] stap_34700e224f7f645495737e91a410869d_6254: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 41data/36text/22ctx/2058net/129alloc kb, probes: 3 [14275.423110] stap_d0fbccb8405c5a845699479eb3d77d2b__6746: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 6014data/55text/121ctx/2058net/1361alloc kb, probes: 6 [14305.635078] stap_ba23707a41b5c5c7d64d3259e261fe87__7241: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 49data/48text/57ctx/2058net/22578alloc kb, probes: 8 [14324.926386] stap_1536c994a5932ef27a60de34f5af693b__7737: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 51data/45text/15ctx/2058net/22274alloc kb, probes: 5 [14343.573583] stap_552b6cdd89598d84208facd381865d02__8231: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 46data/44text/64ctx/2058net/32787alloc kb, probes: 7 [14363.069694] stap_d12429dbcb9e3f77a6209f80ea08d53d__8723: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 56data/52text/71ctx/2058net/3588alloc kb, probes: 10 [14386.859680] stap_ed19d3230ba39168380b000217cf262b__9215: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 44data/39text/21ctx/2058net/3489alloc kb, probes: 7 [14406.060603] stap_abc1490f20e2b89dc7d0119379171d9b_9710: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/31text/13ctx/2058net/1265alloc kb, probes: 4 [14433.121367] stap_67d2dbaffbda68c5b69704f3151d2da6__9970: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 60data/55text/142ctx/2058net/371alloc kb, probes: 3 [14446.038557] stap_253b8b2f6384ca3c8a371d12d374c65_10466: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 36data/30text/29ctx/2058net/129alloc kb, probes: 6 [14476.829329] stap_698150167af0223ce0524bba3826968e_10962: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 45data/40text/38ctx/2058net/3537alloc kb, probes: 7 [14500.346579] stap_c7cc13df4a16c91f88b60ea3c9ebd681_11454: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 42data/37text/22ctx/2058net/129alloc kb, probes: 5 [14519.566222] stap_01a1153b50e121af2870c5d48cfce921_11956: systemtap: 3.1/0.166, base: fffffc0001020000, memory: 48data/46text/54ctx/2058net/1459alloc kb, probes: 4 [14545.375792] stap_600c76a5dbcb7823d29e43b0cc2a13b8_12460: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 90data/56text/110ctx/2058net/306alloc kb, probes: 9 [14563.167376] stap_534fff4acea7b0da1d730efe39fe7f2_12971: systemtap: 3.1/0.166, base: fffffc00010d0000, memory: 77data/44text/13ctx/2058net/3741alloc kb, probes: 7 [14584.750816] stap_1f506c1ec32bb01c4b378c4407a82b2_13484: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 41data/37text/13ctx/2058net/29073alloc kb, probes: 5 [14601.156827] stap_e819dd3dfbf46ef9efbc1c32691329f0_13979: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 46data/42text/104ctx/2058net/130alloc kb, probes: 4 [14627.496930] stap_964fbbaebedfa0bedaef6fd0086b073e_14476: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 100data/63text/101ctx/2058net/32937alloc kb, probes: 12 [14653.563127] stap_24c4c9938625ce695a36436623e8c32b_14972: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 96data/59text/113ctx/2058net/7577alloc kb, probes: 11 [14670.589960] stap_2b228a33cdbeff0f0c0cfa7d4383ea53_15467: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 51data/44text/106ctx/2058net/373alloc kb, probes: 6 [14688.791047] stap_6287913b466661cb1478f97937f90e71_15963: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 52data/45text/110ctx/2058net/389alloc kb, probes: 6 [14706.010931] stap_e8af2bd6aa72a02481c7752b0c75559d_16458: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 81data/49text/13ctx/2058net/647alloc kb, probes: 9 [14940.773367] stap_01cd783fa61eab9b778a91554edaefd3__16957: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 294data/186text/126ctx/2058net/20982alloc kb, probes: 308 [14955.870149] stap_0f8ebd427b29a88722f36c3132d73eb_17212: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 132data/66text/5ctx/2058net/481alloc kb, probes: 15 [15011.697773] stap_73c1cf8226f253873c1910175691903_18760: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 6011data/53text/116ctx/2058net/1249alloc kb, probes: 4 [15024.708160] stap_138895b07a38cc0fea8152e258717e3_19035: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 100data/61text/21ctx/2058net/1106alloc kb, probes: 4 [15054.555180] stap_4aff7589dc756e117038a9a11daef3f_19578: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 52data/47text/17ctx/2058net/12775alloc kb, probes: 9 [15076.644196] stap_261741ff730b8aa4dbcc9b935c97276_20091: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 56data/52text/17ctx/2058net/14219alloc kb, probes: 9 [15101.779918] stap_0d82c90b8c65426b935330a737ad114_20627: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 46data/42text/17ctx/2058net/5571alloc kb, probes: 8 [15117.319915] stap_9eb0cf06fed20fa5d395885fb090cd4_21119: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 47data/44text/27ctx/2058net/5859alloc kb, probes: 5 [15133.093712] stap_4e7a1cf65a4bc6839bb79ce2bc4a399_21611: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/34text/13ctx/2058net/129alloc kb, probes: 4 [15148.588678] stap_9e10ee1a75daf589d153dd99b861a65_22104: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 47data/42text/22ctx/2058net/1475alloc kb, probes: 5 [15166.070069] stap_c8db88e2458cbade0aa1e5c2f161fbb_22612: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 42data/37text/21ctx/2058net/10785alloc kb, probes: 4 [15201.228026] stap_9064cd4ee9f314a3c21ee02cb89459dd_23108: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 49data/46text/41ctx/2058net/129alloc kb, probes: 3 [15221.132882] stap_82f867648944fbe2a50631135603b97_23621: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 40data/36text/13ctx/2058net/1569alloc kb, probes: 6 [15245.073601] stap_34f2017caa7a2ab1c8362d222f368256_24135: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 120data/76text/154ctx/2058net/35254alloc kb, probes: 10 [15263.399333] stap_c28b8209f8165d510ae37107c130a37c_24627: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 61data/51text/46ctx/2058net/129alloc kb, probes: 16 [15301.586197] stap_a6d32acf82965a6f00b4abbcdd12d964_25337: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 58data/45text/25ctx/2058net/10688alloc kb, probes: 8 [15338.964416] stap_5737e3939d57acb034af0392c0878ee7_25830: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 59data/46text/22ctx/2058net/19904alloc kb, probes: 8 [15378.296395] stap_ccf65ba86440aa258a8ccfdfb97d7ab5_26324: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 99data/71text/154ctx/2058net/43265alloc kb, probes: 10 [15399.188738] stap_2c0d1283a2a51cbb2e0b487a8c1b784_26817: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 49data/49text/88ctx/2058net/42338alloc kb, probes: 7 [15459.718256] stap_5916bb6ab406423c727861caff8c060e_27312: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 84data/63text/63ctx/2058net/3491alloc kb, probes: 36 [15499.681726] stap_31b0ee44ca2a90f66121a49ec2deae05_27804: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 59data/41text/14ctx/2058net/465alloc kb, probes: 8 [15553.280197] stap_21732555bdb3510487e7b5e3bdc1a2ee_28296: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 79data/60text/71ctx/2058net/33909alloc kb, probes: 22 [15606.659803] stap_602866a29d3c9aedee11c89fddcd0f80_29427: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 78data/67text/72ctx/2058net/175alloc kb, probes: 34 [15622.748185] stap_03c6a6c408241296ccea4d81b5f13d8_29920: systemtap: 3.1/0.166, base: fffffc0000c90000, memory: 42data/37text/13ctx/2058net/130alloc kb, probes: 4 [15638.247894] stap_209c815918a2046466a5695d279b1fbd_30414: systemtap: 3.1/0.166, base: fffffc0000eb0000, memory: 111data/40text/115ctx/2058net/355alloc kb, probes: 166 [15665.686669] stap_8d0cad5e38466db0603da20fdf29a1b2_30933: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 109data/80text/94ctx/2058net/27316alloc kb, probes: 15 [15699.935815] stap_c3064b6116e2bf2a3048a27350212a19_31427: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 47data/44text/55ctx/2058net/130alloc kb, probes: 7 [15729.840395] stap_c6dbf53d4601d7ad0cc36f85943ab9dc_31922: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 42data/37text/19ctx/2058net/129alloc kb, probes: 4 [15743.267627] stap_d116cb017a7de83c213e94275631613_32414: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 42data/39text/6ctx/2058net/1713alloc kb, probes: 4 [15780.354022] stap_65a10c81f021c9e8541fbcf16884bd09_7_447: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 144data/93text/279ctx/2058net/4162alloc kb, probes: 16 [15814.635188] stap_5a35482e57dbb8a095d71edbf65000eb__1019: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 72data/59text/24ctx/2058net/175alloc kb, probes: 10 [15865.078989] stap_a206e49f205d08036657b66ba576e02e_1_1521: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 166data/108text/260ctx/2058net/3715alloc kb, probes: 52 [15903.820800] stap_2d982495c3271861ec1d28d250690f79__1776: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 62data/47text/23ctx/2058net/175alloc kb, probes: 6 [15948.231724] stap_d10228a62ca6e28b84c4813055539a56_2288: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 6388data/74text/72ctx/2058net/129alloc kb, probes: 2 [15988.740158] stap_ec8f1156f3b47245fab751ef6c8e72c5_2789: systemtap: 3.1/0.166, base: fffffc0001c80000, memory: 6012data/53text/121ctx/2058net/241alloc kb, probes: 3 [16015.039794] stap_f7cff5e7fa72fe7fac7c5489c1b389e3_3321: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 54data/51text/14ctx/2058net/4263alloc kb, probes: 6 [16549.678800] stap_648dc79a22500d862d265695e72dbb11_10_3837: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 618data/631text/198ctx/2058net/31913alloc kb, probes: 609 [16566.765173] stap_05afd4371d5bcb4bd6067e9f966e119c__4330: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 46data/42text/47ctx/2058net/130alloc kb, probes: 4 [16584.067212] stap_90a4e78ce31c81884bfc4df30b5988d6__4822: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 49data/46text/18ctx/2058net/3075alloc kb, probes: 5 [16609.353529] stap_8af31bde4ef84811047fa31de44855b4__5317: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 75data/69text/146ctx/2058net/13268alloc kb, probes: 7 [16672.116828] stap_cc8ba6ee6379bacefd8d0b1ed0278515_8_5589: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 1286data/868text/62ctx/2058net/18372alloc kb, probes: 996 [16688.837671] stap_66ea47b9b943d3a84d327921ad4a0521_6099: systemtap: 3.1/0.166, base: fffffc0000c90000, memory: 38data/32text/14ctx/2058net/129alloc kb, probes: 3 [16737.530259] stap_4b51fd32c4bba9cb84be32c552888afe__6606: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 6374data/101text/127ctx/2058net/16804alloc kb, probes: 8 [16756.903410] stap_b2056c8a32ebf280dffd50266e99067f__6869: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 55data/48text/43ctx/2058net/1249alloc kb, probes: 11 [16770.819717] stap_91fee9dee17b47ca643ecaf40b02fa7f__7123: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 68data/63text/147ctx/2058net/129alloc kb, probes: 2 [16779.994964] stap_5ebe161715ac660dc6c53e6490374ddd_7617: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 36data/33text/9ctx/2058net/129alloc kb, probes: 2 [16808.010146] stap_64687c92bbade3f6fb297f2c8a454c33__8344: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 59data/54text/86ctx/2058net/1921alloc kb, probes: 5 [16825.770918] stap_c8b9fc8552a57ce72442f83aad49c2cb__8838: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 55data/45text/109ctx/2058net/164alloc kb, probes: 3 [16841.354712] stap_8003da302a5d3e04e1703833c91d887c__9332: systemtap: 3.1/0.166, base: fffffc0000d50000, memory: 43data/39text/99ctx/2058net/129alloc kb, probes: 3 [16861.564562] stap_563a05cac24d56600734476cc75dfbd3__9826: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 79data/71text/113ctx/2058net/1489alloc kb, probes: 7 [16881.163458] stap_36e357a2e9270bd9ba20853864472cbc_10336: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 52data/46text/31ctx/2058net/2275alloc kb, probes: 5 [16911.046899] stap_4ccfe3e90918ce617d81ff85f853591e_10855: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 85data/74text/51ctx/2058net/2035alloc kb, probes: 10 [16929.316857] stap_49963de488dc3d19884972475b44f2f5_11110: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 46data/41text/27ctx/2058net/1363alloc kb, probes: 5 [16952.144286] stap_e49998e62b0d91d9ad4144bf6d585093_11619: systemtap: 3.1/0.166, base: fffffc00010a0000, memory: 53data/43text/35ctx/2058net/2548alloc kb, probes: 6 [16973.661810] stap_be7e3a3e72c8c7208f15a0ff2db7a13d_12135: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 52data/41text/35ctx/2058net/3444alloc kb, probes: 6 [16994.834021] stap_5648245fb1865dc40e1285d68f72dd57_12645: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 50data/38text/35ctx/2058net/164alloc kb, probes: 4 [17016.066292] stap_f9c0fbd441db8b516f022494467d0c50_13153: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 51data/40text/35ctx/2058net/164alloc kb, probes: 5 [17058.362494] stap_d09187300a53744de484683f36d8870_13645: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 6021data/62text/140ctx/2058net/2595alloc kb, probes: 5 [17075.919567] stap_76ec6ab935dff2f4272aa4c97874698_14137: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 45data/41text/66ctx/2058net/371alloc kb, probes: 5 [17093.388341] stap_3c036a8ccbb7ee8e6d6819918708f599_14629: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 51data/48text/54ctx/2058net/2483alloc kb, probes: 6 [17516.178263] stap_f9ba027a07a39daf47fd94f0e4cab9b7__15131: systemtap: 3.1/0.166, base: fffffc0001c30000, memory: 701data/634text/325ctx/2058net/2457alloc kb, probes: 611 [17694.274594] stap_cc8238d9277d32d0828afa9ee240acdb__15628: systemtap: 3.1/0.166, base: fffffc0001df0000, memory: 227data/126text/114ctx/2058net/261alloc kb, probes: 306 [17872.916388] stap_39c317ff782c7bdb57e02f475e25d5a9__16125: systemtap: 3.1/0.166, base: fffffc0001e60000, memory: 226data/131text/118ctx/2058net/1269alloc kb, probes: 306 [18126.583468] stap_53a63b20d3ddda74952366456b37a08b__16387: systemtap: 3.1/0.166, base: fffffc0001ed0000, memory: 531data/346text/23ctx/2058net/11779alloc kb, probes: 609 [18340.255801] stap_0a0304a57d764e2e8d8d02070885d6c9__16883: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 327data/352text/142ctx/2058net/12950alloc kb, probes: 305 [18369.015420] stap_35ef2ae6b71bd5562e95763be24383c0_17394: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 47data/43text/63ctx/2058net/483alloc kb, probes: 6 [18634.248743] stap_a48e4dbcd37870389c0165e249e5921e__17892: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 288data/214text/35ctx/2058net/12050alloc kb, probes: 308 [18664.638420] stap_5aae565bc18b179b1bef8ac624cb303_18386: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 5233data/71text/29ctx/2058net/103938alloc kb, probes: 4 [18822.256613] stap_fd0ec96e604c6f3826713213212e5eb5__18883: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 710data/388text/55ctx/2058net/85332alloc kb, probes: 624 [18842.493522] stap_d291c80b41ac06dff0bd2d4617cdb8ac__19376: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 784data/38text/13ctx/2058net/10641alloc kb, probes: 1829 [18907.160791] stap_91fa5e4fbad2b0d4905af54498d759cc_19870: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 7137data/81text/181ctx/2058net/15236alloc kb, probes: 8 [18927.718983] stap_4f118b117a15a988b7c1b4e83927610_20362: systemtap: 3.1/0.166, base: fffffc0000970000, memory: 53data/50text/37ctx/2058net/31604alloc kb, probes: 10 [18978.878347] stap_4d7810cd2cb54d0fb922ce2d2d7e3648_21105: systemtap: 3.1/0.166, base: fffffc0001d40000, memory: 5208data/51text/94ctx/2058net/1907alloc kb, probes: 5 [18992.693878] stap_b12327326b28cbfee6ebf7e082d65cd_21599: systemtap: 3.1/0.166, base: fffffc0000a50000, memory: 41data/37text/21ctx/2058net/10642alloc kb, probes: 4 [19018.290981] stap_a088653499251541674584f1787b327_22093: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 4154data/65text/37ctx/2058net/102532alloc kb, probes: 4 [19063.054605] stap_936dce37d0e3600f98ec0836dea8e06_22598: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 7141data/82text/72ctx/2058net/103938alloc kb, probes: 6 [19086.243592] stap_4fd6520158b6b1920eb1575cee7f3253_23107: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 48data/43text/43ctx/2058net/130alloc kb, probes: 5 [19100.499254] stap_be4b2eb4277d3ff6a0f3dc3fb1278a7_23599: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 45data/42text/17ctx/2058net/32099alloc kb, probes: 5 [19121.262202] stap_7acee75fcb010d7f3e2bec8de386936c_24091: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 57data/46text/22ctx/2058net/2257alloc kb, probes: 13 [19372.308989] stap_521424952a83b73a74af1ea28862ce84__24593: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 283data/129text/35ctx/2058net/10641alloc kb, probes: 304 [19450.592794] stap_8e7d5198e5a9244880fd70d9030737f_26371: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 49data/45text/23ctx/2058net/1795alloc kb, probes: 5 [19466.167309] stap_e091149f9316fa3850415a99dc93ade0_26757: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 480data/83text/116ctx/2058net/129alloc kb, probes: 13 [19477.858629] stap_cfbc19a38c2a33f00794643744126388_27025: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 480data/83text/116ctx/2058net/129alloc kb, probes: 13 [19489.676727] stap_8108452b0536730983bbc435dc908be2_27292: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 480data/82text/116ctx/2058net/129alloc kb, probes: 13 [19501.385100] stap_22bf3facd7e88851d050478e0476a761_27561: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 480data/82text/116ctx/2058net/129alloc kb, probes: 13 [19513.185573] stap_1fb924e4f3534f3ab9160d16eda0302e_27828: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 480data/83text/116ctx/2058net/129alloc kb, probes: 13 [19524.877026] stap_8ca9a10d5b092f04a90597c3b53434ea_28097: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 480data/83text/116ctx/2058net/129alloc kb, probes: 13 [19536.637142] stap_21d9d47b4bb930a0d716f80cd371c0ae_28365: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 480data/82text/116ctx/2058net/129alloc kb, probes: 13 [19548.365337] stap_9bc079aca2d95937632b8ed3b4624044_28632: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 480data/82text/116ctx/2058net/129alloc kb, probes: 13 [19557.914370] stap_923b49ef3ed69e6cfca7de0afd07571_28940: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 171data/65text/13ctx/2058net/1249alloc kb, probes: 50 [19591.209355] stap_105930aa9ec8ff6565d4761786b6beb_29205: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 44data/38text/5ctx/2058net/20011alloc kb, probes: 18 [19596.333911] stap_3efbe4c27a87215bc70a7747324a6cc_29456: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 44data/38text/5ctx/2058net/20011alloc kb, probes: 18 [19601.431473] stap_79ba5e7a15ca23ed7b544b29678c5ff_29708: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 42data/36text/5ctx/2058net/1713alloc kb, probes: 3 [19626.523978] stap_8c6474c996e342d40dc1dea7bc542e0_29961: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 42data/37text/5ctx/2058net/1713alloc kb, probes: 3 [19651.341112] stap_4947fad1b9ffb0789f14c1813e14330_30213: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 38data/33text/5ctx/2058net/143alloc kb, probes: 2 [19656.132800] stap_d718c0b8893661ca71c1ec05c9e207b_30464: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 38data/33text/5ctx/2058net/143alloc kb, probes: 2 [19661.000626] stap_7f8c7119762e7a8f6d5622486e7aa8a_30715: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 38data/33text/5ctx/2058net/143alloc kb, probes: 2 [19665.791693] stap_2f6158f86c4e9e8a3afdeaa97a1e085_30965: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 38data/33text/5ctx/2058net/143alloc kb, probes: 2 [19670.642580] stap_92160684bb603ac3920ba61a03fe64c_31215: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 38data/33text/5ctx/2058net/143alloc kb, probes: 2 [19675.559798] stap_8317f474fb6b7d7ac67dac3284dee0e_31464: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 42data/35text/9ctx/2058net/2497alloc kb, probes: 2 [19681.043531] stap_70ce4f30bd7c4d1c403c3e1e8171f3d_31718: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 38data/33text/5ctx/2058net/353alloc kb, probes: 2 [19686.435932] stap_bb6d9a9a0efbe76c47ae030cd5ba353_31967: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 44data/41text/5ctx/2058net/250alloc kb, probes: 2 [19691.945086] stap_bda6d15cab03e5a2e172a33f0ce29b5_32216: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 53data/43text/6ctx/2058net/1569alloc kb, probes: 2 [19696.711746] stap_3f85f976cc9883030fad24e882a4953_32465: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 36data/32text/13ctx/2058net/129alloc kb, probes: 2 [19701.620949] stap_aea5bef5512442ab2c9b299c3a8724b_32714: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 39data/33text/5ctx/2058net/241alloc kb, probes: 2 [19706.456419] stap_4073304625b560c16c9d2a210447c79e__508: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 37data/33text/6ctx/2058net/305alloc kb, probes: 2 [19711.348956] stap_04c5a58d58bf64217d646f56d2a966b8__825: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 39data/34text/21ctx/2058net/1249alloc kb, probes: 2 [19716.415818] stap_7244d32d98170e3e148eee8abc0701e3_1083: systemtap: 3.1/0.166, base: fffffc00012b0000, memory: 41data/36text/6ctx/2058net/1569alloc kb, probes: 2 [19721.308492] stap_9f2f1901d8f709b10520be5e92ad6161_1338: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 38data/33text/5ctx/2058net/1569alloc kb, probes: 4 [19727.208801] stap_a906fdf01801ae5de729278e40f1e224_1591: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 38data/33text/5ctx/2058net/1569alloc kb, probes: 4 [19733.000919] stap_ae594fe02499a2f2302b3dfdbc3ba129_1844: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 37data/32text/5ctx/2058net/1569alloc kb, probes: 2 [19737.979104] stap_f469fded6c8803247346521548beb369_2093: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 38data/35text/5ctx/2058net/20001alloc kb, probes: 2 [19742.833662] stap_f298772753a47d53e7b8d3513b673380_2347: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 37data/34text/5ctx/2058net/131alloc kb, probes: 2 [19756.803580] stap_f8d879a6861b5ca4f17b32377f022dc7_3102: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/32text/5ctx/2058net/131alloc kb, probes: 2 [19761.620621] stap_50b0faacbea2426395b026f20bb2bf14_3352: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 37data/33text/5ctx/2058net/130alloc kb, probes: 2 [19766.469858] stap_678c3e70cccca4afaaade2e19b19efd7_3602: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 37data/33text/5ctx/2058net/130alloc kb, probes: 2 [19771.303926] stap_21347152a316f8e59f836aca5e957219_3851: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 37data/33text/5ctx/2058net/131alloc kb, probes: 2 [19780.714479] stap_84a87c815f7818db328744f8367045ba_4351: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 37data/33text/5ctx/2058net/130alloc kb, probes: 2 [19785.598318] stap_7f178310af0da637f12ae3ed4d49ed1a_4600: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 37data/34text/5ctx/2058net/130alloc kb, probes: 2 [19790.431316] stap_4c08a45d3d6a24883937b4dd349eee23_4849: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 37data/33text/5ctx/2058net/130alloc kb, probes: 2 [19795.216552] stap_a01476acc2acc076023a60a1931c990e_5112: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 36data/32text/5ctx/2058net/138alloc kb, probes: 2 [19800.084853] stap_a712d15a0300b33cbdb49281ad017158_5361: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 38data/34text/5ctx/2058net/138alloc kb, probes: 2 [19810.710245] stap_3dca712f46d68d381bfef81151a5bcb2__5612: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 297data/103text/5ctx/2058net/225alloc kb, probes: 3 [19821.669667] stap_983074f62c6896ceea9af8bc7b13215d__5861: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 379data/119text/13ctx/2058net/1249alloc kb, probes: 3 [19833.186078] stap_ed1014184b0130c95ee4d8ea7f7aadc5_1_6110: systemtap: 3.1/0.166, base: fffffc00016f0000, memory: 379data/128text/21ctx/2058net/2273alloc kb, probes: 3 [19842.453250] stap_fa38501f8363a14b7ce725a953705811__6359: systemtap: 3.1/0.166, base: fffffc0001780000, memory: 316data/98text/6ctx/2058net/1569alloc kb, probes: 3 [19852.155621] stap_8ef5ab430f79767e092342101e4ecc10__6608: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 397data/114text/14ctx/2058net/10641alloc kb, probes: 3 [19862.323769] stap_491276fb8fa2e57b17fac6c86e546216_1_6859: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 397data/123text/22ctx/2058net/20289alloc kb, probes: 3 [19868.713466] stap_670ebf243d55cd55955e9959d0eae56a_7124: systemtap: 3.1/0.166, base: fffffc0001970000, memory: 65data/54text/13ctx/2058net/1265alloc kb, probes: 3 [19873.430493] stap_6248ce5336971663622eadd7f9c65577_7374: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 36data/31text/5ctx/2058net/129alloc kb, probes: 3 [19878.372546] stap_4c336783512afbae55c54679981433e7_7623: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 38data/34text/6ctx/2058net/133alloc kb, probes: 2 [19886.356666] stap_0782522b331e1ec0fcbe680bbeab8fe3_7874: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 45data/40text/5ctx/2058net/1682alloc kb, probes: 5 [19902.098990] stap_5bfd13d0c1da802d3749498b83458cd9_8124: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/34text/25ctx/2058net/1249alloc kb, probes: 2 [19907.075491] stap_31f745791a528ef4a15180bb03829620_8373: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 39data/35text/33ctx/2058net/2257alloc kb, probes: 2 [19920.500772] stap_468876832d1c0f98af1240be94ab4688_8663: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19925.735201] stap_44c28122f7f2de2141bce3d02b04f316_8912: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19930.935316] stap_2455b5b8e84aff21f483bce28759d780_9161: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19936.635308] stap_6646d1556c93dcfd83b0a440e6f9519d_9410: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19942.360802] stap_966fa765ca9483de76d2c11618af8311_9659: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19948.611011] stap_51ced763e3ae9d7e1951f709c156b7bb_9908: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19954.820736] stap_5e71430c7b3cee9c66d20efc1bbd860_10157: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19961.504860] stap_e5c0903017efc58819761301f7cbb18_10406: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19968.196717] stap_d420790e021255d99cc8a96280613a9_10655: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19975.388186] stap_991cc65b1d4be4fe5db617b6a4f1299_10905: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19982.571609] stap_496efe6cefaf916561e3a200531f357_11154: systemtap: 3.1/0.166, base: fffffc00012b0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19990.263860] stap_d96c4761e31ef966fce399242a75b34_11404: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [19997.948053] stap_f91c2c5e036a15426a143a29f818b30_11656: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20002.980869] stap_beebefbb0872e851cefc4bf206d1359_11909: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20007.932726] stap_d02f50efb629dcd8c57eb38ec7b66d9_14486: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20014.267298] stap_0aafff5c2d3c249fb2f596576a97443_18180: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20020.359790] stap_6147473716685a7b3305692b3cf1363_21160: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20026.344623] stap_ec30186d2002607019ff01e03b48316_24660: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20032.343836] stap_20414a05002df69f13e237dd0bd480b_28096: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20118.717129] stap_639a58e02c309576e3efe821b9d6a14d_6_4735: systemtap: 3.1/0.166, base: fffffc00019a0000, memory: 1609data/1129text/5ctx/2058net/129alloc kb, probes: 1550 [20118.721717] hrtimer: interrupt took 381852 ns [20210.706558] stap_d055cc49f92e75fd3d29f88c865f248a_1_16436: systemtap: 3.1/0.166, base: fffffc0001c60000, memory: 1897data/1167text/5ctx/2058net/129alloc kb, probes: 1873 [20220.159540] stap_eeb2e6594e0ba26f780d3f902db2c49_21238: systemtap: 3.1/0.166, base: fffffc0001900000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20229.998154] stap_ad36e97e85fff23dd50fb8d99a54143_26658: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20239.835790] stap_b94f8d9ffa04eac9dfc9667c7c882f4_32076: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20250.136334] stap_89f51a99e7aeabff40756e3c417abbd1_5366: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20260.395561] stap_4b850c9c2cdd73dc24cd3b369bca8bc_11018: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20271.130174] stap_8ddd68fcf292468a6ba5126bb59d356_16921: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20281.845160] stap_65cd3587b5125c62adadb39f25bab2a_22846: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20293.071571] stap_be8755068ae3b3e08eb66baac4c9810_28505: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20304.304227] stap_a1e30201df9045abedb3d05f578e4afa_1782: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20316.062228] stap_b44bee1c347d031e545ad085ed1cd436_8283: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20327.738743] stap_08fac067efa3ec97bacea09632e5848_14766: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20339.898066] stap_530616e25814857c8cbba04f05d706c_21470: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20352.056780] stap_916f2ab8604929f9da27152640df0a2_28228: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20361.815792] stap_c8aaad582115cf66ca249c75cb2f85a6_1359: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20371.310721] stap_0f3db0d8034d8194ee3f2b65fa72d999_6754: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 45data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20380.490658] stap_47fce78d7dbafee2e9e1125e7c169db_11974: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 44data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20389.858329] stap_02df35a196248ba027f9136f050b53c_17312: systemtap: 3.1/0.166, base: fffffc0001020000, memory: 44data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20399.033868] stap_d943d29eb4d2995a1b7ffc04e9e1cb5_22505: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 44data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20408.194241] stap_b48ccf17010fab63dbc0eeec0b567af_27148: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 44data/38text/5ctx/2058net/11309alloc kb, probes: 7 [20417.536563] stap_494df76cff6ebfc112f6e089e8cd383_32411: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 46data/39text/5ctx/2058net/11309alloc kb, probes: 7 [20490.556585] stap_70037816b9c528d5b345a18dfeb43f9c_4_2134: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 1575data/907text/5ctx/2058net/11309alloc kb, probes: 1552 [20568.388768] stap_ebdf9beede7abbc62604d39e526a98c2_10_6232: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 1899data/964text/5ctx/2058net/11309alloc kb, probes: 1871 [20584.809326] stap_6b5195744e5e88650c87c703c817cba_11479: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20593.212199] stap_453ead399d474da3e47647445c71f9f_16257: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20601.550060] stap_9c203d5b5a65a4997b7ade025cc9981_21027: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20610.469027] stap_ed18eb434c7b4b235308273b6069848_26029: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20619.329813] stap_6c6c6b9f18ffd7a7e9656207559df23_30553: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20628.759297] stap_59f2e4915ceac575bd4029c4f99f70e8_2950: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20638.188099] stap_ddb02e3b0211f1b00bfdb5b4a1889e9b_8241: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20648.032090] stap_eff9d7bbb46624b1eb4e5c3f214ff5e_13822: systemtap: 3.1/0.166, base: fffffc00010c0000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20657.902322] stap_dcc8ab87b3fd6fd20fab0f0d6c29def_18822: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20668.296606] stap_667dcecd9f154c32ee5d1d7e1997d3e_24646: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20678.708486] stap_f6d02d8fdbcab17f6fd13fef24b925b_29976: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20689.638233] stap_b33e853ad35d68788f0f2d2d84339695_3221: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 39data/32text/5ctx/2058net/129alloc kb, probes: 5 [20700.482489] stap_7742697b8af538a14cf52c08e0d9428d_9311: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 39data/31text/5ctx/2058net/129alloc kb, probes: 5 [20708.960045] stap_f3e33a74daf44265fe4b212c414b303_13598: systemtap: 3.1/0.166, base: fffffc0001c80000, memory: 39data/31text/5ctx/2058net/129alloc kb, probes: 5 [20717.111383] stap_029bc71a283bb2d068f55177e35d75a_18269: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 39data/31text/5ctx/2058net/129alloc kb, probes: 5 [20724.949912] stap_fd63e1ee96e1eb2ed5b0e0e9c93378a_22768: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20733.004156] stap_f5c9d1369d5cefc70d1ca2fa37a643d_27349: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20740.880238] stap_e0b8872843a19782958ec8cf66a05ce_31326: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20748.718279] stap_824d3d0ea6c0a4da2acecb4b9074d605_3496: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 38data/31text/5ctx/2058net/129alloc kb, probes: 5 [20756.646611] stap_c0f4acaae21db4789dac223bf24c3b8c_7376: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 40data/33text/5ctx/2058net/129alloc kb, probes: 5 [20842.433486] stap_114b9df35e223cd29c50bce07f4df1d5__16107: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 1610data/1129text/5ctx/2058net/129alloc kb, probes: 1550 [20853.191693] stap_c0e8f629b7b72040f1fb7b4256bf8d3_17350: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20863.042743] stap_dab157faa4335f15027f48a736e8ff8_17603: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20872.934409] stap_08cc9a3c14bb7dce2db68149ce71a9b_17856: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20883.386461] stap_ae755037cc9ba8773b27b7df0b84b9d_18109: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20893.685510] stap_1340d18de9dc0b7e28a3c259c265009_18362: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20904.478207] stap_f6764190374f3f73b0f73131416148b_18615: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20915.345510] stap_fc8cf5b1efee8a0eef7ef4dab76dd88_18868: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20926.705367] stap_2593a5a929cb141b304aaa725c7b307_19121: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20938.072211] stap_81920bfb6caec1002a2cddca671e935_19376: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20949.864110] stap_70d6cd73a2bd39c3188a42c6364efa7_19629: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20961.715169] stap_89ae67069e2e029c8fa84449b9b7f4d_19882: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20974.157245] stap_98ee7cef8993b1d8bad22e11bf2c061_20138: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20986.474069] stap_57e6b7d26dfa5332f80a004a0441136_20392: systemtap: 3.1/0.166, base: fffffc0000eb0000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [20996.409248] stap_fb4829318f416948e7cfc0868308e17_20646: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 99data/60text/5ctx/2058net/11309alloc kb, probes: 7 [21006.059234] stap_9f9ca4f2318bd83ac503720e3916ae5_20899: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 98data/59text/5ctx/2058net/11309alloc kb, probes: 7 [21015.959633] stap_98be97c042fb484573f05a22d7e3dc0_21152: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 98data/59text/5ctx/2058net/11309alloc kb, probes: 7 [21025.568609] stap_1addcf64e2096a398113193b3e16d78_21406: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 98data/59text/5ctx/2058net/11309alloc kb, probes: 7 [21035.044153] stap_b92f9f23723bdfc37422743e08b806e_21661: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 98data/59text/5ctx/2058net/11309alloc kb, probes: 7 [21044.586330] stap_cc983a81e8c94fdec286c47c7ab3427_21916: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 98data/59text/5ctx/2058net/11309alloc kb, probes: 7 [21054.103261] stap_529062e05826de004681d2c468dfd8b_22171: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 100data/61text/5ctx/2058net/11309alloc kb, probes: 7 [21123.876815] stap_123e782d4209e248af276c3f7d01ea7c__23260: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 1630data/930text/5ctx/2058net/11309alloc kb, probes: 1552 [21191.793697] stap_37a4064f4254e66d1001b5aff4740330__24346: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 1770data/963text/5ctx/2058net/11309alloc kb, probes: 1795 [34111.217600] stap_60ca05904b6d6ee9c5a2aa2e3f87776f__1900: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 62data/115text/5ctx/2058net/129alloc kb, probes: 3 [34741.535408] stap_033e7e2e203461c901f1dd1c18a77c17_4074: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34746.088539] stap_594721fa948754cc260dbccc34852fa4_4323: systemtap: 3.1/0.166, base: fffffc0000980000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34750.657371] stap_d3c9b90930187793c191d0b94da87cac_4572: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34755.190970] stap_dd9f8e4bbc4a8adca60f8a74fa694a12_4821: systemtap: 3.1/0.166, base: fffffc0000aa0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34759.749940] stap_4ab7d36a19b85b0eeb243c4fae827f1b_5070: systemtap: 3.1/0.166, base: fffffc0000c50000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34764.307337] stap_a2d57f631d09467b5d332b45d17f4c4c_5320: systemtap: 3.1/0.166, base: fffffc0000c90000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34768.885251] stap_74aa7088315a2922cef800d976916d98_5570: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [34773.426973] stap_85c89c519b98401031304da7830078e9_5820: systemtap: 3.1/0.166, base: fffffc0000d60000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [34778.009817] stap_056a8f9631ec5cde2d94400a1952aa1b_6071: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 4 [34783.611580] stap_b66d1ad98b613a902d6c27e5d530c17a_6320: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 4 [34789.202844] stap_46c56275aaa231e2a99fe897448edbcd_6569: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34793.786377] stap_76a8dc857d2c767afc05382308217f04_6818: systemtap: 3.1/0.166, base: fffffc0000e20000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34798.345242] stap_bd7f304bf1a469fb5279500650350f51_7069: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34802.963304] stap_060218d3e66085327f280b54d9aa81d6_7320: systemtap: 3.1/0.166, base: fffffc0001080000, memory: 34data/30text/5ctx/2058net/129alloc kb, probes: 2 [34807.645731] stap_010b5f3375a7494cfed8dbf31b3f301a_7571: systemtap: 3.1/0.166, base: fffffc00010d0000, memory: 35data/31text/5ctx/2058net/129alloc kb, probes: 2 [34812.296838] stap_f1028ef9e6f4729693994318655b6339_7822: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 35data/31text/5ctx/2058net/129alloc kb, probes: 2 [34816.946353] stap_a14ebd531921968c381080b1c4f7cd96_8073: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 35data/31text/5ctx/2058net/129alloc kb, probes: 2 [34821.806560] stap_e49837da1088f63037457ade36f5028f_8322: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 35data/33text/5ctx/2058net/129alloc kb, probes: 2 [34826.424193] stap_cb34fe7070491da1bce8ee67b2396e3a_8571: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [34831.023515] stap_67a68e80bc1e04fd8c7da276678c9514_8820: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [34835.615202] stap_1adb592cbe751bc486dd000a3ca8f4b3_9069: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 2 [34840.258422] stap_c9f8dc40bca83b7d8abce131d10c3f00_9318: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 36data/31text/13ctx/2058net/129alloc kb, probes: 2 [34844.924602] stap_ef4024a2e4b68683be64529d8636119d_9567: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 36data/30text/13ctx/2058net/129alloc kb, probes: 2 [34849.500832] stap_6fc2aea1b20e60a17fe19b420d716438_9816: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [34854.135278] stap_c198679f1892cab886d5cfd7f3330a6_10067: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [34858.788663] stap_433daa90e827946b170b805b32a16aa_10322: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 35data/29text/5ctx/16394net/129alloc kb, probes: 3 [34864.401211] stap_d137051d8f0241f496bd31deca481f9_10587: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/47text/5ctx/2058net/129alloc kb, probes: 2 [34869.120570] stap_4718e3dfc8e3ed422de226a282b78eb_10837: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/31text/5ctx/2058net/129alloc kb, probes: 2 [34876.505398] stap_fdac4e1b60443a0e6349176f7ca366aa_11331: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 46data/41text/86ctx/2058net/129alloc kb, probes: 5 [34882.314149] stap_c865a69178321b542db85dad10f4f5d5_11588: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 46data/39text/86ctx/2058net/129alloc kb, probes: 5 [34887.156609] stap_9afb77edd0759c5c19c1271af12c117_11856: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [34891.775958] stap_fa7f846ee07d7c33cbfb370b208a0e4_12118: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/30text/5ctx/16394net/129alloc kb, probes: 2 [34896.414568] stap_1f3965bbf2d9e0a878d8da0220ceae5_12383: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34900.972900] stap_fb7ed2add48888af96397b9936d66a0_12634: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [34905.545086] stap_c221fce1fa1d754697352e075e22e55_12889: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 35data/29text/5ctx/16394net/129alloc kb, probes: 2 [34910.133128] stap_ed33364e816564cdf87270c0458b65a_13154: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [34914.727734] stap_2d07f5f30db9276ed1313a29b8de67e_13409: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 35data/29text/5ctx/16394net/129alloc kb, probes: 2 [34919.333671] stap_9e1f1c95560f744f3bfe5f0fe33b78d_13674: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 2 [34923.945865] stap_eab6239d8016371ad1a11545407e658_13929: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 35data/30text/5ctx/16394net/129alloc kb, probes: 2 [34931.517196] stap_cf9d455d3603b6b2215884eb22b5898_14407: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 37data/33text/26ctx/2058net/129alloc kb, probes: 2 [34937.786892] stap_4d4fc683c0176e8db461a17c9c7e939_14657: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 36data/32text/25ctx/2058net/129alloc kb, probes: 2 [34945.268636] stap_5fded0b37bdaa4c4aad2902c4fed603_15119: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 36data/31text/24ctx/2058net/129alloc kb, probes: 2 [34951.438883] stap_f53bc26acbae18a0a49f33f79344a0b_15368: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/31text/24ctx/2058net/129alloc kb, probes: 2 [34956.080868] stap_2174ebd4e69db252ae88c4eb26b2ce9_15617: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 35data/31text/33ctx/2058net/129alloc kb, probes: 2 [34960.672583] stap_d7f03333f1dbc0bdc39506eb183800f_15866: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 35data/30text/33ctx/2058net/129alloc kb, probes: 2 [34965.231107] stap_3a9101175de6a57f608cdeb4bc8de3d_16115: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34969.832021] stap_4450966580c2e89060456fb2166edaa_16364: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [34976.354504] stap_bc099b8d26fed015a9b755a1362da51_16613: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 54data/62text/7ctx/2058net/18280alloc kb, probes: 3 [34986.449976] stap_e0bda263ff3e312060ef861f23501db6_16872: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 73data/63text/22ctx/2058net/241alloc kb, probes: 7 [34991.106981] stap_268e8d9dbafdf2ab69c071470cb78eb_17127: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 34data/32text/21ctx/2058net/129alloc kb, probes: 2 [34995.799803] stap_bc7dde0b7943a3693fa3937f7196e0c_17376: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 34data/32text/21ctx/2058net/129alloc kb, probes: 2 [35000.477016] stap_0ab79a8990f82f67b6472bb36f24e96_17625: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 35data/31text/29ctx/2058net/129alloc kb, probes: 2 [35005.083795] stap_fe89fe4b26645f4bd33df157c41f001_17874: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 35data/30text/29ctx/2058net/129alloc kb, probes: 2 [35009.751158] stap_3674606beff04cab3f790da6a0c3c61_18123: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 35data/31text/5ctx/2058net/129alloc kb, probes: 2 [35014.335023] stap_4e505d5922421da879b5f34674a5375_18372: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 34data/30text/5ctx/2058net/129alloc kb, probes: 2 [35019.077672] stap_6cf9354d915f3b6fdc9963897786872_18621: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 36data/33text/5ctx/2058net/129alloc kb, probes: 2 [35023.677438] stap_a929fa0c1123a2e2146c00fd6a51714_18872: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 35data/31text/5ctx/2058net/129alloc kb, probes: 2 [35030.211119] stap_3ce985e34697671c50e0bae4b65f85d_19323: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 34data/30text/29ctx/2058net/129alloc kb, probes: 2 [35034.802978] stap_df1213d28f472d7781ef3325d616d92_19572: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 34data/29text/29ctx/2058net/129alloc kb, probes: 2 [35039.428872] stap_029860913c2455381330bfc93659aa2_19821: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 35data/30text/21ctx/2058net/129alloc kb, probes: 2 [35056.607161] stap_539fa4f8753a4a9062d837279f19a913_20073: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 74data/55text/73ctx/2058net/3424alloc kb, probes: 12 [35175.251315] stap_b7fa1fab73f4d5980360c60ef0bf76e_21153: systemtap: 3.1/0.166, base: fffffc00017c0000, memory: 89data/56text/21ctx/2058net/129alloc kb, probes: 4 [35181.725565] stap_c3559fdcfffb7b5098a0db35df3f35f_21448: systemtap: 3.1/0.166, base: fffffc0001820000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [35295.905954] stap_06d2c3dc27b20ff0e3f7bdd0a1575ca_22998: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [35301.630643] stap_ca1ebb0e1df944016f621d9ddf164c2_23264: systemtap: 3.1/0.166, base: fffffc0000980000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [35303.673305] stap_06d2c3dc27b20ff0e3f7bdd0a1575ca_23289: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [35330.308712] stap_2d8278588e5f05204b6af6dc457426c0_23731: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 54data/46text/47ctx/2058net/1489alloc kb, probes: 11 [35335.774625] stap_b79938721f8a137340c0397781b6e408_23985: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 54data/46text/66ctx/2058net/129alloc kb, probes: 31 [35341.224662] stap_671a01ff0c5d41dfd89d7b8cd964c972_24236: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 54data/46text/66ctx/2058net/129alloc kb, probes: 31 [35346.725803] stap_148015dbcf1663cc597adac20612da63_24487: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 54data/46text/66ctx/2058net/129alloc kb, probes: 31 [35358.483624] stap_e4b9a98779c46c6353f8382640ce9ca3_24750: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 89data/75text/66ctx/2058net/241alloc kb, probes: 30 [35370.441402] stap_fd2f043cc2d98f0458a450cecaa3e2ea_25010: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 89data/76text/66ctx/2058net/241alloc kb, probes: 30 [35382.377126] stap_d9287f7b0060adadd86cb16c3dc4128d_25270: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 89data/76text/66ctx/2058net/241alloc kb, probes: 30 [35391.369127] stap_0e4949d71dce546c6e9074ad265c94e0_25522: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35400.377374] stap_7300db5378aafefa61551afcc161c842_25776: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35409.354183] stap_f2e030eb5aaaae268f974cc07662a3f6_26028: systemtap: 3.1/0.166, base: fffffc00011a0000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35418.353462] stap_8b80b11c488c9122d2b1ff2059a1e465_26282: systemtap: 3.1/0.166, base: fffffc0001200000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35427.320871] stap_9e84aaa69136af71f5d205f3042331a6_26534: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35436.312320] stap_3b72ccdab4bf7826f40c96ad795989c9_26786: systemtap: 3.1/0.166, base: fffffc00012c0000, memory: 75data/54text/66ctx/2058net/241alloc kb, probes: 30 [35494.785133] stap_e1739c4c2c11388d146962183f5ec2a0__27041: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 1150data/39text/5ctx/2058net/129alloc kb, probes: 1108 [35513.497361] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27301: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35518.671724] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27354: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35518.675393] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27355: systemtap: 3.1/0.166, base: fffffc00017c0000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35519.489778] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27365: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35519.559105] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27367: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35519.580141] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27366: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35519.583062] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27368: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35519.611069] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27370: systemtap: 3.1/0.166, base: fffffc0001990000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35520.213838] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27399: systemtap: 3.1/0.166, base: fffffc0001a80000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35520.222585] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27398: systemtap: 3.1/0.166, base: fffffc0001a30000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35520.250052] stap_d7e1c94e0bd29b24dc5da9ef0b951e25_27397: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 39data/34text/10ctx/2058net/129alloc kb, probes: 3 [35583.841020] stap_09eb0b107b06c700b984b01ba126890_27890: systemtap: 3.1/0.166, base: fffffc0001ad0000, memory: 34data/30text/61ctx/2058net/129alloc kb, probes: 2 [35588.493231] stap_c687ebe84009af147290205b091432d_28139: systemtap: 3.1/0.166, base: fffffc0001b20000, memory: 35data/30text/21ctx/2058net/129alloc kb, probes: 2 [35593.057682] stap_3938a7d711b8c9cec46f238e9d271bc_28388: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 34data/30text/37ctx/2058net/129alloc kb, probes: 2 [35597.641165] stap_f1f91064a8306a57e2ef256abd9d52a_28637: systemtap: 3.1/0.166, base: fffffc0000a10000, memory: 34data/30text/33ctx/2058net/129alloc kb, probes: 2 [35602.336343] stap_48d00a8d6a096f670cb57d74c684ff2_28886: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 37data/32text/12ctx/2058net/129alloc kb, probes: 3 [35607.076471] stap_5c32113beffe4c22d063b1d146acb24_29135: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 37data/33text/17ctx/2058net/129alloc kb, probes: 2 [35611.952130] stap_a69c68699e13ff305b075e8f825cd0b_29384: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 38data/35text/45ctx/2058net/129alloc kb, probes: 2 [35616.604231] stap_2092c9a728a832d0ac573ec7429d354_29633: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 35data/31text/9ctx/2058net/129alloc kb, probes: 2 [35621.196279] stap_664e622345b4d4df9c78bf595e90de2_29882: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 34data/30text/3ctx/2058net/129alloc kb, probes: 2 [35625.830227] stap_a404348d8e45da4923e0cb0eb73269a_30131: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 35data/31text/45ctx/2058net/129alloc kb, probes: 2 [35630.621185] stap_4a4e22822308cd632bae0227f454c21_30380: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 35data/33text/21ctx/2058net/129alloc kb, probes: 2 [35635.464304] stap_75d4f11854faa35b979ab19c99c507f_30632: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 37data/35text/25ctx/2058net/129alloc kb, probes: 2 [35640.089023] stap_920a8ac80d6ba0a2d2d7339f6093322_30882: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 36data/31text/61ctx/2058net/129alloc kb, probes: 2 [35647.965931] stap_da40e30e2dbda3bffcfaea226682e92a_31132: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 41data/37text/63ctx/2058net/129alloc kb, probes: 2 [35836.076889] nd_s_31404: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35836.959854] nd_s_31428: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35837.768601] nd_s_31450: systemtap: 3.1/0.166, base: fffffc0001780000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35838.628271] nd_s_31472: systemtap: 3.1/0.166, base: fffffc00018e0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35839.494411] nd_s_31494: systemtap: 3.1/0.166, base: fffffc0001b50000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35840.402897] nd_s_31516: systemtap: 3.1/0.166, base: fffffc0001c70000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35841.262345] nd_s_31538: systemtap: 3.1/0.166, base: fffffc0001d90000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35844.261776] nd_s_31575: systemtap: 3.1/0.166, base: fffffc0001eb0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35845.105314] nd_s_31597: systemtap: 3.1/0.166, base: fffffc0001fd0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35845.903980] nd_s_31619: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35846.740597] nd_s_31641: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35846.940664] capability: warning: `capability' uses 32-bit capabilities (legacy support in use) [35847.596646] nd_s_31663: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35848.404420] nd_s_31685: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35849.237856] nd_s_31707: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35851.204659] nd_s_31729: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35852.121422] nd_s_31753: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35853.146951] nd_s_31791: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35854.031256] nd_s_31813: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35854.863420] nd_s_31835: systemtap: 3.1/0.166, base: fffffc0002130000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35855.663914] nd_s_31857: systemtap: 3.1/0.166, base: fffffc0002250000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35856.480423] nd_s_31879: systemtap: 3.1/0.166, base: fffffc0002370000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35857.290289] nd_s_31901: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35858.199097] nd_s_31923: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35859.049277] nd_s_31945: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35859.832867] nd_s_31967: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35860.732941] nd_s_31989: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35861.566612] nd_s_32011: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35862.466268] nd_s_32033: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35863.315879] nd_s_32055: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35864.182284] nd_s_32077: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35865.091552] nd_s_32100: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35866.934354] nd_s_32123: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35867.768031] nd_s_32145: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35868.567700] nd_s_32167: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35869.433429] nd_s_32189: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35870.325092] nd_s_32211: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35871.218157] nd_s_32233: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35872.068116] nd_s_32255: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35872.876589] nd_s_32277: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35873.735551] nd_s_32299: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35874.527263] nd_s_32321: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35875.335309] nd_s_32343: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35876.176733] nd_s_32365: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35877.034958] nd_s_32387: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35877.926553] nd_s_32409: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35878.843457] nd_s_32431: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35879.685548] nd_s_32453: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35880.484946] nd_s_32475: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35881.410670] nd_s_32497: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35881.694819] tun: Universal TUN/TAP device driver, 1.6 [35881.699890] tun: (C) 1999-2004 Max Krasnyansky [35882.446618] nd_s_32535: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35883.288292] nd_s_32557: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35884.112987] nd_s_32581: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35885.013259] nd_s_32603: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35885.879070] nd_s_32625: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35886.780209] nd_s_32648: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35887.597294] nd_s_32670: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35888.464243] nd_s_32692: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35889.322512] nd_s_32714: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35890.172372] nd_s_32736: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35891.031197] nd_s_32758: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35892.031572] nd_sys_327: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35892.888943] nd_sys_349: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35893.671962] nd_sys_371: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35894.532461] nd_sys_393: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35895.381787] nd_sys_415: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35896.347773] nd_sys_462: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35897.173614] nd_sys_484: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35898.117293] nd_sys_506: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35898.998885] nd_sys_530: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35899.849341] nd_sys_566: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35900.975099] nd_sys_618: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35901.891774] nd_sys_643: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35902.767021] nd_sys_667: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35904.558123] nd_sys_689: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35905.366531] nd_sys_711: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35906.193406] nd_sys_751: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35907.009639] nd_sys_781: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35907.884436] nd_sys_806: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35908.701791] nd_sys_850: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35909.560012] nd_sys_873: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35910.494280] nd_sys_896: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35911.335742] nd_sys_918: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35912.185574] nd_sys_940: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35914.136142] nd_sys_963: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35915.993969] nd_sys_986: systemtap: 3.1/0.166, base: fffffc00023a0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35916.885878] nd_sy_1008: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35917.753069] nd_sy_1030: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35918.628348] nd_sy_1052: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35919.656270] nd_sy_1089: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35920.511932] nd_sy_1111: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35921.345092] nd_sy_1133: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35922.278792] nd_sy_1155: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35923.221035] nd_sy_1180: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35924.170236] nd_sy_1203: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35925.121783] nd_sy_1226: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35925.971129] nd_sy_1249: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35926.172944] mmap: remap_file_page (1251) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.txt. [35926.879199] nd_sy_1271: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35927.698911] nd_sy_1295: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35928.554986] nd_sy_1317: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35929.423492] nd_sy_1339: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35946.230620] nd_sy_1362: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35947.105422] nd_sy_1385: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35947.929650] nd_sy_1407: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35948.747675] nd_sy_1429: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35949.563800] nd_sy_1451: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35950.389129] nd_sy_1473: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35951.263500] nd_sy_1495: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35952.157365] nd_sy_1517: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35952.998120] nd_sy_1539: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35954.222739] nd_sy_1561: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35955.081726] nd_sy_1584: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35955.931840] nd_sy_1606: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35956.840359] nd_sy_1628: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35957.698987] nd_sy_1652: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35958.707247] nd_sy_1674: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35959.599400] nd_sy_1698: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35960.499539] nd_sy_1721: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35961.307681] nd_sy_1744: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35962.165788] nd_sy_1766: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35962.941445] nd_sy_1788: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35963.774649] nd_sy_1810: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35964.574538] nd_sy_1832: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35965.467055] nd_sy_1854: systemtap: 3.1/0.166, base: fffffc00023a0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35966.325491] nd_sy_1876: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35967.150229] nd_sy_1898: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35967.960321] nd_sy_1920: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35968.808530] nd_sy_1942: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35969.675322] nd_sy_1964: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35975.675147] nd_sy_2002: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35976.526442] nd_sy_2024: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35977.461075] nd_sy_2046: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35978.352382] nd_sy_2077: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35979.276721] nd_sy_2104: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35980.136665] nd_sy_2126: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35980.976916] nd_sy_2148: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35981.803766] nd_sy_2172: systemtap: 3.1/0.166, base: fffffc0002280000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35982.644463] nd_sy_2197: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35983.470870] nd_sy_2219: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35984.561729] nd_sy_2271: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35985.362310] nd_sy_2293: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35986.212738] nd_sy_2315: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35987.196134] nd_sy_2352: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35988.021300] nd_sy_2374: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35988.821238] nd_sy_2400: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35989.021419] times[2402]: unhandled level 2 translation fault (11) at 0xffffffffffffff, esr 0x92000006 [35989.030655] pgd = fffffe03c9eb0000 [35989.034068] [ffffffffffffff] *pgd=0000000000000000, *pud=0000000000000000, *pmd=0000000000000000 [35989.044383] CPU: 6 PID: 2402 Comm: times Tainted: G W IOE 4.8.0-rc1uprobes+ #1 [35989.052393] Hardware name: AMD Overdrive/Supercharger/Default string, BIOS ROD1001A 02/09/2016 [35989.061017] task: fffffe017fecde00 task.stack: fffffe03c4184000 [35989.066943] PC is at 0x3ff7ea64f6c [35989.070349] LR is at 0x4006c8 [35989.073322] pc : [<000003ff7ea64f6c>] lr : [<00000000004006c8>] pstate: 60000000 [35989.080732] sp : 000003ffd75b3c50 [35989.084050] x29: 000003ffd75b3c60 x28: 0000000000000000 [35989.089379] x27: 0000000000000000 x26: 0000000000000000 [35989.094704] x25: 0000000000000000 x24: 0000000000000000 [35989.100036] x23: 0000000000000000 x22: 0000000000000000 [35989.105362] x21: 0000000000400550 x20: 0000000000000000 [35989.110689] x19: ffffffffffffffff x18: 000003ffd75b3a30 [35989.116020] x17: 000003ff7ea64f30 x16: 0000000000420018 [35989.121347] x15: 000000000004026f x14: 000003ff7ec8ffb8 [35989.126673] x13: 000000000000000f x12: 0000000000000090 [35989.132001] x11: 0000000090000000 x10: 00000000ffffffff [35989.137338] x9 : 0000000000000018 x8 : 0000000000000099 [35989.142666] x7 : b3ff8c9a92968bd0 x6 : 0000000000000000 [35989.147994] x5 : 713c83efddbbb3ac x4 : 00000000004006b0 [35989.153321] x3 : 0000000000000000 x2 : 000003ffd75b3de8 [35989.158647] x1 : 000003ffd75b3dd8 x0 : fffffffffffffff2 [35989.813178] nd_sy_2422: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35990.621872] nd_sy_2445: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35991.580523] nd_sy_2482: systemtap: 3.1/0.166, base: fffffc0002040000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35992.439251] nd_sy_2504: systemtap: 3.1/0.166, base: fffffc0002160000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35993.289323] nd_sy_2526: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35994.130079] nd_sy_2548: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35995.247761] nd_sy_2600: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35996.073099] nd_sy_2623: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35996.947501] nd_sy_2645: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35998.815171] nd_sy_2668: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [35999.689576] nd_sy_2693: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [36000.531555] nd_sy_2715: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 554data/470text/299ctx/2058net/2230alloc kb, probes: 608 [36267.908094] sy_2993: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36268.633364] sy_3016: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36269.291694] sy_3038: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36269.916435] sy_3060: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36270.525259] sy_3082: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36271.199785] sy_3104: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36271.875155] sy_3126: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36274.667721] sy_3163: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36275.300729] sy_3185: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36275.934624] sy_3207: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36276.576162] sy_3229: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36277.218092] sy_3251: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36277.850450] sy_3273: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36278.509396] sy_3295: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36280.243579] sy_3317: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36280.951815] sy_3341: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36281.777075] sy_3379: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36282.418880] sy_3401: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36283.035425] sy_3423: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36283.661806] sy_3445: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36284.286429] sy_3467: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36284.902723] sy_3489: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36285.536270] sy_3511: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36286.177895] sy_3535: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36286.812508] sy_3557: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36287.486603] sy_3579: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36288.130133] sy_3602: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36288.846372] sy_3625: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36289.521016] sy_3647: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36290.190259] sy_3669: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36290.880527] sy_3692: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36292.554937] sy_3715: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36293.205169] sy_3737: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36293.839442] sy_3760: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36294.481096] sy_3782: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36295.154883] sy_3804: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36295.764526] sy_3826: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36296.414432] sy_3848: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36297.047015] sy_3870: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36297.681587] sy_3892: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36298.298291] sy_3914: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36298.923998] sy_3936: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36299.523316] sy_3958: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36300.182258] sy_3980: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36300.840155] sy_4002: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36301.532530] sy_4024: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36302.166186] sy_4046: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36302.799565] sy_4068: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36303.483008] sy_4090: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36304.216548] sy_4127: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36304.873964] sy_4149: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36305.516530] sy_4171: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36306.174839] sy_4193: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36306.850367] sy_4215: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36307.534413] sy_4238: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36308.183481] sy_4260: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36308.850909] sy_4282: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36309.509124] sy_4304: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36310.167603] sy_4326: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36310.850737] sy_4348: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36311.667705] sy_4385: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36312.351746] sy_4407: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36312.984574] sy_4429: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36313.609374] sy_4451: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36314.259697] sy_4473: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36315.052172] sy_4510: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36315.668880] sy_4532: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36316.368903] sy_4554: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36317.052686] sy_4576: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36317.719036] sy_4598: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36318.628187] sy_4650: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36319.311660] sy_4672: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36319.970066] sy_4694: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36321.568616] sy_4716: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36322.186302] sy_4738: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36322.820443] sy_4760: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36323.445516] sy_4782: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36324.119973] sy_4804: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36324.754328] sy_4826: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36325.419783] sy_4848: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36326.087651] sy_4870: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36326.738146] sy_4892: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36327.438181] sy_4914: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36329.130833] sy_4937: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36330.806350] sy_4960: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36331.522610] sy_4982: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36332.181732] sy_5004: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36332.848021] sy_5026: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36333.681023] sy_5063: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36334.340145] sy_5085: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36334.948447] sy_5108: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36335.690933] sy_5130: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36336.448111] sy_5153: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36337.223858] sy_5176: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36337.983065] sy_5199: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36338.674176] sy_5222: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36339.357902] sy_5244: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36339.982005] sy_5266: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36340.600378] sy_5288: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36341.257299] sy_5310: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36357.891897] sy_5333: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36358.566361] sy_5355: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36359.207661] sy_5377: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36359.834143] sy_5399: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36360.458966] sy_5421: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36361.100486] sy_5443: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36361.749957] sy_5465: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36362.367915] sy_5487: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36363.026565] sy_5509: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36364.076836] sy_5532: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36364.726209] sy_5554: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36365.368546] sy_5576: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36366.093622] sy_5598: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36366.784213] sy_5621: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36367.535762] sy_5643: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36368.260286] sy_5666: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36369.001639] sy_5689: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36369.637563] sy_5712: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36370.309836] sy_5734: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36370.918577] sy_5756: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36371.585981] sy_5778: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36372.194571] sy_5800: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36372.786569] sy_5822: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36373.469539] sy_5844: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36374.112112] sy_5866: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36374.770739] sy_5888: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36375.445405] sy_5910: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36376.104160] sy_5932: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36381.937658] sy_5970: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36382.587977] sy_5992: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36383.236973] sy_6014: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36383.939199] sy_6045: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36384.646122] sy_6072: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36385.296506] sy_6094: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36385.896773] sy_6116: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36386.520925] sy_6138: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36387.179547] sy_6160: systemtap: 3.1/0.166, base: fffffc0002490000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36387.840193] sy_6182: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36388.723546] sy_6234: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36389.331172] sy_6256: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36389.965389] sy_6278: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36390.757214] sy_6315: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36391.390672] sy_6337: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36391.982950] sy_6359: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36392.004348] times[6361]: unhandled level 2 translation fault (11) at 0xffffffffffffff, esr 0x92000006 [36392.013580] pgd = fffffe03c6b30000 [36392.016991] [ffffffffffffff] *pgd=0000000000000000, *pud=0000000000000000, *pmd=0000000000000000 [36392.027300] CPU: 1 PID: 6361 Comm: times Tainted: G W IOE 4.8.0-rc1uprobes+ #1 [36392.035310] Hardware name: AMD Overdrive/Supercharger/Default string, BIOS ROD1001A 02/09/2016 [36392.043928] task: fffffe03d5822b00 task.stack: fffffe03d5e54000 [36392.049856] PC is at 0x3ffb6374f6c [36392.053262] LR is at 0x4006c8 [36392.056237] pc : [<000003ffb6374f6c>] lr : [<00000000004006c8>] pstate: 60000000 [36392.063646] sp : 000003ffd36b9bc0 [36392.066964] x29: 000003ffd36b9bd0 x28: 0000000000000000 [36392.072292] x27: 0000000000000000 x26: 0000000000000000 [36392.077620] x25: 0000000000000000 x24: 0000000000000000 [36392.082947] x23: 0000000000000000 x22: 0000000000000000 [36392.088274] x21: 0000000000400550 x20: 0000000000000000 [36392.093601] x19: ffffffffffffffff x18: 000003ffd36b99a0 [36392.098927] x17: 000003ffb6374f30 x16: 0000000000420018 [36392.104254] x15: 000000000004026f x14: 000003ffb659ffb8 [36392.109582] x13: 000000000000000f x12: 0000000000000090 [36392.114907] x11: 0000000090000000 x10: 00000000ffffffff [36392.120233] x9 : 0000000000000018 x8 : 0000000000000099 [36392.125567] x7 : b3ff8c9a92968bd0 x6 : 0000000000000000 [36392.130893] x5 : 82ce4d61111e9e8f x4 : 00000000004006b0 [36392.136217] x3 : 0000000000000000 x2 : 000003ffd36b9d58 [36392.141544] x1 : 000003ffd36b9d48 x0 : fffffffffffffff2 [36392.824811] sy_6381: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36393.473835] sy_6403: systemtap: 3.1/0.166, base: fffffc0001f50000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36394.208419] sy_6440: systemtap: 3.1/0.166, base: fffffc00020a0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36394.824064] sy_6462: systemtap: 3.1/0.166, base: fffffc00021f0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36395.467090] sy_6484: systemtap: 3.1/0.166, base: fffffc0002340000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36396.075985] sy_6506: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36397.008561] sy_6558: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36397.657964] sy_6581: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36398.325765] sy_6603: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36400.009663] sy_6626: systemtap: 3.1/0.166, base: fffffc0001a10000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36400.694249] sy_6651: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36401.342543] sy_6673: systemtap: 3.1/0.166, base: fffffc0001cb0000, memory: 668data/601text/206ctx/2058net/3735alloc kb, probes: 611 [36416.182216] modloop: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36416.748788] modloop: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36417.865535] modloop: systemtap: 3.1/0.166, base: fffffc0001050000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36418.957356] modloop: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36420.049145] modloop: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36421.140414] modloop: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36422.232247] modloop: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36423.323140] modloop: systemtap: 3.1/0.166, base: fffffc0001e00000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36424.432941] modloop: systemtap: 3.1/0.166, base: fffffc0001e60000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36425.524478] modloop: systemtap: 3.1/0.166, base: fffffc0001ec0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36426.616082] modloop: systemtap: 3.1/0.166, base: fffffc0001f20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36427.707134] modloop: systemtap: 3.1/0.166, base: fffffc0001f80000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36428.798652] modloop: systemtap: 3.1/0.166, base: fffffc0001fe0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36429.891620] modloop: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36430.982041] modloop: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36432.074413] modloop: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36433.165947] modloop: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36434.258274] modloop: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36435.366163] modloop: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36436.458436] modloop: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36437.550124] modloop: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36438.641049] modloop: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36439.815890] modloop: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36440.916372] modloop: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36442.006929] modloop: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36443.100001] modloop: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36444.191386] modloop: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36445.282484] modloop: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36446.392071] modloop: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36447.482421] modloop: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36448.575059] modloop: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36449.666320] modloop: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36450.758580] modloop: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36451.850025] modloop: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36452.942928] modloop: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36454.033274] modloop: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36455.124449] modloop: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36456.217233] modloop: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36457.325135] modloop: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36458.416820] modloop: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36459.509047] modloop: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36460.600554] modloop: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36461.692033] modloop: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36462.784134] modloop: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36463.874699] modloop: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36464.967219] modloop: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36466.059177] modloop: systemtap: 3.1/0.166, base: fffffc0001c20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36467.150069] modloop: systemtap: 3.1/0.166, base: fffffc0001c80000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36468.276168] modloop: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36469.367296] modloop: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36470.467946] modloop: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36471.559033] modloop: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36472.649974] modloop: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36473.742346] modloop: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36474.834205] modloop: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [36475.926095] modloop: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 92data/54text/5ctx/2058net/129alloc kb, probes: 4 [37369.849219] stap_d7d1898d9d65f92b20dd0b3273f54f3_19436: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37377.249653] stap_e6d973715ac63cb5433bc8c5b32e2fa_19720: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37386.292623] stap_d8a30fde2a90fb5f4abcd172c1ad69a_20012: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37395.401677] stap_a79c2830d2cec61a4f33cd6acfd3e3d_20303: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37404.435693] stap_5310042ebb1daf7feb4be4f3e0e8bc7_20597: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37414.577635] stap_b3f88c5eb4784b4ae33e43559f5e5b8_20915: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37423.629633] stap_63845112feff8b99257f1e2f3a2a9f4_21210: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37432.720050] stap_e939d70a1d78c54b13a499a743879ca_21504: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37441.756204] stap_7653137086f69fa3687e378e5b5e19a_21795: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 89data/56text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37450.813678] stap_b91ecf4b5345298443d6c1156e88808_22088: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37460.238615] stap_158f4c94078af00a445301a917452e7_22397: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37469.290720] stap_e8f365bbd5feafc89425b5a8e83dffb_22688: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37479.573958] stap_2c237a9357e2fe31b932771cdf66f76_22985: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37489.858747] stap_e655aea9ea2b8885b4d5b46d0fec556_23282: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37500.167603] stap_ec6df82624c0df62d7de9a566f5a6da_23580: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37510.467434] stap_6ddc1ac88f6b25c16ee8a938d8219f2_23876: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37513.133534] stap_6ddc1ac88f6b25c16ee8a938d8219f2_23902: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37522.601824] stap_c32633de53374e541177b6c65d133c5_24205: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37532.001391] stap_d1cc6fc4f01ab368d661599f3210f47_24510: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37535.036045] stap_c32633de53374e541177b6c65d133c5_24549: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37538.061107] stap_d1cc6fc4f01ab368d661599f3210f47_24588: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37547.095041] stap_a00d63abf588750beae2d3dc9418943_24878: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37556.211537] stap_e20af9d40d38ebc3629d16c562679e2_25169: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37566.295907] stap_2b8635e114bb0d2e0e631248ed271e9_25485: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37575.371758] stap_868bcfde9c9cef81c5a54d78102074d_25776: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37584.446724] stap_8aba7ddac1d049dd690f66bcb44f00c_26068: systemtap: 3.1/0.166, base: fffffc0001c20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37593.529292] stap_f41fbc8e8b9726a032a12455681030f_26359: systemtap: 3.1/0.166, base: fffffc0001cc0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37602.580674] stap_4cf0988634ac697069a3ce90461a6ad_26650: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37612.031733] stap_23bd110742a1ec2c5f5ca3542bd7e03_26959: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37621.031967] stap_878e5e336f69e4742ffbae07b66f6c2_27251: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37630.092699] stap_a29ec023d6f9a3067f0f26ad49749b1_27544: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37639.126081] stap_d1a500847f14df631846240c540df3c_27835: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37648.209110] stap_d74d41bcfe2b293d245cb65222e1566_28129: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37650.860205] stap_d1a500847f14df631846240c540df3c_28154: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37653.528382] stap_d1a500847f14df631846240c540df3c_28179: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37662.954308] stap_dd1ac8d3d57d11ecccec6fbf92d5856_28484: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [37672.445314] stap_cc1fb038cd3ddf113c8daa90209ac71_28789: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [37675.469708] stap_dd1ac8d3d57d11ecccec6fbf92d5856_28828: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [37678.510898] stap_cc1fb038cd3ddf113c8daa90209ac71_28866: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [37687.587507] stap_857d7028cfdabf36dd6f0a351aaaa9c_29156: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37690.254209] stap_857d7028cfdabf36dd6f0a351aaaa9c_29184: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37699.297219] stap_340353473d17ff8e9f8c8f7d2f4dbee_29477: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37708.371506] stap_c1d452438d806308dd3f936624a5ca5_29770: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37717.406048] stap_9e6fcfa300c887ab94a78ba031d836b_30062: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 107data/56text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [37726.538201] stap_9ceafeca87cc57fb9772893e1c5fb36_30354: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 107data/56text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [37735.539097] stap_d78f3e02a8539a5f1f9002c1ab4c738_30649: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37738.215153] stap_d78f3e02a8539a5f1f9002c1ab4c738_30675: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37747.259334] stap_8cbd5053e127330ea29bedd3e7892f2_30966: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37756.290596] stap_3469da5718decb46234939036bd1b2d_31258: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37765.358655] stap_7d504edc95abc7c5b4aa986197345b0_31553: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37774.426591] stap_376b1e4282c79d86562a0f6005a7f70_31844: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37781.834501] stap_6035a65ff2d21b97b50ecce5d276c2f_32129: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37789.227299] stap_0638fb0de547f674701849546bc8956_32413: systemtap: 3.1/0.166, base: fffffc0001910000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37796.678649] stap_e96d5142d26b483d7672e2998e3fab0_32714: systemtap: 3.1/0.166, base: fffffc0001960000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37804.079016] stap_fe6fbae88643df238a6bfef5c255b2e3__545: systemtap: 3.1/0.166, base: fffffc00019b0000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37811.478173] stap_25ec74051b3ec481fe5e83823422e318__898: systemtap: 3.1/0.166, base: fffffc0001a00000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37818.827896] stap_7d4e675a2c000b78daaf90ffaf414bcb_1186: systemtap: 3.1/0.166, base: fffffc0001a50000, memory: 63data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37831.029461] stap_4d367ac5a1079000c500370790ee05f5_1523: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37838.404265] stap_08514e8d18aa5a53a910c12f9ae56828_1808: systemtap: 3.1/0.166, base: fffffc0001af0000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37841.155408] stap_a79c2830d2cec61a4f33cd6acfd3e3d4_1833: systemtap: 3.1/0.166, base: fffffc0001b40000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37843.929895] stap_5310042ebb1daf7feb4be4f3e0e8bc75_1856: systemtap: 3.1/0.166, base: fffffc0001ba0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37846.671813] stap_63845112feff8b99257f1e2f3a2a9f49_1879: systemtap: 3.1/0.166, base: fffffc0001c00000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37849.430836] stap_b3f88c5eb4784b4ae33e43559f5e5b83_1902: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37852.138754] stap_d8a30fde2a90fb5f4abcd172c1ad69af_1925: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37854.938291] stap_e939d70a1d78c54b13a499a743879cae_1948: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37857.680973] stap_2c237a9357e2fe31b932771cdf66f765_1971: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37860.464403] stap_e655aea9ea2b8885b4d5b46d0fec556d_1994: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37863.172461] stap_ec6df82624c0df62d7de9a566f5a6daf_2019: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37865.948525] stap_6ddc1ac88f6b25c16ee8a938d8219f27_2042: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37868.697945] stap_6ddc1ac88f6b25c16ee8a938d8219f27_2065: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37871.463860] stap_e8f365bbd5feafc89425b5a8e83dffba_2088: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37874.175000] stap_7653137086f69fa3687e378e5b5e19af_2111: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 89data/56text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37876.923375] stap_b91ecf4b5345298443d6c1156e88808b_2133: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37879.681744] stap_158f4c94078af00a445301a917452e77_2156: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37882.448173] stap_d78f3e02a8539a5f1f9002c1ab4c7381_2182: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37885.565793] stap_c32633de53374e541177b6c65d133c56_2221: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37888.865575] stap_d1cc6fc4f01ab368d661599f3210f472_2260: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37892.082865] stap_c32633de53374e541177b6c65d133c56_2297: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37895.308073] stap_d1cc6fc4f01ab368d661599f3210f472_2334: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [37898.207617] stap_d78f3e02a8539a5f1f9002c1ab4c7381_2359: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37900.974086] stap_8cbd5053e127330ea29bedd3e7892f28_2383: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37903.726416] stap_3469da5718decb46234939036bd1b2d9_2409: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37906.465949] stap_7d504edc95abc7c5b4aa986197345b0d_2433: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37909.208768] stap_376b1e4282c79d86562a0f6005a7f708_2456: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37918.260682] stap_867fb9df80114c9d484fa018b41fe8ed_2743: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37927.119738] stap_fb88291d846acf3aeae348c22fea9240_3035: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37931.318511] stap_a79c2830d2cec61a4f33cd6acfd3e3d4_3069: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37934.194705] stap_5310042ebb1daf7feb4be4f3e0e8bc75_3093: systemtap: 3.1/0.166, base: fffffc0001900000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37937.977585] stap_b3f88c5eb4784b4ae33e43559f5e5b83_3142: systemtap: 3.1/0.166, base: fffffc0001960000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37940.702462] stap_63845112feff8b99257f1e2f3a2a9f49_3166: systemtap: 3.1/0.166, base: fffffc00019c0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37943.461524] stap_d8a30fde2a90fb5f4abcd172c1ad69af_3190: systemtap: 3.1/0.166, base: fffffc0001a20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37946.211791] stap_e939d70a1d78c54b13a499a743879cae_3213: systemtap: 3.1/0.166, base: fffffc0001a80000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37948.962242] stap_7653137086f69fa3687e378e5b5e19af_3236: systemtap: 3.1/0.166, base: fffffc0001ae0000, memory: 89data/56text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37952.103770] stap_158f4c94078af00a445301a917452e77_3274: systemtap: 3.1/0.166, base: fffffc0001b40000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37954.928856] stap_e8f365bbd5feafc89425b5a8e83dffba_3297: systemtap: 3.1/0.166, base: fffffc0001ba0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37957.720076] stap_2c237a9357e2fe31b932771cdf66f765_3321: systemtap: 3.1/0.166, base: fffffc0001c40000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37960.479712] stap_e655aea9ea2b8885b4d5b46d0fec556d_3344: systemtap: 3.1/0.166, base: fffffc0001ca0000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37963.246558] stap_ec6df82624c0df62d7de9a566f5a6daf_3367: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 103data/76text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [37965.962001] stap_6ddc1ac88f6b25c16ee8a938d8219f27_3392: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37968.721571] stap_6ddc1ac88f6b25c16ee8a938d8219f27_3415: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 113data/77text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [37971.454021] stap_a00d63abf588750beae2d3dc9418943e_3438: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37974.229547] stap_e20af9d40d38ebc3629d16c562679e28_3461: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37978.005886] stap_2b8635e114bb0d2e0e631248ed271e93_3509: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37980.738837] stap_868bcfde9c9cef81c5a54d78102074da_3533: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37983.488569] stap_8aba7ddac1d049dd690f66bcb44f00c4_3556: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37986.222726] stap_f41fbc8e8b9726a032a12455681030f3_3579: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37988.990577] stap_4cf0988634ac697069a3ce90461a6ad4_3603: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37992.114474] stap_23bd110742a1ec2c5f5ca3542bd7e03d_3642: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37995.006069] stap_878e5e336f69e4742ffbae07b66f6c2a_3666: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [37997.714752] stap_a29ec023d6f9a3067f0f26ad49749b1e_3688: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38000.482084] stap_d1a500847f14df631846240c540df3c4_3711: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38003.256390] stap_d74d41bcfe2b293d245cb65222e15667_3735: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38006.007650] stap_d1a500847f14df631846240c540df3c4_3759: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38008.748559] stap_d1a500847f14df631846240c540df3c4_3782: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38011.490764] stap_857d7028cfdabf36dd6f0a351aaaa9c8_3805: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38014.266087] stap_857d7028cfdabf36dd6f0a351aaaa9c8_3828: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38017.040506] stap_340353473d17ff8e9f8c8f7d2f4dbee8_3851: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38019.749542] stap_c1d452438d806308dd3f936624a5ca54_3874: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38022.491240] stap_9e6fcfa300c887ab94a78ba031d836ba_3897: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 107data/56text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38025.275262] stap_9ceafeca87cc57fb9772893e1c5fb36e_3920: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 107data/56text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38028.392395] stap_dd1ac8d3d57d11ecccec6fbf92d5856f_3956: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38031.650136] stap_cc1fb038cd3ddf113c8daa90209ac71e_3993: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38034.891728] stap_dd1ac8d3d57d11ecccec6fbf92d5856f_4030: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38038.158464] stap_cc1fb038cd3ddf113c8daa90209ac71e_4067: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 94data/56text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38041.009093] stap_d78f3e02a8539a5f1f9002c1ab4c7381_4091: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38043.776190] stap_d78f3e02a8539a5f1f9002c1ab4c7381_4114: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38046.533989] stap_8cbd5053e127330ea29bedd3e7892f28_4137: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38049.251290] stap_3469da5718decb46234939036bd1b2d9_4160: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38052.017416] stap_7d504edc95abc7c5b4aa986197345b0d_4183: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38054.801037] stap_376b1e4282c79d86562a0f6005a7f708_4206: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 99data/56text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38057.901437] stap_c32633de53374e541177b6c65d133c56_4243: systemtap: 3.1/0.166, base: fffffc0001c20000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38061.134652] stap_d1cc6fc4f01ab368d661599f3210f472_4280: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38064.410429] stap_c32633de53374e541177b6c65d133c56_4317: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38067.646058] stap_d1cc6fc4f01ab368d661599f3210f472_4354: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 113data/56text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38076.796009] stap_4221cd9bbba767811775e244b7e85a7e_4642: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 64data/54text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38085.713107] stap_09ef9844b377051254bb5411108271eb_4933: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 64data/54text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38094.739010] stap_317d40acba71f3ba8e506ba482a79a51_5223: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38103.839389] stap_679e5fbac65410bcfc4bb076e050e914_5512: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38106.564402] stap_b91ecf4b5345298443d6c1156e88808b_5538: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38118.990656] stap_931fdc122cfa64a9fbaa55a8f42a8949_5830: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38126.341393] stap_97bf7a862d543a8a6d26edf7dee9359a_6114: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38135.342379] stap_b22eebcb47719fde45f7fed0d77067fe_6405: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38144.326141] stap_f33b4f0c4e8ba2e54792a09c550dd11f_6696: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38153.342908] stap_1d1c483d03ca55351a5f647bcaf202ae_6987: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38163.427728] stap_2f7b67d8208d9f226c4e807be1891cfd_7303: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38172.511416] stap_8f3807a72e465625ea53544471f0bb3a_7596: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38181.502921] stap_2bae44935e2e0f2489dd0a559ee35304_7888: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38190.562159] stap_772988960d8c98f4e9f594d9922d485b_8179: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38199.612179] stap_01b95a19c81792f797ee6e2e66ef050e_8471: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38209.048684] stap_4ebd8fb168454026a233337146454ceb_8777: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38218.081058] stap_dce5471d73c619def8daa9211eeebb82_9069: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38228.306331] stap_05f422d8a0624b185b2a98533673d0e6_9364: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38238.467668] stap_973729881899a2af4e305cf1bd6e87d0_9660: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38248.708525] stap_21df76a4e0f43ff8c10d0b4fc91557f6_9956: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38258.857760] stap_071d7d333eb7d6cbf196fa8d3b44c53_10255: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38261.516766] stap_071d7d333eb7d6cbf196fa8d3b44c53_10280: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38270.884518] stap_21686954253154b52254ab4f44d9108_10584: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38280.243397] stap_fc2121dd6bceb154230ce6a3b56fb05_10891: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38283.275799] stap_21686954253154b52254ab4f44d9108_10930: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38286.292316] stap_fc2121dd6bceb154230ce6a3b56fb05_10969: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38295.309052] stap_86dffff8eeb0a4d70ccf87581bc3558_11259: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38304.336094] stap_b6dee8326ebd796d8aeae20e7ded92c_11550: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38314.419912] stap_1cbc706c56149e3e5b591847e795b0d_11868: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38323.455917] stap_66cf469cb787c7566fd43d9cf06fc04_12166: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38332.531130] stap_b2e0622100b863866c11ef7f711ae1c_12457: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38341.507057] stap_78a6e586c7922853f308b5c4efa8bea_12748: systemtap: 3.1/0.166, base: fffffc0001c20000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38350.548802] stap_78db6c33052b5d972a17a02b0ee9a7a_13039: systemtap: 3.1/0.166, base: fffffc0001c80000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38359.934210] stap_60ec9652e327dab5f784fde90968603_13346: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38368.983140] stap_2b466dcad2fa431862dc70da158b82f_13639: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38378.028129] stap_05d9ec53f3a49d5854ca49d5d295fdc_13930: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38387.111712] stap_b08196949210d79b48f79599cdcb992_14221: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38396.153524] stap_199da009a16b1273e773bc9a85d1ac0_14514: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38398.843839] stap_b08196949210d79b48f79599cdcb992_14540: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38401.494852] stap_b08196949210d79b48f79599cdcb992_14565: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38410.894848] stap_0708c98dca22e2e9d988c1b1a05ad5b_14869: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38420.337768] stap_0fe2f2dc4144b1fcdc2f43b9f07c9fe_15174: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38423.363326] stap_0708c98dca22e2e9d988c1b1a05ad5b_15213: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38426.404929] stap_0fe2f2dc4144b1fcdc2f43b9f07c9fe_15252: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38435.464016] stap_a959cc5fa4770026888ae2ea4c0793c_15544: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38438.132407] stap_a959cc5fa4770026888ae2ea4c0793c_15570: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38447.130442] stap_0f79e8666335f2075c305d57c863f70_15860: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38456.190327] stap_67808ac361fd45ce354fbb691371027_16151: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38465.214817] stap_48d71056c0db38f68ae2a32c78a98d7_16445: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 106data/55text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38474.241336] stap_544eedb1dd30e14d42a38a938f996f7_16736: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 106data/55text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38483.207408] stap_7ce2157fe737b32d067a45ed1b8305c_17027: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38485.866248] stap_7ce2157fe737b32d067a45ed1b8305c_17052: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38494.866583] stap_43737d10d9a5022202c5afcc762c216_17345: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38503.910092] stap_2a288b7a0a8b21d5530593c25f8b7a7_17636: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38512.959875] stap_6bf1b44c7b27fdc8b6ce062fc5494fa_17927: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38521.985738] stap_fa566a61daefa53afd7af354af11200_18218: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38529.312328] stap_e345a10ea99a360c3bb42096413d1e7_18503: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38536.678766] stap_55b1e7b5c86ae5db0b66cadd1ad1fce_18789: systemtap: 3.1/0.166, base: fffffc00018b0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38544.021393] stap_1627f422777954f932a60b413ee238d_19074: systemtap: 3.1/0.166, base: fffffc0001900000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38551.396070] stap_42a827b23e3a7627faacbfc4f66b4a9_19358: systemtap: 3.1/0.166, base: fffffc0001950000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38558.721445] stap_e8ac0843f7d444847cb0024f7067d54_19642: systemtap: 3.1/0.166, base: fffffc00019a0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38566.088378] stap_a23fc6181de2cc46cff3148d347b2b2_19930: systemtap: 3.1/0.166, base: fffffc00019f0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38579.831442] stap_803cfcaa5eee2eded94dc4d2de8b8da_20293: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38587.264342] stap_618baca9c984aaff80139d89111fad8_20578: systemtap: 3.1/0.166, base: fffffc0001a90000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38590.182045] stap_f33b4f0c4e8ba2e54792a09c550dd11_20603: systemtap: 3.1/0.166, base: fffffc0001ae0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38592.932282] stap_1d1c483d03ca55351a5f647bcaf202a_20626: systemtap: 3.1/0.166, base: fffffc0001b40000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38595.672891] stap_8f3807a72e465625ea53544471f0bb3_20649: systemtap: 3.1/0.166, base: fffffc0001ba0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38598.415602] stap_2f7b67d8208d9f226c4e807be1891cf_20672: systemtap: 3.1/0.166, base: fffffc0001c00000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38601.165762] stap_b22eebcb47719fde45f7fed0d77067f_20695: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38603.950790] stap_2bae44935e2e0f2489dd0a559ee3530_20718: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38606.707321] stap_05f422d8a0624b185b2a98533673d0e_20741: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38609.433188] stap_973729881899a2af4e305cf1bd6e87d_20764: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38612.184571] stap_21df76a4e0f43ff8c10d0b4fc91557f_20787: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38614.925915] stap_071d7d333eb7d6cbf196fa8d3b44c53_20810: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38617.708091] stap_071d7d333eb7d6cbf196fa8d3b44c53_20833: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38620.424389] stap_dce5471d73c619def8daa9211eeebb8_20856: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38623.209156] stap_772988960d8c98f4e9f594d9922d485_20879: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38625.950170] stap_01b95a19c81792f797ee6e2e66ef050_20902: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38628.716572] stap_4ebd8fb168454026a233337146454ce_20925: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38631.450071] stap_7ce2157fe737b32d067a45ed1b8305c_20948: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38634.550609] stap_21686954253154b52254ab4f44d9108_20984: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38637.801130] stap_fc2121dd6bceb154230ce6a3b56fb05_21021: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38641.094197] stap_21686954253154b52254ab4f44d9108_21058: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38644.351968] stap_fc2121dd6bceb154230ce6a3b56fb05_21095: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38647.193376] stap_7ce2157fe737b32d067a45ed1b8305c_21118: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38649.951782] stap_43737d10d9a5022202c5afcc762c216_21142: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38652.718287] stap_2a288b7a0a8b21d5530593c25f8b7a7_21165: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38655.468777] stap_6bf1b44c7b27fdc8b6ce062fc5494fa_21192: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38658.227282] stap_fa566a61daefa53afd7af354af11200_21215: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38667.160985] stap_d09af1c1fecc9cb3db11b70b1622f4f_21502: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38676.054737] stap_3fc66da52e246a535f0d9dd7bc177e8_21794: systemtap: 3.1/0.166, base: fffffc00017f0000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38680.213216] stap_f33b4f0c4e8ba2e54792a09c550dd11_21824: systemtap: 3.1/0.166, base: fffffc0001840000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38683.087900] stap_1d1c483d03ca55351a5f647bcaf202a_21848: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38686.888543] stap_2f7b67d8208d9f226c4e807be1891cf_21896: systemtap: 3.1/0.166, base: fffffc0001900000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38689.587769] stap_8f3807a72e465625ea53544471f0bb3_21921: systemtap: 3.1/0.166, base: fffffc0001960000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38692.363191] stap_b22eebcb47719fde45f7fed0d77067f_21946: systemtap: 3.1/0.166, base: fffffc00019c0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38695.098722] stap_2bae44935e2e0f2489dd0a559ee3530_21969: systemtap: 3.1/0.166, base: fffffc0001a20000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38697.838989] stap_772988960d8c98f4e9f594d9922d485_21992: systemtap: 3.1/0.166, base: fffffc0001a80000, memory: 88data/55text/5ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38700.988650] stap_4ebd8fb168454026a233337146454ce_22031: systemtap: 3.1/0.166, base: fffffc0001ae0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38703.863139] stap_dce5471d73c619def8daa9211eeebb8_22055: systemtap: 3.1/0.166, base: fffffc0001b40000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38706.581210] stap_05f422d8a0624b185b2a98533673d0e_22078: systemtap: 3.1/0.166, base: fffffc0001ba0000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38709.348458] stap_973729881899a2af4e305cf1bd6e87d_22102: systemtap: 3.1/0.166, base: fffffc0001c40000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38712.115113] stap_21df76a4e0f43ff8c10d0b4fc91557f_22125: systemtap: 3.1/0.166, base: fffffc0001ca0000, memory: 101data/74text/60ctx/2058net/129alloc kb, probes: 4, unpriv-uid: 0 [38714.881684] stap_071d7d333eb7d6cbf196fa8d3b44c53_22148: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38717.606843] stap_071d7d333eb7d6cbf196fa8d3b44c53_22171: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 111data/75text/60ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38721.989903] stap_86dffff8eeb0a4d70ccf87581bc3558_22224: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38724.874503] stap_b6dee8326ebd796d8aeae20e7ded92c_22249: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38728.682568] stap_1cbc706c56149e3e5b591847e795b0d_22297: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38731.357583] stap_66cf469cb787c7566fd43d9cf06fc04_22320: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38734.131667] stap_b2e0622100b863866c11ef7f711ae1c_22344: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38736.883481] stap_78a6e586c7922853f308b5c4efa8bea_22367: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38739.623949] stap_78db6c33052b5d972a17a02b0ee9a7a_22390: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38742.765187] stap_60ec9652e327dab5f784fde90968603_22428: systemtap: 3.1/0.166, base: fffffc00010b0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38745.632551] stap_2b466dcad2fa431862dc70da158b82f_22452: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38748.368673] stap_05d9ec53f3a49d5854ca49d5d295fdc_22474: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38751.133068] stap_b08196949210d79b48f79599cdcb992_22498: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38753.874518] stap_199da009a16b1273e773bc9a85d1ac0_22521: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38756.650167] stap_b08196949210d79b48f79599cdcb992_22544: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38759.400523] stap_b08196949210d79b48f79599cdcb992_22567: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38762.133763] stap_a959cc5fa4770026888ae2ea4c0793c_22590: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38764.894612] stap_a959cc5fa4770026888ae2ea4c0793c_22613: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38767.618587] stap_0f79e8666335f2075c305d57c863f70_22635: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38770.408953] stap_67808ac361fd45ce354fbb691371027_22659: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 82data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38773.175804] stap_48d71056c0db38f68ae2a32c78a98d7_22682: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 106data/55text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38775.909733] stap_544eedb1dd30e14d42a38a938f996f7_22707: systemtap: 3.1/0.166, base: fffffc00017a0000, memory: 106data/55text/5ctx/2058net/129alloc kb, probes: 8, unpriv-uid: 0 [38779.050842] stap_0708c98dca22e2e9d988c1b1a05ad5b_22743: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38782.277021] stap_0fe2f2dc4144b1fcdc2f43b9f07c9fe_22780: systemtap: 3.1/0.166, base: fffffc0001860000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38785.526252] stap_0708c98dca22e2e9d988c1b1a05ad5b_22817: systemtap: 3.1/0.166, base: fffffc00018c0000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38788.801881] stap_0fe2f2dc4144b1fcdc2f43b9f07c9fe_22854: systemtap: 3.1/0.166, base: fffffc0001920000, memory: 94data/55text/5ctx/2058net/129alloc kb, probes: 5, unpriv-uid: 0 [38791.702120] stap_7ce2157fe737b32d067a45ed1b8305c_22878: systemtap: 3.1/0.166, base: fffffc0001980000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38794.394129] stap_7ce2157fe737b32d067a45ed1b8305c_22900: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38797.160829] stap_43737d10d9a5022202c5afcc762c216_22924: systemtap: 3.1/0.166, base: fffffc0001a40000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38799.936712] stap_2a288b7a0a8b21d5530593c25f8b7a7_22947: systemtap: 3.1/0.166, base: fffffc0001aa0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38802.694166] stap_6bf1b44c7b27fdc8b6ce062fc5494fa_22970: systemtap: 3.1/0.166, base: fffffc0001b00000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38805.420236] stap_fa566a61daefa53afd7af354af11200_22993: systemtap: 3.1/0.166, base: fffffc0001b60000, memory: 98data/55text/5ctx/2058net/129alloc kb, probes: 6, unpriv-uid: 0 [38808.546909] stap_21686954253154b52254ab4f44d9108_23029: systemtap: 3.1/0.166, base: fffffc0001bc0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38811.794996] stap_fc2121dd6bceb154230ce6a3b56fb05_23066: systemtap: 3.1/0.166, base: fffffc0001c20000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38815.070001] stap_21686954253154b52254ab4f44d9108_23103: systemtap: 3.1/0.166, base: fffffc0001ce0000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38818.278880] stap_fc2121dd6bceb154230ce6a3b56fb05_23140: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 112data/55text/5ctx/2058net/129alloc kb, probes: 10, unpriv-uid: 0 [38827.439740] stap_49f3c66d5813645524b1c89fa54802d_23429: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38836.314619] stap_395c7bdf3cefa301e2005844086d82c_23718: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 64data/53text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38845.357558] stap_ba11c298834a6a0ffbaf737201167e4_24007: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38854.398950] stap_044b2314e36e8cfb7a8c89ce2879460_24296: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 63data/52text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [38857.215982] stap_01b95a19c81792f797ee6e2e66ef050_24321: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 3, unpriv-uid: 0 [89801.362081] stap_ca693d84797a8bc695aff8acf20e1ad2__6524: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 122data/66text/37ctx/2058net/129alloc kb, probes: 33 [89841.202962] stap_e1f4bfcd850913ff7c902c2950ff0f7e__6854: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 122data/66text/37ctx/2058net/129alloc kb, probes: 33 [89872.071037] stap_4508a448d2276ffaf7ca55f5bafe5318__7184: systemtap: 3.1/0.166, base: fffffc0001030000, memory: 132data/75text/37ctx/2058net/129alloc kb, probes: 41 [89901.672246] stap_d4180feca26021b89aa7719b3caa0498_7499: systemtap: 3.1/0.166, base: fffffc0001080000, memory: 100data/62text/58ctx/2058net/1265alloc kb, probes: 7 [89936.456009] stap_35aed82d0ffb139efa31d48776d425a3_7781: systemtap: 3.1/0.166, base: fffffc00010c0000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [89943.522216] stap_4f122ea04080fe7aa7fca2c2f41d1814_8056: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 3 [89964.289670] stap_0a508146ea5e56757b33ae623100b5f3_8308: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 62data/51text/5ctx/2058net/129alloc kb, probes: 3 [89985.166293] stap_3bd3e708843d9a9b01c77dc6d080e4ac_8560: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 62data/52text/5ctx/2058net/129alloc kb, probes: 4 [90004.758032] stap_174a68173811e88612a567b503f38811_8814: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 36data/30text/5ctx/2058net/129alloc kb, probes: 6 [90009.324646] stap_19542d8c5fe3a59c9a38bd683e095d77_9069: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [90013.909518] stap_451d3ba61c7396aab66d228a899050da_9325: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [90018.467523] stap_2706a8d88f028fd3202464468b771d37_9580: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [90023.543451] stap_f9733c17cbea15ffd89c45468d34d634_9835: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 35data/29text/5ctx/2058net/129alloc kb, probes: 5 [90028.575901] stap_6bde1d91d2dfa6a81a500c5eb8b30bd_10090: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [90033.669194] stap_1a39404b24c91696e6635ee74577e33_10347: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 3 [90038.719163] stap_6d1cc0da05bf239b7eb7a4b0f874801_10602: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 4 [90049.735934] stap_6e10c6af8860b2623cf07b3da44e5ff_10874: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 67data/35text/13ctx/2058net/146alloc kb, probes: 3 [90054.679793] stap_0fb0836a3957043b554c3d6df11f28e_11124: systemtap: 3.1/0.166, base: fffffc0001760000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [90059.536476] stap_9759c9a83baccd0fff170169c64de15_11374: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [90060.646007] stap_6e10c6af8860b2623cf07b3da44e5ff_11383: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 67data/35text/13ctx/2058net/146alloc kb, probes: 3 [90061.753644] stap_6e10c6af8860b2623cf07b3da44e5ff_11391: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 67data/35text/13ctx/2058net/146alloc kb, probes: 3 [90066.653592] stap_1e7c75f3c7d1c06c6b389781d17f598_11639: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [90067.787915] stap_9759c9a83baccd0fff170169c64de15_11648: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [90072.747666] stap_525d063e3a28e16cf1d64f80ffd2186_11898: systemtap: 3.1/0.166, base: fffffc0001940000, memory: 39data/36text/214ctx/2058net/129alloc kb, probes: 4 [90078.530968] stap_5098adadc1c35c3e0cf1a68f909dfb3_12149: systemtap: 3.1/0.166, base: fffffc0001990000, memory: 39data/34text/87ctx/2058net/129alloc kb, probes: 3 [90083.256354] stap_5ca29c4823bd1e410462f6050e891fc_12400: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 37data/31text/5ctx/2058net/134alloc kb, probes: 5 [90088.456371] stap_3407336cea00aeb36fb6f10b1bbb55b_12655: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 36data/31text/9ctx/2058net/1265alloc kb, probes: 2 [90093.181965] stap_1592fe8eef3feab629f5d8e1cdffb6d_12910: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 35data/30text/5ctx/2058net/257alloc kb, probes: 2 [90097.842849] stap_1c1358e2bfbd1729022a6ae5da1e1d0_13165: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 36data/31text/13ctx/2058net/2273alloc kb, probes: 2 [90102.518021] stap_155c1c70bcdf37b5ac6539270cba1c7_13420: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 36data/31text/5ctx/2058net/257alloc kb, probes: 2 [90107.234789] stap_de5af2e912c0873ccc0085b3288b3a4_13675: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 36data/31text/29ctx/2058net/3281alloc kb, probes: 2 [90111.917456] stap_5e4ceb76ade977b03bab67e8f5ad7c3_13930: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 36data/31text/5ctx/2058net/257alloc kb, probes: 2 [90116.626267] stap_e2c8c0f062df2bb7db0ca3b07779560_14185: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 36data/31text/5ctx/2058net/257alloc kb, probes: 2 [90121.655967] stap_8164c958d0e38aa0222788ec4fc9113_14440: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 39data/36text/5ctx/2058net/1842alloc kb, probes: 2 [90126.361391] stap_403fb87d913ac5e2641e588c5b8bf52_14695: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 36data/31text/5ctx/2058net/1265alloc kb, probes: 2 [90131.046015] stap_9f0c6652cb818b07a13d2dbb95c5827_14950: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 36data/31text/5ctx/2058net/1265alloc kb, probes: 2 [90135.729615] stap_0f7cd7f81f242815653f14adc8af5fb_15205: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 36data/31text/5ctx/2058net/1265alloc kb, probes: 2 [90140.446908] stap_161c0dea7303355266c43947638bdd0_15460: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 36data/31text/5ctx/2058net/1265alloc kb, probes: 2 [90145.313458] stap_7471886a03d430b2287b1049e6a90f7_15715: systemtap: 3.1/0.166, base: fffffc0001210000, memory: 38data/34text/5ctx/2058net/1713alloc kb, probes: 2 [90149.946348] stap_16e425a4c1d4e073fb102b735ffbb54_15970: systemtap: 3.1/0.166, base: fffffc0001260000, memory: 35data/30text/5ctx/2058net/1265alloc kb, probes: 2 [90154.631282] stap_d8075f5d41392b02c55da15059f4280_16225: systemtap: 3.1/0.166, base: fffffc00012b0000, memory: 35data/30text/5ctx/2058net/1265alloc kb, probes: 2 [90159.289367] stap_86ea75286ab16047ae47fe08e50db1b_16480: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 35data/30text/5ctx/2058net/1265alloc kb, probes: 2 [90163.940556] stap_243fbe65961664abe40bc2900118f4e_16735: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 35data/31text/5ctx/2058net/1265alloc kb, probes: 2 [90168.748558] stap_f6676a7e93a1dba97b7175583c5e172_16992: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 37data/33text/5ctx/2058net/1713alloc kb, probes: 3 [90173.648890] stap_dc5d43360778671998f850b557a8cce_17247: systemtap: 3.1/0.166, base: fffffc0001670000, memory: 37data/33text/5ctx/2058net/1713alloc kb, probes: 3 [90178.433403] stap_35390a9f29de1c6107491d2d9d0c611_17502: systemtap: 3.1/0.166, base: fffffc00016c0000, memory: 37data/32text/17ctx/2058net/129alloc kb, probes: 3 [90189.017213] stap_5d9dab0125f154d82fef45a79a2ecffa_17778: systemtap: 3.1/0.166, base: fffffc0001710000, memory: 113data/70text/21ctx/2058net/1570alloc kb, probes: 6 [90198.878589] stap_f80dd7c6a5ac8e6d1ae5ee6f15e04e90_18036: systemtap: 3.1/0.166, base: fffffc0001770000, memory: 113data/70text/21ctx/2058net/1570alloc kb, probes: 6 [90206.978734] stap_fd1e6b92236bed4d390ec6f45de1b90_18312: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 100data/57text/18ctx/2058net/129alloc kb, probes: 5 [90216.511381] stap_7a1fcf0cd7fdd716113c54f7a18bbdd_18584: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 82data/57text/21ctx/2058net/129alloc kb, probes: 2 [90224.512984] stap_5f62ff275edc26f3343071116eb1839_18856: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 82data/56text/5ctx/2058net/129alloc kb, probes: 2 [90233.088213] stap_e66a8ba5713602c13890f5c6f5f75463_19122: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 138data/66text/21ctx/2058net/129alloc kb, probes: 16 [90246.089461] stap_d25b6d5c9f919a4170636637ac16fda_19393: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 136data/59text/53ctx/2058net/129alloc kb, probes: 16 [90260.673657] stap_a458e27ae65708ccb31931680cd4e11_19670: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 85data/61text/21ctx/2058net/129alloc kb, probes: 2 [90271.856162] stap_cbad6a3b4be1333d51bbee1b44138bf_19942: systemtap: 3.1/0.166, base: fffffc0001010000, memory: 85data/59text/21ctx/2058net/129alloc kb, probes: 3 [90294.739345] stap_70a94f95d97fc9c7f87d40e84029154_21569: systemtap: 3.1/0.166, base: fffffc0001070000, memory: 39data/33text/22ctx/2058net/129alloc kb, probes: 4 [90312.233034] stap_0baa340e71c789473a015a8d04fc57f_21870: systemtap: 3.1/0.166, base: fffffc00010c0000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2 [90316.915757] stap_3d1ef54312305c3b4b42c368aeb2f03_22124: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90321.483702] stap_36086beb0a1fd987bab1a86ed4bc948_22378: systemtap: 3.1/0.166, base: fffffc0001190000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90326.033385] stap_147b049400c1a5bc55d249745f3545f_22632: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90330.600096] stap_47b933d408578b25ab87296125500fc_22886: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90335.060122] stap_8272c8de4527a1ce2f1268e96fc7f8e_23140: systemtap: 3.1/0.166, base: fffffc0001280000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90339.651720] stap_59c321fe9b1c921951d154f7c126a73_23394: systemtap: 3.1/0.166, base: fffffc00012d0000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90344.211196] stap_2a5bba4cc28836a137c476ca741194e_23648: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90348.785766] stap_779a193addfccb0733e6ae091d6b6a8_23902: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 35data/30text/5ctx/2058net/129alloc kb, probes: 3 [90356.246160] stap_bfc757146d218c74f45c1683c4d150e_24178: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 81data/55text/13ctx/2058net/129alloc kb, probes: 3 [90363.738757] stap_697599a63c757eecb99ede23202223e_24431: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/13ctx/2058net/129alloc kb, probes: 3 [90371.222082] stap_a4ec5c77a0da4f2a34783c474cec6d3_24684: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 81data/55text/13ctx/2058net/129alloc kb, probes: 3 [90377.015229] stap_c1dc3d292237d31bf1d53d60dabcbf6_24939: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 50data/49text/63ctx/2058net/129alloc kb, probes: 6 [90394.925191] stap_964741c6121b4558f2ac35d88b1efac_25192: systemtap: 3.1/0.166, base: fffffc00017d0000, memory: 6010data/49text/63ctx/2058net/129alloc kb, probes: 6 [90396.293668] stap_964741c6121b4558f2ac35d88b1efac_25203: systemtap: 3.1/0.166, base: fffffc0001df0000, memory: 6010data/49text/63ctx/2058net/129alloc kb, probes: 6 [90418.186177] stap_c5512b38abb4c75b60105543b934261_25461: systemtap: 3.1/0.166, base: fffffc0002410000, memory: 6037data/73text/55ctx/2058net/129alloc kb, probes: 2 [90423.133734] stap_aef61f6952844a83edee78bfbb41fde_25716: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 5 [90428.100264] stap_bbb83355b8816c13e6edca85a9ea9cf_25967: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 5 [90433.102024] stap_262ba3e5a6b1557f123c3185ac1d0a2_26218: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 5 [90438.068687] stap_aece79108ecd2cd54cfd3c53824b8c8_26469: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/34text/5ctx/2058net/129alloc kb, probes: 5 [90442.769019] stap_d69f562bded36f4e640f6909f6a43e9_26718: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 34data/29text/13ctx/2058net/129alloc kb, probes: 3 [90447.461578] stap_2dd0df5f71ff46d2d2a6364376e8f77_26970: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 40data/31text/9ctx/2058net/129alloc kb, probes: 15 [90452.594845] stap_eab40c4102b5e9151284d8218764d72_27225: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 35data/30text/17ctx/2058net/129alloc kb, probes: 9 [90462.264937] stap_03530c981bc5eed968d1a59b71b5ec2f__27476: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 276data/127text/45ctx/2058net/2550alloc kb, probes: 565 [90468.970255] stap_460318a5c55247008e94dc88f181ff7_27728: systemtap: 3.1/0.166, base: fffffc00010a0000, memory: 37data/33text/8ctx/2058net/129alloc kb, probes: 2 [90473.720186] stap_ab7a45ca6412b26f4d2af7078b0dfd6_27983: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 38data/31text/5ctx/2058net/241alloc kb, probes: 3 [90481.640549] bid: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [90482.181573] bid: systemtap: 3.1/0.166, base: fffffc00011d0000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [90482.690477] bid: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [90483.232400] bid: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 80data/55text/5ctx/2058net/129alloc kb, probes: 2 [90490.616495] bid_nocheck: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 79data/53text/5ctx/2058net/129alloc kb, probes: 2 [90498.183581] bid_shared: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2 [90498.690706] bid_shared: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2 [90499.166706] bid_shared: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2 [90508.059046] stap_e0c1bedf06ff635df7580f33949a94a_29149: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 87data/54text/13ctx/2058net/129alloc kb, probes: 3 [90629.735436] stap_78ad3218790c99cc58140b4eaae9d180__29409: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 181data/52text/14ctx/2058net/129alloc kb, probes: 302 [90660.572056] stap_c701bbfe101f7be58afd9f879767f19b_31154: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90673.757264] stap_c701bbfe101f7be58afd9f879767f19b_31166: systemtap: 3.1/0.166, base: fffffc0001800000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90687.007288] stap_c701bbfe101f7be58afd9f879767f19b_31180: systemtap: 3.1/0.166, base: fffffc0001850000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90700.116883] stap_c701bbfe101f7be58afd9f879767f19b_31193: systemtap: 3.1/0.166, base: fffffc00018a0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90713.257215] stap_c701bbfe101f7be58afd9f879767f19b_31205: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90726.406882] stap_c701bbfe101f7be58afd9f879767f19b_31217: systemtap: 3.1/0.166, base: fffffc0001940000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90739.583486] stap_c701bbfe101f7be58afd9f879767f19b_31231: systemtap: 3.1/0.166, base: fffffc0001990000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90752.732455] stap_c701bbfe101f7be58afd9f879767f19b_31243: systemtap: 3.1/0.166, base: fffffc00019e0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90765.893008] stap_c701bbfe101f7be58afd9f879767f19b_31255: systemtap: 3.1/0.166, base: fffffc0001a30000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90779.009756] stap_c701bbfe101f7be58afd9f879767f19b_31267: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90792.216776] stap_c701bbfe101f7be58afd9f879767f19b_31280: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90805.367120] stap_c701bbfe101f7be58afd9f879767f19b_31294: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90818.584545] stap_c701bbfe101f7be58afd9f879767f19b_31307: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90831.769158] stap_c701bbfe101f7be58afd9f879767f19b_31319: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90844.969459] stap_c701bbfe101f7be58afd9f879767f19b_31333: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90858.194518] stap_c701bbfe101f7be58afd9f879767f19b_31345: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90871.395334] stap_c701bbfe101f7be58afd9f879767f19b_31357: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90884.528621] stap_c701bbfe101f7be58afd9f879767f19b_31371: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90897.702506] stap_c701bbfe101f7be58afd9f879767f19b_31383: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90911.019973] stap_c701bbfe101f7be58afd9f879767f19b_31395: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 52data/38text/9ctx/2058net/175alloc kb, probes: 5 [90917.119464] stap_1bc124d07e741646fe9bc93edd3984a_31649: systemtap: 3.1/0.166, base: fffffc0001170000, memory: 37data/32text/5ctx/2058net/129alloc kb, probes: 2 [90970.377625] stap_46eb782e3239d6af509d4274891a3cd_32630: systemtap: 3.1/0.166, base: fffffc0000aa0000, memory: 34data/28text/5ctx/2058net/129alloc kb, probes: 2 [90981.873661] stap_3739bf13f5e81cdf8b1ad50aefdea1b3_2_446: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 167data/62text/119ctx/2058net/355alloc kb, probes: 30 [90991.224721] stap_3b12681d4089e98d919445e571beb846_1_730: systemtap: 3.1/0.166, base: fffffc0001230000, memory: 114data/62text/119ctx/2058net/355alloc kb, probes: 7 [91003.097816] stap_97b9a67317e7d38a3363edae13c60025__1057: systemtap: 3.1/0.166, base: fffffc0001290000, memory: 162data/60text/38ctx/2058net/129alloc kb, probes: 30 [91143.553948] stap_68f47e47edcf787aa7bf24cffd19ab9f_5859: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91153.904934] stap_baf7957eabeb8acfb3190e28dbde2e4e_6113: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91156.604165] stap_68f47e47edcf787aa7bf24cffd19ab9f_6126: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91159.263816] stap_68f47e47edcf787aa7bf24cffd19ab9f_6138: systemtap: 3.1/0.166, base: fffffc0001680000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91169.647946] stap_ed4499fd55e9eb09d24868fc7b3b783a_6390: systemtap: 3.1/0.166, base: fffffc00016e0000, memory: 106data/79text/133ctx/2058net/129alloc kb, probes: 3 [91180.081955] stap_caa2dd7334e7e180b842b18fde6838c5_6644: systemtap: 3.1/0.166, base: fffffc0001740000, memory: 112data/80text/133ctx/2058net/129alloc kb, probes: 4 [91194.847592] stap_1ef7dfa5baa62941d980f26248efad6e_6917: systemtap: 3.1/0.166, base: fffffc00017b0000, memory: 112data/80text/133ctx/2058net/129alloc kb, probes: 4 [91205.231898] stap_0d7f160816bde16857320fe5d6c18d70_7172: systemtap: 3.1/0.166, base: fffffc0001820000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91215.758061] stap_247b6afa491aa3781a1640cbfa0e6155__7426: systemtap: 3.1/0.166, base: fffffc0001880000, memory: 125data/82text/133ctx/2058net/129alloc kb, probes: 7 [91226.707669] stap_19a8e9e574fa0c0bcf723baea87e11c2_7702: systemtap: 3.1/0.166, base: fffffc00018f0000, memory: 104data/77text/133ctx/2058net/129alloc kb, probes: 3 [91235.468105] stap_eb273bf2713dfe7c45ffe8824595cf95_7955: systemtap: 3.1/0.166, base: fffffc0001950000, memory: 110data/77text/133ctx/2058net/129alloc kb, probes: 4 [91244.309941] stap_3cc8a3e2fe7960444dea34b22b2a36e5_8208: systemtap: 3.1/0.166, base: fffffc00019b0000, memory: 104data/77text/133ctx/2058net/129alloc kb, probes: 3 [91253.126253] stap_c86e546d41ecaa174bda3cce5c66431f_8461: systemtap: 3.1/0.166, base: fffffc0001a60000, memory: 122data/77text/133ctx/2058net/129alloc kb, probes: 7 [91267.877134] stap_72998c0f0e97fc775fb31363245f7c60_8734: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91278.246548] stap_da6cf7cc004d02fce8dd6773cb83490a_8987: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 98data/78text/133ctx/2058net/129alloc kb, probes: 2 [91290.996643] stap_9bb1512f0b8e556f0cbccd806c3951f3_9324: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 98data/79text/133ctx/2058net/129alloc kb, probes: 2 [91311.716280] stap_ba69dd9eee3982e9c56ecaf0c2977aef_9577: systemtap: 3.1/0.166, base: fffffc0001ab0000, memory: 6012data/52text/165ctx/2058net/129alloc kb, probes: 4 [91320.239040] stap_31830aaf7c69a5a506dd99b52b9fe920__9851: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 102data/62text/58ctx/2058net/129alloc kb, probes: 5 [91328.772506] stap_fdbff7f1307f2134db05cd61303cf320_10123: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 102data/62text/58ctx/2058net/129alloc kb, probes: 5 [91337.298499] stap_d9a37b0da5f5a8207b3d8f7cb8874d1_10395: systemtap: 3.1/0.166, base: fffffc0000f20000, memory: 100data/61text/58ctx/2058net/129alloc kb, probes: 5 [91346.241099] stap_34ad0b107237463ffa9fffb2475136d2_10660: systemtap: 3.1/0.166, base: fffffc0000ed0000, memory: 40data/35text/10ctx/2058net/129alloc kb, probes: 2 [91354.323259] stap_2048302771f4f21723b879b67b80a90_10910: systemtap: 3.1/0.166, base: fffffc0001010000, memory: 38data/34text/25ctx/2058net/129alloc kb, probes: 2 [91358.915831] stap_1cef053a2722b29b2b7f0ed39801535_11161: systemtap: 3.1/0.166, base: fffffc0000de0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91360.075851] stap_1cef053a2722b29b2b7f0ed39801535_11173: systemtap: 3.1/0.166, base: fffffc0001060000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91361.199641] stap_1cef053a2722b29b2b7f0ed39801535_11184: systemtap: 3.1/0.166, base: fffffc00010a0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91362.357655] stap_1cef053a2722b29b2b7f0ed39801535_11196: systemtap: 3.1/0.166, base: fffffc00010e0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91363.475004] stap_1cef053a2722b29b2b7f0ed39801535_11208: systemtap: 3.1/0.166, base: fffffc0001140000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91364.591213] stap_1cef053a2722b29b2b7f0ed39801535_11220: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91365.718311] stap_1cef053a2722b29b2b7f0ed39801535_11231: systemtap: 3.1/0.166, base: fffffc00011c0000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91376.085043] stap_4eedb80cbcd2582ae6170db9d4f8a77_11488: systemtap: 3.1/0.166, base: fffffc0001200000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [91380.959064] stap_8a43cc9a1df409608f50b43325d9643_11739: systemtap: 3.1/0.166, base: fffffc0001250000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [91385.878165] stap_98a8e642ba444d41bb1de808cfd65f1_11990: systemtap: 3.1/0.166, base: fffffc00012a0000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [91390.776731] stap_e0eebb2dd37d13a6208839e7606ab92_12241: systemtap: 3.1/0.166, base: fffffc0001360000, memory: 67data/34text/13ctx/2058net/146alloc kb, probes: 3 [91421.066663] stap_834b827a0eb572aaede2b978c6ab8bf6_13252: systemtap: 3.1/0.166, base: fffffc0001570000, memory: 45data/40text/96ctx/2058net/129alloc kb, probes: 4 [91457.534908] stap_1952c1910f4ff83ed838a97f8d637dc_13935: systemtap: 3.1/0.166, base: fffffc0001620000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91462.191416] stap_ea4ea02bf3d2e3755ec438a03db9e39_14184: systemtap: 3.1/0.166, base: fffffc0001320000, memory: 34data/29text/5ctx/2058net/129alloc kb, probes: 2 [91470.784638] stap_419e5f7f59ca4893e63f44a3486e2a1_14462: systemtap: 3.1/0.166, base: fffffc0000940000, memory: 81data/55text/5ctx/2058net/129alloc kb, probes: 2 [91475.742675] stap_a2360bd06f16ba45d31f23230cded6d_14732: systemtap: 3.1/0.166, base: fffffc0000a30000, memory: 39data/33text/109ctx/2058net/241alloc kb, probes: 7 [91480.559217] stap_7098acc7f38b9740e91962a8c4c6e4b_14984: systemtap: 3.1/0.166, base: fffffc0000c30000, memory: 39data/33text/157ctx/2058net/241alloc kb, probes: 7 [91485.410835] stap_290ddb13707343722f66694340b7370_15236: systemtap: 3.1/0.166, base: fffffc0000c80000, memory: 39data/33text/237ctx/2058net/241alloc kb, probes: 7 [91490.244079] stap_44e80fff87ad77e8845c00c2efe1c9c_15487: systemtap: 3.1/0.166, base: fffffc0000d20000, memory: 39data/33text/237ctx/2058net/241alloc kb, probes: 7 [91495.085676] stap_f89e969b5686b2d493d8b818d79d606_15738: systemtap: 3.1/0.166, base: fffffc0000e70000, memory: 39data/33text/237ctx/2058net/130alloc kb, probes: 7 [91499.919148] stap_70d438757b7a3481198bfe78bca8ab8_15989: systemtap: 3.1/0.166, base: fffffc0000ec0000, memory: 39data/33text/237ctx/2058net/130alloc kb, probes: 7 [91504.779372] stap_aa026d0244e1e3325598835d38c25f8_16240: systemtap: 3.1/0.166, base: fffffc0000ff0000, memory: 38data/33text/24ctx/2058net/241alloc kb, probes: 7 [91509.614183] stap_ffe860f205a5367f408842505b13d68_16491: systemtap: 3.1/0.166, base: fffffc0001040000, memory: 39data/33text/231ctx/2058net/241alloc kb, probes: 7 [91514.474035] stap_8360e7a9489974bd588394169c8dad3_16740: systemtap: 3.1/0.166, base: fffffc0001090000, memory: 37data/33text/13ctx/2058net/130alloc kb, probes: 2 [91545.058311] stap_5887f24d869fc67226e7c0902768299_17818: systemtap: 3.1/0.166, base: fffffc0001120000, memory: 111data/57text/10ctx/2058net/129alloc kb, probes: 8 [91553.267273] stap_c35674df2e26f783a5675d1e7f7c142_18091: systemtap: 3.1/0.166, base: fffffc0001180000, memory: 111data/57text/10ctx/2058net/129alloc kb, probes: 8 [91561.416737] stap_39f7aac6e3984c70fd65fe1eb452f08_18364: systemtap: 3.1/0.166, base: fffffc00011e0000, memory: 111data/57text/10ctx/2058net/129alloc kb, probes: 8 [91566.108430] stap_2788ec8c35850189887303f02dfb231_18616: systemtap: 3.1/0.166, base: fffffc0001240000, memory: 36data/31text/5ctx/2058net/129alloc kb, probes: 2 [91566.108437] SYSTEMTAP DEBUG_MEM TEST PASS: debug_mem testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/debug_mem.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/debugpath.exp ... spawn env SYSTEMTAP_DEBUGINFO_PATH=/dev/null stap -e probe kernel.function("vfs_read") {} -wp4 semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("vfs_read") {} ^ semantic error: missing arm64 kernel/module debuginfo [man warning::debuginfo] under '/lib/modules/4.8.0-rc1uprobes+/build' PASS: debugpath-bad spawn env SYSTEMTAP_DEBUGINFO_PATH=/usr/lib/debug stap -e probe kernel.function("vfs_read") {} -wp2 semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("vfs_read") {} ^ semantic error: missing arm64 kernel/module debuginfo [man warning::debuginfo] under '/lib/modules/4.8.0-rc1uprobes+/build' Pass 2: analysis failed. [man error::pass2] FAIL: debugpath-good (eof) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/debugpath.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/deref.exp ... executing: stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/deref.stp spawn stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/deref.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/410sys/418real ms. Pass 2: analyzed script: 4 probes, 17 functions, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapFyNxkl/stap_e1e74b779f1c9fc79c81162a45e46023_4973_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "stap_e1e74b779f1c9fc79c81162a45e46023_4973.ko" in 0usr/3810sys/3869real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/deref.stp startup PASS: systemtap.base/deref.stp load generation Executing: kill -INT -18639 systemtap ending probe systemtap test success PASS: systemtap.base/deref.stp shutdown and output Pass 5: run completed in 0usr/70sys/1066real ms. metric: systemtap.base/deref.stp 0 410 418 0 10 9 0 0 3 0 3810 3869 0 70 1066 Executing: kill -INT -18639 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/deref.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/deref2.exp ... UNTESTED: deref2 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/deref2.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/div0.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/div0.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/div0.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 3 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapjjEAX2/stap_98543cd7cf90f55a99495fc6c8b0d96b_1652_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_98543cd7cf90f55a99495fc6c8b0d96b_1652.ko" in 0usr/3380sys/3436real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe PASS: systemtap.base/div0.stp startup PASS: systemtap.base/div0.stp load generation Executing: kill -INT -18894 ERROR: division by 0 near operator '/' at /root/systemtap_write/systemtap/testsuite/systemtap.base/div0.stp:26:10 WARNING: Number of errors: 1, skipped probes: 0 PASS: systemtap.base/div0.stp shutdown and output Executing: kill -INT -18894 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/div0.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace.exp ... /root/systemtap_write/install/bin/dtrace -G -64 -fPIC -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.o PASS: dtrace python -G -64 -fPIC -o dtrace-XXX.o /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX PASS: dtrace python -G -o dtrace-XXX /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.h PASS: dtrace python -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX PASS: dtrace python -h -o dtrace-XXX /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX.o PASS: dtrace python -G -o /tmp/XXX.o /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX PASS: dtrace python -G -o /tmp/XXX /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX.h PASS: dtrace python -h -o /tmp/XXX.h /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX PASS: dtrace python -h -o /tmp/XXX /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python -G /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python -h CFLAGS="MYCFLAGS" CC=echo /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d spawn env CFLAGS=MYCFLAGS CC=echo /usr/bin/python /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -g MYCFLAGS -fPIC -I. -I/root/systemtap_write/install/include -c /tmp/tmpx4bf4T.c -o dtrace-test.o PASS: dtrace python CFLAGS= CC= /root/systemtap_write/install/bin/dtrace -C -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore PASS: dtrace python -C -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C -I/root/systemtap_write/systemtap/testsuite/systemtap.base -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d -o XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore #else #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (tstsyscall_test1_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test1_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST1(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test1, arg1, arg2, arg3, arg4, arg5) /* TSTSYSCALL_TEST2 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (test2_semaphore, 0) #define tstsyscall_test2_semaphore test2_semaphore #else #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (tstsyscall_test2_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test2_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST2(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test2, arg1, arg2, arg3, arg4, arg5) PASS: dtrace python -C -Iincpath -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C --no-pyparsing -I/root/systemtap_write/systemtap/testsuite/systemtap.base -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d -o dtrace-XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore #else #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (tstsyscall_test1_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test1_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST1(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test1, arg1, arg2, arg3, arg4, arg5) /* TSTSYSCALL_TEST2 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (test2_semaphore, 0) #define tstsyscall_test2_semaphore test2_semaphore #else #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (tstsyscall_test2_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test2_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST2(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test2, arg1, arg2, arg3, arg4, arg5) PASS: dtrace python -C --no-pyparsing -Iincpath -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C -DDCL_AFTER_PROVIDER -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-pypath.d -o dtrace-XXX.h spawn /usr/bin/python /root/systemtap_write/install/bin/dtrace -C -DDCL_AFTER_PROVIDER -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-pypath.d -o dtrace-XXX.h Warning: /root/systemtap_write/install/bin/dtrace:/tmp/tmp5hDCDC.d:541: syntax error near: probe input__stop Warning: Proceeding as if --no-pyparsing was given. PASS: dtrace python parser check /root/systemtap_write/install/bin/dtrace -I/root/systemtap_write/systemtap/testsuite/systemtap.base -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d PASS: dtrace python -Iincpath -G /root/systemtap_write/install/bin/dtrace /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace.d spawn diff -wqs dtrace-1.h dtrace-2.h Files dtrace-1.h and dtrace-2.h are identical exec nm dtrace-1.o > dtrace-1.od spawn diff -qs dtrace-1.od dtrace-2.od Files dtrace-1.od and dtrace-2.od are identical PASS: dtrace python known uses /root/systemtap_write/install/bin/dtrace -x IGNORED -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python -x IGNORED /root/systemtap_write/install/bin/dtrace -G -64 -fPIC -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.o PASS: dtrace python2 -G -64 -fPIC -o dtrace-XXX.o /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX PASS: dtrace python2 -G -o dtrace-XXX /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.h PASS: dtrace python2 -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX PASS: dtrace python2 -h -o dtrace-XXX /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX.o PASS: dtrace python2 -G -o /tmp/XXX.o /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX PASS: dtrace python2 -G -o /tmp/XXX /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX.h PASS: dtrace python2 -h -o /tmp/XXX.h /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o /tmp/XXX PASS: dtrace python2 -h -o /tmp/XXX /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python2 -G /root/systemtap_write/install/bin/dtrace -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python2 -h CFLAGS="MYCFLAGS" CC=echo /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d spawn env CFLAGS=MYCFLAGS CC=echo /usr/bin/python2 /root/systemtap_write/install/bin/dtrace -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -g MYCFLAGS -fPIC -I. -I/root/systemtap_write/install/include -c /tmp/tmpsUpBQM.c -o dtrace-test.o PASS: dtrace python2 CFLAGS= CC= /root/systemtap_write/install/bin/dtrace -C -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d -o dtrace-XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore #else #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (tstsyscall_test1_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test1_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST1(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test1, arg1, arg2, arg3, arg4, arg5) /* TSTSYSCALL_TEST2 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (test2_semaphore, 0) #define tstsyscall_test2_semaphore test2_semaphore #else #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (tstsyscall_test2_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test2_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST2(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test2, arg1, arg2, arg3, arg4, arg5) PASS: dtrace python2 -C -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C -I/root/systemtap_write/systemtap/testsuite/systemtap.base -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d -o XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore #else #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (tstsyscall_test1_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test1_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST1(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test1, arg1, arg2, arg3, arg4, arg5) /* TSTSYSCALL_TEST2 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (test2_semaphore, 0) #define tstsyscall_test2_semaphore test2_semaphore #else #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (tstsyscall_test2_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test2_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST2(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test2, arg1, arg2, arg3, arg4, arg5) PASS: dtrace python2 -C -Iincpath -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C --no-pyparsing -I/root/systemtap_write/systemtap/testsuite/systemtap.base -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d -o dtrace-XXX.h spawn cat dtrace-XXX.h /* Generated by the Systemtap dtrace wrapper */ #define _SDT_HAS_SEMAPHORES 1 #define STAP_HAS_SEMAPHORES 1 /* deprecated */ #include /* TSTSYSCALL_TEST0 ( ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (test0_semaphore, 0) #define tstsyscall_test0_semaphore test0_semaphore #else #define TSTSYSCALL_TEST0_ENABLED() __builtin_expect (tstsyscall_test0_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test0_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST0() \ DTRACE_PROBE (tstsyscall, test0) /* TSTSYSCALL_TEST1 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (test1_semaphore, 0) #define tstsyscall_test1_semaphore test1_semaphore #else #define TSTSYSCALL_TEST1_ENABLED() __builtin_expect (tstsyscall_test1_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test1_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST1(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test1, arg1, arg2, arg3, arg4, arg5) /* TSTSYSCALL_TEST2 ( short arg1, int arg2, int arg3, int arg4, struct astruct arg5 ) */ #if defined STAP_SDT_V1 #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (test2_semaphore, 0) #define tstsyscall_test2_semaphore test2_semaphore #else #define TSTSYSCALL_TEST2_ENABLED() __builtin_expect (tstsyscall_test2_semaphore, 0) #endif __extension__ extern unsigned short tstsyscall_test2_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); #define TSTSYSCALL_TEST2(arg1, arg2, arg3, arg4, arg5) \ DTRACE_PROBE5 (tstsyscall, test2, arg1, arg2, arg3, arg4, arg5) PASS: dtrace python2 -C --no-pyparsing -Iincpath -h -o dtrace-XXX.h /root/systemtap_write/install/bin/dtrace -C -DDCL_AFTER_PROVIDER -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-pypath.d -o dtrace-XXX.h spawn /usr/bin/python2 /root/systemtap_write/install/bin/dtrace -C -DDCL_AFTER_PROVIDER -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-pypath.d -o dtrace-XXX.h Warning: /root/systemtap_write/install/bin/dtrace:/tmp/tmpPovsL9.d:541: syntax error near: probe input__stop Warning: Proceeding as if --no-pyparsing was given. PASS: dtrace python2 parser check /root/systemtap_write/install/bin/dtrace -I/root/systemtap_write/systemtap/testsuite/systemtap.base -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-itest.d PASS: dtrace python2 -Iincpath -G /root/systemtap_write/install/bin/dtrace /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace.d spawn diff -wqs dtrace-1.h dtrace-2.h Files dtrace-1.h and dtrace-2.h are identical exec nm dtrace-1.o > dtrace-1.od spawn diff -qs dtrace-1.od dtrace-2.od Files dtrace-1.od and dtrace-2.od are identical PASS: dtrace python2 known uses /root/systemtap_write/install/bin/dtrace -x IGNORED -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace-test.d PASS: dtrace python2 -x IGNORED UNSUPPORTED: dtrace python3 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/dtrace.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/dump_functions.exp ... PASS: dump_functions (got output of stap --dump-functions) PASS: dump_functions (got output of stap -v --dump-functions) PASS: dump_functions (user_string in output) PASS: dump_functions (_caller_match not in output) PASS: dump_functions (user_string in -v output) PASS: dump_functions (_caller_match in -v output) PASS: dump_functions (mdelay has guru in output) PASS: dump_functions (mdelay has guru in -v output) PASS: dump_functions (uid has unpriv but not pure in output) PASS: dump_functions (uid has unpriv and pure in -v output) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/dump_functions.exp completed in 36 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/dump_probe_aliases.exp ... PASS: dump_probe_aliases (got output of stap --dump-probe-aliases) PASS: dump_probe_aliases (got output of stap -v --dump-probe-aliases) PASS: dump_probe_aliases (oneshot in output) PASS: dump_probe_aliases (vfs.read in output) PASS: dump_probe_aliases (__syscall.accept not in output) PASS: dump_probe_aliases (oneshot in -v output) PASS: dump_probe_aliases (vfs.read in -v output) PASS: dump_probe_aliases (__syscall.accept in -v output) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/dump_probe_aliases.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/environment_sanity.exp ... Executing on host: gcc hello.c -g -lm -o hello-m64 (timeout = 300) spawn -ignore SIGHUP gcc hello.c -g -lm -o hello-m64 Executing on host: g++ hello.cxx -g -lm -o hello-m64 (timeout = 300) spawn -ignore SIGHUP g++ hello.cxx -g -lm -o hello-m64 Host: Linux amd-seattle-19.khw.lab.eng.bos.redhat.com 4.8.0-rc1uprobes+ #1 SMP Mon Aug 15 10:03:07 EDT 2016 aarch64 aarch64 aarch64 GNU/Linux Snapshot: version 3.1/0.166, commit release-3.0-208-gba1635087e19 GCC: 4.8.5 [gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-10)] Distro: Red Hat Enterprise Linux Server release 7.3 Beta (Maipo) SElinux: Enforcing PASS: environment_sanity_test testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/environment_sanity.exp completed in 3 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/equal.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/equal.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/equal.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 2 globals using 94912virt/87872res/7296shr/78464data kb, in 0usr/1190sys/1206real ms. Pass 3: translated to C into "/tmp/stappxP2Ob/stap_f7294398f91a075e08d9bd5ee43e0d83_1987_src.c" using 94912virt/88064res/7488shr/78464data kb, in 0usr/10sys/12real ms. Pass 4: compiled C into "stap_f7294398f91a075e08d9bd5ee43e0d83_1987.ko" in 0usr/3680sys/3725real ms. Pass 5: starting run. WARNING: probe kernel.function("schedule@kernel/sched/core.c:3379") (address 0xfffffc0008900dd0) registration error (rc -22) systemtap starting probe FAIL: systemtap.base/equal.stp startup (timeout) Executing: kill -INT -19488 Executing: kill -INT -19488 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/equal.exp completed in 186 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/error_fn.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/error_fn.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/error_fn.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapazCIJ9/stap_2387b6e4b60889d21d5348ac6d4d3bf1_1592_src.c" using 54848virt/47296res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_2387b6e4b60889d21d5348ac6d4d3bf1_1592.ko" in 0usr/3390sys/3437real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe PASS: systemtap.base/error_fn.stp startup PASS: systemtap.base/error_fn.stp load generation Executing: kill -INT -19761 ERROR: synthetic error WARNING: PASS: systemtap.base/error_fn.stp shutdown and output Number of errors: 1, skipped probes: 0 Executing: kill -INT -19761 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/error_fn.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/execve.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/execve.stp -c /bin/true PASS: systemtap.base/execve.stp -c /bin/true testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/execve.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/expansion.exp ... spawn stap -p1 -e probe a.b.c {} # parse tree dump # file probe a.b.c{ } # file PASS: noexpand spawn stap -p1 -e probe {a,b} {} # parse tree dump # file probe a,b{ } # file probe timer.s(900){ PASS: single spawn stap -p1 -e probe {a,b}.c {} # parse tree dump # file probe a.c,b.c{ } # file probe timer.s(900){ error("probe timeout after 15 minutes");PASS: singlechained1 spawn stap -p1 -e probe a.{b,c} {} # parse tree dump # file probe a.b,a.c{ } # file PASS: singlechained2 spawn stap -p1 -e probe {a,b}.{c,d} {} # parse tree dump # file probe a.c,a.d,b.c,b.d{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } PASS: multi spawn stap -p1 -e probe {a,b}.{c,d,{e.f,g}} {} # parse tree dump # file probe a.c,a.d,a.e.f,a.g,b.c,b.d,b.e.f,b.g{ } # file probe timer.s(900){ PASS: nested testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/expansion.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lm -o /root/systemtap_write/systemtap/testsuite/externalvar (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lm -o /root/systemtap_write/systemtap/testsuite/externalvar cmd: stap -d /root/systemtap_write/systemtap/testsuite/libexternalvar.so -d /root/systemtap_write/systemtap/testsuite/externalvar -c /root/systemtap_write/systemtap/testsuite/externalvar /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.stp cmd output: exevar_c = 42 exevar_i = 2 exevar_l = 21 stat_exevar_c = 42 stat_exevar_i = 2 stat_exevar_l = 21 exe_s->i = 1 exe_s->l = 2 exe_s->c = 3 stat_exe_s->i = 1 stat_exe_s->l = 2 stat_exe_s->c = 3 exe_s->s1 = 0x0 exe_s == exe_s->s2 stat_exe_s->s1 = 0x0 stat_exe_s == exe_s->s2 libvar = 42 stat_libvar = 42 lib_s->i = 1 lib_s->l = 2 lib_s->c = 3 stat_lib_s->i = 1 stat_lib_s->l = 2 stat_lib_s->c = 3 lib_s == lib_s->s1 lib_s->s2 = 0x0 stat_lib_s == lib_s->s1 stat_lib_s->s2 = 0x0 PASS: externalvar-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lm -o /root/systemtap_write/systemtap/testsuite/externalvar (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lm -o /root/systemtap_write/systemtap/testsuite/externalvar cmd: stap -d /root/systemtap_write/systemtap/testsuite/libexternalvar.so -d /root/systemtap_write/systemtap/testsuite/externalvar -c /root/systemtap_write/systemtap/testsuite/externalvar /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.stp cmd output: exevar_c = 42 exevar_i = 2 exevar_l = 21 stat_exevar_c = 42 stat_exevar_i = 2 stat_exevar_l = 21 exe_s->i = 1 exe_s->l = 2 exe_s->c = 3 stat_exe_s->i = 1 stat_exe_s->l = 2 stat_exe_s->c = 3 exe_s->s1 = 0x0 exe_s == exe_s->s2 stat_exe_s->s1 = 0x0 stat_exe_s == exe_s->s2 libvar = 42 stat_libvar = 42 lib_s->i = 1 lib_s->l = 2 lib_s->c = 3 stat_lib_s->i = 1 stat_lib_s->l = 2 stat_lib_s->c = 3 lib_s == lib_s->s1 lib_s->s2 = 0x0 stat_lib_s == lib_s->s1 stat_lib_s->s2 = 0x0 PASS: externalvar-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -O -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar_lib.c -g -fPIC -shared -O -lm -o /root/systemtap_write/systemtap/testsuite/libexternalvar.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -O -lm -o /root/systemtap_write/systemtap/testsuite/externalvar (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.c -g -L/root/systemtap_write/systemtap/testsuite -lexternalvar -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -O -lm -o /root/systemtap_write/systemtap/testsuite/externalvar cmd: stap -d /root/systemtap_write/systemtap/testsuite/libexternalvar.so -d /root/systemtap_write/systemtap/testsuite/externalvar -c /root/systemtap_write/systemtap/testsuite/externalvar /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.stp cmd output: exevar_c = 42 exevar_i = 2 exevar_l = 21 stat_exevar_c = 42 stat_exevar_i = 2 stat_exevar_l = 21 exe_s->i = 1 exe_s->l = 2 exe_s->c = 3 stat_exe_s->i = 1 stat_exe_s->l = 2 stat_exe_s->c = 3 exe_s->s1 = 0x0 exe_s == exe_s->s2 stat_exe_s->s1 = 0x0 stat_exe_s == exe_s->s2 libvar = 42 stat_libvar = 42 lib_s->i = 1 lib_s->l = 2 lib_s->c = 3 stat_lib_s->i = 1 stat_lib_s->l = 2 stat_lib_s->c = 3 lib_s == lib_s->s1 lib_s->s2 = 0x0 stat_lib_s == lib_s->s1 stat_lib_s->s2 = 0x0 PASS: externalvar-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/externalvar.exp completed in 30 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/finloop2.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/finloop2.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/finloop2.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 2 globals using 94912virt/87872res/7296shr/78464data kb, in 0usr/1190sys/1200real ms. Pass 3: translated to C into "/tmp/stapqwLorR/stap_452bd99bcc861cca861f91fbef9fbfa4_1982_src.c" using 94912virt/88064res/7488shr/78464data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_452bd99bcc861cca861f91fbef9fbfa4_1982.ko" in 0usr/3670sys/3737real ms. Pass 5: starting run. WARNING: probe kernel.function("schedule@kernel/sched/core.c:3379") (address 0xfffffc0008900dd0) registration error (rc -22) systemtap starting probe FAIL: systemtap.base/finloop2.stp startup (timeout) Executing: kill -INT -21190 Executing: kill -INT -21190 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/finloop2.exp completed in 186 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec1.exp ... spawn stap -F -o flightrec1.out -we probe begin {} 21470 PASS: flightrec1 (flight recorder option) spawn ps -o cmd hc 21470 stapio PASS: flightrec1 (stapio in background) Executing: kill -USR2 21470 PASS: flightrec1 (output file) Executing: kill -TERM 21470 PASS: flightrec1 (switch output file) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec1.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec2.exp ... spawn stap -F -o flightlog.out -S 1,3 /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec2.stp 21743 PASS: flightrec2 (-S option) spawn stat -c %s flightlog.out.2 flightlog.out.3 flightlog.out.4 1034000 1045000 242000 spawn stat -c %s flightlog.out.6 flightlog.out.5 flightlog.out.7 1034000 1034000 473000 PASS: flightrec2 (log file numbers limitation) PASS: flightrec2 (log file size limitation) Executing: kill -TERM 21743 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec2.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec3.exp ... spawn stap -F -o flightlog.out -S 1,3 -b /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec3.stp 22014 PASS: flightrec3 (-S option with bulk mode) Executing: kill -STOP 22014 spawn stat -c %n %s flightlog.out_cpu6.0 flightlog.out_cpu0.0 flightlog.out_cpu1.0 flightlog.out_cpu2.0 flightlog.out_cpu3.0 flightlog.out_cpu4.0 flightlog.out_cpu5.0 flightlog.out_cpu7.0 flightlog.out_cpu6.0 0 flightlog.out_cpu0.0 0 flightlog.out_cpu1.0 0 flightlog.out_cpu2.0 0 flightlog.out_cpu3.0 0 flightlog.out_cpu4.0 0 flightlog.out_cpu5.0 0 flightlog.out_cpu7.0 0 Executing: kill -CONT 22014 Executing: kill -STOP 22014 spawn stat -c %n %s flightlog.out_cpu6.0 flightlog.out_cpu0.0 flightlog.out_cpu1.0 flightlog.out_cpu2.0 flightlog.out_cpu3.0 flightlog.out_cpu4.0 flightlog.out_cpu5.0 flightlog.out_cpu7.0 flightlog.out_cpu6.0 0 flightlog.out_cpu0.0 0 flightlog.out_cpu1.0 0 flightlog.out_cpu2.0 0 flightlog.out_cpu3.0 0 flightlog.out_cpu4.0 0 flightlog.out_cpu5.0 0 flightlog.out_cpu7.0 0 Executing: kill -CONT 22014 PASS: flightrec3 (log file size limitation with bulk mode) Executing: kill -TERM 22014 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec3.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec4.exp ... spawn stap -F -S 1,2 -o flightrec4.out -we probe begin {} 22064 PASS: flightrec4 (flight recorder option) Executing: kill -USR2 22064 PASS: flightrec4 (output file) Executing: kill -USR2 22064 Executing: kill -USR2 22064 PASS: flightrec4 (old output file is removed) Executing: kill -TERM 22064 PASS: flightrec4 (switch output file) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec4.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec5.exp ... spawn stap -F -S 1,2 -b -o flightrec5.out -we probe begin {} 22342 PASS: flightrec5 (flight recorder option) Executing: kill -USR2 22342 PASS: flightrec5 (output file) Executing: kill -USR2 22342 Executing: kill -USR2 22342 Executing: kill -TERM 22342 PASS: flightrec5 (old output file is removed) PASS: flightrec5 (switch output file) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/flightrec5.exp completed in 15 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_aggrsort.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_aggrsort.stp PASS: foreach_aggrsort testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_aggrsort.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_value.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_value.stp PASS: foreach_value testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/foreach_value.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.exp ... testing 64-bit func_alias Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.c -g -lm -o /root/systemtap_write/systemtap/testsuite/func_alias.x64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.c -g -lm -o /root/systemtap_write/systemtap/testsuite/func_alias.x64 subtest 64-bit func_alias direct Running stap -l process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("func_alias") spawn stap -l process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("func_alias") process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.c:1") PASS: 64-bit func_alias direct subtest 64-bit func_alias wildcard Running stap -l process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("func_alias*") spawn stap -l process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("func_alias*") process("/root/systemtap_write/systemtap/testsuite/func_alias.x64").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.c:1") PASS: 64-bit func_alias wildcard testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/func_alias.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/func_definition.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/func_definition.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/func_definition.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 3 probes, 5 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapw8qUHi/stap_7481e113e4c8ce102cee937229718b65_2227_src.c" using 54848virt/47360res/6848shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_7481e113e4c8ce102cee937229718b65_2227.ko" in 0usr/3440sys/3491real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/func_definition.stp startup PASS: systemtap.base/func_definition.stp load generation Executing: kill -INT -22913 systemtap ending probe systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success PASS: systemtap.base/func_definition.stp shutdown and output Pass 5: run completed in 0usr/70sys/1008real ms. metric: systemtap.base/func_definition.stp 0 400 407 0 10 8 0 0 2 0 3440 3491 0 70 1008 Executing: kill -INT -22913 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/func_definition.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/func_overload.exp ... spawn stap -g -e function f() { next return "first function" } function f() { return "second function" } probe begin { println(f()) exit() } WARNING: statement will never be reached: keyword at :4:5 source: return "first function" ^ second function PASS: unconditional_next spawn stap -g -e global x = 0 function f() { if (x == 100) return "first function" else next } function f() { return "second function" } probe begin { println(f()) x = 100 println(f()) exit() } second function first function PASS: runtime_global spawn stap -g -e function f(x, y) { if (x == 500 || y == "hello") return "first function" else next } function f(x, y) { return "second function" } probe begin { println(f(200, "asd")) println(f(900, "hello")) exit() } second function first function PASS: runtime_arguments spawn stap -g -e global x = 0 function f(y) { if (x == 100 || y == 200) return "first function" else next } function f(x) { return "second function" } probe begin { println(f(0)) println(f(200)) x = 100 println(f(0)) exit() } second function first function first function PASS: runtime_conditions spawn stap -g -e function f():1 %{ STAP_NEXT; STAP_PRINTF("first function\n"); %} function f():3 { println("second function") } function f():2 %{ STAP_PRINTF("third function\n"); %} probe begin { f() exit() } WARNING: instance of overloaded function will never be reached: identifier 'f' at :7:12 source: function f():3 { ^ third function PASS: runtime_priority spawn stap -g -e function adder(x) { return x } function adder(x, y) { return x + y } function adder(x, y, z) { return x + y + z } probe begin { println(adder(1)) println(adder(1, 2)) println(adder(1, 2, 3)) exit() } 1 3 6 PASS: arity spawn stap -g -e function adder(x) { if (x != 1) return 1000 else next } function adder(x) { return x } function adder(x, y) { return x + y } function adder(x, y, z) { return x + y + z } probe begin { println(adder(0)) println(adder(1)) println(adder(1, 2)) println(adder(1, 2, 3)) exit() } 1000 1 3 6 PASS: mix spawn stap -g -e function f() { next return 0 } probe begin { println(f()) exit() } WARNING: statement will never be reached: keyword at :4:5 source: return 0 ^ ERROR: all functions exhausted near identifier 'f' at :2:12 PASS: overload_exception testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/func_overload.exp completed in 37 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_access.exp ... spawn stap -g -e global var function read:long() %{ /* pragma:read:var */ STAP_RETURN(STAP_GLOBAL_GET_var()); %} probe begin { var = 111 println(read()) exit() } 111 var=0x6f PASS: function_read_scalar_integer spawn stap -g -e global var[100] function read:long() %{ /* pragma:read:var */ STAP_RETURN(STAP_GLOBAL_GET_var(1, 1)); %} probe begin { var[1,1] = 222 println(read()) exit() } 222 var[1,1]=0xde PASS: function_read_map_integer spawn stap -g -e global var probe begin { var = 333 println(%{ /* pragma:read:var */ STAP_GLOBAL_GET_var() %}) exit() } 333 var=0x14d PASS: block_read_scalar_integer spawn stap -g -e global var[100] probe begin { var[1,1] = 444 println(%{ /* pragma:read:var */ STAP_GLOBAL_GET_var(1,1) %}) exit() } 444 var[1,1]=0x1bc PASS: block_read_map_integer spawn stap -g -e global var = 0 function write() %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(555); %} probe begin { write() println(var) exit() } 555 PASS: function_write_scalar_integer spawn stap -g -e global var[100] function write() %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(1,1,666); %} probe begin { var[1,1] = 0 write() println(var[1,1]) exit() } 666 PASS: function_write_map_integer spawn stap -g -e global var = 0 probe begin { %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(777) %} println(var) exit() } 777 PASS: block_write_scalar_integer spawn stap -g -e global var[100] probe begin { var[1,1] = 0 %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(1,1,888) %} println(var[1,1]) exit() } 888 PASS: block_write_map_integer spawn stap -g -e global var = "" function write() %{ /* pragma:write:var */ STAP_GLOBAL_SET_var("hello"); %} probe begin { write() println(var) exit() } hello PASS: function_write_scalar_string spawn stap -g -e global var[100] function write() %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(1,1,"hello"); %} probe begin { var[1,1] = "" write() println(var[1,1]) exit() } hello PASS: function_write_map_string spawn stap -g -e global var = "" probe begin { %{ /* pragma:write:var */ STAP_GLOBAL_SET_var("hello") %} println(var) exit() } hello PASS: block_write_scalar_string spawn stap -g -e global var[100] probe begin { var[1,1] = "" %{ /* pragma:write:var */ STAP_GLOBAL_SET_var(1,1,"hello") %} println(var[1,1]) exit() } hello PASS: block_write_map_string spawn stap -g -e global var = "hello" global var2 = "" function write() %{ /* pragma:read:var */ /* pragma:write:var2 */ STAP_GLOBAL_SET_var2(STAP_GLOBAL_GET_var()); %} probe begin { write() println(var2) exit() } hello PASS: function_read_scalar_string spawn stap -g -e global var[100] global var2[100] function write() %{ /* pragma:read:var */ /* pragma:write:var2 */ STAP_GLOBAL_SET_var2(1,1,STAP_GLOBAL_GET_var(1,1)); %} probe begin { var[1,1] = "hello" var2[1,1] = "" write() println(var2[1,1]) exit() } hello var[1,1]="hello" PASS: function_read_map_string testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_access.exp completed in 65 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end.stp 0 [one,0x1]=0x1 [one,0x2]=0x2 [two,0x1]=0x3 [two,0x2]=0x4 epsilon["one", 1] count:4 min:1 max:4 sum:10 avg:2 epsilon["two", 2] count:4 min:10 max:40 sum:100 avg:25 alpha["two",2]=0x4 alpha["two",1]=0x3 alpha["one",2]=0x2 alpha["one",1]=0x1 gamma="abcdefghijklmnopqrstuvwxyz" iota["two"]="twelve" iota["one"]="eleven" phi @count=4 @min=1 @max=4 @sum=10 @avg=2 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end2.stp Avg time = 3 PASS: global_end (12) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end_var.stp 0 gs7=7 11 ls0=18 ls1=2 ls5=6 gs0_save=0x29 gs2=0x4 gs3=0x4 gs4=0x5 ga1["foo"]=0x2 ga2["foo"]=0x1 PASS: global_end_var (6) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end_var_used.stp 0 hello!PASS: global_end_var_used (1) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end.stp 1 [one,0x1]=0x1 [one,0x2]=0x2 [two,0x1]=0x3 [two,0x2]=0x4 epsilon["one", 1] count:4 min:1 max:4 sum:10 avg:2 epsilon["two", 2] count:4 min:10 max:40 sum:100 avg:25 alpha["two",2]=0x4 alpha["two",1]=0x3 alpha["one",2]=0x2 alpha["one",1]=0x1 gamma="abcdefghijklmnopqrstuvwxyz" iota["two"]="twelve" iota["one"]="eleven" phi @count=4 @min=1 @max=4 @sum=10 @avg=2 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end2.stp Avg time = 2 PASS: global_end (12) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end_var.stp 1 gs7=7 11 ls0=18 ls1=2 ls5=6 gs0_save=0x29 gs2=0x4 gs3=0x4 gs4=0x5 ga1["foo"]=0x2 ga2["foo"]=0x1 PASS: global_end_var (6) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end_var_used.stp 1 hello!PASS: global_end_var_used (1) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_end.exp completed in 37 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_init.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_init.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_init.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 5 probes, 1 function, 0 embeds, 4 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapUo9IDg/stap_e908e1e638e4b1290b91c33f443881b7_2083_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_e908e1e638e4b1290b91c33f443881b7_2083.ko" in 0usr/3450sys/3491real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/global_init.stp startup PASS: systemtap.base/global_init.stp load generation Executing: kill -INT -30473 systemtap ending probe systemtap test success PASS: systemtap.base/global_init.stp shutdown and output Pass 5: run completed in 0usr/70sys/1205real ms. metric: systemtap.base/global_init.stp 0 400 406 0 10 8 0 0 2 0 3450 3491 0 70 1205 Executing: kill -INT -30473 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_init.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt.exp ... spawn stap -G var1=29 -e global var1=9 ; probe begin { if (var1 == 29) println("systemtap test success") else println("systemtap test failure") ; exit() } systemtap test success PASS: global_opt testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt_invalid.exp ... spawn stap -G var1=z29 -e global var1=9 ; probe begin { if (var1 == 9) println("systemtap test success") else println("systemtap test failure") ; exit() } ERROR: Couldn't insert module '/tmp/stapj3hlod/stap_5296a453ab944f29fe9b5335586974c5_1599.ko': Invalid parameters PASS: global_opt_invalid testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt_invalid.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt_unknown.exp ... spawn stap -G var2=29 -e global var1=9 ; probe begin { if (var1 == 9) println("systemtap test success") else println("systemtap test failure") ; exit() } systemtap test success PASS: global_opt_unknown testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_opt_unknown.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_stat.exp ... spawn stap -e global var; probe never {var<<<1} probe begin {exit()} var @count=0x0 PASS: global_stat testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_stat.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var.exp ... Executing on host: gcc -g -c -o global_var_speed_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c (timeout = 300) spawn -ignore SIGHUP gcc -g -c -o global_var_speed_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c Executing on host: gcc -g -c -o global_var_distance_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c (timeout = 300) spawn -ignore SIGHUP gcc -g -c -o global_var_distance_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64.o global_var_distance_m64.o -g -lm -o global_var_main_m64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64.o global_var_distance_m64.o -g -lm -o global_var_main_m64 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var.stp -c ./global_var_main_m64 PASS: global_var-m64 Executing on host: gcc -g -c -o global_var_speed_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c (timeout = 300) spawn -ignore SIGHUP gcc -g -c -o global_var_speed_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c Executing on host: gcc -g -c -o global_var_distance_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c (timeout = 300) spawn -ignore SIGHUP gcc -g -c -o global_var_distance_m64.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64.o global_var_distance_m64.o -g -lm -o global_var_main_m64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64.o global_var_distance_m64.o -g -lm -o global_var_main_m64 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var.stp -c ./global_var_main_m64 PASS: global_var-m64 Executing on host: gcc -O -g -c -o global_var_speed_m64-O.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c (timeout = 300) spawn -ignore SIGHUP gcc -O -g -c -o global_var_speed_m64-O.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_speed.c Executing on host: gcc -O -g -c -o global_var_distance_m64-O.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c (timeout = 300) spawn -ignore SIGHUP gcc -O -g -c -o global_var_distance_m64-O.o /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_distance.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64-O.o global_var_distance_m64-O.o -O -g -lm -o global_var_main_m64-O (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_main.c global_var_speed_m64-O.o global_var_distance_m64-O.o -O -g -lm -o global_var_main_m64-O executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var.stp -c ./global_var_main_m64-O PASS: global_var-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_kernel.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_kernel.stp -c {cat /dev/null} spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_kernel.stp -c cat /dev/null Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 3 probes, 8 functions, 96 embeds, 0 globals using 100544virt/93952res/7680shr/84096data kb, in 0usr/2220sys/2241real ms. Pass 3: translated to C into "/tmp/stapAfOgHi/stap_ca0c86f5dcb40c2a8a2ae0778c244e33_58153_src.c" using 100544virt/94080res/7808shr/84096data kb, in 0usr/10sys/12real ms. Pass 4: compiled C into "stap_ca0c86f5dcb40c2a8a2ae0778c244e33_58153.ko" in 0usr/3900sys/3951real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe sys_tz = {.tz_minuteswest=240, .tz_dsttime=0} f: {.tz_minuteswest=240, .tz_dsttime=0} PASS: global_var_kernel startup PASS: global_var_kernel load generation Executing: kill -INT -32364 PASS: global_var_kernel shutdown and output Pass 5: run completed in 0usr/70sys/542real ms. metric: global_var_kernel 0 390 398 0 2220 2241 0 10 12 0 3900 3951 0 70 542 Executing: kill -INT -32364 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_var_kernel.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/global_vars.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_vars.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/global_vars.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 5 probes, 1 function, 0 embeds, 8 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapFS2apN/stap_aed588fbcbe6281d2d4fdfadac021965_2725_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/10sys/3real ms. Pass 4: compiled C into "stap_aed588fbcbe6281d2d4fdfadac021965_2725.ko" in 0usr/3590sys/3650real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/global_vars.stp startup PASS: systemtap.base/global_vars.stp load generation Executing: kill -INT -32620 systemtap ending probe systemtap test success PASS: systemtap.base/global_vars.stp shutdown and output Pass 5: run completed in 0usr/70sys/1026real ms. metric: systemtap.base/global_vars.stp 0 400 406 0 10 9 0 10 3 0 3590 3650 0 70 1026 Executing: kill -INT -32620 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/global_vars.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.c -lm -o /root/systemtap_write/systemtap/testsuite/gtod (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.c -lm -o /root/systemtap_write/systemtap/testsuite/gtod spawn /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.stp /root/systemtap_write/systemtap/testsuite/gtod :00 1471363792292813 appl :00 1471363792292820 kern :00 1471363792292856 prog :01 1471363792292856 appl :01 1471363792292858 kern :01 1471363792292861 prog :02 1471363792292861 appl :02 1471363792292862 kern :02 1471363792292864 prog :03 1471363792292865 appl :03 1471363792292866 kern :03 1471363792292868 prog :04 1471363792292868 appl :04 1471363792292869 kern :04 1471363792292872 prog :05 1471363792292872 appl :05 1471363792292873 kern :05 1471363792292875 prog :06 1471363792292875 appl :06 1471363792292876 kern :06 1471363792292879 prog :07 1471363792292879 appl :07 1471363792292880 kern :07 1471363792292882 prog :08 1471363792292882 appl :08 1471363792292883 kern :08 1471363792292886 prog :09 1471363792292886 appl :09 1471363792292887 kern :09 1471363792292889 prog :10 1471363792292889 appl :10 1471363792292890 kern :10 1471363792292893 prog :11 1471363792292893 appl :11 1471363792292894 kern :11 1471363792292896 prog :12 1471363792292896 appl :12 1471363792292897 kern :12 1471363792292900 prog :13 1471363792292900 appl :13 1471363792292901 kern :13 1471363792292903 prog :14 1471363792292903 appl :14 1471363792292904 kern :14 1471363792292906 prog :15 1471363792292907 appl :15 1471363792292908 kern :15 1471363792292910 prog :16 1471363792292910 appl :16 1471363792292911 kern :16 1471363792292913 prog :17 1471363792292913 appl :17 1471363792292915 kern :17 1471363792292917 prog :18 1471363792292917 appl :18 1471363792292918 kern :18 1471363792292920 prog :19 1471363792292920 appl :19 1471363792292921 kern :19 1471363792292924 prog :20 1471363792292924 appl :20 1471363792292925 kern :20 1471363792292927 prog :21 1471363792292927 appl :21 1471363792292928 kern :21 1471363792292931 prog :22 1471363792292931 appl :22 1471363792292932 kern :22 1471363792292934 prog :23 1471363792292934 appl :23 1471363792292935 kern :23 1471363792292937 prog :24 1471363792292937 appl :24 1471363792292939 kern :24 1471363792292941 prog :25 1471363792292941 appl :25 1471363792292942 kern :25 1471363792292944 prog :26 1471363792292944 appl :26 1471363792292946 kern :26 1471363792292948 prog :27 1471363792292948 appl :27 1471363792292949 kern :27 1471363792292951 prog :28 1471363792292951 appl :28 1471363792292952 kern :28 1471363792292955 prog :29 1471363792292955 appl :29 1471363792292956 kern :29 1471363792292958 prog :30 1471363792292958 appl :30 1471363792292959 kern :30 1471363792292962 prog :31 1471363792292962 appl :31 1471363792292963 kern :31 1471363792292965 prog :32 1471363792292965 appl :32 1471363792292966 kern :32 1471363792292968 prog :33 1471363792292968 appl :33 1471363792292970 kern :33 1471363792292972 prog :34 1471363792292972 appl :34 1471363792292973 kern :34 1471363792292975 prog :35 1471363792292975 appl :35 1471363792292976 kern :35 1471363792292979 prog :36 1471363792292979 appl :36 1471363792292980 kern :36 1471363792292982 prog :37 1471363792292982 appl :37 1471363792292983 kern :37 1471363792292986 prog :38 1471363792292986 appl :38 1471363792292987 kern :38 1471363792292989 prog :39 1471363792292989 appl :39 1471363792292990 kern :39 1471363792292992 prog :40 1471363792292993 appl :40 1471363792292994 kern :40 1471363792292996 prog :41 1471363792292996 appl :41 1471363792292997 kern :41 1471363792292999 prog :42 1471363792292999 appl :42 1471363792293001 kern :42 1471363792293003 prog :43 1471363792293003 appl :43 1471363792293004 kern :43 1471363792293006 prog :44 1471363792293006 appl :44 1471363792293007 kern :44 1471363792293010 prog :45 1471363792293010 appl :45 1471363792293011 kern :45 1471363792293013 prog :46 1471363792293013 appl :46 1471363792293014 kern :46 1471363792293017 prog :47 1471363792293017 appl :47 1471363792293018 kern :47 1471363792293020 prog :48 1471363792293020 appl :48 1471363792293021 kern :48 1471363792293023 prog :49 1471363792293023 appl :49 1471363792293025 kern :49 1471363792293027 prog :50 1471363792293027 appl :50 1471363792293028 kern :50 1471363792293030 prog :51 1471363792293030 appl :51 1471363792293031 kern :51 1471363792293034 prog :52 1471363792293034 appl :52 1471363792293035 kern :52 1471363792293037 prog :53 1471363792293037 appl :53 1471363792293038 kern :53 1471363792293041 prog :54 1471363792293041 appl :54 1471363792293042 kern :54 1471363792293044 prog :55 1471363792293044 appl :55 1471363792293045 kern :55 1471363792293047 prog :56 1471363792293048 appl :56 1471363792293049 kern :56 1471363792293051 prog :57 1471363792293051 appl :57 1471363792293052 kern :57 1471363792293054 prog :58 1471363792293054 appl :58 1471363792293056 kern :58 1471363792293058 prog :59 1471363792293058 appl :59 1471363792293059 kern :59 1471363792293061 prog :60 1471363792293061 appl :60 1471363792293062 kern :60 1471363792293065 prog :61 1471363792293065 appl :61 1471363792293066 kern :61 1471363792293068 prog :62 1471363792293068 appl :62 1471363792293069 kern :62 1471363792293072 prog :63 1471363792293072 appl :63 1471363792293073 kern :63 1471363792293075 prog :64 1471363792293075 appl :64 1471363792293076 kern :64 1471363792293078 prog :65 1471363792293078 appl :65 1471363792293080 kern :65 1471363792293094 prog :66 1471363792293094 appl :66 1471363792293096 kern :66 1471363792293098 prog :67 1471363792293098 appl :67 1471363792293099 kern :67 1471363792293102 prog :68 1471363792293102 appl :68 1471363792293103 kern :68 1471363792293105 prog :69 1471363792293105 appl :69 1471363792293106 kern :69 1471363792293109 prog :70 1471363792293109 appl :70 1471363792293110 kern :70 1471363792293112 prog :71 1471363792293112 appl :71 1471363792293113 kern :71 1471363792293116 prog :72 1471363792293116 appl :72 1471363792293117 kern :72 1471363792293119 prog :73 1471363792293119 appl :73 1471363792293120 kern :73 1471363792293123 prog :74 1471363792293123 appl :74 1471363792293124 kern :74 1471363792293126 prog :75 1471363792293126 appl :75 1471363792293127 kern :75 1471363792293130 prog :76 1471363792293130 appl :76 1471363792293131 kern :76 1471363792293133 prog :77 1471363792293133 appl :77 1471363792293134 kern :77 1471363792293136 prog :78 1471363792293137 appl :78 1471363792293138 kern :78 1471363792293140 prog :79 1471363792293140 appl :79 1471363792293141 kern :79 1471363792293143 prog :80 1471363792293143 appl :80 1471363792293145 kern :80 1471363792293147 prog :81 1471363792293147 appl :81 1471363792293148 kern :81 1471363792293150 prog :82 1471363792293150 appl :82 1471363792293152 kern :82 1471363792293154 prog :83 1471363792293154 appl :83 1471363792293155 kern :83 1471363792293157 prog :84 1471363792293157 appl :84 1471363792293159 kern :84 1471363792293161 prog :85 1471363792293161 appl :85 1471363792293162 kern :85 1471363792293164 prog :86 1471363792293164 appl :86 1471363792293165 kern :86 1471363792293168 prog :87 1471363792293168 appl :87 1471363792293169 kern :87 1471363792293171 prog :88 1471363792293171 appl :88 1471363792293172 kern :88 1471363792293175 prog :89 1471363792293175 appl :89 1471363792293176 kern :89 1471363792293178 prog :90 1471363792293178 appl :90 1471363792293179 kern :90 1471363792293182 prog :91 1471363792293182 appl :91 1471363792293183 kern :91 1471363792293185 prog :92 1471363792293185 appl :92 1471363792293186 kern :92 1471363792293189 prog :93 1471363792293189 appl :93 1471363792293190 kern :93 1471363792293192 prog :94 1471363792293192 appl :94 1471363792293193 kern :94 1471363792293196 prog :95 1471363792293196 appl :95 1471363792293197 kern :95 1471363792293199 prog :96 1471363792293199 appl :96 1471363792293200 kern :96 1471363792293202 prog :97 1471363792293203 appl :97 1471363792293204 kern :97 1471363792293206 prog :98 1471363792293206 appl :98 1471363792293207 kern :98 1471363792293209 prog :99 1471363792293210 appl :99 1471363792293211 kern :99 1471363792293213 prog maximum time difference was 36 us PASS: gtod (short range) (100) spawn /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.stp /root/systemtap_write/systemtap/testsuite/gtod 10000 :00 1471363796176824 appl :00 1471363796176831 kern :00 1471363796176868 prog :01 1471363796186938 appl :01 1471363796186942 kern :01 1471363796186943 prog :02 1471363796197011 appl :02 1471363796197016 kern :02 1471363796197016 prog :03 1471363796207091 appl :03 1471363796207095 prog :03 1471363796207098 kern :04 1471363796217160 appl :04 1471363796217165 prog :04 1471363796217169 kern :05 1471363796227230 appl :05 1471363796227234 prog :05 1471363796227240 kern :06 1471363796237297 appl :06 1471363796237301 prog :06 1471363796237309 kern :07 1471363796247365 appl :07 1471363796247368 prog :07 1471363796247378 kern :08 1471363796257434 appl :08 1471363796257439 prog :08 1471363796257450 kern :09 1471363796267503 appl :09 1471363796267507 prog :09 1471363796267520 kern :10 1471363796277571 appl :10 1471363796277572 kern :10 1471363796277575 prog :11 1471363796287639 appl :11 1471363796287642 kern :11 1471363796287643 prog :12 1471363796297709 appl :12 1471363796297713 prog :12 1471363796297714 kern :13 1471363796307779 appl :13 1471363796307783 prog :13 1471363796307786 kern :14 1471363796317847 appl :14 1471363796317851 prog :14 1471363796317856 kern :15 1471363796327915 appl :15 1471363796327919 prog :15 1471363796327926 kern :16 1471363796337983 appl :16 1471363796337987 prog :16 1471363796337995 kern :17 1471363796348051 appl :17 1471363796348055 prog :17 1471363796348064 kern :18 1471363796358103 appl :18 1471363796358107 prog :18 1471363796358118 kern :19 1471363796368173 appl :19 1471363796368177 prog :19 1471363796368189 kern :20 1471363796378242 appl :20 1471363796378246 prog :20 1471363796378261 kern :21 1471363796388312 appl :21 1471363796388317 prog :21 1471363796388333 kern :22 1471363796398382 appl :22 1471363796398386 prog :22 1471363796398403 kern :23 1471363796408451 appl :23 1471363796408456 prog :23 1471363796408475 kern :24 1471363796418520 appl :24 1471363796418524 prog :24 1471363796418545 kern :25 1471363796428589 appl :25 1471363796428593 prog :25 1471363796428616 kern :26 1471363796438658 appl :26 1471363796438662 prog :26 1471363796438687 kern :27 1471363796448727 appl :27 1471363796448731 prog :27 1471363796448757 kern :28 1471363796458795 appl :28 1471363796458799 prog :28 1471363796458827 kern :29 1471363796468862 appl :29 1471363796468866 prog :29 1471363796468896 kern :30 1471363796478932 appl :30 1471363796478936 prog :30 1471363796478968 kern :31 1471363796489001 appl :31 1471363796489005 prog :31 1471363796489038 kern :32 1471363796499070 appl :32 1471363796499074 prog :32 1471363796499109 kern :33 1471363796509139 appl :33 1471363796509143 prog :33 1471363796509180 kern :34 1471363796519209 appl :34 1471363796519213 prog :34 1471363796519252 kern :35 1471363796529278 appl :35 1471363796529282 prog :35 1471363796529322 kern :36 1471363796539348 appl :36 1471363796539352 prog :36 1471363796539394 kern :37 1471363796549417 appl :37 1471363796549421 prog :37 1471363796549464 kern :38 1471363796559485 appl :38 1471363796559489 prog :38 1471363796559534 kern :39 1471363796569553 appl :39 1471363796569557 prog :39 1471363796569604 kern :40 1471363796579622 appl :40 1471363796579626 prog :40 1471363796579674 kern :41 1471363796589689 appl :41 1471363796589693 prog :41 1471363796589743 kern :42 1471363796599757 appl :42 1471363796599761 prog :42 1471363796599813 kern :43 1471363796609826 appl :43 1471363796609830 prog :43 1471363796609884 kern :44 1471363796619895 appl :44 1471363796619899 prog :44 1471363796619954 kern :45 1471363796629964 appl :45 1471363796629968 prog :45 1471363796630025 kern :46 1471363796640033 appl :46 1471363796640037 prog :46 1471363796640095 kern :47 1471363796650101 appl :47 1471363796650106 prog :47 1471363796650166 kern :48 1471363796660170 appl :48 1471363796660174 prog :48 1471363796660236 kern :49 1471363796670239 appl :49 1471363796670243 prog :49 1471363796670307 kern :50 1471363796680308 appl :50 1471363796680312 prog :50 1471363796680378 kern :51 1471363796690376 appl :51 1471363796690380 prog :51 1471363796690447 kern :52 1471363796700445 appl :52 1471363796700449 prog :52 1471363796700518 kern :53 1471363796710512 appl :53 1471363796710517 prog :53 1471363796710587 kern :54 1471363796720581 appl :54 1471363796720585 prog :54 1471363796720657 kern :55 1471363796730651 appl :55 1471363796730655 prog :55 1471363796730729 kern :56 1471363796740721 appl :56 1471363796740725 prog :56 1471363796740800 kern :57 1471363796750791 appl :57 1471363796750795 prog :57 1471363796750872 kern :58 1471363796760860 appl :58 1471363796760865 prog :58 1471363796760943 kern :59 1471363796770928 appl :59 1471363796770932 prog :59 1471363796771013 kern :60 1471363796780999 appl :60 1471363796781003 prog :60 1471363796781085 kern :61 1471363796791067 appl :61 1471363796791071 prog :61 1471363796791155 kern :62 1471363796801135 appl :62 1471363796801139 prog :62 1471363796801225 kern :63 1471363796811203 appl :63 1471363796811207 prog :63 1471363796811294 kern :64 1471363796821272 appl :64 1471363796821276 prog :64 1471363796821365 kern :65 1471363796831339 appl :65 1471363796831344 prog :65 1471363796831434 kern :66 1471363796841407 appl :66 1471363796841411 prog :66 1471363796841504 kern :67 1471363796851477 appl :67 1471363796851481 prog :67 1471363796851575 kern :68 1471363796861547 appl :68 1471363796861551 prog :68 1471363796861647 kern :69 1471363796871615 appl :69 1471363796871619 prog :69 1471363796871717 kern :70 1471363796881684 appl :70 1471363796881688 prog :70 1471363796881788 kern :71 1471363796891753 appl :71 1471363796891757 prog :71 1471363796891858 kern :72 1471363796901822 appl :72 1471363796901826 prog :72 1471363796901929 kern :73 1471363796911891 appl :73 1471363796911895 prog :73 1471363796911999 kern :74 1471363796921960 appl :74 1471363796921964 prog :74 1471363796922070 kern :75 1471363796932029 appl :75 1471363796932033 prog :75 1471363796932141 kern :76 1471363796942098 appl :76 1471363796942102 prog :76 1471363796942211 kern :77 1471363796952165 appl :77 1471363796952169 prog :77 1471363796952280 kern :78 1471363796962232 appl :78 1471363796962236 prog :78 1471363796962349 kern :79 1471363796972304 appl :79 1471363796972309 prog :79 1471363796972423 kern :80 1471363796982375 appl :80 1471363796982379 prog :80 1471363796982495 kern :81 1471363796992443 appl :81 1471363796992447 prog :81 1471363796992565 kern :82 1471363797002514 appl :82 1471363797002517 prog :82 1471363797002637 kern :83 1471363797012582 appl :83 1471363797012586 prog :83 1471363797012707 kern :84 1471363797022652 appl :84 1471363797022656 prog :84 1471363797022779 kern :85 1471363797032720 appl :85 1471363797032724 prog :85 1471363797032848 kern :86 1471363797042789 appl :86 1471363797042793 prog :86 1471363797042920 kern :87 1471363797052858 appl :87 1471363797052862 prog :87 1471363797052990 kern :88 1471363797062925 appl :88 1471363797062929 prog :88 1471363797063059 kern :89 1471363797072994 appl :89 1471363797072998 prog :89 1471363797073129 kern :90 1471363797083062 appl :90 1471363797083066 prog :90 1471363797083199 kern :91 1471363797093131 appl :91 1471363797093135 prog :91 1471363797093269 kern :92 1471363797103199 appl :92 1471363797103203 prog :92 1471363797103340 kern :93 1471363797113267 appl :93 1471363797113271 prog :93 1471363797113410 kern :94 1471363797123336 appl :94 1471363797123340 prog :94 1471363797123480 kern :95 1471363797133405 appl :95 1471363797133409 prog :95 1471363797133550 kern :96 1471363797143473 appl :96 1471363797143477 prog :96 1471363797143621 kern :97 1471363797153542 appl :97 1471363797153546 prog :97 1471363797153691 kern :98 1471363797163609 appl :98 1471363797163613 prog :98 1471363797163760 kern :99 1471363797173678 appl :99 1471363797173682 prog :99 1471363797173830 kern maximum time difference was 152 us PASS: gtod (10ms interval) (100) spawn /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.stp /root/systemtap_write/systemtap/testsuite/gtod 100000 :00 1471363801034996 appl :00 1471363801035003 kern :00 1471363801035038 prog :01 1471363801135107 appl :01 1471363801135109 kern :01 1471363801135113 prog :02 1471363801235178 appl :02 1471363801235181 kern :02 1471363801235183 prog :03 1471363801335250 appl :03 1471363801335253 kern :03 1471363801335254 prog :04 1471363801435318 appl :04 1471363801435322 kern :04 1471363801435322 prog :05 1471363801535388 appl :05 1471363801535392 prog :05 1471363801535393 kern :06 1471363801635456 appl :06 1471363801635460 prog :06 1471363801635461 kern :07 1471363801735525 appl :07 1471363801735529 prog :07 1471363801735531 kern :08 1471363801835594 appl :08 1471363801835598 prog :08 1471363801835601 kern :09 1471363801935663 appl :09 1471363801935667 prog :09 1471363801935671 kern :10 1471363802035735 appl :10 1471363802035740 prog :10 1471363802035744 kern :11 1471363802135806 appl :11 1471363802135810 prog :11 1471363802135815 kern :12 1471363802235873 appl :12 1471363802235878 prog :12 1471363802235884 kern :13 1471363802335941 appl :13 1471363802335945 prog :13 1471363802335952 kern :14 1471363802436011 appl :14 1471363802436015 prog :14 1471363802436023 kern :15 1471363802536080 appl :15 1471363802536093 kern :15 1471363802536099 prog :16 1471363802636162 appl :16 1471363802636167 prog :16 1471363802636176 kern :17 1471363802736232 appl :17 1471363802736236 prog :17 1471363802736247 kern :18 1471363802836304 appl :18 1471363802836308 prog :18 1471363802836319 kern :19 1471363802936374 appl :19 1471363802936378 prog :19 1471363802936390 kern :20 1471363803036444 appl :20 1471363803036448 prog :20 1471363803036461 kern :21 1471363803136513 appl :21 1471363803136517 prog :21 1471363803136531 kern :22 1471363803236583 appl :22 1471363803236587 prog :22 1471363803236601 kern :23 1471363803336653 appl :23 1471363803336657 prog :23 1471363803336672 kern :24 1471363803436720 appl :24 1471363803436724 prog :24 1471363803436741 kern :25 1471363803536788 appl :25 1471363803536792 prog :25 1471363803536809 kern :26 1471363803636859 appl :26 1471363803636864 prog :26 1471363803636882 kern :27 1471363803736927 appl :27 1471363803736931 prog :27 1471363803736950 kern :28 1471363803836997 appl :28 1471363803837001 prog :28 1471363803837021 kern :29 1471363803937065 appl :29 1471363803937069 prog :29 1471363803937090 kern :30 1471363804037134 appl :30 1471363804037138 prog :30 1471363804037159 kern :31 1471363804137204 appl :31 1471363804137208 prog :31 1471363804137231 kern :32 1471363804237274 appl :32 1471363804237278 prog :32 1471363804237301 kern :33 1471363804337344 appl :33 1471363804337348 prog :33 1471363804337372 kern :34 1471363804437413 appl :34 1471363804437418 prog :34 1471363804437442 kern :35 1471363804537481 appl :35 1471363804537485 prog :35 1471363804537511 kern :36 1471363804637551 appl :36 1471363804637555 prog :36 1471363804637582 kern :37 1471363804737619 appl :37 1471363804737623 prog :37 1471363804737650 kern :38 1471363804837688 appl :38 1471363804837692 prog :38 1471363804837720 kern :39 1471363804937756 appl :39 1471363804937760 prog :39 1471363804937789 kern :40 1471363805037826 appl :40 1471363805037830 prog :40 1471363805037859 kern :41 1471363805137896 appl :41 1471363805137900 prog :41 1471363805137931 kern :42 1471363805237967 appl :42 1471363805237972 prog :42 1471363805238003 kern :43 1471363805338038 appl :43 1471363805338042 prog :43 1471363805338074 kern :44 1471363805438108 appl :44 1471363805438112 prog :44 1471363805438145 kern :45 1471363805538175 appl :45 1471363805538180 prog :45 1471363805538214 kern :46 1471363805638243 appl :46 1471363805638247 prog :46 1471363805638282 kern :47 1471363805738311 appl :47 1471363805738315 prog :47 1471363805738350 kern :48 1471363805838380 appl :48 1471363805838384 prog :48 1471363805838420 kern :49 1471363805938448 appl :49 1471363805938452 prog :49 1471363805938490 kern :50 1471363806038518 appl :50 1471363806038522 prog :50 1471363806038560 kern :51 1471363806138588 appl :51 1471363806138592 prog :51 1471363806138631 kern :52 1471363806238657 appl :52 1471363806238661 prog :52 1471363806238701 kern :53 1471363806338726 appl :53 1471363806338730 prog :53 1471363806338771 kern :54 1471363806438796 appl :54 1471363806438800 prog :54 1471363806438841 kern :55 1471363806538865 appl :55 1471363806538869 prog :55 1471363806538911 kern :56 1471363806638932 appl :56 1471363806638936 prog :56 1471363806638979 kern :57 1471363806739002 appl :57 1471363806739006 prog :57 1471363806739050 kern :58 1471363806839071 appl :58 1471363806839075 prog :58 1471363806839120 kern :59 1471363806939139 appl :59 1471363806939144 prog :59 1471363806939189 kern :60 1471363807039209 appl :60 1471363807039213 prog :60 1471363807039260 kern :61 1471363807139278 appl :61 1471363807139282 prog :61 1471363807139330 kern :62 1471363807239348 appl :62 1471363807239352 prog :62 1471363807239400 kern :63 1471363807339418 appl :63 1471363807339422 prog :63 1471363807339471 kern :64 1471363807439486 appl :64 1471363807439490 prog :64 1471363807439540 kern :65 1471363807539556 appl :65 1471363807539560 prog :65 1471363807539611 kern :66 1471363807639625 appl :66 1471363807639630 prog :66 1471363807639681 kern :67 1471363807739696 appl :67 1471363807739700 prog :67 1471363807739753 kern :68 1471363807839764 appl :68 1471363807839768 prog :68 1471363807839821 kern :69 1471363807939832 appl :69 1471363807939836 prog :69 1471363807939890 kern :70 1471363808039900 appl :70 1471363808039904 prog :70 1471363808039958 kern :71 1471363808139967 appl :71 1471363808139972 prog :71 1471363808140027 kern :72 1471363808240035 appl :72 1471363808240039 prog :72 1471363808240096 kern :73 1471363808340104 appl :73 1471363808340108 prog :73 1471363808340166 kern :74 1471363808440176 appl :74 1471363808440180 prog :74 1471363808440238 kern :75 1471363808540246 appl :75 1471363808540250 prog :75 1471363808540309 kern :76 1471363808640314 appl :76 1471363808640318 prog :76 1471363808640378 kern :77 1471363808740383 appl :77 1471363808740387 prog :77 1471363808740447 kern :78 1471363808840450 appl :78 1471363808840454 prog :78 1471363808840516 kern :79 1471363808940519 appl :79 1471363808940523 prog :79 1471363808940585 kern :80 1471363809040587 appl :80 1471363809040591 prog :80 1471363809040654 kern :81 1471363809140655 appl :81 1471363809140659 prog :81 1471363809140723 kern :82 1471363809240725 appl :82 1471363809240730 prog :82 1471363809240795 kern :83 1471363809340795 appl :83 1471363809340799 prog :83 1471363809340865 kern :84 1471363809440865 appl :84 1471363809440869 prog :84 1471363809440936 kern :85 1471363809540934 appl :85 1471363809540938 prog :85 1471363809541005 kern :86 1471363809641003 appl :86 1471363809641007 prog :86 1471363809641075 kern :87 1471363809741072 appl :87 1471363809741076 prog :87 1471363809741145 kern :88 1471363809841103 appl :88 1471363809841108 prog :88 1471363809841177 kern :89 1471363809941173 appl :89 1471363809941177 prog :89 1471363809941247 kern :90 1471363810041243 appl :90 1471363810041248 prog :90 1471363810041319 kern :91 1471363810141313 appl :91 1471363810141317 prog :91 1471363810141389 kern :92 1471363810241382 appl :92 1471363810241386 prog :92 1471363810241459 kern :93 1471363810341449 appl :93 1471363810341453 prog :93 1471363810341527 kern :94 1471363810441519 appl :94 1471363810441523 prog :94 1471363810441598 kern :95 1471363810541587 appl :95 1471363810541591 prog :95 1471363810541667 kern :96 1471363810641656 appl :96 1471363810641660 prog :96 1471363810641737 kern :97 1471363810741726 appl :97 1471363810741730 prog :97 1471363810741808 kern :98 1471363810841796 appl :98 1471363810841801 prog :98 1471363810841879 kern :99 1471363810941865 appl :99 1471363810941869 prog :99 1471363810941948 kern maximum time difference was 83 us PASS: gtod (100ms interval) (100) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/gtod.exp completed in 27 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/hash_add_buildid.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/.cache_test-root/hash_add_buildid.c -g -lm -o hash_add_buildid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/.cache_test-root/hash_add_buildid.c -g -lm -o hash_add_buildid spawn /usr/bin/eu-readelf -n hash_add_buildid Note section [ 2] '.note.ABI-tag' of 32 bytes at offset 0x254: Owner Data size Type GNU 16 VERSION OS: Linux, ABI: 3.7.0 Note section [ 3] '.note.gnu.build-id' of 36 bytes at offset 0x274: Owner Data size Type GNU 20 GNU_BUILD_ID Build ID: 6c3f6e6385a9c479f151fa2b7c3f3d8577fb66e4 spawn stap -v -p4 -e probe process("hash_add_buildid").function("main") { println(1) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54784virt/47744res/7232shr/38336data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapk48Gle/stap_d6070fefbbefd4eb4896555392abf267_1376_src.c" using 54912virt/48128res/7488shr/38464data kb, in 0usr/1440sys/1478real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d6/stap_d6070fefbbefd4eb4896555392abf267_1376.ko Pass 4: compiled C into "stap_d6070fefbbefd4eb4896555392abf267_1376.ko" in 0usr/15390sys/15810real ms. PASS: RUN1-(-default) wasn't cached Executing on host: gcc /root/systemtap_write/systemtap/testsuite/.cache_test-root/hash_add_buildid.c -g -lm -o hash_add_buildid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/.cache_test-root/hash_add_buildid.c -g -lm -o hash_add_buildid spawn stap -v -p4 -e probe process("hash_add_buildid").function("main") { println(1) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 54784virt/47744res/7232shr/38336data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stap6S9Mlg/stap_f1d1189f585a89392bb849d7d636446d_1376_src.c" using 54912virt/48128res/7488shr/38464data kb, in 0usr/1440sys/1470real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f1/stap_f1d1189f585a89392bb849d7d636446d_1376.ko Pass 4: compiled C into "stap_f1d1189f585a89392bb849d7d636446d_1376.ko" in 0usr/4580sys/4643real ms. PASS: RUN2-(-default) wasn't cached testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/hash_add_buildid.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/helpout.exp ... PASS: helpout stap -V PASS: helpout stap -h PASS: helpout staprun -V PASS: helpout staprun -h PASS: helpout /root/systemtap_write/install/libexec/systemtap/stapio -V PASS: helpout /root/systemtap_write/install/libexec/systemtap/stapio -h testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/helpout.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/if.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/if.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/if.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 0 globals using 54784virt/46784res/6336shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapuakjU4/stap_a9e9ae3568e3ff14181b3f3c03f194e2_1584_src.c" using 54784virt/47424res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_a9e9ae3568e3ff14181b3f3c03f194e2_1584.ko" in 0usr/3360sys/3413real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/if.stp startup PASS: systemtap.base/if.stp load generation Executing: kill -INT -1576 systemtap ending probe systemtap test success PASS: systemtap.base/if.stp shutdown and output Pass 5: run completed in 0usr/70sys/1025real ms. metric: systemtap.base/if.stp 0 400 404 0 10 8 0 0 1 0 3360 3413 0 70 1025 Executing: kill -INT -1576 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/if.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe PASS: implicitptr.c compile m64 stap -L process("implicitptr.exe").statement("foo@*:13") reports: process("/root/systemtap_write/systemtap/testsuite/implicitptr.exe").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c:13") $i:int $j:int* $k:int** $l:int*** PASS: probe listing implicitptr-m64 (ijkl) executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.stp -g -c ./implicitptr.exe implicitptr.exe PASS: implicitptr-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe PASS: implicitptr.c compile m64 stap -L process("implicitptr.exe").statement("foo@*:13") reports: process("/root/systemtap_write/systemtap/testsuite/implicitptr.exe").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c:13") $i:int $j:int* $k:int** $l:int*** PASS: probe listing implicitptr-m64 (ijkl) executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.stp -g -c ./implicitptr.exe implicitptr.exe PASS: implicitptr-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -O -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c -g -O -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o implicitptr.exe PASS: implicitptr.c compile m64-O stap -L process("implicitptr.exe").statement("foo@*:13") reports: process("/root/systemtap_write/systemtap/testsuite/implicitptr.exe").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.c:13") $j:int* $k:int** $l:int*** $i:int PASS: probe listing implicitptr-m64-O (ijkl) executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.stp -g -c ./implicitptr.exe implicitptr.exe PASS: implicitptr-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/implicitptr.exp completed in 28 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/inc.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/inc.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/inc.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 1 global using 54848virt/46848res/6400shr/38400data kb, in 0usr/0sys/9real ms. Pass 3: translated to C into "/tmp/stapiadtXz/stap_b1d62a33d70ead2f7a5c26b857945112_1668_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_b1d62a33d70ead2f7a5c26b857945112_1668.ko" in 0usr/3370sys/3418real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/inc.stp startup PASS: systemtap.base/inc.stp load generation Executing: kill -INT -2673 systemtap ending probe systemtap test success PASS: systemtap.base/inc.stp shutdown and output Pass 5: run completed in 0usr/70sys/1022real ms. metric: systemtap.base/inc.stp 0 400 405 0 0 9 0 0 1 0 3370 3418 0 70 1022 Executing: kill -INT -2673 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/inc.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.exp ... Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -lm -o inherit.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -lm -o inherit.exe PASS: inherit-m64 compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.stp inherit.exe -c ./inherit.exe PASS: inherit-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -lm -o inherit.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -lm -o inherit.exe PASS: inherit-m64 compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.stp inherit.exe -c ./inherit.exe PASS: inherit-m64 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -O -lm -o inherit.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.cxx -g -O -lm -o inherit.exe PASS: inherit-m64-O compile executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.stp inherit.exe -c ./inherit.exe PASS: inherit-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/inherit.exp completed in 24 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -lm -o inlinedvars.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -lm -o inlinedvars.exe PASS: inlinedvars-m64 compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.stp inlinedvars.exe -c ./inlinedvars.exe PASS: inlinedvars-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -lm -o inlinedvars.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -lm -o inlinedvars.exe PASS: inlinedvars-m64 compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.stp inlinedvars.exe -c ./inlinedvars.exe PASS: inlinedvars-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -O -lm -o inlinedvars.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.c -g -O -lm -o inlinedvars.exe PASS: inlinedvars-m64-O compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.stp inlinedvars.exe -c ./inlinedvars.exe PASS: inlinedvars-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/inlinedvars.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/ipaddr.exp ... FAIL: ipaddr_IPv4_recvmsg find 'nc' testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/ipaddr.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/itrace.exp ... UNTESTED: itrace single step check : no kernel utrace support found UNTESTED: itrace block step check : no kernel utrace support found UNTESTED: itrace_single1 : no kernel utrace support found UNTESTED: itrace_single2 : no kernel utrace support found UNTESTED: itrace_block1 : no kernel utrace support found UNTESTED: itrace_block2 : no kernel utrace support found testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/itrace.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kallsyms.exp ... spawn stap --all-modules -e probe timer.profile {print_stack(backtrace()); exit()} 0xfffffc00080854f0 : arch_cpu_idle+0x40/0x24c [kernel] 0x0 : 0x0 0xfffffc00080854f0 : arch_cpu_idle+0x40/0x24c [kernel] 0x0 : 0x0 0xfffffc00080854f0 : arch_cpu_idle+0x40/0x24c [kernel] 0x0 : 0x0 PASS: kallsyms testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kallsyms.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kallsyms_expand_symbol.exp ... Expecting: fffffc0008080000 t _head fffffc0008080000 T _text fffffc0008080040 t pe_header fffffc0008080044 t coff_header fffffc0008080058 t optional_header fffffc0008080070 t extra_header_fields fffffc00080800f8 t section_table fffffc0008081000 T do_undefinstr fffffc0008081000 t efi_header_end fffffc0008081000 T _stext _head _text pe_header coff_header optional_header extra_header_fields section_table do_undefinstr efi_header_end _stext executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/kallsyms_expand_symbol.stp -c {head /proc/kallsyms} PASS: systemtap.base/kallsyms_expand_symbol.stp -c {head /proc/kallsyms} testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kallsyms_expand_symbol.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kbuildenv.exp ... PASS: kbuild PATH sanitization testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kbuildenv.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kfunct.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kfunct.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kfunct.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 94976virt/87936res/7296shr/78528data kb, in 0usr/1190sys/1205real ms. Pass 3: translated to C into "/tmp/stapDBJBOc/stap_df46f4d6dc64e4928fa542ee5a86db74_1698_src.c" using 94976virt/88128res/7488shr/78528data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_df46f4d6dc64e4928fa542ee5a86db74_1698.ko" in 0usr/3660sys/3704real ms. Pass 5: starting run. WARNING: probe kernel.function("schedule@kernel/sched/core.c:3379") (address 0xfffffc0008900dd0) registration error (rc -22) systemtap starting probe FAIL: systemtap.base/kfunct.stp startup (timeout) Executing: kill -INT -5602 Executing: kill -INT -5602 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kfunct.exp completed in 185 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.exp ... as_root cp staptestkV6oNt/stap_kmodule.ko /lib/modules/4.8.0-rc1uprobes+/kernel/ OUT RC 0 as_root /sbin/insmod staptestkV6oNt/stap_kmodule.ko OUT RC 0 PASS: kmodule (built and installed module) executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45120res/5888shr/37696data kb, in 0usr/390sys/403real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 55360virt/48320res/7232shr/38912data kb, in 0usr/230sys/227real ms. Pass 3: translated to C into "/tmp/stapyvqhKL/stap_dcc1eae40fe425d8ceb02a657eefceba_1905_src.c" using 55488virt/48704res/7488shr/39040data kb, in 0usr/210sys/216real ms. Pass 4: compiled C into "stap_dcc1eae40fe425d8ceb02a657eefceba_1905.ko" in 0usr/3640sys/3701real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/kmodule.stp startup PASS: systemtap.base/kmodule.stp load generation Executing: kill -INT -6114 systemtap ending probe count = 1 PASS: systemtap.base/kmodule.stp shutdown and output Pass 5: run completed in 0usr/90sys/1104real ms. metric: systemtap.base/kmodule.stp 0 390 403 0 230 227 0 210 216 0 3640 3701 0 90 1104 Executing: kill -INT -6114 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobe_module.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobe_module.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap5GeSFE/stap_b7cb6659cee740b523fd19fffb18ddb4_1661_src.c" using 54912virt/47616res/7104shr/38464data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_b7cb6659cee740b523fd19fffb18ddb4_1661.ko" in 0usr/3640sys/3687real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/kprobe_module.stp startup PASS: systemtap.base/kprobe_module.stp load generation Executing: kill -INT -6371 systemtap ending probe count = 1 PASS: systemtap.base/kprobe_module.stp shutdown and output Pass 5: run completed in 0usr/90sys/1038real ms. metric: systemtap.base/kprobe_module.stp 0 390 399 0 10 8 0 0 1 0 3640 3687 0 90 1038 Executing: kill -INT -6371 as_root /sbin/rmmod stap_kmodule OUT RC 0 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 55296virt/48256res/7232shr/38848data kb, in 0usr/220sys/228real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/stap_dcc1eae40fe425d8ceb02a657eefceba_1905.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/stap_dcc1eae40fe425d8ceb02a657eefceba_1905.ko Pass 5: starting run. systemtap starting probe PASS: systemtap.base/kmodule.stp (loaded after) startup as_root /sbin/rmmod stap_kmodule OUT rmmod: ERROR: Module stap_kmodule is not currently loaded RC 1 as_root /sbin/insmod staptestkV6oNt/stap_kmodule.ko OUT RC 0 PASS: systemtap.base/kmodule.stp (loaded after) load generation Executing: kill -INT -6634 systemtap ending probe count = 1 PASS: systemtap.base/kmodule.stp (loaded after) shutdown and output Pass 5: run completed in 0usr/80sys/1013real ms. metric: systemtap.base/kmodule.stp (loaded after) 0 400 400 0 220 228 0 0 0 0 0 0 0 80 1013 Executing: kill -INT -6634 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobe_module.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobe_module.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/398real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54912virt/45056res/5888shr/38464data kb, in 0usr/0sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7cb6659cee740b523fd19fffb18ddb4_1661.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7cb6659cee740b523fd19fffb18ddb4_1661.ko Pass 5: starting run. systemtap starting probe PASS: systemtap.base/kprobe_module.stp (loaded after) startup as_root /sbin/rmmod stap_kmodule OUT RC 0 as_root /sbin/insmod staptestkV6oNt/stap_kmodule.ko OUT RC 0 PASS: systemtap.base/kprobe_module.stp (loaded after) load generation Executing: kill -INT -6658 systemtap ending probe count = 1 PASS: systemtap.base/kprobe_module.stp (loaded after) shutdown and output Pass 5: run completed in 0usr/80sys/985real ms. metric: systemtap.base/kprobe_module.stp (loaded after) 0 400 398 0 0 8 0 0 0 0 0 0 0 80 985 Executing: kill -INT -6658 as_root /bin/rm -f /lib/modules/4.8.0-rc1uprobes+/kernel/stap_kmodule.ko OUT RC 0 as_root /sbin/rmmod stap_kmodule OUT RC 0 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kmodule.exp completed in 17 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobes.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobes.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobes.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 4 probes, 2 functions, 0 embeds, 1 global using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staprTWAyG/stap_5af9b4198dc32ff989fe80331cca80dc_1793_src.c" using 54848virt/47552res/7040shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_5af9b4198dc32ff989fe80331cca80dc_1793.ko" in 0usr/3640sys/3679real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe probe point hit PASS: systemtap.base/kprobes.stp startup PASS: systemtap.base/kprobes.stp load generation Executing: kill -INT -6692 PASS: systemtap.base/kprobes.stp shutdown and output Pass 5: run completed in 0usr/70sys/520real ms. metric: systemtap.base/kprobes.stp 0 390 401 0 10 8 0 0 1 0 3640 3679 0 70 520 Executing: kill -INT -6692 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kprobes.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/kretprobe-vars.exp ... executing: stap -v -c {cat /dev/null} /root/systemtap_write/systemtap/testsuite/systemtap.base/kretprobe-vars.stp spawn stap -v -c cat /dev/null /root/systemtap_write/systemtap/testsuite/systemtap.base/kretprobe-vars.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 5 probes, 15 functions, 4 embeds, 7 globals using 96128virt/89472res/7552shr/79680data kb, in 0usr/2650sys/2697real ms. Pass 3: translated to C into "/tmp/stapTZPaEv/stap_627b6fd89f871222ff3f7f6e25445392_15330_src.c" using 96128virt/89600res/7680shr/79680data kb, in 0usr/20sys/15real ms. Pass 4: compiled C into "stap_627b6fd89f871222ff3f7f6e25445392_15330.ko" in 0usr/3980sys/4038real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/kretprobe-vars.stp startup PASS: systemtap.base/kretprobe-vars.stp load generation Executing: kill -INT -6947 PASS: systemtap.base/kretprobe-vars.stp shutdown and output Pass 5: run completed in 0usr/80sys/524real ms. metric: systemtap.base/kretprobe-vars.stp 0 400 405 0 2650 2697 0 20 15 0 3980 4038 0 80 524 Executing: kill -INT -6947 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/kretprobe-vars.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/labels.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/labels.c -g -lm -o /root/systemtap_write/systemtap/testsuite/labels.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/labels.c -g -lm -o /root/systemtap_write/systemtap/testsuite/labels.x PASS: compiling labels.c additional_flags=-g spawn stap --use-server-on-error=no -l process("/root/systemtap_write/systemtap/testsuite/labels.x").function("foo@/root/systemtap_write/systemtap/testsuite/labels.c:10").label("*") PASS: labels :N .label 0 spawn stap -l process("/root/systemtap_write/systemtap/testsuite/labels.x").function("foo@/root/systemtap_write/systemtap/testsuite/labels.c:5").label("*") process("/root/systemtap_write/systemtap/testsuite/labels.x").function("foo@/root/systemtap_write/systemtap/testsuite/labels.c:5").label("init_an_int") PASS: labels :N .label 1 spawn stap -l process("/root/systemtap_write/systemtap/testsuite/labels.x").function("*").label("*") process("/root/systemtap_write/systemtap/testsuite/labels.x").function("foo@/root/systemtap_write/systemtap/testsuite/labels.c:5").label("init_an_int") process("/root/systemtap_write/systemtap/testsuite/labels.x").function("main@/root/systemtap_write/systemtap/testsuite/labels.c:16").label("init_an_int") process("/root/systemtap_write/systemtap/testsuite/labels.x").function("main@/root/systemtap_write/systemtap/testsuite/labels.c:18").label("init_an_int_again") process("/root/systemtap_write/systemtap/testsuite/labels.x").function("main@/root/systemtap_write/systemtap/testsuite/labels.c:21").label("ptr_inited") PASS: labels -l .label spawn stap -c /root/systemtap_write/systemtap/testsuite/labels.x /root/systemtap_write/systemtap/testsuite/labels.stp spawn stap -w -c /root/systemtap_write/systemtap/testsuite/labels.x /root/systemtap_write/systemtap/testsuite/labels.stp label=init_an_int VARS a=0x0 b=0x0 c=0x0 init_an_int label=init_an_int VARS a=0x2 b=0x0 c=0x0 label=init_an_int_again VARS a=0x2 b=0x3 c=0x400788 label=ptr_inited Pass 5: run failed. [man error::pass5] PASS: labels exe .label spawn sh /root/systemtap_write/systemtap/testsuite/label.sh DW_AT_low_pc : 0x4006cc spawn stap -l process("/root/systemtap_write/systemtap/testsuite/labels.x").statement(0x4006cc) process("/root/systemtap_write/systemtap/testsuite/labels.x").statement(0x4006cc) PASS: labels exe .statement Executing on host: gcc /root/systemtap_write/systemtap/testsuite/labels.c -g -shared -fPIC -lm -o /root/systemtap_write/systemtap/testsuite/labels.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/labels.c -g -shared -fPIC -lm -o /root/systemtap_write/systemtap/testsuite/labels.so PASS: compiling labels.c additional_flags=-g additional_flags=-shared additional_flags=-fPIC spawn stap -l process("/root/systemtap_write/systemtap/testsuite/labels.so").function("*").label("init_an_int_again") process("/root/systemtap_write/systemtap/testsuite/labels.so").function("main@/root/systemtap_write/systemtap/testsuite/labels.c:18").label("init_an_int_again") PASS: labels so .label spawn sh /root/systemtap_write/systemtap/testsuite/label.sh DW_AT_low_pc : 0x824 spawn stap -l process("/root/systemtap_write/systemtap/testsuite/labels.so").statement(0x824) process("/root/systemtap_write/systemtap/testsuite/labels.so").statement(0x824) PASS: labels so .statement testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/labels.exp completed in 17 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/library.exp ... /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V3 --types -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V3 --types -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d PASS: library dtrace Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -shared -fPIC -DNO_MAIN -g -lm -o libsdt.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -shared -fPIC -DNO_MAIN -g -lm -o libsdt.so PASS: library target_compile libsdt.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt -DONLY_MAIN -g -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt -DONLY_MAIN -g -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc.x PASS: library target_compile sdt_misc.x spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x * bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3fffa0a8018 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc * (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x *libsdt* bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffd9690a38 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc *libsdt* (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x libsdt.so bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3fff1b064a8 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc libsdt.so (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x ./*libsdt* bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffedefcba8 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc PATH/*libsdt* (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x ./libsdt.so bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffdedf1ea8 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc PATH/libsdt.so (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x * bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffcb26ca48 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc * rpath (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x *libsdt* bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffe6598e48 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc *libsdt* rpath (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x libsdt.so bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffd3457e88 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc libsdt.so rpath (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/*libsdt* bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3fff9613b68 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc PATH/*libsdt* rpath (15 != 15) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/systemtap.base/library.stp /root/systemtap_write/systemtap/testsuite/sdt_misc.x /root/systemtap_write/systemtap/testsuite/libsdt.so bar begin bar 2 In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 bar end baz 3 abc baz begin In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 baz end buz 4 buz begin In test_probe_4 dtrace probe 0x3ffd7316168 In test_probe_1 probe 0x0 buz end PASS: library sdt_misc PATH/libsdt.so rpath (15 != 15) spawn /root/systemtap_write/install/bin/stap --ldd -v -v -v -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x -e probe process("/root/systemtap_write/systemtap/testsuite/sdt_misc.x").library("*").statement("baz@sdt_misc.c") {printf("%s ", pn())} Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapzqUMsk" Session arch: arm64 release: 4.8.0-rc1uprobes+ Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/.config", containing 4406 tuples Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/Module.symvers", containing 8397 vmlinux exports Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/System.map", containing 38221 symbols Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/json.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task.stpm" Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/choose_defined.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/container_of.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/macros.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/offsetof.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/print_stats.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/private30.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/sizeof.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/try_assign.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/type_defined.stpm" Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64/aux_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64/syscall_num.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-caller.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-envvar.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ctime.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/dentry.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/guru-signal.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/inet_sock.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ipmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/irq.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/json.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/kprocess.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls2.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfsderrno.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/panic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/perf.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/proc_mem.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/pstrace.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rcu.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rlimit.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rpc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/scheduler.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/scsi.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscall_table.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls_cfg_trunc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/target_set.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task_ancestry.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task_time.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_gtod.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_monotonic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tzinfo.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-symbols.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-unwind.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/udp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/utrace.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/arm64/registers.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/ansi.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/argv.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/context.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/errno.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/indent-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/indent.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/init.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/java.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/logging.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/null.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/oneshot.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/pn.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/queue_stats.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/random.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/registers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/speculative.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/stap_staticmarkers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/stopwatch.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/string.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/switchfile.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/system.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/timers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/tokenize.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/tzinfo.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/uconversions-guru.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/uconversions.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54144virt/45248res/6080shr/37696data kb, in 0usr/400sys/403real ms. Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'baz@sdt_misc.c', func 'baz', file 'sdt_misc.c' focused on module '/root/systemtap_write/systemtap/testsuite/sdt_misc.x' = [0x400000-0x420048, bias 0 file /root/systemtap_write/systemtap/testsuite/sdt_misc.x ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/sdt_misc.x' Running /usr/bin/env LD_TRACE_LOADED_OBJECTS=1 LD_WARN=yes LD_BIND_NOW=yes /lib/ld-linux-aarch64.so.1 /root/systemtap_write/systemtap/testsuite/sdt_misc.x Added -d '/root/systemtap_write/systemtap/testsuite/libsdt.so' due to 'libsdt.so' Added -d '/lib64/libm.so.6' due to 'libm.so.6' Added -d '/lib64/libc.so.6' due to 'libc.so.6' Added -d '/lib/ld-linux-aarch64.so.1' Spawn waitpid result (0x0): 0 Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'baz@sdt_misc.c', func 'baz', file 'sdt_misc.c' focused on module '/usr/lib64/ld-2.17.so' = [0x10000-0x41160, bias 0 file /usr/lib/debug/usr/lib64/ld-2.17.so.debug ELF machine arm64| (code 183) focused on module '/usr/lib64/ld-2.17.so' module=/usr/lib64/ld-2.17.so Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'baz@sdt_misc.c', func 'baz', file 'sdt_misc.c' focused on module '/usr/lib64/libc-2.17.so' = [0x10000-0x1853f0, bias 0 file /usr/lib/debug/usr/lib64/libc-2.17.so.debug ELF machine arm64| (code 183) focused on module '/usr/lib64/libc-2.17.so' module=/usr/lib64/libc-2.17.so Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'baz@sdt_misc.c', func 'baz', file 'sdt_misc.c' focused on module '/usr/lib64/libm-2.17.so' = [0x10000-0xc02a8, bias 0 file /usr/lib/debug/usr/lib64/libm-2.17.so.debug ELF machine arm64| (code 183) focused on module '/usr/lib64/libm-2.17.so' module=/usr/lib64/libm-2.17.so Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) parse 'baz@sdt_misc.c', func 'baz', file 'sdt_misc.c' focused on module '/root/systemtap_write/systemtap/testsuite/libsdt.so' = [0x10000-0x30030, bias 0 file /root/systemtap_write/systemtap/testsuite/libsdt.so ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/libsdt.so' selected source file '/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c' selected function baz probe baz@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:56 process=/root/systemtap_write/systemtap/testsuite/libsdt.so reloc=.dynamic pc=0xa88 module=/root/systemtap_write/systemtap/testsuite/libsdt.so Eliding side-effect-free singleton block operator '{' at :1:112 Eliding side-effect-free singleton block operator '{' at :1:19 Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 0 globals using 63872virt/57024res/7296shr/47424data kb, in 0usr/70sys/72real ms. Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) function recursion-analysis: max-nesting 0 non-recursive variable msg for function error will be passed by reference (char *) return value for function pn will be passed by reference (char *) adapt location:15max - 29/2tot =>[] adapt derivation:631max - 653/2tot =>* adapt pp:157max - 172/2tot =>* adapt pn:223max - 238/2tot =>* probe 0 ('process("/root/systemtap_write/systemtap/testsuite/libsdt.so").statement("baz@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:56")') locks nothing 2 statements for probe probe_2769 probe 1 ('timer.s(900)') locks nothing 1 statements for probe probe_2770 dump_unwindsyms /root/systemtap_write/systemtap/testsuite/libsdt.so index=0 base=0x10000 Found build-id in /root/systemtap_write/systemtap/testsuite/libsdt.so, length 20, start at 0x1d8 Pass 3: translated to C into "/tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.c" using 63872virt/57216res/7488shr/47424data kb, in 0usr/1450sys/1478real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapzqUMsk modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 V=1 -j9 make[3]: Entering directory `/root/linux' test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \ echo >&2; \ echo >&2 " ERROR: Kernel configuration is invalid."; \ echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\ echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo >&2 ; \ /bin/false) mkdir -p /tmp/stapzqUMsk/.tmp_versions ; rm -f /tmp/stapzqUMsk/.tmp_versions/* make -f ./scripts/Makefile.build obj=/tmp/stapzqUMsk (cat /dev/null; echo kernel//tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko;) > /tmp/stapzqUMsk/modules.order gcc -Wp,-MD,/tmp/stapzqUMsk/.stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapzqUMsk/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DMODULE -mcmodel=large -DKBUILD_BASENAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src"' -DKBUILD_MODNAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465"' -c -o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.c gcc -Wp,-MD,/tmp/stapzqUMsk/.stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapzqUMsk/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DMODULE -mcmodel=large -DKBUILD_BASENAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0"' -DKBUILD_MODNAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465"' -c -o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.c if [ "-pg" = "-pg" ]; then if [ /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.o"; fi; fi; if [ "-pg" = "-pg" ]; then if [ /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.o"; fi; fi; ld -EL -r -o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_aux_0.o ; scripts/mod/modpost /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.o make -f ./scripts/Makefile.modpost find /tmp/stapzqUMsk/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -i ./Module.symvers -I /tmp/stapzqUMsk/Module.symvers -o /tmp/stapzqUMsk/Module.symvers -w -s -T - gcc -Wp,-MD,/tmp/stapzqUMsk/.stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.mod.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapzqUMsk/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DKBUILD_BASENAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.mod"' -DKBUILD_MODNAME='"stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465"' -DMODULE -mcmodel=large -c -o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.mod.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.mod.c ld -EL -r -T ./scripts/module-common.lds --build-id -o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.o /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.mod.o make[3]: Leaving directory `/root/linux' Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko" in 0usr/4710sys/4771real ms. Cache cleaning skipped, interval not reached 69 s / 300 s. Copying /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko Copying /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.c Copying /tmp/stapzqUMsk/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -v -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x -R /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko staprun:main:432 modpath="/tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko", modname="stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465" staprun:init_staprun:338 init_staprun staprun:insert_module:71 inserting module /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko staprun:insert_module:97 module options: _stp_bufsize=0 staprun:insert_module:105 module path canonicalized to '/tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko' staprun:check_signature:418 checking signature for /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko Signature file /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko.sgn not found staprun:check_signature:431 verify_module returns 0 staprun:insert_module:168 Renaming module 'stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465' staprun:insert_module:176 Renamed module to 'stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416' staprun:insert_module:183 Module stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 inserted from file /tmp/stapzqUMsk/stap_774f7dcc8c2ddf6520bc71f22971a4cf_2465.ko staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/.cmd (4) staprun:close_ctl_channel:114 Closed ctl fd 4 execing: /root/systemtap_write/install/libexec/systemtap/stapio -v -v -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x -R stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 -F3 stapio:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416.ko" stapio:main:50 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416.ko", modname="stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416" stapio:init_stapio:419 init_stapio stapio:init_ctl_channel:35 Opened .cmd (4) stapio:stp_main_loop:629 in main loop stapio:stp_main_loop:648 select_supported: 1 stapio:init_relayfs:306 initializing relayfs stapio:init_relayfs:328 attempting to openat trace0 stapio:init_relayfs:328 attempting to openat trace1 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace1 stapio:start_cmd:263 stapio:init_relayfs:328 attempting to openat trace2 blocking briefly stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace2 stapio:init_relayfs:328 attempting to openat trace3 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace3 stapio:init_relayfs:328 attempting to openat trace4 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace4 stapio:init_relayfs:328 attempting to openat trace5 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace5 stapio:init_relayfs:328 attempting to openat trace6 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace6 stapio:init_relayfs:328 attempting to openat trace7 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace7 stapio:init_relayfs:328 attempting to openat trace8 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace8 stapio:init_relayfs:328 attempting to openat trace9 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace9 stapio:init_relayfs:328 attempting to openat trace10 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace10 stapio:init_relayfs:328 attempting to openat trace11 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace11 stapio:init_relayfs:328 attempting to openat trace12 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace12 stapio:init_relayfs:328 attempting to openat trace13 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace13 stapio:init_relayfs:328 attempting to openat trace14 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace14 stapio:init_relayfs:328 attempting to openat trace15 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace15 stapio:init_relayfs:328 attempting to openat trace16 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace16 stapio:init_relayfs:328 attempting to openat trace17 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace17 stapio:init_relayfs:328 attempting to openat trace18 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace18 stapio:init_relayfs:328 attempting to openat trace19 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace19 stapio:init_relayfs:328 attempting to openat trace20 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace20 stapio:init_relayfs:328 attempting to openat trace21 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace21 stapio:init_relayfs:328 attempting to openat trace22 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace22 stapio:init_relayfs:328 attempting to openat trace23 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace23 stapio:init_relayfs:328 attempting to openat trace24 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace24 stapio:init_relayfs:328 attempting to openat trace25 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace25 stapio:init_relayfs:328 attempting to openat trace26 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace26 stapio:init_relayfs:328 attempting to openat trace27 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace27 stapio:init_relayfs:328 attempting to openat trace28 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace28 stapio:init_relayfs:328 attempting to openat trace29 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace29 stapio:init_relayfs:328 attempting to openat trace30 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace30 stapio:init_relayfs:328 attempting to openat trace31 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace31 stapio:init_relayfs:328 attempting to openat trace32 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace32 stapio:init_relayfs:328 attempting to openat trace33 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace33 stapio:init_relayfs:328 attempting to openat trace34 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace34 stapio:init_relayfs:328 attempting to openat trace35 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace35 stapio:init_relayfs:328 attempting to openat trace36 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace36 stapio:init_relayfs:328 attempting to openat trace37 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace37 stapio:init_relayfs:328 attempting to openat trace38 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace38 stapio:init_relayfs:328 attempting to openat trace39 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace39 stapio:init_relayfs:328 attempting to openat trace40 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace40 stapio:init_relayfs:328 attempting to openat trace41 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace41 stapio:init_relayfs:328 attempting to openat trace42 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace42 stapio:init_relayfs:328 attempting to openat trace43 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace43 stapio:init_relayfs:328 attempting to openat trace44 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace44 stapio:init_relayfs:328 attempting to openat trace45 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace45 stapio:init_relayfs:328 attempting to openat trace46 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace46 stapio:init_relayfs:328 attempting to openat trace47 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace47 stapio:init_relayfs:328 attempting to openat trace48 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace48 stapio:init_relayfs:328 attempting to openat trace49 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace49 stapio:init_relayfs:328 attempting to openat trace50 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace50 stapio:init_relayfs:328 attempting to openat trace51 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace51 stapio:init_relayfs:328 attempting to openat trace52 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace52 stapio:init_relayfs:328 attempting to openat trace53 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace53 stapio:init_relayfs:328 attempting to openat trace54 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace54 stapio:init_relayfs:328 attempting to openat trace55 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace55 stapio:init_relayfs:328 attempting to openat trace56 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace56 stapio:init_relayfs:328 attempting to openat trace57 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace57 stapio:init_relayfs:328 attempting to openat trace58 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace58 stapio:init_relayfs:328 attempting to openat trace59 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace59 stapio:init_relayfs:328 attempting to openat trace60 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace60 stapio:init_relayfs:328 attempting to openat trace61 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace61 stapio:init_relayfs:328 attempting to openat trace62 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace62 stapio:init_relayfs:328 attempting to openat trace63 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace63 stapio:init_relayfs:328 attempting to openat trace64 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace64 stapio:init_relayfs:328 attempting to openat trace65 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace65 stapio:init_relayfs:328 attempting to openat trace66 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace66 stapio:init_relayfs:328 attempting to openat trace67 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace67 stapio:init_relayfs:328 attempting to openat trace68 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace68 stapio:init_relayfs:328 attempting to openat trace69 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace69 stapio:init_relayfs:328 attempting to openat trace70 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace70 stapio:init_relayfs:328 attempting to openat trace71 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace71 stapio:init_relayfs:328 attempting to openat trace72 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace72 stapio:init_relayfs:328 attempting to openat trace73 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace73 stapio:init_relayfs:328 attempting to openat trace74 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace74 stapio:init_relayfs:328 attempting to openat trace75 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace75 stapio:init_relayfs:328 attempting to openat trace76 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace76 stapio:init_relayfs:328 attempting to openat trace77 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace77 stapio:init_relayfs:328 attempting to openat trace78 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace78 stapio:init_relayfs:328 attempting to openat trace79 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace79 stapio:init_relayfs:328 attempting to openat trace80 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace80 stapio:init_relayfs:328 attempting to openat trace81 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace81 stapio:init_relayfs:328 attempting to openat trace82 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace82 stapio:init_relayfs:328 attempting to openat trace83 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace83 stapio:init_relayfs:328 attempting to openat trace84 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace84 stapio:init_relayfs:328 attempting to openat trace85 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace85 stapio:init_relayfs:328 attempting to openat trace86 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace86 stapio:init_relayfs:328 attempting to openat trace87 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace87 stapio:init_relayfs:328 attempting to openat trace88 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace88 stapio:init_relayfs:328 attempting to openat trace89 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace89 stapio:init_relayfs:328 attempting to openat trace90 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace90 stapio:init_relayfs:328 attempting to openat trace91 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace91 stapio:init_relayfs:328 attempting to openat trace92 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace92 stapio:init_relayfs:328 attempting to openat trace93 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace93 stapio:init_relayfs:328 attempting to openat trace94 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace94 stapio:init_relayfs:328 attempting to openat trace95 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace95 stapio:init_relayfs:328 attempting to openat trace96 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace96 stapio:init_relayfs:328 attempting to openat trace97 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace97 stapio:init_relayfs:328 attempting to openat trace98 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace98 stapio:init_relayfs:328 attempting to openat trace99 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace99 stapio:init_relayfs:328 attempting to openat trace100 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace100 stapio:init_relayfs:328 attempting to openat trace101 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace101 stapio:init_relayfs:328 attempting to openat trace102 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace102 stapio:init_relayfs:328 attempting to openat trace103 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace103 stapio:init_relayfs:328 attempting to openat trace104 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace104 stapio:init_relayfs:328 attempting to openat trace105 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace105 stapio:init_relayfs:328 attempting to openat trace106 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace106 stapio:init_relayfs:328 attempting to openat trace107 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace107 stapio:init_relayfs:328 attempting to openat trace108 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace108 stapio:init_relayfs:328 attempting to openat trace109 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace109 stapio:init_relayfs:328 attempting to openat trace110 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace110 stapio:init_relayfs:328 attempting to openat trace111 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace111 stapio:init_relayfs:328 attempting to openat trace112 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace112 stapio:init_relayfs:328 attempting to openat trace113 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace113 stapio:init_relayfs:328 attempting to openat trace114 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace114 stapio:init_relayfs:328 attempting to openat trace115 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace115 stapio:init_relayfs:328 attempting to openat trace116 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace116 stapio:init_relayfs:328 attempting to openat trace117 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace117 stapio:init_relayfs:328 attempting to openat trace118 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace118 stapio:init_relayfs:328 attempting to openat trace119 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace119 stapio:init_relayfs:328 attempting to openat trace120 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace120 stapio:init_relayfs:328 attempting to openat trace121 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace121 stapio:init_relayfs:328 attempting to openat trace122 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace122 stapio:init_relayfs:328 attempting to openat trace123 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace123 stapio:init_relayfs:328 attempting to openat trace124 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace124 stapio:init_relayfs:328 attempting to openat trace125 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace125 stapio:init_relayfs:328 attempting to openat trace126 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace126 stapio:init_relayfs:328 attempting to openat trace127 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace127 stapio:init_relayfs:328 attempting to openat trace128 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace128 stapio:init_relayfs:328 attempting to openat trace129 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace129 stapio:init_relayfs:328 attempting to openat trace130 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace130 stapio:init_relayfs:328 attempting to openat trace131 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace131 stapio:init_relayfs:328 attempting to openat trace132 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace132 stapio:init_relayfs:328 attempting to openat trace133 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace133 stapio:init_relayfs:328 attempting to openat trace134 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace134 stapio:init_relayfs:328 attempting to openat trace135 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace135 stapio:init_relayfs:328 attempting to openat trace136 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace136 stapio:init_relayfs:328 attempting to openat trace137 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace137 stapio:init_relayfs:328 attempting to openat trace138 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace138 stapio:init_relayfs:328 attempting to openat trace139 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace139 stapio:init_relayfs:328 attempting to openat trace140 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace140 stapio:init_relayfs:328 attempting to openat trace141 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace141 stapio:init_relayfs:328 attempting to openat trace142 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace142 stapio:init_relayfs:328 attempting to openat trace143 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace143 stapio:init_relayfs:328 attempting to openat trace144 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace144 stapio:init_relayfs:328 attempting to openat trace145 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace145 stapio:init_relayfs:328 attempting to openat trace146 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace146 stapio:init_relayfs:328 attempting to openat trace147 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace147 stapio:init_relayfs:328 attempting to openat trace148 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace148 stapio:init_relayfs:328 attempting to openat trace149 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace149 stapio:init_relayfs:328 attempting to openat trace150 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace150 stapio:init_relayfs:328 attempting to openat trace151 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace151 stapio:init_relayfs:328 attempting to openat trace152 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace152 stapio:init_relayfs:328 attempting to openat trace153 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace153 stapio:init_relayfs:328 attempting to openat trace154 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace154 stapio:init_relayfs:328 attempting to openat trace155 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace155 stapio:init_relayfs:328 attempting to openat trace156 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace156 stapio:init_relayfs:328 attempting to openat trace157 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace157 stapio:init_relayfs:328 attempting to openat trace158 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace158 stapio:init_relayfs:328 attempting to openat trace159 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace159 stapio:init_relayfs:328 attempting to openat trace160 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace160 stapio:init_relayfs:328 attempting to openat trace161 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace161 stapio:init_relayfs:328 attempting to openat trace162 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace162 stapio:init_relayfs:328 attempting to openat trace163 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace163 stapio:init_relayfs:328 attempting to openat trace164 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace164 stapio:init_relayfs:328 attempting to openat trace165 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace165 stapio:init_relayfs:328 attempting to openat trace166 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace166 stapio:init_relayfs:328 attempting to openat trace167 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace167 stapio:init_relayfs:328 attempting to openat trace168 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace168 stapio:init_relayfs:328 attempting to openat trace169 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace169 stapio:init_relayfs:328 attempting to openat trace170 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace170 stapio:init_relayfs:328 attempting to openat trace171 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace171 stapio:init_relayfs:328 attempting to openat trace172 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace172 stapio:init_relayfs:328 attempting to openat trace173 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace173 stapio:init_relayfs:328 attempting to openat trace174 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace174 stapio:init_relayfs:328 attempting to openat trace175 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace175 stapio:init_relayfs:328 attempting to openat trace176 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace176 stapio:init_relayfs:328 attempting to openat trace177 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace177 stapio:init_relayfs:328 attempting to openat trace178 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace178 stapio:init_relayfs:328 attempting to openat trace179 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace179 stapio:init_relayfs:328 attempting to openat trace180 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace180 stapio:init_relayfs:328 attempting to openat trace181 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace181 stapio:init_relayfs:328 attempting to openat trace182 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace182 stapio:init_relayfs:328 attempting to openat trace183 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace183 stapio:init_relayfs:328 attempting to openat trace184 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace184 stapio:init_relayfs:328 attempting to openat trace185 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace185 stapio:init_relayfs:328 attempting to openat trace186 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace186 stapio:init_relayfs:328 attempting to openat trace187 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace187 stapio:init_relayfs:328 attempting to openat trace188 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace188 stapio:init_relayfs:328 attempting to openat trace189 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace189 stapio:init_relayfs:328 attempting to openat trace190 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace190 stapio:init_relayfs:328 attempting to openat trace191 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace191 stapio:init_relayfs:328 attempting to openat trace192 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace192 stapio:init_relayfs:328 attempting to openat trace193 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace193 stapio:init_relayfs:328 attempting to openat trace194 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace194 stapio:init_relayfs:328 attempting to openat trace195 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace195 stapio:init_relayfs:328 attempting to openat trace196 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace196 stapio:init_relayfs:328 attempting to openat trace197 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace197 stapio:init_relayfs:328 attempting to openat trace198 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace198 stapio:init_relayfs:328 attempting to openat trace199 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace199 stapio:init_relayfs:328 attempting to openat trace200 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace200 stapio:init_relayfs:328 attempting to openat trace201 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace201 stapio:init_relayfs:328 attempting to openat trace202 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace202 stapio:init_relayfs:328 attempting to openat trace203 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace203 stapio:init_relayfs:328 attempting to openat trace204 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace204 stapio:init_relayfs:328 attempting to openat trace205 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace205 stapio:init_relayfs:328 attempting to openat trace206 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace206 stapio:init_relayfs:328 attempting to openat trace207 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace207 stapio:init_relayfs:328 attempting to openat trace208 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace208 stapio:init_relayfs:328 attempting to openat trace209 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace209 stapio:init_relayfs:328 attempting to openat trace210 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace210 stapio:init_relayfs:328 attempting to openat trace211 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace211 stapio:init_relayfs:328 attempting to openat trace212 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace212 stapio:init_relayfs:328 attempting to openat trace213 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace213 stapio:init_relayfs:328 attempting to openat trace214 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace214 stapio:init_relayfs:328 attempting to openat trace215 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace215 stapio:init_relayfs:328 attempting to openat trace216 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace216 stapio:init_relayfs:328 attempting to openat trace217 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace217 stapio:init_relayfs:328 attempting to openat trace218 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace218 stapio:init_relayfs:328 attempting to openat trace219 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace219 stapio:init_relayfs:328 attempting to openat trace220 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace220 stapio:init_relayfs:328 attempting to openat trace221 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace221 stapio:init_relayfs:328 attempting to openat trace222 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace222 stapio:init_relayfs:328 attempting to openat trace223 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace223 stapio:init_relayfs:328 attempting to openat trace224 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace224 stapio:init_relayfs:328 attempting to openat trace225 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace225 stapio:init_relayfs:328 attempting to openat trace226 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace226 stapio:init_relayfs:328 attempting to openat trace227 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace227 stapio:init_relayfs:328 attempting to openat trace228 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace228 stapio:init_relayfs:328 attempting to openat trace229 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace229 stapio:init_relayfs:328 attempting to openat trace230 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace230 stapio:init_relayfs:328 attempting to openat trace231 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace231 stapio:init_relayfs:328 attempting to openat trace232 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace232 stapio:init_relayfs:328 attempting to openat trace233 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace233 stapio:init_relayfs:328 attempting to openat trace234 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace234 stapio:init_relayfs:328 attempting to openat trace235 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace235 stapio:init_relayfs:328 attempting to openat trace236 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace236 stapio:init_relayfs:328 attempting to openat trace237 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace237 stapio:init_relayfs:328 attempting to openat trace238 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace238 stapio:init_relayfs:328 attempting to openat trace239 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace239 stapio:init_relayfs:328 attempting to openat trace240 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace240 stapio:init_relayfs:328 attempting to openat trace241 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace241 stapio:init_relayfs:328 attempting to openat trace242 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace242 stapio:init_relayfs:328 attempting to openat trace243 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace243 stapio:init_relayfs:328 attempting to openat trace244 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace244 stapio:init_relayfs:328 attempting to openat trace245 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace245 stapio:init_relayfs:328 attempting to openat trace246 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace246 stapio:init_relayfs:328 attempting to openat trace247 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace247 stapio:init_relayfs:328 attempting to openat trace248 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace248 stapio:init_relayfs:328 attempting to openat trace249 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace249 stapio:init_relayfs:328 attempting to openat trace250 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace250 stapio:init_relayfs:328 attempting to openat trace251 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace251 stapio:init_relayfs:328 attempting to openat trace252 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace252 stapio:init_relayfs:328 attempting to openat trace253 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace253 stapio:init_relayfs:328 attempting to openat trace254 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace254 stapio:init_relayfs:328 attempting to openat trace255 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/trace255 stapio:init_relayfs:344 ncpus=1, bulkmode = 0 stapio:init_relayfs:346 cpui=0, relayfd=0 stapio:init_relayfs:425 starting threads stapio:stp_main_loop:842 systemtap_module_init() returned 0 stapio:stp_main_loop:848 detaching pid 9418 stapio:start_cmd:285 execing target_cmd /root/systemtap_write/systemtap/testsuite/sdt_misc.x stapio:chld_proc:70 chld_proc 17 (Child exited) process("/root/systemtap_write/systemtap/testsuite/sdt_misc.x").library("/root/systemtap_write/systemtap/testsuite/libsdt.so").statement("baz@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:56") stapio:stp_main_loop:833 got STP_REQUEST_EXIT stapio:stp_main_loop:822 got STP_EXIT stapio:cleanup_and_exit:510 detach=0 stapio:close_relayfs:447 closing stapio:close_relayfs:469 done stapio:cleanup_and_exit:527 closing control channel stapio:close_ctl_channel:114 Closed ctl fd 4 stapio:cleanup_and_exit:535 Renamed module to: stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 stapio:cleanup_and_exit:542 removing stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 staprun:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416.ko" staprun:main:432 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416.ko", modname="stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416" staprun:init_staprun:338 init_staprun staprun:remove_module:246 stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416/.cmd (4) staprun:close_ctl_channel:114 Closed ctl fd 4 staprun:remove_module:272 removing module stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 staprun:remove_module:284 Module stap_774f7dcc8c2ddf6520bc71f22971a4cf_9416 removed. Spawn waitpid result (0x0): 0 Pass 5: run completed in 0usr/100sys/3578real ms. Running rm -rf /tmp/stapzqUMsk Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapzqUMsk" PASS: library printf --ldd (4) (4 != 4) spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc.x -e probe process("/root/systemtap_write/systemtap/testsuite/sdt_misc.x").library("libsdt.so").function("*").exported {printf("%s ", pp())} process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("_init").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("call_weak_fn").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("frame_dummy").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("register_tm_clones").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:36").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("baz@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:56").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("buz@/root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c:67").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("__do_global_dtors_aux").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("deregister_tm_clones").exported process("/root/systemtap_write/systemtap/testsuite/libsdt.so").function("_fini").exported PASS: library .exported (3) (3 >= 3) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/library.exp completed in 103 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/limits.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/limits.stp PASS: systemtap.base/limits.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/limits.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/list.exp ... spawn stap -l process("stap").plt("re??") process("/root/systemtap_write/install/bin/stap").plt("read") PASS: plt-glob spawn stap -l process("stap").plt("re*") process("/root/systemtap_write/install/bin/stap").plt("read") process("/root/systemtap_write/install/bin/stap").plt("readline") process("/root/systemtap_write/install/bin/stap").plt("readlink") process("/root/systemtap_write/install/bin/stap").plt("realpath") process("/root/systemtap_write/install/bin/stap").plt("regcomp") process("/root/systemtap_write/install/bin/stap").plt("regexec") process("/root/systemtap_write/install/bin/stap").plt("regfree") process("/root/systemtap_write/install/bin/stap").plt("remove") process("/root/systemtap_write/install/bin/stap").plt("rename") PASS: plt-glob2 spawn stap -l process("stap").plt("read") process("/root/systemtap_write/install/bin/stap").plt("read") PASS: plt-non-glob spawn stap -l process("stap").plt("re??").return process("/root/systemtap_write/install/bin/stap").plt("read").return PASS: plt-glob-ret spawn stap -l process("stap").plt("re*").return process("/root/systemtap_write/install/bin/stap").plt("read").return process("/root/systemtap_write/install/bin/stap").plt("readline").return process("/root/systemtap_write/install/bin/stap").plt("readlink").return process("/root/systemtap_write/install/bin/stap").plt("realpath").return process("/root/systemtap_write/install/bin/stap").plt("regcomp").return process("/root/systemtap_write/install/bin/stap").plt("regexec").return process("/root/systemtap_write/install/bin/stap").plt("regfree").return process("/root/systemtap_write/install/bin/stap").plt("remove").return process("/root/systemtap_write/install/bin/stap").plt("rename").return PASS: plt-glob2-ret spawn stap -l process("stap").plt("read").return process("/root/systemtap_write/install/bin/stap").plt("read").return PASS: plt-non-glob-ret spawn stap -l process("stap").mark("pass5__end") process("/root/systemtap_write/install/bin/stap").mark("pass5__end") PASS: mark-non-glob spawn stap -l process("stap").mark("pass5-end") process("/root/systemtap_write/install/bin/stap").mark("pass5__end") PASS: mark-non-glob2 spawn stap -l process("stap").mark("pass[123456]__end") process("/root/systemtap_write/install/bin/stap").mark("pass1__end") process("/root/systemtap_write/install/bin/stap").mark("pass2__end") process("/root/systemtap_write/install/bin/stap").mark("pass3__end") process("/root/systemtap_write/install/bin/stap").mark("pass4__end") process("/root/systemtap_write/install/bin/stap").mark("pass5__end") process("/root/systemtap_write/install/bin/stap").mark("pass6__end") PASS: mark-glob spawn stap -l process("stap").mark("pass*__end") process("/root/systemtap_write/install/bin/stap").mark("pass0__end") process("/root/systemtap_write/install/bin/stap").mark("pass1__end") process("/root/systemtap_write/install/bin/stap").mark("pass2__end") process("/root/systemtap_write/install/bin/stap").mark("pass3__end") process("/root/systemtap_write/install/bin/stap").mark("pass4__end") process("/root/systemtap_write/install/bin/stap").mark("pass5__end") process("/root/systemtap_write/install/bin/stap").mark("pass6__end") PASS: mark-glob2 spawn stap -l syscall.rea* syscall.read syscall.readahead syscall.readlink syscall.readlinkat syscall.readv PASS: syscall-glob spawn stap -l syscall.read syscall.read PASS: syscall-noglob spawn stap -l kernel.function("init_once*") kernel.function("init_once@fs/block_dev.c:609") kernel.function("init_once@fs/ext4/super.c:979") kernel.function("init_once@fs/hugetlbfs/inode.c:966") kernel.function("init_once@fs/inode.c:378") kernel.function("init_once@fs/proc/inode.c:86") kernel.function("init_once@ipc/mqueue.c:340") kernel.function("init_once@net/socket.c:283") kernel.function("init_once_userfaultfd_ctx@fs/userfaultfd.c:1257") PASS: init_once-glob spawn stap -l kernel.function("init_once") kernel.function("init_once@fs/block_dev.c:609") kernel.function("init_once@fs/ext4/super.c:979") kernel.function("init_once@fs/hugetlbfs/inode.c:966") kernel.function("init_once@fs/inode.c:378") kernel.function("init_once@fs/proc/inode.c:86") kernel.function("init_once@ipc/mqueue.c:340") kernel.function("init_once@net/socket.c:283") PASS: init_once-noglob spawn stap -l begin* begin PASS: begin-glob spawn stap -l begin begin PASS: begin-noglob spawn stap -l kernel.function("copy_*@kernel/fork.c").inline kernel.function("copy_files@kernel/fork.c:1049").inline kernel.function("copy_fs@kernel/fork.c:1029").inline kernel.function("copy_io@kernel/fork.c:1076").inline kernel.function("copy_mm@kernel/fork.c:983").inline kernel.function("copy_process@kernel/fork.c:1278").inline kernel.function("copy_seccomp@kernel/fork.c:1201").inline kernel.function("copy_sighand@kernel/fork.c:1102").inline kernel.function("copy_signal@kernel/fork.c:1151").inline PASS: copy_signal-inline spawn stap -l kernel.statement("copy_*@kernel/fork.c:*") kernel.statement("copy_files@kernel/fork.c:1057") kernel.statement("copy_files@kernel/fork.c:1058") kernel.statement("copy_files@kernel/fork.c:1061") kernel.statement("copy_files@kernel/fork.c:1066") kernel.statement("copy_files@kernel/fork.c:1067") kernel.statement("copy_files@kernel/fork.c:1070") kernel.statement("copy_files@kernel/fork.c:1073") kernel.statement("copy_mm@kernel/fork.c:1002") PASS: copy_signal-statement spawn stap -l process("/lib*/libc.so.*").function("chmod") process("/usr/lib64/libc-2.17.so").function("__chmod@../ports/sysdeps/unix/sysv/linux/generic/chmod.c:27") FAIL: function-weak testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/list.exp completed in 22 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -fPIC -shared -DLISTING_MODE_LIB -lm -o liblisting_mode.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -fPIC -shared -DLISTING_MODE_LIB -lm -o liblisting_mode.so PASS: listing_mode library compile Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -llisting_mode -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L. -DLISTING_MODE_MAIN -lm -o listing_mode (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -llisting_mode -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L. -DLISTING_MODE_MAIN -lm -o listing_mode PASS: listing_mode exe compile spawn ./listing_mode executing: stap -l begin received: "begin" expected: "begin" PASS: listing_mode (begin ) executing: stap -l begin(-1) received: "begin(-1)" expected: "begin(-1)" PASS: listing_mode (begin(-1) ) executing: stap -l begin(0) received: "begin(0)" expected: "begin(0)" PASS: listing_mode (begin(0) ) executing: stap -l begin(1) received: "begin(1)" expected: "begin(1)" PASS: listing_mode (begin(1) ) executing: stap -l end received: "end" expected: "end" PASS: listing_mode (end ) executing: stap -l end(-1) received: "end(-1)" expected: "end(-1)" PASS: listing_mode (end(-1) ) executing: stap -l end(0) received: "end(0)" expected: "end(0)" PASS: listing_mode (end(0) ) executing: stap -l end(1) received: "end(1)" expected: "end(1)" PASS: listing_mode (end(1) ) executing: stap -l error received: "error" expected: "error" PASS: listing_mode (error ) executing: stap -l error(-1) received: "error(-1)" expected: "error(-1)" PASS: listing_mode (error(-1) ) executing: stap -l error(0) received: "error(0)" expected: "error(0)" PASS: listing_mode (error(0) ) executing: stap -l error(1) received: "error(1)" expected: "error(1)" PASS: listing_mode (error(1) ) executing: stap -l java(123).class("MyClass").method("MyMethod") received: "java(123).class("MyClass").method("MyMethod")" expected: "java(123).class("MyClass").method("MyMethod")" PASS: listing_mode (java(123).class("MyClass").method("MyMethod") ) executing: stap -l java(123).class("MyClass").method("MyMethod").return received: "java(123).class("MyClass").method("MyMethod").return" expected: "java(123).class("MyClass").method("MyMethod").return" PASS: listing_mode (java(123).class("MyClass").method("MyMethod").return ) executing: stap -l java("JavaProc").class("MyClass").method("MyMethod") received: "java("JavaProc").class("MyClass").method("MyMethod")" expected: "java("JavaProc").class("MyClass").method("MyMethod")" PASS: listing_mode (java("JavaProc").class("MyClass").method("MyMethod") ) executing: stap -l java("JavaProc").class("MyClass").method("MyMethod").return received: "java("JavaProc").class("MyClass").method("MyMethod").return" expected: "java("JavaProc").class("MyClass").method("MyMethod").return" PASS: listing_mode (java("JavaProc").class("MyClass").method("MyMethod").return ) executing: stap -l kernel.data(0x123).length(456).rw received: "kernel.data(0x123).length(456).rw" expected: "kernel.data(0x123).length(456).rw" PASS: listing_mode (kernel.data(0x123).length(456).rw ) executing: stap -l kernel.data(0x123).length(456).write received: "kernel.data(0x123).length(456).write" expected: "kernel.data(0x123).length(456).write" PASS: listing_mode (kernel.data(0x123).length(456).write ) executing: stap -l kernel.data(0x123).rw received: "kernel.data(0x123).rw" expected: "kernel.data(0x123).rw" PASS: listing_mode (kernel.data(0x123).rw ) executing: stap -l kernel.data(0x123).write received: "kernel.data(0x123).write" expected: "kernel.data(0x123).write" PASS: listing_mode (kernel.data(0x123).write ) executing: stap -l kernel.data("abcd").rw received: "kernel.data("abcd").rw" expected: "kernel.data("abcd").rw" PASS: listing_mode (kernel.data("abcd").rw ) executing: stap -l kernel.data("abcd").write received: "kernel.data("abcd").write" expected: "kernel.data("abcd").write" PASS: listing_mode (kernel.data("abcd").write ) executing: stap -l kernel.function(0xfffffc00082a1788) received: "kernel.function(0xfffffc00082a1788)" expected: "kernel.function(0xfffffc00082a1788)" PASS: listing_mode (kernel.function(0xfffffc00082a1788) ) executing: stap -l kernel.function(0xfffffc00082a1788).call received: "kernel.function(0xfffffc00082a1788).call" expected: "kernel.function(0xfffffc00082a1788).call" PASS: listing_mode (kernel.function(0xfffffc00082a1788).call ) executing: stap -l kernel.function(0xfffffc00082a1788).exported received: "kernel.function(0xfffffc00082a1788).exported" expected: "kernel.function(0xfffffc00082a1788).exported" PASS: listing_mode (kernel.function(0xfffffc00082a1788).exported ) executing: stap -l kernel.function(0xfffffc00082a1788).return received: "kernel.function(0xfffffc00082a1788).return" expected: "kernel.function(0xfffffc00082a1788).return" PASS: listing_mode (kernel.function(0xfffffc00082a1788).return ) executing: stap -l kernel.function(0xfffffc00082a1788).return.maxactive(0) received: "kernel.function(0xfffffc00082a1788).return.maxactive(0)" expected: "kernel.function(0xfffffc00082a1788).return.maxactive(0)" PASS: listing_mode (kernel.function(0xfffffc00082a1788).return.maxactive(0) ) executing: stap -l kernel.function(0xfffffc00082a1788).return.maxactive(1) received: "kernel.function(0xfffffc00082a1788).return.maxactive(1)" expected: "kernel.function(0xfffffc00082a1788).return.maxactive(1)" PASS: listing_mode (kernel.function(0xfffffc00082a1788).return.maxactive(1) ) executing: stap -l kernel.function(0xfffffc00082a1788).return.maxactive(100) received: "kernel.function(0xfffffc00082a1788).return.maxactive(100)" expected: "kernel.function(0xfffffc00082a1788).return.maxactive(100)" PASS: listing_mode (kernel.function(0xfffffc00082a1788).return.maxactive(100) ) executing: stap -l kernel.function("vfs_read") received: "kernel.function("vfs_read@fs/read_write.c:460")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read") ) executing: stap -l kernel.function("vfs_rea\[d\]") received: "kernel.function("vfs_read@fs/read_write.c:460")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_rea\[d\]") ) executing: stap -l kernel.function("vfs_read@*") received: "kernel.function("vfs_read@fs/read_write.c:460")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read@*") ) executing: stap -l kernel.function("vfs_read").call received: "kernel.function("vfs_read@fs/read_write.c:460").call" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).call$" PASS: listing_mode (kernel.function("vfs_read").call ) executing: stap -l kernel.function("vfs_read").callee("*") received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read").callee("*") ) executing: stap -l kernel.function("vfs_read").callee("*").return received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448").return" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).return$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401").return" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).return$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411").return" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).return$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401").return" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).return$" PASS: listing_mode (kernel.function("vfs_read").callee("*").return ) executing: stap -l kernel.function("vfs_read").callee("*").call received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448").call" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).call$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401").call" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).call$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411").call" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).call$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401").call" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\).call$" PASS: listing_mode (kernel.function("vfs_read").callee("*").call ) executing: stap -l kernel.function("vfs_read").callees received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read").callees ) executing: stap -l kernel.function("vfs_read").callees(1) received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401")" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read").callees(1) ) executing: stap -l kernel.function("vfs_read").callees(2) received: "kernel.function("rw_verify_area@fs/read_write.c:401").callee("security_file_permission@security/security.c:751")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("rw_verify_area@fs/read_write.c:401").callee("unsigned_offsets@fs/read_write.c:38")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" received: "kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401")" expected: "^kernel.function\("[^@]+@[^:]+:[0-9]+"\).callee\("[^@]+@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.function("vfs_read").callees(2) ) executing: stap -l kernel.function("vfs_read").exported received: "kernel.function("vfs_read@fs/read_write.c:460").exported" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).exported$" PASS: listing_mode (kernel.function("vfs_read").exported ) executing: stap -l kernel.function("vfs_read").return received: "kernel.function("vfs_read@fs/read_write.c:460").return" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).return$" PASS: listing_mode (kernel.function("vfs_read").return ) executing: stap -l kernel.function("vfs_read").return.maxactive(0) received: "kernel.function("vfs_read@fs/read_write.c:460").return.maxactive(0)" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).return.maxactive\(0\)$" PASS: listing_mode (kernel.function("vfs_read").return.maxactive(0) ) executing: stap -l kernel.function("vfs_read").return.maxactive(1) received: "kernel.function("vfs_read@fs/read_write.c:460").return.maxactive(1)" expected: "^kernel.function\("vfs_read@[^:]+:[0-9]+"\).return.maxactive\(1\)$" PASS: listing_mode (kernel.function("vfs_read").return.maxactive(1) ) executing: stap -l kernel.statement(0xfffffc00082a1788) received: "kernel.statement(0xfffffc00082a1788)" expected: "kernel.statement(0xfffffc00082a1788)" PASS: listing_mode (kernel.statement(0xfffffc00082a1788) ) executing: stap -l kernel.statement(0xfffffc00082a1788).nearest received: "kernel.statement(0xfffffc00082a1788).nearest" expected: "kernel.statement(0xfffffc00082a1788).nearest" PASS: listing_mode (kernel.statement(0xfffffc00082a1788).nearest ) executing: stap -l kernel.statement(0xfffffc00082a1788).absolute -g received: "kernel.statement(0xfffffc00082a1788).absolute" expected: "kernel.statement(0xfffffc00082a1788).absolute" PASS: listing_mode (kernel.statement(0xfffffc00082a1788).absolute -g) executing: stap -l kernel.statement("vfs_read") received: "kernel.statement("vfs_read@fs/read_write.c:460")" expected: "^kernel.statement\("vfs_read@[^:]+:[0-9]+"\)$" PASS: listing_mode (kernel.statement("vfs_read") ) executing: stap -l kernel.statement("vfs_read").nearest received: "kernel.statement("vfs_read@fs/read_write.c:460").nearest" expected: "^kernel.statement\("vfs_read@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (kernel.statement("vfs_read").nearest ) executing: stap -l kernel.trace("sched:sched_switch") received: "kernel.trace("sched:sched_switch")" expected: "kernel.trace("sched:sched_switch")" PASS: listing_mode (kernel.trace("sched:sched_switch") ) executing: stap -l kernel.trace("sched_switch") received: "kernel.trace("sched:sched_switch")" expected: "kernel.trace("sched:sched_switch")" PASS: listing_mode (kernel.trace("sched_switch") ) executing: stap -l kernel.trace("s*") received: "kernel.trace("asoc:snd_soc_bias_level_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_bias_level_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_connected")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_path")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_walk_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_widget_event_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_widget_event_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_dapm_widget_power")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_jack_irq")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_jack_notify")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("asoc:snd_soc_jack_report")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hda:snd_hdac_stream_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hda:snd_hdac_stream_stop")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hswadsp:sst_irq_busy")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hswadsp:sst_irq_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hswadsp:stream_read_position")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("hswadsp:stream_write_position")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("i2c:smbus_read")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("i2c:smbus_reply")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("i2c:smbus_result")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("i2c:smbus_write")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_inbox_rdata")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_inbox_read")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_inbox_wdata")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_inbox_write")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_msg_rx")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_msg_tx")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_outbox_rdata")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_outbox_read")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_outbox_wdata")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("intel-sst:sst_ipc_outbox_write")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("irq:softirq_entry")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("irq:softirq_exit")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("irq:softirq_raise")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("mac80211:stop_queue")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("mt7601u:set_key")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("mt7601u:set_shared_key")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("power:suspend_resume")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("raw_syscalls:sys_enter")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("raw_syscalls:sys_exit")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_kthread_stop")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_kthread_stop_ret")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_migrate_task")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_move_numa")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_pi_setprio")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_exec")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_exit")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_fork")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_free")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_hang")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_process_wait")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stat_blocked")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stat_iowait")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stat_runtime")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stat_sleep")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stat_wait")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_stick_numa")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_swap_numa")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_switch")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_wait_task")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_wake_idle_without_ipi")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_wakeup")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_wakeup_new")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sched:sched_waking")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("scsi:scsi_dispatch_cmd_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("scsi:scsi_dispatch_cmd_error")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("scsi:scsi_dispatch_cmd_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("scsi:scsi_dispatch_cmd_timeout")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("scsi:scsi_eh_wakeup")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("signal:signal_deliver")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("signal:signal_generate")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("skb:skb_copy_datagram_iovec")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sock:sock_exceed_buf_limit")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sock:sock_rcvqueue_full")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_master_busy")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_master_idle")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_message_done")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_message_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_message_submit")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_transfer_start")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spi:spi_transfer_stop")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spmi:spmi_cmd")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spmi:spmi_read_begin")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spmi:spmi_read_end")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spmi:spmi_write_begin")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("spmi:spmi_write_end")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_defer")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_drop")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_drop_deferred")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_handle_xprt")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_process")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_recv")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_revisit_deferred")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_send")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_wake_up")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_xprt_dequeue")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_xprt_do_enqueue")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("sunrpc:svc_xprt_no_write_space")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("swiotlb:swiotlb_bounced")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("writeback:sb_clear_inode_writeback")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" received: "kernel.trace("writeback:sb_mark_inode_writeback")" expected: "^kernel.trace\("[^:]*:s[a-zA-Z0-9_]*"\)$" PASS: listing_mode (kernel.trace("s*") ) executing: stap -l kprobe.function("vfs_read") received: "kprobe.function("vfs_read")" expected: "kprobe.function("vfs_read")" PASS: listing_mode (kprobe.function("vfs_read") ) executing: stap -l kprobe.function("vfs_read").call received: "kprobe.function("vfs_read").call" expected: "kprobe.function("vfs_read").call" PASS: listing_mode (kprobe.function("vfs_read").call ) executing: stap -l kprobe.function("vfs_read").return received: "kprobe.function("vfs_read").return" expected: "kprobe.function("vfs_read").return" PASS: listing_mode (kprobe.function("vfs_read").return ) executing: stap -l kprobe.function("vfs_read").return.maxactive(0) received: "kprobe.function("vfs_read").return.maxactive(0)" expected: "kprobe.function("vfs_read").return.maxactive(0)" PASS: listing_mode (kprobe.function("vfs_read").return.maxactive(0) ) executing: stap -l kprobe.function("vfs_read").return.maxactive(1) received: "kprobe.function("vfs_read").return.maxactive(1)" expected: "kprobe.function("vfs_read").return.maxactive(1)" PASS: listing_mode (kprobe.function("vfs_read").return.maxactive(1) ) executing: stap -l kprobe.statement(0xfffffc00082a1788).absolute -g received: "kprobe.statement(0xfffffc00082a1788).absolute" expected: "kprobe.statement(0xfffffc00082a1788).absolute" PASS: listing_mode (kprobe.statement(0xfffffc00082a1788).absolute -g) executing: stap -l netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") received: "netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4")" expected: "netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4")" PASS: listing_mode (netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") ) executing: stap -l netfilter.hook("STRING1").pf("STRING2") -g received: "netfilter.hook("STRING1").pf("STRING2")" expected: "netfilter.hook("STRING1").pf("STRING2")" PASS: listing_mode (netfilter.hook("STRING1").pf("STRING2") -g) executing: stap -l netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("255") received: "netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("255")" expected: "netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("255")" PASS: listing_mode (netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("255") ) executing: stap -l netfilter.hook("STRING1").pf("STRING2").priority("STRING3") -g received: "netfilter.hook("STRING1").pf("STRING2").priority("STRING3")" expected: "netfilter.hook("STRING1").pf("STRING2").priority("STRING3")" PASS: listing_mode (netfilter.hook("STRING1").pf("STRING2").priority("STRING3") -g) executing: stap -l netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") received: "netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING")" expected: "netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING")" PASS: listing_mode (netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") ) executing: stap -l netfilter.pf("STRING1").hook("STRING2") -g received: "netfilter.pf("STRING1").hook("STRING2")" expected: "netfilter.pf("STRING1").hook("STRING2")" PASS: listing_mode (netfilter.pf("STRING1").hook("STRING2") -g) executing: stap -l netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING").priority("255") received: "netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING").priority("255")" expected: "netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING").priority("255")" PASS: listing_mode (netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING").priority("255") ) executing: stap -l netfilter.pf("STRING1").hook("STRING2").priority("STRING3") -g received: "netfilter.pf("STRING1").hook("STRING2").priority("STRING3")" expected: "netfilter.pf("STRING1").hook("STRING2").priority("STRING3")" PASS: listing_mode (netfilter.pf("STRING1").hook("STRING2").priority("STRING3") -g) executing: stap -l never received: "never" expected: "never" PASS: listing_mode (never ) executing: stap -l perf.type(1).config(1) received: "perf.type(1).config(1)" expected: "perf.type(1).config(1)" PASS: listing_mode (perf.type(1).config(1) ) executing: stap -l perf.type(1).config(1).counter("string") received: "perf.type(1).config(1).counter("string")" expected: "perf.type(1).config(1).counter("string")" PASS: listing_mode (perf.type(1).config(1).counter("string") ) executing: stap -l perf.type(1).config(1).process -c ls received: "perf.type(1).config(1).process" expected: "perf.type(1).config(1).process" PASS: listing_mode (perf.type(1).config(1).process -c ls) executing: stap -l perf.type(1).config(1).process("string") received: "perf.type(1).config(1).process("string")" expected: "perf.type(1).config(1).process("string")" PASS: listing_mode (perf.type(1).config(1).process("string") ) executing: stap -l perf.type(1).config(1).process("string").counter("string") received: "perf.type(1).config(1).process("string").counter("string")" expected: "perf.type(1).config(1).process("string").counter("string")" PASS: listing_mode (perf.type(1).config(1).process("string").counter("string") ) executing: stap -l perf.type(1).config(1).sample(1000) received: "perf.type(1).config(1).sample(1000)" expected: "perf.type(1).config(1).sample(1000)" PASS: listing_mode (perf.type(1).config(1).sample(1000) ) executing: stap -l perf.type(1).config(1).hz(1000) received: "perf.type(1).config(1).hz(1000)" expected: "perf.type(1).config(1).hz(1000)" PASS: listing_mode (perf.type(1).config(1).hz(1000) ) executing: stap -l process.begin received: "process.begin" expected: "process.begin" PASS: listing_mode (process.begin ) executing: stap -l process.end received: "process.end" expected: "process.end" PASS: listing_mode (process.end ) executing: stap -l process.function(0x400948) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process.function(0x400948) -c listing_mode) executing: stap -l process.function(0x400948) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process.function(0x400948) -c ./listing_mode) executing: stap -l process.function(0x400948) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process.function(0x400948) -c EXEFULLPATH) executing: stap -l process("listing_mode").function(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process("listing_mode").function(0x400948) ) executing: stap -l process("./listing_mode").function(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process("./listing_mode").function(0x400948) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process("EXEFULLPATH").function(0x400948) ) executing: stap -l process("*listing_mode").function(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process("*listing_mode").function(0x400948) ) executing: stap -l process.function(0x400948).call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process.function(0x400948).call -c listing_mode) executing: stap -l process.function(0x400948).call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process.function(0x400948).call -c ./listing_mode) executing: stap -l process.function(0x400948).call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process.function(0x400948).call -c EXEFULLPATH) executing: stap -l process("listing_mode").function(0x400948).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process("listing_mode").function(0x400948).call ) executing: stap -l process("./listing_mode").function(0x400948).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process("./listing_mode").function(0x400948).call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process("EXEFULLPATH").function(0x400948).call ) executing: stap -l process("*listing_mode").function(0x400948).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process("*listing_mode").function(0x400948).call ) executing: stap -l process.function(0x400948).exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process.function(0x400948).exported -c listing_mode) executing: stap -l process.function(0x400948).exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process.function(0x400948).exported -c ./listing_mode) executing: stap -l process.function(0x400948).exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process.function(0x400948).exported -c EXEFULLPATH) executing: stap -l process("listing_mode").function(0x400948).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process("listing_mode").function(0x400948).exported ) executing: stap -l process("./listing_mode").function(0x400948).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process("./listing_mode").function(0x400948).exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").function(0x400948).exported ) executing: stap -l process("*listing_mode").function(0x400948).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process("*listing_mode").function(0x400948).exported ) executing: stap -l process.function(0x400948).return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process.function(0x400948).return -c listing_mode) executing: stap -l process.function(0x400948).return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process.function(0x400948).return -c ./listing_mode) executing: stap -l process.function(0x400948).return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process.function(0x400948).return -c EXEFULLPATH) executing: stap -l process("listing_mode").function(0x400948).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process("listing_mode").function(0x400948).return ) executing: stap -l process("./listing_mode").function(0x400948).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process("./listing_mode").function(0x400948).return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process("EXEFULLPATH").function(0x400948).return ) executing: stap -l process("*listing_mode").function(0x400948).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process("*listing_mode").function(0x400948).return ) executing: stap -l process.function("foo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process.function("foo") -c listing_mode) executing: stap -l process.function("foo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process.function("foo") -c ./listing_mode) executing: stap -l process.function("foo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process.function("foo") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process("listing_mode").function("foo") ) executing: stap -l process("./listing_mode").function("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process("./listing_mode").function("foo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process("EXEFULLPATH").function("foo") ) executing: stap -l process("*listing_mode").function("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process("*listing_mode").function("foo") ) executing: stap -l process.function("foo").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process.function("foo").call -c listing_mode) executing: stap -l process.function("foo").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process.function("foo").call -c ./listing_mode) executing: stap -l process.function("foo").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process.function("foo").call -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process("listing_mode").function("foo").call ) executing: stap -l process("./listing_mode").function("foo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process("./listing_mode").function("foo").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").function("foo").call ) executing: stap -l process("*listing_mode").function("foo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process("*listing_mode").function("foo").call ) executing: stap -l process.function("foo").callee("bar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callee("bar") -c listing_mode) executing: stap -l process.function("foo").callee("bar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callee("bar") -c ./listing_mode) executing: stap -l process.function("foo").callee("bar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callee("bar") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callee("bar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("listing_mode").function("foo").callee("bar") ) executing: stap -l process("./listing_mode").function("foo").callee("bar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("./listing_mode").function("foo").callee("bar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callee("bar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callee("bar") ) executing: stap -l process("*listing_mode").function("foo").callee("bar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("*listing_mode").function("foo").callee("bar") ) executing: stap -l process.function("foo").callee("bar").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process.function("foo").callee("bar").call -c listing_mode) executing: stap -l process.function("foo").callee("bar").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process.function("foo").callee("bar").call -c ./listing_mode) executing: stap -l process.function("foo").callee("bar").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process.function("foo").callee("bar").call -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callee("bar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process("listing_mode").function("foo").callee("bar").call ) executing: stap -l process("./listing_mode").function("foo").callee("bar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process("./listing_mode").function("foo").callee("bar").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callee("bar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callee("bar").call ) executing: stap -l process("*listing_mode").function("foo").callee("bar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process("*listing_mode").function("foo").callee("bar").call ) executing: stap -l process.function("foo").callee("bar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process.function("foo").callee("bar").return -c listing_mode) executing: stap -l process.function("foo").callee("bar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process.function("foo").callee("bar").return -c ./listing_mode) executing: stap -l process.function("foo").callee("bar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process.function("foo").callee("bar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callee("bar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process("listing_mode").function("foo").callee("bar").return ) executing: stap -l process("./listing_mode").function("foo").callee("bar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process("./listing_mode").function("foo").callee("bar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callee("bar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callee("bar").return ) executing: stap -l process("*listing_mode").function("foo").callee("bar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process("*listing_mode").function("foo").callee("bar").return ) executing: stap -l process.function("foo").callees -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees -c listing_mode) executing: stap -l process.function("foo").callees -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees -c ./listing_mode) executing: stap -l process.function("foo").callees -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("listing_mode").function("foo").callees ) executing: stap -l process("./listing_mode").function("foo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("./listing_mode").function("foo").callees ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callees ) executing: stap -l process("*listing_mode").function("foo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("*listing_mode").function("foo").callees ) executing: stap -l process.function("foo").callees(1) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees(1) -c listing_mode) executing: stap -l process.function("foo").callees(1) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees(1) -c ./listing_mode) executing: stap -l process.function("foo").callees(1) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process.function("foo").callees(1) -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("listing_mode").function("foo").callees(1) ) executing: stap -l process("./listing_mode").function("foo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("./listing_mode").function("foo").callees(1) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callees(1) ) executing: stap -l process("*listing_mode").function("foo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process("*listing_mode").function("foo").callees(1) ) executing: stap -l process.function("foo").callees(2) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.function("foo").callees(2) -c listing_mode) executing: stap -l process.function("foo").callees(2) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.function("foo").callees(2) -c ./listing_mode) executing: stap -l process.function("foo").callees(2) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.function("foo").callees(2) -c EXEFULLPATH) executing: stap -l process("listing_mode").function("foo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").function("foo").callees(2) ) executing: stap -l process("./listing_mode").function("foo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").function("foo").callees(2) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").function("foo").callees(2) ) executing: stap -l process("*listing_mode").function("foo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").function("foo").callees(2) ) executing: stap -l process.function("main").exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process.function("main").exported -c listing_mode) executing: stap -l process.function("main").exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process.function("main").exported -c ./listing_mode) executing: stap -l process.function("main").exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process.function("main").exported -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process("listing_mode").function("main").exported ) executing: stap -l process("./listing_mode").function("main").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process("./listing_mode").function("main").exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").function("main").exported ) executing: stap -l process("*listing_mode").function("main").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process("*listing_mode").function("main").exported ) executing: stap -l process.function("inln").inline -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process.function("inln").inline -c listing_mode) executing: stap -l process.function("inln").inline -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process.function("inln").inline -c ./listing_mode) executing: stap -l process.function("inln").inline -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process.function("inln").inline -c EXEFULLPATH) executing: stap -l process("listing_mode").function("inln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process("listing_mode").function("inln").inline ) executing: stap -l process("./listing_mode").function("inln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process("./listing_mode").function("inln").inline ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process("EXEFULLPATH").function("inln").inline ) executing: stap -l process("*listing_mode").function("inln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process("*listing_mode").function("inln").inline ) executing: stap -l process.function("main").label("main_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_label") -c listing_mode) executing: stap -l process.function("main").label("main_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_label") -c ./listing_mode) executing: stap -l process.function("main").label("main_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("listing_mode").function("main").label("main_label") ) executing: stap -l process("./listing_mode").function("main").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("./listing_mode").function("main").label("main_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("EXEFULLPATH").function("main").label("main_label") ) executing: stap -l process("*listing_mode").function("main").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("*listing_mode").function("main").label("main_label") ) executing: stap -l process.function("main").label("main_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_labe?") -c listing_mode) executing: stap -l process.function("main").label("main_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_labe?") -c ./listing_mode) executing: stap -l process.function("main").label("main_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main").label("main_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("listing_mode").function("main").label("main_labe?") ) executing: stap -l process("./listing_mode").function("main").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("./listing_mode").function("main").label("main_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("EXEFULLPATH").function("main").label("main_labe?") ) executing: stap -l process("*listing_mode").function("main").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("*listing_mode").function("main").label("main_labe?") ) executing: stap -l process.function("main@listing_mode.c:33").label("main_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_label") -c listing_mode) executing: stap -l process.function("main@listing_mode.c:33").label("main_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_label") -c ./listing_mode) executing: stap -l process.function("main@listing_mode.c:33").label("main_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main@listing_mode.c:33").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("listing_mode").function("main@listing_mode.c:33").label("main_label") ) executing: stap -l process("./listing_mode").function("main@listing_mode.c:33").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("./listing_mode").function("main@listing_mode.c:33").label("main_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@listing_mode.c:33").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("EXEFULLPATH").function("main@listing_mode.c:33").label("main_label") ) executing: stap -l process("*listing_mode").function("main@listing_mode.c:33").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("*listing_mode").function("main@listing_mode.c:33").label("main_label") ) executing: stap -l process.function("main@listing_mode.c:33").label("main_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_labe?") -c listing_mode) executing: stap -l process.function("main@listing_mode.c:33").label("main_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_labe?") -c ./listing_mode) executing: stap -l process.function("main@listing_mode.c:33").label("main_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process.function("main@listing_mode.c:33").label("main_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main@listing_mode.c:33").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("listing_mode").function("main@listing_mode.c:33").label("main_labe?") ) executing: stap -l process("./listing_mode").function("main@listing_mode.c:33").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("./listing_mode").function("main@listing_mode.c:33").label("main_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@listing_mode.c:33").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("EXEFULLPATH").function("main@listing_mode.c:33").label("main_labe?") ) executing: stap -l process("*listing_mode").function("main@listing_mode.c:33").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process("*listing_mode").function("main@listing_mode.c:33").label("main_labe?") ) executing: stap -l process.function("main").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process.function("main").return -c listing_mode) executing: stap -l process.function("main").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process.function("main").return -c ./listing_mode) executing: stap -l process.function("main").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process.function("main").return -c EXEFULLPATH) executing: stap -l process("listing_mode").function("main").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process("listing_mode").function("main").return ) executing: stap -l process("./listing_mode").function("main").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process("./listing_mode").function("main").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").function("main").return ) executing: stap -l process("*listing_mode").function("main").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process("*listing_mode").function("main").return ) executing: stap -l process.library("liblisting_mode.so").function(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888) -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888) -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function(0x888) ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function(0x888) ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function(0x888) ) executing: stap -l process.library("./liblisting_mode.so").function(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888) -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888) -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function(0x888) ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function(0x888) ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function(0x888) ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888) -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888) -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function(0x888) ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function(0x888) ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function(0x888) ) executing: stap -l process.library("*liblisting_mode.so").function(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888) -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888) -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function(0x888) ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function(0x888) ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function(0x888) ) executing: stap -l process.library("liblisting_mode.so").function(0x888).call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).call -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).call -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function(0x888).call ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function(0x888).call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function(0x888).call ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function(0x888).call ) executing: stap -l process.library("./liblisting_mode.so").function(0x888).call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).call -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).call -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function(0x888).call ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function(0x888).call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function(0x888).call ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function(0x888).call ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).call -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).call -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function(0x888).call ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function(0x888).call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function(0x888).call ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function(0x888).call ) executing: stap -l process.library("*liblisting_mode.so").function(0x888).call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).call -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).call -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function(0x888).call ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function(0x888).call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function(0x888).call ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function(0x888).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.call$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function(0x888).call ) executing: stap -l process.library("liblisting_mode.so").function(0x888).exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).exported -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).exported -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function(0x888).exported ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function(0x888).exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function(0x888).exported ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function(0x888).exported ) executing: stap -l process.library("./liblisting_mode.so").function(0x888).exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).exported -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).exported -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function(0x888).exported ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function(0x888).exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function(0x888).exported ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function(0x888).exported ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).exported -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).exported -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function(0x888).exported ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function(0x888).exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function(0x888).exported ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function(0x888).exported ) executing: stap -l process.library("*liblisting_mode.so").function(0x888).exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).exported -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).exported -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function(0x888).exported ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function(0x888).exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function(0x888).exported ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function(0x888).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.exported$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function(0x888).exported ) executing: stap -l process.library("liblisting_mode.so").function(0x888).return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function(0x888).return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function(0x888).return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function(0x888).return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function(0x888).return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function(0x888).return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function(0x888).return ) executing: stap -l process.library("./liblisting_mode.so").function(0x888).return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function(0x888).return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function(0x888).return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function(0x888).return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function(0x888).return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function(0x888).return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function(0x888).return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function(0x888).return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function(0x888).return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function(0x888).return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function(0x888).return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function(0x888).return ) executing: stap -l process.library("*liblisting_mode.so").function(0x888).return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function(0x888).return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function(0x888).return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function(0x888).return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function(0x888).return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function(0x888).return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function(0x888).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function(0x888).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\(0x[0-9a-f]+\)\.return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function(0x888).return ) executing: stap -l process.library("liblisting_mode.so").function("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").call -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").call -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").call ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").call ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").call ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").call -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").call -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").call ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").call ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").call ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").call -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").call -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").call ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").call ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").call ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").call -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").call -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").call ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").call ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.call$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").call ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callee("libbar") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").call -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").call -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").call ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callee("libbar").call ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").call ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").call -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.call$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").call ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callee("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callee("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callee("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callee("libbar").return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callee("libbar").return ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callee("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)\.return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callee("libbar").return ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callees ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callees ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callees ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callees ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callees ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(1) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(1) -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(1) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(1) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(1) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(1) -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(1) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(1) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(1) -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(1) -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(1) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callees(1) ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callees(1) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callees(1) ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callees(1) ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(1) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(1) -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(1) -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(1) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(1) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.callee\("libbar@[^:]+:48"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees(1) ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(2) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(2) -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").callees(2) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").callees(2) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(2) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(2) -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").callees(2) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").callees(2) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(2) -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(2) -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").callees(2) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").callees(2) ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").callees(2) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").callees(2) ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").callees(2) ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(2) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(2) -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(2) -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").callees(2) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").callees(2) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48").callee("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").callee("libbar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:48")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("lib(foo|bar)@[^:]+:(55|48)"\)\.callee\("(libbar|libinln)@[^:]+:(48|43)"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").callees(2) ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").exported -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").exported -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").exported ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").exported -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").exported -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").exported ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").exported -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").exported -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").exported ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").exported ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").exported ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").exported -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").exported -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").exported -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").exported -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").exported -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").exported -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").exported ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.exported$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").exported ) executing: stap -l process.library("liblisting_mode.so").function("libinln").inline -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("liblisting_mode.so").function("libinln").inline -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libinln").inline -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("liblisting_mode.so").function("libinln").inline -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libinln").inline -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("liblisting_mode.so").function("libinln").inline -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libinln").inline ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libinln").inline ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libinln").inline ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libinln").inline ) executing: stap -l process.library("./liblisting_mode.so").function("libinln").inline -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libinln").inline -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libinln").inline -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libinln").inline -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libinln").inline -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libinln").inline -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libinln").inline ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libinln").inline ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libinln").inline ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libinln").inline ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("SOFULLPATH").function("libinln").inline -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("SOFULLPATH").function("libinln").inline -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("SOFULLPATH").function("libinln").inline -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libinln").inline ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libinln").inline ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libinln").inline ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libinln").inline ) executing: stap -l process.library("*liblisting_mode.so").function("libinln").inline -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libinln").inline -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libinln").inline -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libinln").inline -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libinln").inline -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libinln").inline -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libinln").inline ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libinln").inline ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libinln").inline ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libinln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libinln@[^:]+:43"\)\.inline$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libinln").inline ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_label") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_label") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").label("lib_label") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").label("lib_label") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").label("lib_label") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_label") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_labe?") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").label("lib_labe?") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").label("lib_labe?") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_label") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").label("lib_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:58"\)\.label\("lib_label"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo@listing_mode.c:58").label("lib_labe?") ) executing: stap -l process.library("liblisting_mode.so").function("libfoo").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").function("libfoo").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("liblisting_mode.so").function("libfoo").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").function("libfoo").return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").function("libfoo").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").function("libfoo").return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").function("libfoo").return ) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").function("libfoo").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("./liblisting_mode.so").function("libfoo").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").function("libfoo").return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").function("libfoo").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").function("libfoo").return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").function("libfoo").return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("SOFULLPATH").function("libfoo").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").function("libfoo").return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").function("libfoo").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").function("libfoo").return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").function("libfoo").return ) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").function("libfoo").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process.library("*liblisting_mode.so").function("libfoo").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").function("libfoo").return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").function("libfoo").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").function("libfoo").return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").function("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").function("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.function\("libfoo@[^:]+:55"\)\.return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").function("libfoo").return ) executing: stap -l process.library("liblisting_mode.so").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").mark("mark") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").mark("mark") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").mark("mark") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").mark("mark") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").mark("mark") ) executing: stap -l process.library("./liblisting_mode.so").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").mark("mark") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").mark("mark") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").mark("mark") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").mark("mark") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").mark("mark") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").mark("mark") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").mark("mark") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").mark("mark") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").mark("mark") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").mark("mark") ) executing: stap -l process.library("*liblisting_mode.so").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").mark("mark") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").mark("mark") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").mark("mark") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").mark("mark") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").mark("mark") ) executing: stap -l process.library("liblisting_mode.so").plt -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt ) executing: stap -l process.library("./liblisting_mode.so").plt -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt ) executing: stap -l process.library("*liblisting_mode.so").plt -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt ) executing: stap -l process.library("liblisting_mode.so").plt.return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt.return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt.return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt.return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt.return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt.return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt.return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt.return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt.return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt.return ) executing: stap -l process.library("./liblisting_mode.so").plt.return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt.return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt.return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt.return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt.return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt.return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt.return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt.return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt.return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt.return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt.return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt.return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt.return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt.return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt.return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt.return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt.return ) executing: stap -l process.library("*liblisting_mode.so").plt.return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt.return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt.return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt.return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt.return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt.return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt.return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt.return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt.return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__cxa_finalize").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt.return ) executing: stap -l process.library("liblisting_mode.so").plt("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("libbar") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("libbar") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("libbar") ) executing: stap -l process.library("./liblisting_mode.so").plt("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("libbar") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("libbar") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("libbar") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("libbar") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("libbar") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("libbar") ) executing: stap -l process.library("*liblisting_mode.so").plt("libbar") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libbar") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libbar") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("libbar") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("libbar") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("libbar") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("libbar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("libbar") ) executing: stap -l process.library("liblisting_mode.so").plt("libba?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libba?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libba?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("libba?") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("libba?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("libba?") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("libba?") ) executing: stap -l process.library("./liblisting_mode.so").plt("libba?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libba?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libba?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("libba?") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("libba?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("libba?") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("libba?") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("libba?") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("libba?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("libba?") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("libba?") ) executing: stap -l process.library("*liblisting_mode.so").plt("libba?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libba?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libba?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("libba?") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("libba?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("libba?") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("libba?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("libba?") ) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("\[lp\]*") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("\[lp\]*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("\[lp\]*") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("\[lp\]*") ) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("\[lp\]*") ) executing: stap -l process.library("liblisting_mode.so").plt("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar").return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar").return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("libbar").return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("libbar").return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("libbar").return ) executing: stap -l process.library("./liblisting_mode.so").plt("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar").return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar").return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("libbar").return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("libbar").return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("libbar").return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar").return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar").return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("libbar").return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("libbar").return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("libbar").return ) executing: stap -l process.library("*liblisting_mode.so").plt("libbar").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar").return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libbar").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar").return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libbar").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libbar").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("libbar").return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("libbar").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("libbar").return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("libbar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("libbar").return ) executing: stap -l process.library("liblisting_mode.so").plt("libba?").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?").return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libba?").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?").return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("libba?").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("libba?").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("libba?").return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("libba?").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("libba?").return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("libba?").return ) executing: stap -l process.library("./liblisting_mode.so").plt("libba?").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?").return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libba?").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?").return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("libba?").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("libba?").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("libba?").return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("libba?").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("libba?").return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("libba?").return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?").return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?").return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("libba?").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("libba?").return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("libba?").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("libba?").return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("libba?").return ) executing: stap -l process.library("*liblisting_mode.so").plt("libba?").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?").return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libba?").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?").return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("libba?").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("libba?").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("libba?").return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("libba?").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("libba?").return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("libba?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("libbar"\).return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("libba?").return ) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*").return -c listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").plt("\[lp\]*").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("liblisting_mode.so").plt("\[lp\]*").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*").return -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").plt("\[lp\]*").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("./liblisting_mode.so").plt("\[lp\]*").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*").return -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*").return -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("SOFULLPATH").plt("\[lp\]*").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").plt("\[lp\]*").return ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").plt("\[lp\]*").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").plt("\[lp\]*").return ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").plt("\[lp\]*").return ) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*").return -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*").return -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").plt("\[lp\]*").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process.library("*liblisting_mode.so").plt("\[lp\]*").return -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("libbar").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.plt\("(libbar|printf)"\).return$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").plt("\[lp\]*").return ) executing: stap -l process.library("liblisting_mode.so").provider("lib").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").provider("lib").mark("mark") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").provider("lib").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("liblisting_mode.so").provider("lib").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process.library("./liblisting_mode.so").provider("lib").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").provider("lib").mark("mark") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").provider("lib").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").provider("lib").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").provider("lib").mark("mark") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").provider("lib").mark("mark") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("SOFULLPATH").provider("lib").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").provider("lib").mark("mark") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").provider("lib").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").provider("lib").mark("mark") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").provider("lib").mark("mark") ) executing: stap -l process.library("*liblisting_mode.so").provider("lib").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").provider("lib").mark("mark") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").provider("lib").mark("mark") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").provider("lib").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").provider("lib").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").provider("lib").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.provider\("lib"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").provider("lib").mark("mark") ) executing: stap -l process.library("liblisting_mode.so").statement(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888) -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888) -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement(0x888) ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement(0x888) ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement(0x888) ) executing: stap -l process.library("./liblisting_mode.so").statement(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888) -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888) -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement(0x888) ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement(0x888) ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement(0x888) ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888) -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888) -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement(0x888) ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement(0x888) ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement(0x888) ) executing: stap -l process.library("*liblisting_mode.so").statement(0x888) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888) -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement(0x888) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888) -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement(0x888) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888) -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement(0x888) ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement(0x888) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement(0x888) ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement(0x888) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement(0x888) ) executing: stap -l process.library("liblisting_mode.so").statement(0x888).nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888).nearest -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement(0x888).nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888).nearest -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement(0x888).nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement(0x888).nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process.library("./liblisting_mode.so").statement(0x888).nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888).nearest -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement(0x888).nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888).nearest -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement(0x888).nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement(0x888).nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888).nearest -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888).nearest -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement(0x888).nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement(0x888).nearest ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement(0x888).nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement(0x888).nearest ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement(0x888).nearest ) executing: stap -l process.library("*liblisting_mode.so").statement(0x888).nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888).nearest -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement(0x888).nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888).nearest -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement(0x888).nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement(0x888).nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement(0x888).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement(0x888).nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\(0x888\)\.nearest$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement(0x888).nearest ) executing: stap -l process.library("liblisting_mode.so").statement("libinln") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libinln") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libinln") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libinln") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libinln") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libinln") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libinln") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libinln") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libinln") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libinln") ) executing: stap -l process.library("./liblisting_mode.so").statement("libinln") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libinln") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libinln") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libinln") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libinln") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libinln") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libinln") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libinln") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libinln") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libinln") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libinln") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libinln") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libinln") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libinln") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libinln") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libinln") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libinln") ) executing: stap -l process.library("*liblisting_mode.so").statement("libinln") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libinln") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libinln") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libinln") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libinln") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libinln") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libinln") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libinln") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libinln") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libinln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libinln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:43")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libinln@[^:]+:43"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libinln") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:55"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:57") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:57") ) executing: stap -l process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfo?@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfo?@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfo?@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfo?@listing_mode.c:57") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfo?@listing_mode.c:57") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+2") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+2") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+2") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+2") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:57"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+2") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55-56") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,55-56") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*") -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*") -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*") ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*") ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:58").nearest ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:58").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:58"\).nearest$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c+3").nearest ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:5[57]"\).nearest$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:55,56").nearest ) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode) executing: stap -l process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("./listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("*listing_mode").library("liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode) executing: stap -l process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("./listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("./liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("*listing_mode").library("./liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest -c listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode) executing: stap -l process.library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("./listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("./listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("*listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("*listing_mode").library("SOFULLPATH").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c ./listing_mode) executing: stap -l process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("./listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:55").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:57").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:59").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").library("/root/systemtap_write/systemtap/testsuite/liblisting_mode.so").statement("libfoo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:61").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.library\("[^"]*liblisting_mode.so"\)\.statement\("libfoo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("*listing_mode").library("*liblisting_mode.so").statement("libfoo@listing_mode.c:*").nearest ) executing: stap -l process.mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process.mark("mark") -c listing_mode) executing: stap -l process.mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process.mark("mark") -c ./listing_mode) executing: stap -l process.mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process.mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").mark("mark") ) executing: stap -l process("./listing_mode").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").mark("mark") ) executing: stap -l process("*listing_mode").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").mark("mark") ) executing: stap -l process.plt -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.plt -c listing_mode) executing: stap -l process.plt -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.plt -c ./listing_mode) executing: stap -l process.plt -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process.plt -c EXEFULLPATH) executing: stap -l process("listing_mode").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("listing_mode").plt ) executing: stap -l process("./listing_mode").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("./listing_mode").plt ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("EXEFULLPATH").plt ) executing: stap -l process("*listing_mode").plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process("*listing_mode").plt ) executing: stap -l process.plt.return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.plt.return -c listing_mode) executing: stap -l process.plt.return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.plt.return -c ./listing_mode) executing: stap -l process.plt.return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process.plt.return -c EXEFULLPATH) executing: stap -l process("listing_mode").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("listing_mode").plt.return ) executing: stap -l process("./listing_mode").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("./listing_mode").plt.return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("EXEFULLPATH").plt.return ) executing: stap -l process("*listing_mode").plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process("*listing_mode").plt.return ) executing: stap -l process.plt("libfoo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfoo") -c listing_mode) executing: stap -l process.plt("libfoo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfoo") -c ./listing_mode) executing: stap -l process.plt("libfoo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfoo") -c EXEFULLPATH) executing: stap -l process("listing_mode").plt("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("listing_mode").plt("libfoo") ) executing: stap -l process("./listing_mode").plt("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("./listing_mode").plt("libfoo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("EXEFULLPATH").plt("libfoo") ) executing: stap -l process("*listing_mode").plt("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("*listing_mode").plt("libfoo") ) executing: stap -l process.plt("libfo?") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfo?") -c listing_mode) executing: stap -l process.plt("libfo?") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfo?") -c ./listing_mode) executing: stap -l process.plt("libfo?") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process.plt("libfo?") -c EXEFULLPATH) executing: stap -l process("listing_mode").plt("libfo?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("listing_mode").plt("libfo?") ) executing: stap -l process("./listing_mode").plt("libfo?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("./listing_mode").plt("libfo?") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfo?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("EXEFULLPATH").plt("libfo?") ) executing: stap -l process("*listing_mode").plt("libfo?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process("*listing_mode").plt("libfo?") ) executing: stap -l process.plt("libfoo").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfoo").return -c listing_mode) executing: stap -l process.plt("libfoo").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfoo").return -c ./listing_mode) executing: stap -l process.plt("libfoo").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfoo").return -c EXEFULLPATH) executing: stap -l process("listing_mode").plt("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("listing_mode").plt("libfoo").return ) executing: stap -l process("./listing_mode").plt("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("./listing_mode").plt("libfoo").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("EXEFULLPATH").plt("libfoo").return ) executing: stap -l process("*listing_mode").plt("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("*listing_mode").plt("libfoo").return ) executing: stap -l process.plt("libfo?").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfo?").return -c listing_mode) executing: stap -l process.plt("libfo?").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfo?").return -c ./listing_mode) executing: stap -l process.plt("libfo?").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process.plt("libfo?").return -c EXEFULLPATH) executing: stap -l process("listing_mode").plt("libfo?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("listing_mode").plt("libfo?").return ) executing: stap -l process("./listing_mode").plt("libfo?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("./listing_mode").plt("libfo?").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfo?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("EXEFULLPATH").plt("libfo?").return ) executing: stap -l process("*listing_mode").plt("libfo?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process("*listing_mode").plt("libfo?").return ) executing: stap -l process.plt("\[lp\]*").return -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process.plt("\[lp\]*").return -c listing_mode) executing: stap -l process.plt("\[lp\]*").return -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process.plt("\[lp\]*").return -c ./listing_mode) executing: stap -l process.plt("\[lp\]*").return -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process.plt("\[lp\]*").return -c EXEFULLPATH) executing: stap -l process("listing_mode").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process("listing_mode").plt("\[lp\]*").return ) executing: stap -l process("./listing_mode").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process("./listing_mode").plt("\[lp\]*").return ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process("EXEFULLPATH").plt("\[lp\]*").return ) executing: stap -l process("*listing_mode").plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process("*listing_mode").plt("\[lp\]*").return ) executing: stap -l process.provider("main").mark("mark") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process.provider("main").mark("mark") -c listing_mode) executing: stap -l process.provider("main").mark("mark") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process.provider("main").mark("mark") -c ./listing_mode) executing: stap -l process.provider("main").mark("mark") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process.provider("main").mark("mark") -c EXEFULLPATH) executing: stap -l process("listing_mode").provider("main").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process("listing_mode").provider("main").mark("mark") ) executing: stap -l process("./listing_mode").provider("main").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process("./listing_mode").provider("main").mark("mark") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process("EXEFULLPATH").provider("main").mark("mark") ) executing: stap -l process("*listing_mode").provider("main").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process("*listing_mode").provider("main").mark("mark") ) executing: stap -l process.statement(0x400948) -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process.statement(0x400948) -c listing_mode) executing: stap -l process.statement(0x400948) -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process.statement(0x400948) -c ./listing_mode) executing: stap -l process.statement(0x400948) -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process.statement(0x400948) -c EXEFULLPATH) executing: stap -l process("listing_mode").statement(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process("listing_mode").statement(0x400948) ) executing: stap -l process("./listing_mode").statement(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process("./listing_mode").statement(0x400948) ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process("EXEFULLPATH").statement(0x400948) ) executing: stap -l process("*listing_mode").statement(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process("*listing_mode").statement(0x400948) ) executing: stap -l process.statement(0x400948).nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process.statement(0x400948).nearest -c listing_mode) executing: stap -l process.statement(0x400948).nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process.statement(0x400948).nearest -c ./listing_mode) executing: stap -l process.statement(0x400948).nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process.statement(0x400948).nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").statement(0x400948).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process("listing_mode").statement(0x400948).nearest ) executing: stap -l process("./listing_mode").statement(0x400948).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process("./listing_mode").statement(0x400948).nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process("EXEFULLPATH").statement(0x400948).nearest ) executing: stap -l process("*listing_mode").statement(0x400948).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process("*listing_mode").statement(0x400948).nearest ) executing: stap -l process.statement("inln") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process.statement("inln") -c listing_mode) executing: stap -l process.statement("inln") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process.statement("inln") -c ./listing_mode) executing: stap -l process.statement("inln") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process.statement("inln") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("inln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process("listing_mode").statement("inln") ) executing: stap -l process("./listing_mode").statement("inln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process("./listing_mode").statement("inln") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("inln") ) executing: stap -l process("*listing_mode").statement("inln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process("*listing_mode").statement("inln") ) executing: stap -l process.statement("foo") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo") -c listing_mode) executing: stap -l process.statement("foo") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo") -c ./listing_mode) executing: stap -l process.statement("foo") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("listing_mode").statement("foo") ) executing: stap -l process("./listing_mode").statement("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("./listing_mode").statement("foo") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo") ) executing: stap -l process("*listing_mode").statement("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("*listing_mode").statement("foo") ) executing: stap -l process.statement("foo@listing_mode.c") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c") ) executing: stap -l process.statement("foo@listing_mode.c:25") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:25") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:25") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:25") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:25") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:25") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:25") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:25") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:25") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:25") ) executing: stap -l process.statement("fo?@listing_mode.c:25") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("fo?@listing_mode.c:25") -c listing_mode) executing: stap -l process.statement("fo?@listing_mode.c:25") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("fo?@listing_mode.c:25") -c ./listing_mode) executing: stap -l process.statement("fo?@listing_mode.c:25") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("fo?@listing_mode.c:25") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("fo?@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("listing_mode").statement("fo?@listing_mode.c:25") ) executing: stap -l process("./listing_mode").statement("fo?@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("./listing_mode").statement("fo?@listing_mode.c:25") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("fo?@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("fo?@listing_mode.c:25") ) executing: stap -l process("*listing_mode").statement("fo?@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("*listing_mode").statement("fo?@listing_mode.c:25") ) executing: stap -l process.statement("foo@listing_mode.c+2") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c+2") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c+2") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c+2") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c+2") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c+2") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c+2") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c+2") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c+2") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c+2") ) executing: stap -l process.statement("foo@listing_mode.c:23-25") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23-25") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23-25") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23-25") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23-25") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23-25") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:23-25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:23-25") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:23-25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:23-25") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:23-25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:23-25") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:23-25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:23-25") ) executing: stap -l process.statement("foo@listing_mode.c:23,25-26") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,25-26") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23,25-26") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,25-26") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23,25-26") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,25-26") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:23,25-26") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:23,25-26") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:23,25-26") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:23,25-26") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:23,25-26") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:23,25-26") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:23,25-26") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:23,25-26") ) executing: stap -l process.statement("foo@listing_mode.c:*") -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:*") -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:*") -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:*") -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:*") -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process.statement("foo@listing_mode.c:*") -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:*") ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:*") ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:*") ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:*") ) executing: stap -l process.statement("foo@listing_mode.c:28").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:28").nearest -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:28").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:28").nearest -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:28").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:28").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:28").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:28").nearest ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:28").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:28").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:28").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:28").nearest ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:28").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:28").nearest ) executing: stap -l process.statement("foo@listing_mode.c+5").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c+5").nearest -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c+5").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c+5").nearest -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c+5").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c+5").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c+5").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c+5").nearest ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c+5").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c+5").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c+5").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c+5").nearest ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c+5").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c+5").nearest ) executing: stap -l process.statement("foo@listing_mode.c:23,24").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,24").nearest -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23,24").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,24").nearest -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:23,24").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:23,24").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:23,24").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:23,24").nearest ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:23,24").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:23,24").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:23,24").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:23,24").nearest ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:23,24").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:23,24").nearest ) executing: stap -l process.statement("foo@listing_mode.c:*").nearest -c listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:*").nearest -c listing_mode) executing: stap -l process.statement("foo@listing_mode.c:*").nearest -c ./listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:*").nearest -c ./listing_mode) executing: stap -l process.statement("foo@listing_mode.c:*").nearest -c /root/systemtap_write/systemtap/testsuite/listing_mode received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process.statement("foo@listing_mode.c:*").nearest -c EXEFULLPATH) executing: stap -l process("listing_mode").statement("foo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("listing_mode").statement("foo@listing_mode.c:*").nearest ) executing: stap -l process("./listing_mode").statement("foo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("./listing_mode").statement("foo@listing_mode.c:*").nearest ) executing: stap -l process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("EXEFULLPATH").statement("foo@listing_mode.c:*").nearest ) executing: stap -l process("*listing_mode").statement("foo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process("*listing_mode").statement("foo@listing_mode.c:*").nearest ) executing: stap -l process.syscall received: "process.syscall" expected: "process.syscall" PASS: listing_mode (process.syscall ) executing: stap -l process.syscall.return received: "process.syscall.return" expected: "process.syscall.return" PASS: listing_mode (process.syscall.return ) executing: stap -l process.thread.begin received: "process.thread.begin" expected: "process.thread.begin" PASS: listing_mode (process.thread.begin ) executing: stap -l process.thread.end received: "process.thread.end" expected: "process.thread.end" PASS: listing_mode (process.thread.end ) executing: stap -l process(10191).begin received: "process(10191).begin" expected: "process(10191).begin" PASS: listing_mode (process(VALIDPID).begin ) executing: stap -l process(10191).end received: "process(10191).end" expected: "process(10191).end" PASS: listing_mode (process(VALIDPID).end ) executing: stap -l process(10191).function(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948)" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)$" PASS: listing_mode (process(VALIDPID).function(0x400948) ) executing: stap -l process(10191).function(0x400948).call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.call$" PASS: listing_mode (process(VALIDPID).function(0x400948).call ) executing: stap -l process(10191).function(0x400948).exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.exported$" PASS: listing_mode (process(VALIDPID).function(0x400948).exported ) executing: stap -l process(10191).function(0x400948).return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function(0x400948).return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\(0x[a-f0-9]+\)\.return$" PASS: listing_mode (process(VALIDPID).function(0x400948).return ) executing: stap -l process(10191).function("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)$" PASS: listing_mode (process(VALIDPID).function("foo") ) executing: stap -l process(10191).function("foo").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.call$" PASS: listing_mode (process(VALIDPID).function("foo").call ) executing: stap -l process(10191).function("foo").callee("bar") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process(VALIDPID).function("foo").callee("bar") ) executing: stap -l process(10191).function("foo").callee("bar").call received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").call" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.call$" PASS: listing_mode (process(VALIDPID).function("foo").callee("bar").call ) executing: stap -l process(10191).function("foo").callee("bar").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)\.return$" PASS: listing_mode (process(VALIDPID).function("foo").callee("bar").return ) executing: stap -l process(10191).function("foo").callees received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process(VALIDPID).function("foo").callees ) executing: stap -l process(10191).function("foo").callees(1) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("foo@[^:]+:23"\)\.callee\("bar@[^:]+:16"\)$" PASS: listing_mode (process(VALIDPID).function("foo").callees(1) ) executing: stap -l process(10191).function("foo").callees(2) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16").callee("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").callee("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:16")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("(foo|bar)@[^:]+:[0-9]+"\)\.callee\("(bar|inln)@[^:]+:[0-9]+"\)$" PASS: listing_mode (process(VALIDPID).function("foo").callees(2) ) executing: stap -l process(10191).function("main").exported received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").exported" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.exported$" PASS: listing_mode (process(VALIDPID).function("main").exported ) executing: stap -l process(10191).function("inln").inline received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11").inline" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("inln@[^:]+:11"\)\.inline$" PASS: listing_mode (process(VALIDPID).function("inln").inline ) executing: stap -l process(10191).function("main").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process(VALIDPID).function("main").label("main_label") ) executing: stap -l process(10191).function("main").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process(VALIDPID).function("main").label("main_labe?") ) executing: stap -l process(10191).function("main@listing_mode.c:33").label("main_label") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process(VALIDPID).function("main@listing_mode.c:33").label("main_label") ) executing: stap -l process(10191).function("main@listing_mode.c:33").label("main_labe?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:33").label("main_label")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:33"\)\.label\("main_label"\)$" PASS: listing_mode (process(VALIDPID).function("main@listing_mode.c:33").label("main_labe?") ) executing: stap -l process(10191).function("main").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:29").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.function\("main@[^:]+:29"\)\.return$" PASS: listing_mode (process(VALIDPID).function("main").return ) executing: stap -l process(10191).mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.mark\("mark"\)$" PASS: listing_mode (process(VALIDPID).mark("mark") ) executing: stap -l process(10191).plt received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\)$" PASS: listing_mode (process(VALIDPID).plt ) executing: stap -l process(10191).plt.return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__gmon_start__").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("__libc_start_main").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("abort").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("sleep").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("[^"]+"\).return$" PASS: listing_mode (process(VALIDPID).plt.return ) executing: stap -l process(10191).plt("libfoo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process(VALIDPID).plt("libfoo") ) executing: stap -l process(10191).plt("libfo?") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\)$" PASS: listing_mode (process(VALIDPID).plt("libfo?") ) executing: stap -l process(10191).plt("\[lp\]*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\)$" PASS: listing_mode (process(VALIDPID).plt("\[lp\]*") ) executing: stap -l process(10191).plt("libfoo").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process(VALIDPID).plt("libfoo").return ) executing: stap -l process(10191).plt("libfo?").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("libfoo"\).return$" PASS: listing_mode (process(VALIDPID).plt("libfo?").return ) executing: stap -l process(10191).plt("\[lp\]*").return received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("libfoo").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").plt("printf").return" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.plt\("(libfoo|printf)"\).return$" PASS: listing_mode (process(VALIDPID).plt("\[lp\]*").return ) executing: stap -l process(10191).provider("main").mark("mark") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").provider("main").mark("mark")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.provider\("main"\)\.mark\("mark"\)$" PASS: listing_mode (process(VALIDPID).provider("main").mark("mark") ) executing: stap -l process(10191).statement(0x400948) received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948)" PASS: listing_mode (process(VALIDPID).statement(0x400948) ) executing: stap -l process(10191).statement(0x400948).nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" expected: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement(0x400948).nearest" PASS: listing_mode (process(VALIDPID).statement(0x400948).nearest ) executing: stap -l process(10191).statement("inln") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("inln@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:11")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("inln@[^:]+:11"\)$" PASS: listing_mode (process(VALIDPID).statement("inln") ) executing: stap -l process(10191).statement("foo") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process(VALIDPID).statement("foo") ) executing: stap -l process(10191).statement("foo@listing_mode.c") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:23"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c") ) executing: stap -l process(10191).statement("foo@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:25") ) executing: stap -l process(10191).statement("fo?@listing_mode.c:25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process(VALIDPID).statement("fo?@listing_mode.c:25") ) executing: stap -l process(10191).statement("foo@listing_mode.c+2") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:25"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c+2") ) executing: stap -l process(10191).statement("foo@listing_mode.c:23-25") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:23-25") ) executing: stap -l process(10191).statement("foo@listing_mode.c:23,25-26") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:23,25-26") ) executing: stap -l process(10191).statement("foo@listing_mode.c:*") received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27")" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\)$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:*") ) executing: stap -l process(10191).statement("foo@listing_mode.c:28").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:28").nearest ) executing: stap -l process(10191).statement("foo@listing_mode.c+5").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:28").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:28"\).nearest$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c+5").nearest ) executing: stap -l process(10191).statement("foo@listing_mode.c:23,24").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:2[35]"\).nearest$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:23,24").nearest ) executing: stap -l process(10191).statement("foo@listing_mode.c:*").nearest received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:23").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:25").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" received: "process("/root/systemtap_write/systemtap/testsuite/listing_mode").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.c:27").nearest" expected: "^process\("/root/systemtap_write/systemtap/testsuite/listing_mode"\)\.statement\("foo@[^:]+:[0-9]+"\).nearest$" PASS: listing_mode (process(VALIDPID).statement("foo@listing_mode.c:*").nearest ) executing: stap -l process(10191).syscall received: "process(10191).syscall" expected: "process(10191).syscall" PASS: listing_mode (process(VALIDPID).syscall ) executing: stap -l process(10191).syscall.return received: "process(10191).syscall.return" expected: "process(10191).syscall.return" PASS: listing_mode (process(VALIDPID).syscall.return ) executing: stap -l process(10191).thread.begin received: "process(10191).thread.begin" expected: "process(10191).thread.begin" PASS: listing_mode (process(VALIDPID).thread.begin ) executing: stap -l process(10191).thread.end received: "process(10191).thread.end" expected: "process(10191).thread.end" PASS: listing_mode (process(VALIDPID).thread.end ) executing: stap -l procfs.read received: "procfs.read" expected: "procfs.read" PASS: listing_mode (procfs.read ) executing: stap -l procfs.read.maxsize(100) received: "procfs.read.maxsize(100)" expected: "procfs.read.maxsize(100)" PASS: listing_mode (procfs.read.maxsize(100) ) executing: stap -l procfs.umask(0400).read received: "procfs.umask(256).read" expected: "procfs.umask(256).read" PASS: listing_mode (procfs.umask(0400).read ) executing: stap -l procfs.umask(0400).read.maxsize(100) received: "procfs.umask(256).read.maxsize(100)" expected: "procfs.umask(256).read.maxsize(100)" PASS: listing_mode (procfs.umask(0400).read.maxsize(100) ) executing: stap -l procfs.umask(0400).write received: "procfs.umask(256).write" expected: "procfs.umask(256).write" PASS: listing_mode (procfs.umask(0400).write ) executing: stap -l procfs.write received: "procfs.write" expected: "procfs.write" PASS: listing_mode (procfs.write ) executing: stap -l procfs("string").read received: "procfs("string").read" expected: "procfs("string").read" PASS: listing_mode (procfs("string").read ) executing: stap -l procfs("string").read.maxsize(100) received: "procfs("string").read.maxsize(100)" expected: "procfs("string").read.maxsize(100)" PASS: listing_mode (procfs("string").read.maxsize(100) ) executing: stap -l procfs("string").umask(0400).read received: "procfs("string").umask(256).read" expected: "procfs("string").umask(256).read" PASS: listing_mode (procfs("string").umask(0400).read ) executing: stap -l procfs("string").umask(0400).read.maxsize(100) received: "procfs("string").umask(256).read.maxsize(100)" expected: "procfs("string").umask(256).read.maxsize(100)" PASS: listing_mode (procfs("string").umask(0400).read.maxsize(100) ) executing: stap -l procfs("string").umask(0400).write received: "procfs("string").umask(256).write" expected: "procfs("string").umask(256).write" PASS: listing_mode (procfs("string").umask(0400).write ) executing: stap -l procfs("string").write received: "procfs("string").write" expected: "procfs("string").write" PASS: listing_mode (procfs("string").write ) executing: stap -l timer.hz(1) received: "timer.hz(1)" expected: "timer.hz(1)" PASS: listing_mode (timer.hz(1) ) executing: stap -l timer.jiffies(10) received: "timer.jiffies(10)" expected: "timer.jiffies(10)" PASS: listing_mode (timer.jiffies(10) ) executing: stap -l timer.jiffies(10).randomize(2) received: "timer.jiffies(10).randomize(2)" expected: "timer.jiffies(10).randomize(2)" PASS: listing_mode (timer.jiffies(10).randomize(2) ) executing: stap -l timer.ms(10) received: "timer.ms(10)" expected: "timer.ms(10)" PASS: listing_mode (timer.ms(10) ) executing: stap -l timer.ms(10).randomize(2) received: "timer.ms(10).randomize(2)" expected: "timer.ms(10).randomize(2)" PASS: listing_mode (timer.ms(10).randomize(2) ) executing: stap -l timer.msec(10) received: "timer.msec(10)" expected: "timer.msec(10)" PASS: listing_mode (timer.msec(10) ) executing: stap -l timer.msec(10).randomize(2) received: "timer.msec(10).randomize(2)" expected: "timer.msec(10).randomize(2)" PASS: listing_mode (timer.msec(10).randomize(2) ) executing: stap -l timer.ns(100000) received: "timer.ns(100000)" expected: "timer.ns(100000)" PASS: listing_mode (timer.ns(100000) ) executing: stap -l timer.ns(100000).randomize(2) received: "timer.ns(100000).randomize(2)" expected: "timer.ns(100000).randomize(2)" PASS: listing_mode (timer.ns(100000).randomize(2) ) executing: stap -l timer.nsec(100000) received: "timer.nsec(100000)" expected: "timer.nsec(100000)" PASS: listing_mode (timer.nsec(100000) ) executing: stap -l timer.nsec(100000).randomize(2) received: "timer.nsec(100000).randomize(2)" expected: "timer.nsec(100000).randomize(2)" PASS: listing_mode (timer.nsec(100000).randomize(2) ) executing: stap -l timer.s(100) received: "timer.s(100)" expected: "timer.s(100)" PASS: listing_mode (timer.s(100) ) executing: stap -l timer.s(100).randomize(2) received: "timer.s(100).randomize(2)" expected: "timer.s(100).randomize(2)" PASS: listing_mode (timer.s(100).randomize(2) ) executing: stap -l timer.sec(100) received: "timer.sec(100)" expected: "timer.sec(100)" PASS: listing_mode (timer.sec(100) ) executing: stap -l timer.sec(100).randomize(2) received: "timer.sec(100).randomize(2)" expected: "timer.sec(100).randomize(2)" PASS: listing_mode (timer.sec(100).randomize(2) ) executing: stap -l timer.us(100) received: "timer.us(100)" expected: "timer.us(100)" PASS: listing_mode (timer.us(100) ) executing: stap -l timer.us(100).randomize(2) received: "timer.us(100).randomize(2)" expected: "timer.us(100).randomize(2)" PASS: listing_mode (timer.us(100).randomize(2) ) executing: stap -l timer.usec(100000) received: "timer.usec(100000)" expected: "timer.usec(100000)" PASS: listing_mode (timer.usec(100000) ) executing: stap -l timer.usec(100000).randomize(2) received: "timer.usec(100000).randomize(2)" expected: "timer.usec(100000).randomize(2)" PASS: listing_mode (timer.usec(100000).randomize(2) ) Executing: kill -INT -10191 KFAIL: listing_mode (untested probe type: kernel.function(string).inline) (PRMS: KERNEL_INLINE) KFAIL: listing_mode (untested probe type: kernel.function(string).label(string)) (PRMS: KERNEL_LABEL) KFAIL: listing_mode (untested probe type: kernel.mark(string)) (PRMS: KERNEL_MARK) KFAIL: listing_mode (untested probe type: kernel.mark(string).format(string)) (PRMS: KERNEL_MARK) KFAIL: listing_mode (untested probe type: kprobe.module(string).function(string)) (PRMS: KPROBE_MODULE) KFAIL: listing_mode (untested probe type: kprobe.module(string).function(string).call) (PRMS: KPROBE_MODULE) KFAIL: listing_mode (untested probe type: kprobe.module(string).function(string).return) (PRMS: KPROBE_MODULE) KFAIL: listing_mode (untested probe type: kprobe.module(string).function(string).return.maxactive(number)) (PRMS: KPROBE_MODULE) KFAIL: listing_mode (untested probe type: module(string).function(number)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(number).call) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(number).exported) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(number).return) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(number).return.maxactive(number)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).call) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).callee(string)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).callee(string).call) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).callee(string).return) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).callees) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).callees(number)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).exported) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).inline) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).label(string)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).return) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).function(string).return.maxactive(number)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).statement(number)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).statement(number).nearest) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).statement(string)) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: module(string).statement(string).nearest) (PRMS: MODULE) KFAIL: listing_mode (untested probe type: process(number).insn) (PRMS: ITRACE) KFAIL: listing_mode (untested probe type: process(number).insn.block) (PRMS: ITRACE) KFAIL: listing_mode (untested probe type: process(number).statement(number).absolute) (PRMS: INODE_UPROBES) KFAIL: listing_mode (untested probe type: process(number).statement(number).absolute.return) (PRMS: INODE_UPROBES) KFAIL: listing_mode (untested probe type: process(string).insn) (PRMS: ITRACE) KFAIL: listing_mode (untested probe type: process(string).insn.block) (PRMS: ITRACE) KFAIL: listing_mode (untested probe type: timer.profile.tick) (PRMS: TIMER_HOOK) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode.exp completed in 1480 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode_sanity.exp ... PASS: listing_mode_sanity (stap -l junk exited badly) PASS: listing_mode_sanity (stap -v -l junk exited badly) PASS: listing_mode_sanity (stap -vv -l junk exited badly) PASS: listing_mode_sanity (no error in output) PASS: listing_mode_sanity (no error in -v output) PASS: listing_mode_sanity (error in -vv output) PASS: listing_mode_sanity (stap -l vfs_read exited ok) PASS: listing_mode_sanity (stap -L vfs_read exited ok) PASS: listing_mode_sanity (verbatim stap -l vfs_read) output is kernel.function("vfs_read@fs/read_write.c:460").call $file:struct file* $buf:char* $count:size_t $pos:loff_t* PASS: listing_mode_sanity (verbatim stap -L vfs_read) PASS: listing_mode_sanity (using arguments exited ok) PASS: listing_mode_sanity (using arguments and script exited badly) PASS: listing_mode_sanity (stap -l ** exited ok) PASS: listing_mode_sanity (stap -L ** exited ok) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/listing_mode_sanity.exp completed in 3742 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/logical_and.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/logical_and.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/logical_and.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/408real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 4 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapEjl9fd/stap_4e7601206be01a3e68d262242708b48f_2077_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_4e7601206be01a3e68d262242708b48f_2077.ko" in 0usr/3390sys/3428real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/logical_and.stp startup PASS: systemtap.base/logical_and.stp load generation Executing: kill -INT -16841 systemtap ending probe systemtap test success PASS: systemtap.base/logical_and.stp shutdown and output Pass 5: run completed in 0usr/70sys/989real ms. metric: systemtap.base/logical_and.stp 0 400 408 0 10 9 0 0 2 0 3390 3428 0 70 989 Executing: kill -INT -16841 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/logical_and.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/marker.exp ... UNTESTED: K_MARKER01 : no kernel markers present UNTESTED: K_MARKER02 : no kernel markers present running stap -v -p4 -e "probe kernel.mark(\"X_marker_that_does_not_exist_X\") { }" spawn stap -v -p4 -e probe kernel.mark("X_marker_that_does_not_exist_X") { } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/397real ms. semantic error: resolution failed in mark builder semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.mark("X_marker_that_does_not_exist_X") { } ^ semantic error: no match Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 2: analysis failed. [man error::pass2] PASS: K_MARKER03 compilation failed correctly UNTESTED: K_MARKER04 : no kernel markers present UNTESTED: K_MARKER05 : no kernel markers present UNTESTED: K_MARKER06 : no kernel markers present UNTESTED: K_MARKER07 : no kernel markers present UNTESTED: K_MARKER08 : no kernel markers present UNTESTED: K_MARKER09 : no kernel markers present UNTESTED: K_MARKER10 : no kernel markers present UNTESTED: K_MARKER11 : no kernel markers present UNTESTED: K_MARKER12 : no kernel markers present UNTESTED: K_MARKER13 : no kernel markers present UNTESTED: K_MARKER14 : no kernel markers present UNTESTED: K_MARKER15 : no kernel markers present UNTESTED: K_MARKER16 : no kernel markers present UNTESTED: K_MARKER17 : no kernel markers present UNTESTED: K_MARKER18 : no kernel markers present UNTESTED: K_MARKER19 : no kernel markers present UNTESTED: K_MARKER20 : no kernel markers present UNTESTED: K_MARKER21 : no kernel markers present UNTESTED: K_MARKER22 : no kernel markers present UNTESTED: K_MARKER23 : no kernel markers present testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/marker.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/maxactive.exp ... executing: stap -v -e { global foo probe kernel.function("vfs_read").return, kernel.function("do_select").return { foo++ } probe timer.ms(1000) { exit(); } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe"); printf("foo = %d\n", foo) } } spawn stap -v -e global foo probe kernel.function("vfs_read").return, kernel.function("do_select").return { foo++ } probe timer.ms(1000) { exit(); } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe"); printf("foo = %d\n", foo) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 6 probes, 3 functions, 0 embeds, 1 global using 94592virt/87552res/7296shr/78144data kb, in 0usr/1170sys/1186real ms. Pass 3: translated to C into "/tmp/stapihBlX6/stap_84b2b7140f457bb347718ef7654476cc_2177_src.c" using 94592virt/87744res/7488shr/78144data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_84b2b7140f457bb347718ef7654476cc_2177.ko" in 0usr/3710sys/3789real ms. Pass 5: starting run. systemtap starting probe PASS: MAXACTIVE01 startup PASS: MAXACTIVE01 load generation Executing: kill -INT -17104 systemtap ending probe foo = 21 PASS: MAXACTIVE01 shutdown and output Pass 5: run completed in 0usr/70sys/1540real ms. metric: MAXACTIVE01 0 400 407 0 1170 1186 0 10 11 0 3710 3789 0 70 1540 Executing: kill -INT -17104 executing: stap -v -e { global foo probe kernel.function("vfs_read").return.maxactive(1), kernel.function("do_select").return.maxactive(1) { foo++ } probe timer.ms(1000) { exit(); } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe"); printf("foo = %d\n", foo) } } spawn stap -v -e global foo probe kernel.function("vfs_read").return.maxactive(1), kernel.function("do_select").return.maxactive(1) { foo++ } probe timer.ms(1000) { exit(); } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe"); printf("foo = %d\n", foo) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 6 probes, 3 functions, 0 embeds, 1 global using 94592virt/87552res/7296shr/78144data kb, in 0usr/1180sys/1192real ms. Pass 3: translated to C into "/tmp/stapb9kVLc/stap_818c77eb4f6e011bd78c9e02731e9162_2229_src.c" using 94592virt/87744res/7488shr/78144data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_818c77eb4f6e011bd78c9e02731e9162_2229.ko" in 0usr/3720sys/3767real ms. Pass 5: starting run. systemtap starting probe PASS: MAXACTIVE02 startup PASS: MAXACTIVE02 load generation Executing: kill -INT -17361 systemtap ending probe foo = 14 PASS: MAXACTIVE02 shutdown and output WARNING: Number of errors: 0, skipped probes: 16 Executing: kill -INT -17361 skipped1: 0, skipped2: 16 PASS: MAXACTIVE03 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/maxactive.exp completed in 15 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/maxmemory.exp ... executing: stap -v -u -e { global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } } spawn stap -v -u -e global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 6 probes, 7 functions, 0 embeds, 1 global using 94400virt/87488res/7296shr/77952data kb, in 0usr/1190sys/1195real ms. Pass 3: translated to C into "/tmp/stapMSagNm/stap_bdde532d2764d1467422299929bac0c3_2735_src.c" using 94400virt/87680res/7488shr/77952data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_bdde532d2764d1467422299929bac0c3_2735.ko" in 0usr/3830sys/3887real ms. Pass 5: starting run. systemtap starting probe Executing: kill -INT -17619 systemtap ending probe k["foo"]=0x3d PASS: MAXMEMORY1 no expected error Executing: kill -INT -17619 executing: stap -v -u -DSTP_MAXMEMORY=200 -e { global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } } spawn stap -v -u -DSTP_MAXMEMORY=200 -e global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 6 probes, 7 functions, 0 embeds, 1 global using 94400virt/87488res/7296shr/77952data kb, in 0usr/1180sys/1190real ms. Pass 3: translated to C into "/tmp/stapMWHvvY/stap_68ae7d60b26b29d85c39b10d72f2a6af_2752_src.c" using 94400virt/87680res/7488shr/77952data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_68ae7d60b26b29d85c39b10d72f2a6af_2752.ko" in 0usr/3850sys/3896real ms. Pass 5: starting run. ERROR: Couldn't insert module '/tmp/stapMWHvvY/stap_68ae7d60b26b29d85c39b10d72f2a6af_2752.ko': Operation not permitted PASS: MAXMEMORY2 expected insert module error Executing: kill -INT -17873 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/maxmemory.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/minidebuginfo.exp ... PASS: minidebuginfo compile PASS: minidebuginfo create minidebug spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/minidebuginfo.stp -c ./binary.test _start __libc_csu_init _init call_weak_fn frame_dummy register_tm_clones main bar foo return __do_global_dtors_aux deregister_tm_clones _fini PASS: minidebuginfo (4) PASS: symtab-strip compile PASS: symtab-strip strip spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/minidebuginfo.stp -c ./binary1 _start __libc_csu_init _init call_weak_fn frame_dummy register_tm_clones main bar foo return __do_global_dtors_aux deregister_tm_clones _fini PASS: symtab-strip (4) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/minidebuginfo.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/modargs.exp ... PASS: modargs compilation PASS: modargs execution testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/modargs.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/modinfo.exp ... PASS: modinfo compilation spawn /sbin/modinfo /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/69/stap_6917c745668b497b4f8567669a1e620d_1474.ko filename: /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/69/stap_6917c745668b497b4f8567669a1e620d_1474.ko foo: bar license: GPL description: systemtap-generated probe license: GPL depends: vermagic: 4.8.0-rc1uprobes+ SMP mod_unload aarch64 parm: _stp_bufsize:buffer size (int) PASS: modinfo modinfo testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/modinfo.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/modules_out_of_tree.exp ... PASS: modules_out_of_tree (compilation) PASS: modules_out_of_tree (listing) spawn stap -e probe module("/tmp/staptest-8vI74n/stap_modules_out_of_tree.ko").function("stap_modules_out_of_tree_init") { println("hit") } -c insmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko && rmmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko hit PASS: modules_out_of_tree (probing) spawn stap -e probe kprobe.module("/tmp/staptest-8vI74n/stap_modules_out_of_tree.ko").function("stap_modules_out_of_tree_init") { println("hit") } -c insmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko && rmmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko hit PASS: modules_out_of_tree (dwarfless probing) spawn stap -e probe module("./stap_modules_out_of_tree.ko").function("stap_modules_out_of_tree_init") { println("hit") } -c insmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko && rmmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko hit PASS: modules_out_of_tree (relative-path probing) spawn stap -e probe kprobe.module("./stap_modules_out_of_tree.ko").function("stap_modules_out_of_tree_init") { println("hit") } -c insmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko && rmmod /tmp/staptest-8vI74n/stap_modules_out_of_tree.ko hit PASS: modules_out_of_tree (dwarfless relative-path probing) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/modules_out_of_tree.exp completed in 23 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym.exp ... Executing on host: gcc -c -o multisym_baz.o /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym_baz.c (timeout = 300) spawn -ignore SIGHUP gcc -c -o multisym_baz.o /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym_baz.c Executing on host: gcc -c -o multisym_main.o /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym_main.c (timeout = 300) spawn -ignore SIGHUP gcc -c -o multisym_main.o /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym_main.c Executing on host: gcc multisym_baz.o multisym_main.o -lm -o multisym (timeout = 300) spawn -ignore SIGHUP gcc multisym_baz.o multisym_main.o -lm -o multisym spawn stap -p 2 /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym.stp # functions error:unknown (msg:string) # probes process("/root/systemtap_write/systemtap/testsuite/multisym").function("foo") /* pc=.absolute+0x650 */ /* <- process("/root/systemtap_write/systemtap/testsuite/multisym").function("foo") */ process("/root/systemtap_write/systemtap/testsuite/multisym").function("foo") /* pc=.absolute+0x688 */ /* <- process("/root/systemtap_write/systemtap/testsuite/multisym").function("foo") */ timer.s(900) /* <- timer.s(900) */ PASS: multisym succeeded testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/multisym.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.exp ... spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0 0 exp net-sanity 0 0 0 ERROR: read fault [man error::fault] at 0x (null) (skb) near identifier '__ip6_skb_proto' at /root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp:81:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0 0 1 PASS: net-sanity 0 0 done net-sanity 0 0 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0 1 exp net-sanity 0 1 0 ERROR: read fault [man error::fault] at 0x00000000000000c2 (((&(skb->transport_header)))) near identifier '__get_skb_tcphdr_new' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:88:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0 1 1 PASS: net-sanity 0 1 done net-sanity 0 1 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0 2 exp net-sanity 0 2 0 ERROR: read fault [man error::fault] at 0x00000000000000c4 (((&(skb->network_header)))) near identifier '__get_skb_iphdr' at /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp:125:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0 2 1 PASS: net-sanity 0 2 done net-sanity 0 2 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0 3 exp net-sanity 0 3 0 ERROR: read fault [man error::fault] at 0x0000000000000890 (((&(tp->snd_ssthresh)))) near identifier 'tcp_ts_get_info_snd_ssthresh' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:191:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0 3 1 PASS: net-sanity 0 3 done net-sanity 0 3 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0 4 exp net-sanity 0 4 0 ERROR: read fault [man error::fault] at 0x00000000000006c6 (((&(icsk->icsk_ack.rcv_mss)))) near identifier 'tcp_ts_get_info_rcv_mss' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:205:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0 4 1 PASS: net-sanity 0 4 done net-sanity 0 4 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffff 0 exp net-sanity 0xffffffff 0 0 ERROR: read fault [man error::fault] at 0x00000000ffffffff (skb) near identifier '__ip6_skb_proto' at /root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp:81:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffff 0 1 PASS: net-sanity 0xffffffff 0 done net-sanity 0xffffffff 0 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffff 1 exp net-sanity 0xffffffff 1 0 ERROR: read fault [man error::fault] at 0x00000001000000c1 (((&(skb->transport_header)))) near identifier '__get_skb_tcphdr_new' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:88:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffff 1 1 PASS: net-sanity 0xffffffff 1 done net-sanity 0xffffffff 1 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffff 2 exp net-sanity 0xffffffff 2 0 ERROR: read fault [man error::fault] at 0x00000001000000c3 (((&(skb->network_header)))) near identifier '__get_skb_iphdr' at /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp:125:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffff 2 1 PASS: net-sanity 0xffffffff 2 done net-sanity 0xffffffff 2 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffff 3 exp net-sanity 0xffffffff 3 0 ERROR: read fault [man error::fault] at 0x000000010000088f (((&(tp->snd_ssthresh)))) near identifier 'tcp_ts_get_info_snd_ssthresh' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:191:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffff 3 1 PASS: net-sanity 0xffffffff 3 done net-sanity 0xffffffff 3 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffff 4 exp net-sanity 0xffffffff 4 0 ERROR: read fault [man error::fault] at 0x00000001000006c5 (((&(icsk->icsk_ack.rcv_mss)))) near identifier 'tcp_ts_get_info_rcv_mss' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:205:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffff 4 1 PASS: net-sanity 0xffffffff 4 done net-sanity 0xffffffff 4 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffffffffffff 0 exp net-sanity 0xffffffffffffffff 0 0 ERROR: read fault [man error::fault] at 0xffffffffffffffff (skb) near identifier '__ip6_skb_proto' at /root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp:81:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffffffffffff 0 1 PASS: net-sanity 0xffffffffffffffff 0 done net-sanity 0xffffffffffffffff 0 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffffffffffff 1 exp net-sanity 0xffffffffffffffff 1 0 ERROR: read fault [man error::fault] at 0x00000000000000c1 (((&(skb->transport_header)))) near identifier '__get_skb_tcphdr_new' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:88:23 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffffffffffff 1 1 PASS: net-sanity 0xffffffffffffffff 1 done net-sanity 0xffffffffffffffff 1 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffffffffffff 2 exp net-sanity 0xffffffffffffffff 2 0 ERROR: read fault [man error::fault] at 0x00000000000000c3 (((&(skb->network_header)))) near identifier '__get_skb_iphdr' at /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp:125:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffffffffffff 2 1 PASS: net-sanity 0xffffffffffffffff 2 done net-sanity 0xffffffffffffffff 2 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffffffffffff 3 exp net-sanity 0xffffffffffffffff 3 0 ERROR: read fault [man error::fault] at 0x000000000000088f (((&(tp->snd_ssthresh)))) near identifier 'tcp_ts_get_info_snd_ssthresh' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:191:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffffffffffff 3 1 PASS: net-sanity 0xffffffffffffffff 3 done net-sanity 0xffffffffffffffff 3 1 spawn stap --compatible=2.9 /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.stp 0xffffffffffffffff 4 exp net-sanity 0xffffffffffffffff 4 0 ERROR: read fault [man error::fault] at 0x00000000000006c5 (((&(icsk->icsk_ack.rcv_mss)))) near identifier 'tcp_ts_get_info_rcv_mss' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:205:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] done exp net-sanity 0xffffffffffffffff 4 1 PASS: net-sanity 0xffffffffffffffff 4 done net-sanity 0xffffffffffffffff 4 1 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/net-sanity.exp completed in 240 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/not.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/not.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/not.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 54784virt/46784res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapRaakiz/stap_a31e8eeac53e79f863d7130b1503e9f8_1639_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_a31e8eeac53e79f863d7130b1503e9f8_1639.ko" in 0usr/3370sys/3409real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/not.stp startup PASS: systemtap.base/not.stp load generation Executing: kill -INT -23990 systemtap ending probe systemtap test success PASS: systemtap.base/not.stp shutdown and output Pass 5: run completed in 0usr/70sys/973real ms. metric: systemtap.base/not.stp 0 400 406 0 10 8 0 0 1 0 3370 3409 0 70 973 Executing: kill -INT -23990 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/not.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/onoffprobe.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/onoffprobe.stp begin1 probed: stap_dbf6630075555f1f58ca2bd0174d123d_24493 PASS: onoffprobe begin1 probed function return probed PASS: onoffprobe function return probed function entry probed PASS: onoffprobe function entry probed timer probed PASS: onoffprobe timer probed profile probed PASS: onoffprobe profile probed alias.one.a and alias.one and alias.* probed alias.one.a and alias.one and alias.* probed PASS: onoffprobe alias.one.a and alias.one and alias.* probed alias.one.a and alias.one and alias.* probed alias.one.b and alias.one and alias.* probed PASS: onoffprobe alias.one.b and alias.one and alias.* probed alias.two and alias.* probed PASS: onoffprobe alias.two and alias.* probed Executing: kill -INT -24246 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/onoffprobe.exp completed in 42 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/optim.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/optim.stp WARNING: Eliding assignment to 'dummy': operator '=' at /root/systemtap_write/systemtap/testsuite/systemtap.base/optim.stp:7:25 source: if (1) var=2 else dummy=0 ^ WARNING: Eliding side-effect-free expression : identifier 'dummy' at :7:20 source: if (1) var=2 else dummy=0 ^ i=1 j=2 array[0]=0x0 PASS: optim testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/optim.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_arridx.exp ... executing: stap -p2 -v 2>/dev/null /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_arridx.stp PASS: optim_arridx testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_arridx.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_voidstmt.exp ... executing: stap -v -w -g /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_voidstmt.stp spawn stap -v -w -g /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_voidstmt.stp Pass 1: parsed user script and 115 library scripts using 54272virt/45056res/5888shr/37824data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 4 probes, 7 functions, 0 embeds, 0 globals using 54912virt/47168res/6592shr/38464data kb, in 0usr/10sys/11real ms. Pass 3: translated to C into "/tmp/stapigIUUR/stap_f0fac6b9ad4836cb6a4f5037406a630b_3207_src.c" using 54912virt/47424res/6848shr/38464data kb, in 0usr/10sys/3real ms. Pass 4: compiled C into "stap_f0fac6b9ad4836cb6a4f5037406a630b_3207.ko" in 0usr/3480sys/3520real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/optim_voidstmt.stp startup PASS: systemtap.base/optim_voidstmt.stp load generation Executing: kill -INT -24789 systemtap ending probe systemtap test success PASS: systemtap.base/optim_voidstmt.stp shutdown and output Pass 5: run completed in 0usr/70sys/1015real ms. metric: systemtap.base/optim_voidstmt.stp 0 400 406 0 10 11 0 10 3 0 3480 3520 0 70 1015 Executing: kill -INT -24789 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/optim_voidstmt.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/optionalprobe.exp ... spawn stap -p2 -w /root/systemtap_write/systemtap/testsuite/systemtap.base/optionalprobe.stp # functions error:unknown (msg:string) # probes begin /* <- foo?,process("/do/not/exist").function("main")!,kernel.mark("no such mark")?,kernel.trace("no trace")!,process.foo?,kernel.statement("no statement")!,module("no mod").function("*")?,kernel.function("no such func*")!,begin */ PASS: optionalprobe testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/optionalprobe.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/overcatcher.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/overcatcher.stp PASS: overcatcher testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/overcatcher.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/overflow_error.exp ... spawn stap -DMAXERRORS=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/overflow_error.stp ERROR: Array overflow, check size limit (3) near identifier 'overflow1' at /root/systemtap_write/systemtap/testsuite/systemtap.base/overflow_error.stp:10:7 ERROR: Array overflow, check size limit (5) near identifier 'overflow2' at /root/systemtap_write/systemtap/testsuite/systemtap.base/overflow_error.stp:14:7 WARNING: Number of errors: 2, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: overflow_error testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/overflow_error.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/overload.exp ... executing: stap -v -u -e { global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } } spawn stap -v -u -e global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 6 probes, 7 functions, 0 embeds, 1 global using 94400virt/87552res/7296shr/77952data kb, in 0usr/1190sys/1201real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bdde532d2764d1467422299929bac0c3_2735.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bdde532d2764d1467422299929bac0c3_2735.ko Pass 5: starting run. systemtap starting probe Executing: kill -INT -25549 systemtap ending probe k["foo"]=0x18 PASS: OVERLOAD1 no expected error Executing: kill -INT -25549 executing: stap -v -u -DSTP_OVERLOAD_INTERVAL=1000LL -DSTP_OVERLOAD_THRESHOLD=100LL -e { global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } } spawn stap -v -u -DSTP_OVERLOAD_INTERVAL=1000LL -DSTP_OVERLOAD_THRESHOLD=100LL -e global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 6 probes, 7 functions, 0 embeds, 1 global using 94464virt/87552res/7296shr/78016data kb, in 0usr/1180sys/1193real ms. Pass 3: translated to C into "/tmp/stapfHsLqd/stap_719543643e70d0f123183b9c8249004a_2791_src.c" using 94464virt/87744res/7488shr/78016data kb, in 0usr/10sys/12real ms. Pass 4: compiled C into "stap_719543643e70d0f123183b9c8249004a_2791.ko" in 0usr/3830sys/3881real ms. Pass 5: starting run. ERROR: probe overhead exceeded threshold PASS: OVERLOAD2 expected error Executing: kill -INT -25562 executing: stap -v -u -DSTP_NO_OVERLOAD -DSTP_OVERLOAD_INTERVAL=1000LL -DSTP_OVERLOAD_THRESHOLD=100LL -e { global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } } spawn stap -v -u -DSTP_NO_OVERLOAD -DSTP_OVERLOAD_INTERVAL=1000LL -DSTP_OVERLOAD_THRESHOLD=100LL -e global k probe begin { print("systemtap starting probe\n") k["foo"] = 0 } probe kernel.function("vfs_read"), kernel.function("vfs_write") { k["foo"]++ } probe end { print("systemtap ending probe\n") } Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 6 probes, 7 functions, 0 embeds, 1 global using 94400virt/87488res/7296shr/77952data kb, in 0usr/1170sys/1190real ms. Pass 3: translated to C into "/tmp/stapl7pPHj/stap_def2706db21166a18c1856840108acaf_2806_src.c" using 94400virt/87680res/7488shr/77952data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_def2706db21166a18c1856840108acaf_2806.ko" in 0usr/3800sys/3852real ms. Pass 5: starting run. systemtap starting probe Executing: kill -INT -25817 systemtap ending probe k["foo"]=0x18 PASS: OVERLOAD3 no expected error Executing: kill -INT -25817 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/overload.exp completed in 15 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type.exp ... Executing on host: g++ -g -O2 -c -o partial-class-type-heap.o /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-heap.cxx (timeout = 300) spawn -ignore SIGHUP g++ -g -O2 -c -o partial-class-type-heap.o /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-heap.cxx PASS: partial-class-type partial-class-type-heap.cxx Executing on host: g++ -g -O2 -c -o partial-class-type-main.o /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx (timeout = 300) spawn -ignore SIGHUP g++ -g -O2 -c -o partial-class-type-main.o /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx PASS: partial-class-type partial-class-type-main.cxx Executing on host: g++ partial-class-type-main.o partial-class-type-heap.o -g -O2 -lm -o partial-class-type (timeout = 300) spawn -ignore SIGHUP g++ partial-class-type-main.o partial-class-type-heap.o -g -O2 -lm -o partial-class-type PASS: partial-class-type partial-class-type running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/399real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54848virt/47808res/7296shr/38400data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-0 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/410sys/406real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47872res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-1 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/399real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47936res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-2 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/399real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47872res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-3 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/405real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47936res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-4 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/404real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47936res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-5 compilation succeeded running stap -v -p4 -e "probe process(\"./partial-class-type\").function(\"main\") { printf(\"_size member offset: %d\\n\", &@cast(0, \"Heap\")->_size); }" -p2 spawn stap -v -p4 -e probe process("./partial-class-type").function("main") { printf("_size member offset: %d\n", &@cast(0, "Heap")->_size); } -p2 Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/404real ms. # functions error:unknown (msg:string) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} __private__input___dwarf_cast_get_cast_0:long (:long) %{/* unprivileged *//* pure */ #define fetch_register u_fetch_register #define store_register u_store_register #define deref uderef #define store_deref store_uderef { { uintptr_t addr; { // synthesized addr = STAP_ARG_pointer; } { // DWARF expression: 0x23(8) { uintptr_t s0; s0 = addr; s0 = s0 + 8UL; addr = s0; } } STAP_RETVALUE = addr; } goto out; if (0) goto deref_fault; deref_fault: goto out; } #undef fetch_register #undef store_register #undef deref #undef store_deref %} # probes process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") /* pc=.absolute+0x560 */ /* <- process("/root/systemtap_write/systemtap/testsuite/partial-class-type").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type-main.cxx:9") */ printf("_size member offset: %d\\n", __private__input___dwarf_cast_get_cast_0(0)) timer.s(900) /* <- timer.s(900) */ __global_error__overload_0("probe timeout after 15 minutes") Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54912virt/47872res/7296shr/38464data kb, in 0usr/10sys/10real ms. PASS: partial-class-type-6 compilation succeeded testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/partial-class-type.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/perf.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/towers.c -lm -o /root/systemtap_write/systemtap/testsuite/towers.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/towers.c -lm -o /root/systemtap_write/systemtap/testsuite/towers.x PASS: perf compiling towers.c spawn /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/perf01.stp /root/systemtap_write/systemtap/testsuite/towers.x -c /root/systemtap_write/systemtap/testsuite/towers.x towers_n=0x194 XXX_n=0x0 PASS: perf process() spawn /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/perf02.stp -c /root/systemtap_write/systemtap/testsuite/towers.x towers_n=0x195 PASS: perf process Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/towers.c -g -lm -o /root/systemtap_write/systemtap/testsuite/towers.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/towers.c -g -lm -o /root/systemtap_write/systemtap/testsuite/towers.x spawn /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/perf03.stp /root/systemtap_write/systemtap/testsuite/towers.x -c /root/systemtap_write/systemtap/testsuite/towers.x WARNING: perf probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("b")' is not supported by this kernel (-2). WARNING: perf probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel (-2). ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("b")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel count main=1 count towers=9 min main=0 min towers=0 max main=0 max towers=0 ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/root/systemtap_write/systemtap/testsuite/towers.x").counter("a")' is not supported by this kernel WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] spawn /root/systemtap_write/install/bin/stap -W /root/systemtap_write/systemtap/testsuite/systemtap.base/perf04.stp /root/systemtap_write/systemtap/testsuite/towers.x -c /root/systemtap_write/systemtap/testsuite/towers.x WARNING: perf probe 'perf.type(0).config(1).sample(0).counter("a")' is not supported by this kernel (-2). ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).counter("a")' is not supported by this kernel count main=0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] KFAIL: perf counter (0) (PRMS: 15727) spawn /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/perf05.stp hit=0x1 PASS: perf global spawn /root/systemtap_write/systemtap/testsuite/systemtap.base/perf.sh /root/systemtap_write/install/bin/stap WARNING: perf probe 'perf.type(0).config(0).sample(0).process("/usr/bin/cat").counter("find_cycles")' is not supported by this kernel (-2). WARNING: perf probe 'perf.type(0).config(1).sample(0).process("/usr/bin/cat").counter("find_insns")' is not supported by this kernel (-2). ERROR: _stp_perf_read - probe 'perf.type(0).config(0).sample(0).process("/usr/bin/cat").counter("find_cycles")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/usr/bin/cat").counter("find_insns")' is not supported by this kernel WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] WARNING: perf probe 'perf.type(0).config(0).sample(0).process("/usr/bin/cat").counter("find_cycles")' is not supported by this kernel (-2). WARNING: perf probe 'perf.type(0).config(1).sample(0).process("/usr/bin/cat").counter("find_insns")' is not supported by this kernel (-2). ERROR: _stp_perf_read - probe 'perf.type(0).config(0).sample(0).process("/usr/bin/cat").counter("find_cycles")' is not supported by this kernel ERROR: _stp_perf_read - probe 'perf.type(0).config(1).sample(0).process("/usr/bin/cat").counter("find_insns")' is not supported by this kernel WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: 0 PASS: counter order 0 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/perf.exp completed in 51 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -I. -shared -fPIC -DLIBPLT1 -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./libplt1.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -I. -shared -fPIC -DLIBPLT1 -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./libplt1.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -I. -shared -fPIC -DLIBPLT2 -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./libplt2.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -I. -shared -fPIC -DLIBPLT2 -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./libplt2.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lplt1 -lplt2 -DONLY_MAIN -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./plt.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lplt1 -lplt2 -DONLY_MAIN -g -Wno-deprecated-declarations -Wno-format -fno-builtin -lm -o ./plt.x executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.stp {process("./plt.x").plt, process("./libplt1.so").plt, process("./libplt2.so").plt} noreturn -c {./plt.x >/dev/null} PASS: plt executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.stp {process("./plt.x").plt, process("./plt.x").library("libplt*").plt} noreturn -c {./plt.x >/dev/null} PASS: plt library UNTESTED: plt prelink libplt1.so UNTESTED: plt prelinked library executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.stp {process("./plt.x").plt, process("./libplt1.so").plt, process("./libplt2.so").plt} return -c {./plt.x >/dev/null} PASS: plt.return executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.stp {process("./plt.x").plt, process("./plt.x").library("libplt*").plt} return -c {./plt.x >/dev/null} PASS: plt.return library executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.stp process(\"./libplt2.so\").plt(\"strcmp\") noreturn -c {./plt.x >/dev/null} PASS: plt glob testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/plt.exp completed in 42 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pointer_array.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pointer_array.stp -c/bin/true PASS: systemtap.base/pointer_array.stp -c/bin/true testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pointer_array.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/poll_map.exp ... spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/poll_map.stp WARNING: probe kernel.function("vfs_caches_init_early@fs/dcache.c:3602").call (address 0xfffffc0008cf43dc) registration error (rc -22) WARNING: probe kernel.function("vfs_caches_init@fs/dcache.c:3608").call (address 0xfffffc0008cf446c) registration error (rc -22) stapio called vfs_write 6 times stapio called vfs_read 4 times expect called vfs_read 2 times expect called vfs_write 2 times systemd-udevd called vfs_fstatat 1 times systemd-udevd called vfs_getattr 1 times systemd-udevd called vfs_getattr_nosec 1 times systemd-udevd called vfs_unlink 1 times agetty called vfs_read 1 times avahi-daemon called vfs_read 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 3 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 3 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times beah-beaker-bac called vfs_fsync_range 1 times stapio called vfs_read 3 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times stapio called vfs_read 2 times expect called vfs_read 2 times expect called vfs_write 2 times stapio called vfs_write 1 times systemd-udevd called vfs_fstatat 14 times systemd-udevd called vfs_getattr 10 times systemd-udevd called vfs_getattr_nosec 10 times systemd-udevd called vfs_read 4 times stapio called vfs_read 1 times systemd-udevd called vfs_open 1 times systemd-udevd called vfs_fstat 1 times SUCCESS PASS: poll_map (1) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/poll_map.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.stp pp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.stp pp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 5 probes, 3 functions, 96 embeds, 1 global using 100544virt/93952res/7680shr/84096data kb, in 0usr/2220sys/2246real ms. Pass 3: translated to C into "/tmp/stapJGeDRQ/stap_d1f57dacb7b0c5970d4f2d274b05689f_54894_src.c" using 100544virt/94080res/7808shr/84096data kb, in 0usr/20sys/12real ms. Pass 4: compiled C into "stap_d1f57dacb7b0c5970d4f2d274b05689f_54894.ko" in 0usr/4100sys/4146real ms. Pass 5: starting run. systemtap starting probe PASS: pp startup PASS: pp load generation Executing: kill -INT -29723 systemtap ending probe kernel.function("SyS_openat@fs/open.c:1057").call? systemtap test success PASS: pp shutdown and output Pass 5: run completed in 0usr/70sys/2023real ms. metric: pp 0 400 405 0 2220 2246 0 20 12 0 4100 4146 0 70 2023 Executing: kill -INT -29723 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.stp pn spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.stp pn Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 5 probes, 3 functions, 97 embeds, 1 global using 100608virt/94016res/7680shr/84160data kb, in 0usr/2240sys/2260real ms. Pass 3: translated to C into "/tmp/stap10lK5X/stap_d7afc6660a0d8c5146313adf4f2505ec_55014_src.c" using 100608virt/94144res/7808shr/84160data kb, in 0usr/10sys/12real ms. Pass 4: compiled C into "stap_d7afc6660a0d8c5146313adf4f2505ec_55014.ko" in 0usr/4100sys/4146real ms. Pass 5: starting run. systemtap starting probe PASS: pn startup PASS: pn load generation Executing: kill -INT -29984 systemtap ending probe syscall.openat systemtap test success PASS: pn shutdown and output Pass 5: run completed in 0usr/80sys/2047real ms. metric: pn 0 400 403 0 2240 2260 0 10 12 0 4100 4146 0 80 2047 Executing: kill -INT -29984 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pp.exp completed in 18 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr10854.exp ... PASS: compiling pr10854.stp spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/stap_87d6f25b5c5983d43aa8e5604c98f7dc_23543.ko -o /dev/null PASS: pr10854 runloop testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr10854.exp completed in 24 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13158.exp ... spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko Hello PASS: pr13158: Inserting 1st module spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko ERROR: Couldn't insert module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko': File exists ERROR: Rerun with staprun option '-R' to rename this module. Executing: kill -INT 30818 Executing: kill -INT 30826 PASS: pr13158: Inserting 2 Identical Modules: Staprun without -R PASS: pr13158: module was correctly removed testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13158.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp ERROR: look out WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: pr13306 plain spawn stap -t /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp ERROR: look out ----- probe hit report: begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp:1:1), hits: 1, cycles: 332min/332avg/332max, from: begin, index: 0 ----- refresh report: WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: pr13306 -t spawn stap --suppress-handler-errors /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp WARNING: Number of errors: 10924, skipped probes: 0 PASS: pr13306 --suppress-handler-errors spawn stap --suppress-handler-errors -t /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp ----- probe hit report: begin, (/root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp:1:1), hits: 1, cycles: 184min/184avg/184max, from: begin, index: 0 perf.type(1).config(0).sample(1000000), (/root/systemtap_write/install/share/systemtap/tapset/timers.stp:21:46), hits: 14248, cycles: 30min/48avg/292max, from: perf.type(1).config(0).sample(1000000) from: perf.sw.cpu_clock.sample(1000000) from: timer.profile from: timer.profile, index: 1 timer.s(4), (/root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.stp:3:1), hits: 1, cycles: 94min/94avg/94max, from: timer.s(4), index: 2 ----- refresh report: WARNING: Number of errors: 14249, skipped probes: 0 PASS: pr13306 --suppress-handler-errors -t testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr13306.exp completed in 27 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp println(backtrace()) WARNING: function irq_affinity_setup is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp:1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_gc_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_pm_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_setup is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_softirq is blacklisted: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: probe kernel.function("irq_poll_sched@lib/irq_poll.c:26").call (address 0xfffffc00084983c0) registration error (rc -22) WARNING: probe kernel.function("irq_poll_enable@lib/irq_poll.c:161").call (address 0xfffffc00084984e8) registration error (rc -22) WARNING: probe kernel.function("irq_poll_cpu_notify@lib/irq_poll.c:187").call (address 0xfffffc0008498448) registration error (rc -22) WARNING: probe kernel.function("irq_poll_complete@lib/irq_poll.c:67").call (address 0xfffffc000849851c) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue_on@kernel/irq_work.c:66").call (address 0xfffffc00081e8a78) registration error (rc -22) WARNING: probe kernel.function("irq_work_sync@kernel/irq_work.c:189").call (address 0xfffffc00081e8958) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue@kernel/irq_work.c:87").call (address 0xfffffc00081e8bc4) registration error (rc -22) WARNING: probe kernel.function("irq_work_needs_cpu@kernel/irq_work.c:112").call (address 0xfffffc00081e8c80) registration error (rc -22) WARNING: probe kernel.function("irq_work_tick@kernel/irq_work.c:176").call (address 0xfffffc00081e8d40) registration error (rc -22) WARNING: probe kernel.function("irq_get_domain_generic_chip@kernel/irq/generic-chip.c:337").call (address 0xfffffc0008147f20) registration error (rc -22) WARNING: probe kernel.function("irq_setup_alt_chip@kernel/irq/generic-chip.c:476").call (address 0xfffffc0008147f78) registration error (rc -22) WARNING: probe kernel.function("irq_gc_init_mask_cache@kernel/irq/generic-chip.c:245").call (address 0xfffffc0008147e70) registration error (rc -22) WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 PASS: pr14546 once spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp println(backtrace()); println(backtrace()) WARNING: function irq_affinity_setup is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp:1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_gc_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_pm_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_setup is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_softirq is blacklisted: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: probe kernel.function("irq_poll_sched@lib/irq_poll.c:26").call (address 0xfffffc00084983c0) registration error (rc -22) WARNING: probe kernel.function("irq_poll_enable@lib/irq_poll.c:161").call (address 0xfffffc00084984e8) registration error (rc -22) WARNING: probe kernel.function("irq_poll_cpu_notify@lib/irq_poll.c:187").call (address 0xfffffc0008498448) registration error (rc -22) WARNING: probe kernel.function("irq_poll_complete@lib/irq_poll.c:67").call (address 0xfffffc000849851c) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue_on@kernel/irq_work.c:66").call (address 0xfffffc00081e8a78) registration error (rc -22) WARNING: probe kernel.function("irq_work_sync@kernel/irq_work.c:189").call (address 0xfffffc00081e8958) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue@kernel/irq_work.c:87").call (address 0xfffffc00081e8bc4) registration error (rc -22) WARNING: probe kernel.function("irq_work_needs_cpu@kernel/irq_work.c:112").call (address 0xfffffc00081e8c80) registration error (rc -22) WARNING: probe kernel.function("irq_work_tick@kernel/irq_work.c:176").call (address 0xfffffc00081e8d40) registration error (rc -22) WARNING: probe kernel.function("irq_get_domain_generic_chip@kernel/irq/generic-chip.c:337").call (address 0xfffffc0008147f20) registration error (rc -22) WARNING: probe kernel.function("irq_setup_alt_chip@kernel/irq/generic-chip.c:476").call (address 0xfffffc0008147f78) registration error (rc -22) WARNING: probe kernel.function("irq_gc_init_mask_cache@kernel/irq/generic-chip.c:245").call (address 0xfffffc0008147e70) registration error (rc -22) WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 PASS: pr14546 twice spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp println(backtrace()); println(backtrace()); println(backtrace()) WARNING: function irq_affinity_setup is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp:1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_gc_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_pm_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_setup is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_softirq is blacklisted: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: probe kernel.function("irq_poll_sched@lib/irq_poll.c:26").call (address 0xfffffc00084983c0) registration error (rc -22) WARNING: probe kernel.function("irq_poll_enable@lib/irq_poll.c:161").call (address 0xfffffc00084984e8) registration error (rc -22) WARNING: probe kernel.function("irq_poll_cpu_notify@lib/irq_poll.c:187").call (address 0xfffffc0008498448) registration error (rc -22) WARNING: probe kernel.function("irq_poll_complete@lib/irq_poll.c:67").call (address 0xfffffc000849851c) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue_on@kernel/irq_work.c:66").call (address 0xfffffc00081e8a78) registration error (rc -22) WARNING: probe kernel.function("irq_work_sync@kernel/irq_work.c:189").call (address 0xfffffc00081e8958) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue@kernel/irq_work.c:87").call (address 0xfffffc00081e8bc4) registration error (rc -22) WARNING: probe kernel.function("irq_work_needs_cpu@kernel/irq_work.c:112").call (address 0xfffffc00081e8c80) registration error (rc -22) WARNING: probe kernel.function("irq_work_tick@kernel/irq_work.c:176").call (address 0xfffffc00081e8d40) registration error (rc -22) WARNING: probe kernel.function("irq_get_domain_generic_chip@kernel/irq/generic-chip.c:337").call (address 0xfffffc0008147f20) registration error (rc -22) WARNING: probe kernel.function("irq_setup_alt_chip@kernel/irq/generic-chip.c:476").call (address 0xfffffc0008147f78) registration error (rc -22) WARNING: probe kernel.function("irq_gc_init_mask_cache@kernel/irq/generic-chip.c:245").call (address 0xfffffc0008147e70) registration error (rc -22) WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 PASS: pr14546 thrice spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp println(backtrace()); println(ubacktrace()) WARNING: function irq_affinity_setup is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.stp:1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_gc_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_pm_init_ops is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_setup is in blacklisted section: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: function irq_poll_softirq is blacklisted: keyword at :1:1 source: probe kernel.function("irq_*").call { ^ WARNING: probe kernel.function("irq_poll_sched@lib/irq_poll.c:26").call (address 0xfffffc00084983c0) registration error (rc -22) WARNING: probe kernel.function("irq_poll_enable@lib/irq_poll.c:161").call (address 0xfffffc00084984e8) registration error (rc -22) WARNING: probe kernel.function("irq_poll_cpu_notify@lib/irq_poll.c:187").call (address 0xfffffc0008498448) registration error (rc -22) WARNING: probe kernel.function("irq_poll_complete@lib/irq_poll.c:67").call (address 0xfffffc000849851c) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue_on@kernel/irq_work.c:66").call (address 0xfffffc00081e8a78) registration error (rc -22) WARNING: probe kernel.function("irq_work_sync@kernel/irq_work.c:189").call (address 0xfffffc00081e8958) registration error (rc -22) WARNING: probe kernel.function("irq_work_queue@kernel/irq_work.c:87").call (address 0xfffffc00081e8bc4) registration error (rc -22) WARNING: probe kernel.function("irq_work_needs_cpu@kernel/irq_work.c:112").call (address 0xfffffc00081e8c80) registration error (rc -22) WARNING: probe kernel.function("irq_work_tick@kernel/irq_work.c:176").call (address 0xfffffc00081e8d40) registration error (rc -22) WARNING: probe kernel.function("irq_get_domain_generic_chip@kernel/irq/generic-chip.c:337").call (address 0xfffffc0008147f20) registration error (rc -22) WARNING: probe kernel.function("irq_setup_alt_chip@kernel/irq/generic-chip.c:476").call (address 0xfffffc0008147f78) registration error (rc -22) WARNING: probe kernel.function("irq_gc_init_mask_cache@kernel/irq/generic-chip.c:245").call (address 0xfffffc0008147e70) registration error (rc -22) WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 0xfffffc00080d49bc 0xfffffc0008103fc4 0xfffffc000808eb88 0xfffffc00080815d0 0xfffffc00080826b8 0x0 PASS: pr14546 followed by ubacktrace() testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr14546.exp completed in 67 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr16719.exp ... spawn stap -e probe vfs.read { next } --vp 00003 Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -v -R /tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko staprun:main:432 modpath="/tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko", modname="stap_4a2526c2c1d56d49faa82b607182f8c9_3008" staprun:init_staprun:338 init_staprun staprun:insert_module:71 inserting module /tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko staprun:insert_module:97 module options: _stp_bufsize=0 staprun:insert_module:105 module path canonicalized to '/tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko' staprun:check_signature:418 checking signature for /tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko Signature file /tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko.sgn not found staprun:check_signature:431 verify_module returns 0 staprun:insert_module:168 Renaming module 'stap_4a2526c2c1d56d49faa82b607182f8c9_3008' staprun:insert_module:176 Renamed module to 'stap_4a2526c2c1d56d49faa82b607182f8c9__657' staprun:insert_module:183 Module stap_4a2526c2c1d56d49faa82b607182f8c9__657 inserted from file /tmp/stapRGLYUJ/stap_4a2526c2c1d56d49faa82b607182f8c9_3008.ko staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/.cmd (4) staprun:close_ctl_channel:114 Closed ctl fd 4 execing: /root/systemtap_write/install/libexec/systemtap/stapio -v -v -R stap_4a2526c2c1d56d49faa82b607182f8c9__657 -F3 stapio:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657.ko" stapio:main:50 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657.ko", modname="stap_4a2526c2c1d56d49faa82b607182f8c9__657" stapio:init_stapio:419 init_stapio stapio:init_ctl_channel:35 Opened .cmd (4) stapio:stp_main_loop:629 in main loop stapio:stp_main_loop:648 select_supported: 1 stapio:init_relayfs:306 initializing relayfs stapio:init_relayfs:328 attempting to openat trace0 stapio:init_relayfs:328 attempting to openat trace1 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace1 stapio:init_relayfs:328 attempting to openat trace2 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace2 stapio:init_relayfs:328 attempting to openat trace3 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace3 stapio:init_relayfs:328 attempting to openat trace4 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace4 stapio:init_relayfs:328 attempting to openat trace5 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace5 stapio:init_relayfs:328 attempting to openat trace6 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace6 stapio:init_relayfs:328 attempting to openat trace7 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace7 stapio:init_relayfs:328 attempting to openat trace8 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace8 stapio:init_relayfs:328 attempting to openat trace9 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace9 stapio:init_relayfs:328 attempting to openat trace10 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace10 stapio:init_relayfs:328 attempting to openat trace11 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace11 stapio:init_relayfs:328 attempting to openat trace12 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace12 stapio:init_relayfs:328 attempting to openat trace13 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace13 stapio:init_relayfs:328 attempting to openat trace14 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace14 stapio:init_relayfs:328 attempting to openat trace15 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace15 stapio:init_relayfs:328 attempting to openat trace16 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace16 stapio:init_relayfs:328 attempting to openat trace17 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace17 stapio:init_relayfs:328 attempting to openat trace18 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace18 stapio:init_relayfs:328 attempting to openat trace19 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace19 stapio:init_relayfs:328 attempting to openat trace20 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace20 stapio:init_relayfs:328 attempting to openat trace21 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace21 stapio:init_relayfs:328 attempting to openat trace22 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace22 stapio:init_relayfs:328 attempting to openat trace23 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace23 stapio:init_relayfs:328 attempting to openat trace24 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace24 stapio:init_relayfs:328 attempting to openat trace25 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace25 stapio:init_relayfs:328 attempting to openat trace26 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace26 stapio:init_relayfs:328 attempting to openat trace27 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace27 stapio:init_relayfs:328 attempting to openat trace28 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace28 stapio:init_relayfs:328 attempting to openat trace29 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace29 stapio:init_relayfs:328 attempting to openat trace30 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace30 stapio:init_relayfs:328 attempting to openat trace31 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace31 stapio:init_relayfs:328 attempting to openat trace32 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace32 stapio:init_relayfs:328 attempting to openat trace33 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace33 stapio:init_relayfs:328 attempting to openat trace34 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace34 stapio:init_relayfs:328 attempting to openat trace35 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace35 stapio:init_relayfs:328 attempting to openat trace36 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace36 stapio:init_relayfs:328 attempting to openat trace37 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace37 stapio:init_relayfs:328 attempting to openat trace38 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace38 stapio:init_relayfs:328 attempting to openat trace39 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace39 stapio:init_relayfs:328 attempting to openat trace40 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace40 stapio:init_relayfs:328 attempting to openat trace41 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace41 stapio:init_relayfs:328 attempting to openat trace42 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace42 stapio:init_relayfs:328 attempting to openat trace43 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace43 stapio:init_relayfs:328 attempting to openat trace44 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace44 stapio:init_relayfs:328 attempting to openat trace45 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace45 stapio:init_relayfs:328 attempting to openat trace46 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace46 stapio:init_relayfs:328 attempting to openat trace47 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace47 stapio:init_relayfs:328 attempting to openat trace48 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace48 stapio:init_relayfs:328 attempting to openat trace49 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace49 stapio:init_relayfs:328 attempting to openat trace50 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace50 stapio:init_relayfs:328 attempting to openat trace51 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace51 stapio:init_relayfs:328 attempting to openat trace52 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace52 stapio:init_relayfs:328 attempting to openat trace53 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace53 stapio:init_relayfs:328 attempting to openat trace54 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace54 stapio:init_relayfs:328 attempting to openat trace55 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace55 stapio:init_relayfs:328 attempting to openat trace56 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace56 stapio:init_relayfs:328 attempting to openat trace57 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace57 stapio:init_relayfs:328 attempting to openat trace58 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace58 stapio:init_relayfs:328 attempting to openat trace59 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace59 stapio:init_relayfs:328 attempting to openat trace60 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace60 stapio:init_relayfs:328 attempting to openat trace61 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace61 stapio:init_relayfs:328 attempting to openat trace62 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace62 stapio:init_relayfs:328 attempting to openat trace63 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace63 stapio:init_relayfs:328 attempting to openat trace64 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace64 stapio:init_relayfs:328 attempting to openat trace65 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace65 stapio:init_relayfs:328 attempting to openat trace66 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace66 stapio:init_relayfs:328 attempting to openat trace67 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace67 stapio:init_relayfs:328 attempting to openat trace68 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace68 stapio:init_relayfs:328 attempting to openat trace69 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace69 stapio:init_relayfs:328 attempting to openat trace70 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace70 stapio:init_relayfs:328 attempting to openat trace71 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace71 stapio:init_relayfs:328 attempting to openat trace72 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace72 stapio:init_relayfs:328 attempting to openat trace73 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace73 stapio:init_relayfs:328 attempting to openat trace74 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace74 stapio:init_relayfs:328 attempting to openat trace75 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace75 stapio:init_relayfs:328 attempting to openat trace76 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace76 stapio:init_relayfs:328 attempting to openat trace77 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace77 stapio:init_relayfs:328 attempting to openat trace78 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace78 stapio:init_relayfs:328 attempting to openat trace79 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace79 stapio:init_relayfs:328 attempting to openat trace80 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace80 stapio:init_relayfs:328 attempting to openat trace81 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace81 stapio:init_relayfs:328 attempting to openat trace82 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace82 stapio:init_relayfs:328 attempting to openat trace83 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace83 stapio:init_relayfs:328 attempting to openat trace84 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace84 stapio:init_relayfs:328 attempting to openat trace85 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace85 stapio:init_relayfs:328 attempting to openat trace86 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace86 stapio:init_relayfs:328 attempting to openat trace87 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace87 stapio:init_relayfs:328 attempting to openat trace88 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace88 stapio:init_relayfs:328 attempting to openat trace89 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace89 stapio:init_relayfs:328 attempting to openat trace90 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace90 stapio:init_relayfs:328 attempting to openat trace91 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace91 stapio:init_relayfs:328 attempting to openat trace92 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace92 stapio:init_relayfs:328 attempting to openat trace93 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace93 stapio:init_relayfs:328 attempting to openat trace94 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace94 stapio:init_relayfs:328 attempting to openat trace95 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace95 stapio:init_relayfs:328 attempting to openat trace96 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace96 stapio:init_relayfs:328 attempting to openat trace97 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace97 stapio:init_relayfs:328 attempting to openat trace98 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace98 stapio:init_relayfs:328 attempting to openat trace99 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace99 stapio:init_relayfs:328 attempting to openat trace100 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace100 stapio:init_relayfs:328 attempting to openat trace101 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace101 stapio:init_relayfs:328 attempting to openat trace102 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace102 stapio:init_relayfs:328 attempting to openat trace103 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace103 stapio:init_relayfs:328 attempting to openat trace104 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace104 stapio:init_relayfs:328 attempting to openat trace105 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace105 stapio:init_relayfs:328 attempting to openat trace106 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace106 stapio:init_relayfs:328 attempting to openat trace107 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace107 stapio:init_relayfs:328 attempting to openat trace108 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace108 stapio:init_relayfs:328 attempting to openat trace109 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace109 stapio:init_relayfs:328 attempting to openat trace110 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace110 stapio:init_relayfs:328 attempting to openat trace111 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace111 stapio:init_relayfs:328 attempting to openat trace112 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace112 stapio:init_relayfs:328 attempting to openat trace113 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace113 stapio:init_relayfs:328 attempting to openat trace114 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace114 stapio:init_relayfs:328 attempting to openat trace115 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace115 stapio:init_relayfs:328 attempting to openat trace116 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace116 stapio:init_relayfs:328 attempting to openat trace117 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace117 stapio:init_relayfs:328 attempting to openat trace118 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace118 stapio:init_relayfs:328 attempting to openat trace119 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace119 stapio:init_relayfs:328 attempting to openat trace120 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace120 stapio:init_relayfs:328 attempting to openat trace121 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace121 stapio:init_relayfs:328 attempting to openat trace122 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace122 stapio:init_relayfs:328 attempting to openat trace123 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace123 stapio:init_relayfs:328 attempting to openat trace124 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace124 stapio:init_relayfs:328 attempting to openat trace125 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace125 stapio:init_relayfs:328 attempting to openat trace126 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace126 stapio:init_relayfs:328 attempting to openat trace127 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace127 stapio:init_relayfs:328 attempting to openat trace128 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace128 stapio:init_relayfs:328 attempting to openat trace129 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace129 stapio:init_relayfs:328 attempting to openat trace130 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace130 stapio:init_relayfs:328 attempting to openat trace131 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace131 stapio:init_relayfs:328 attempting to openat trace132 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace132 stapio:init_relayfs:328 attempting to openat trace133 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace133 stapio:init_relayfs:328 attempting to openat trace134 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace134 stapio:init_relayfs:328 attempting to openat trace135 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace135 stapio:init_relayfs:328 attempting to openat trace136 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace136 stapio:init_relayfs:328 attempting to openat trace137 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace137 stapio:init_relayfs:328 attempting to openat trace138 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace138 stapio:init_relayfs:328 attempting to openat trace139 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace139 stapio:init_relayfs:328 attempting to openat trace140 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace140 stapio:init_relayfs:328 attempting to openat trace141 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace141 stapio:init_relayfs:328 attempting to openat trace142 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace142 stapio:init_relayfs:328 attempting to openat trace143 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace143 stapio:init_relayfs:328 attempting to openat trace144 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace144 stapio:init_relayfs:328 attempting to openat trace145 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace145 stapio:init_relayfs:328 attempting to openat trace146 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace146 stapio:init_relayfs:328 attempting to openat trace147 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace147 stapio:init_relayfs:328 attempting to openat trace148 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace148 stapio:init_relayfs:328 attempting to openat trace149 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace149 stapio:init_relayfs:328 attempting to openat trace150 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace150 stapio:init_relayfs:328 attempting to openat trace151 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace151 stapio:init_relayfs:328 attempting to openat trace152 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace152 stapio:init_relayfs:328 attempting to openat trace153 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace153 stapio:init_relayfs:328 attempting to openat trace154 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace154 stapio:init_relayfs:328 attempting to openat trace155 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace155 stapio:init_relayfs:328 attempting to openat trace156 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace156 stapio:init_relayfs:328 attempting to openat trace157 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace157 stapio:init_relayfs:328 attempting to openat trace158 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace158 stapio:init_relayfs:328 attempting to openat trace159 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace159 stapio:init_relayfs:328 attempting to openat trace160 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace160 stapio:init_relayfs:328 attempting to openat trace161 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace161 stapio:init_relayfs:328 attempting to openat trace162 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace162 stapio:init_relayfs:328 attempting to openat trace163 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace163 stapio:init_relayfs:328 attempting to openat trace164 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace164 stapio:init_relayfs:328 attempting to openat trace165 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace165 stapio:init_relayfs:328 attempting to openat trace166 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace166 stapio:init_relayfs:328 attempting to openat trace167 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace167 stapio:init_relayfs:328 attempting to openat trace168 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace168 stapio:init_relayfs:328 attempting to openat trace169 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace169 stapio:init_relayfs:328 attempting to openat trace170 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace170 stapio:init_relayfs:328 attempting to openat trace171 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace171 stapio:init_relayfs:328 attempting to openat trace172 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace172 stapio:init_relayfs:328 attempting to openat trace173 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace173 stapio:init_relayfs:328 attempting to openat trace174 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace174 stapio:init_relayfs:328 attempting to openat trace175 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace175 stapio:init_relayfs:328 attempting to openat trace176 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace176 stapio:init_relayfs:328 attempting to openat trace177 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace177 stapio:init_relayfs:328 attempting to openat trace178 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace178 stapio:init_relayfs:328 attempting to openat trace179 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace179 stapio:init_relayfs:328 attempting to openat trace180 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace180 stapio:init_relayfs:328 attempting to openat trace181 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace181 stapio:init_relayfs:328 attempting to openat trace182 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace182 stapio:init_relayfs:328 attempting to openat trace183 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace183 stapio:init_relayfs:328 attempting to openat trace184 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace184 stapio:init_relayfs:328 attempting to openat trace185 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace185 stapio:init_relayfs:328 attempting to openat trace186 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace186 stapio:init_relayfs:328 attempting to openat trace187 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace187 stapio:init_relayfs:328 attempting to openat trace188 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace188 stapio:init_relayfs:328 attempting to openat trace189 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace189 stapio:init_relayfs:328 attempting to openat trace190 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace190 stapio:init_relayfs:328 attempting to openat trace191 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace191 stapio:init_relayfs:328 attempting to openat trace192 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace192 stapio:init_relayfs:328 attempting to openat trace193 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace193 stapio:init_relayfs:328 attempting to openat trace194 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace194 stapio:init_relayfs:328 attempting to openat trace195 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace195 stapio:init_relayfs:328 attempting to openat trace196 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace196 stapio:init_relayfs:328 attempting to openat trace197 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace197 stapio:init_relayfs:328 attempting to openat trace198 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace198 stapio:init_relayfs:328 attempting to openat trace199 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace199 stapio:init_relayfs:328 attempting to openat trace200 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace200 stapio:init_relayfs:328 attempting to openat trace201 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace201 stapio:init_relayfs:328 attempting to openat trace202 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace202 stapio:init_relayfs:328 attempting to openat trace203 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace203 stapio:init_relayfs:328 attempting to openat trace204 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace204 stapio:init_relayfs:328 attempting to openat trace205 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace205 stapio:init_relayfs:328 attempting to openat trace206 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace206 stapio:init_relayfs:328 attempting to openat trace207 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace207 stapio:init_relayfs:328 attempting to openat trace208 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace208 stapio:init_relayfs:328 attempting to openat trace209 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace209 stapio:init_relayfs:328 attempting to openat trace210 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace210 stapio:init_relayfs:328 attempting to openat trace211 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace211 stapio:init_relayfs:328 attempting to openat trace212 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace212 stapio:init_relayfs:328 attempting to openat trace213 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace213 stapio:init_relayfs:328 attempting to openat trace214 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace214 stapio:init_relayfs:328 attempting to openat trace215 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace215 stapio:init_relayfs:328 attempting to openat trace216 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace216 stapio:init_relayfs:328 attempting to openat trace217 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace217 stapio:init_relayfs:328 attempting to openat trace218 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace218 stapio:init_relayfs:328 attempting to openat trace219 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace219 stapio:init_relayfs:328 attempting to openat trace220 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace220 stapio:init_relayfs:328 attempting to openat trace221 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace221 stapio:init_relayfs:328 attempting to openat trace222 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace222 stapio:init_relayfs:328 attempting to openat trace223 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace223 stapio:init_relayfs:328 attempting to openat trace224 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace224 stapio:init_relayfs:328 attempting to openat trace225 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace225 stapio:init_relayfs:328 attempting to openat trace226 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace226 stapio:init_relayfs:328 attempting to openat trace227 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace227 stapio:init_relayfs:328 attempting to openat trace228 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace228 stapio:init_relayfs:328 attempting to openat trace229 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace229 stapio:init_relayfs:328 attempting to openat trace230 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace230 stapio:init_relayfs:328 attempting to openat trace231 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace231 stapio:init_relayfs:328 attempting to openat trace232 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace232 stapio:init_relayfs:328 attempting to openat trace233 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace233 stapio:init_relayfs:328 attempting to openat trace234 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace234 stapio:init_relayfs:328 attempting to openat trace235 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace235 stapio:init_relayfs:328 attempting to openat trace236 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace236 stapio:init_relayfs:328 attempting to openat trace237 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace237 stapio:init_relayfs:328 attempting to openat trace238 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace238 stapio:init_relayfs:328 attempting to openat trace239 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace239 stapio:init_relayfs:328 attempting to openat trace240 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace240 stapio:init_relayfs:328 attempting to openat trace241 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace241 stapio:init_relayfs:328 attempting to openat trace242 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace242 stapio:init_relayfs:328 attempting to openat trace243 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace243 stapio:init_relayfs:328 attempting to openat trace244 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace244 stapio:init_relayfs:328 attempting to openat trace245 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace245 stapio:init_relayfs:328 attempting to openat trace246 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace246 stapio:init_relayfs:328 attempting to openat trace247 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace247 stapio:init_relayfs:328 attempting to openat trace248 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace248 stapio:init_relayfs:328 attempting to openat trace249 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace249 stapio:init_relayfs:328 attempting to openat trace250 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace250 stapio:init_relayfs:328 attempting to openat trace251 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace251 stapio:init_relayfs:328 attempting to openat trace252 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace252 stapio:init_relayfs:328 attempting to openat trace253 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace253 stapio:init_relayfs:328 attempting to openat trace254 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace254 stapio:init_relayfs:328 attempting to openat trace255 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_4a2526c2c1d56d49faa82b607182f8c9__657/trace255 stapio:init_relayfs:344 ncpus=1, bulkmode = 0 stapio:init_relayfs:346 cpui=0, relayfd=0 stapio:init_relayfs:425 starting threads stapio:stp_main_loop:842 systemtap_module_init() returned 0 PASS: pr16719 (kernel - started stap) PASS: pr16719 (kernel - fd clean) PASS: pr16719 (kernel - maps clean) PASS: pr16719 (kernel) Executing: kill -INT -385 spawn stap -e probe kernel.trace("sched_switch")!,never { next } --vp 00003 Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -v -R /tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko staprun:main:432 modpath="/tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko", modname="stap_ca73d18ea28e280d41d81d0d9c7f1431_1388" staprun:init_staprun:338 init_staprun staprun:insert_module:71 inserting module /tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko staprun:insert_module:97 module options: _stp_bufsize=0 staprun:insert_module:105 module path canonicalized to '/tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko' staprun:check_signature:418 checking signature for /tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko Signature file /tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko.sgn not found staprun:check_signature:431 verify_module returns 0 staprun:insert_module:168 Renaming module 'stap_ca73d18ea28e280d41d81d0d9c7f1431_1388' staprun:insert_module:176 Renamed module to 'stap_ca73d18ea28e280d41d81d0d9c7f1431__972' staprun:insert_module:183 Module stap_ca73d18ea28e280d41d81d0d9c7f1431__972 inserted from file /tmp/stapD8NSeo/stap_ca73d18ea28e280d41d81d0d9c7f1431_1388.ko staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/.cmd (6) staprun:close_ctl_channel:114 Closed ctl fd 6 execing: /root/systemtap_write/install/libexec/systemtap/stapio -v -v -R stap_ca73d18ea28e280d41d81d0d9c7f1431__972 -F3 stapio:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972.ko" stapio:main:50 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972.ko", modname="stap_ca73d18ea28e280d41d81d0d9c7f1431__972" stapio:init_stapio:419 init_stapio stapio:init_ctl_channel:35 Opened .cmd (6) stapio:stp_main_loop:629 in main loop stapio:stp_main_loop:648 select_supported: 1 stapio:init_relayfs:306 initializing relayfs stapio:init_relayfs:328 attempting to openat trace0 stapio:init_relayfs:328 attempting to openat trace1 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace1 stapio:init_relayfs:328 attempting to openat trace2 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace2 stapio:init_relayfs:328 attempting to openat trace3 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace3 stapio:init_relayfs:328 attempting to openat trace4 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace4 stapio:init_relayfs:328 attempting to openat trace5 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace5 stapio:init_relayfs:328 attempting to openat trace6 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace6 stapio:init_relayfs:328 attempting to openat trace7 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace7 stapio:init_relayfs:328 attempting to openat trace8 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace8 stapio:init_relayfs:328 attempting to openat trace9 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace9 stapio:init_relayfs:328 attempting to openat trace10 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace10 stapio:init_relayfs:328 attempting to openat trace11 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace11 stapio:init_relayfs:328 attempting to openat trace12 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace12 stapio:init_relayfs:328 attempting to openat trace13 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace13 stapio:init_relayfs:328 attempting to openat trace14 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace14 stapio:init_relayfs:328 attempting to openat trace15 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace15 stapio:init_relayfs:328 attempting to openat trace16 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace16 stapio:init_relayfs:328 attempting to openat trace17 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace17 stapio:init_relayfs:328 attempting to openat trace18 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace18 stapio:init_relayfs:328 attempting to openat trace19 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace19 stapio:init_relayfs:328 attempting to openat trace20 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace20 stapio:init_relayfs:328 attempting to openat trace21 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace21 stapio:init_relayfs:328 attempting to openat trace22 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace22 stapio:init_relayfs:328 attempting to openat trace23 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace23 stapio:init_relayfs:328 attempting to openat trace24 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace24 stapio:init_relayfs:328 attempting to openat trace25 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace25 stapio:init_relayfs:328 attempting to openat trace26 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace26 stapio:init_relayfs:328 attempting to openat trace27 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace27 stapio:init_relayfs:328 attempting to openat trace28 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace28 stapio:init_relayfs:328 attempting to openat trace29 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace29 stapio:init_relayfs:328 attempting to openat trace30 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace30 stapio:init_relayfs:328 attempting to openat trace31 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace31 stapio:init_relayfs:328 attempting to openat trace32 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace32 stapio:init_relayfs:328 attempting to openat trace33 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace33 stapio:init_relayfs:328 attempting to openat trace34 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace34 stapio:init_relayfs:328 attempting to openat trace35 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace35 stapio:init_relayfs:328 attempting to openat trace36 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace36 stapio:init_relayfs:328 attempting to openat trace37 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace37 stapio:init_relayfs:328 attempting to openat trace38 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace38 stapio:init_relayfs:328 attempting to openat trace39 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace39 stapio:init_relayfs:328 attempting to openat trace40 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace40 stapio:init_relayfs:328 attempting to openat trace41 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace41 stapio:init_relayfs:328 attempting to openat trace42 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace42 stapio:init_relayfs:328 attempting to openat trace43 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace43 stapio:init_relayfs:328 attempting to openat trace44 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace44 stapio:init_relayfs:328 attempting to openat trace45 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace45 stapio:init_relayfs:328 attempting to openat trace46 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace46 stapio:init_relayfs:328 attempting to openat trace47 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace47 stapio:init_relayfs:328 attempting to openat trace48 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace48 stapio:init_relayfs:328 attempting to openat trace49 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace49 stapio:init_relayfs:328 attempting to openat trace50 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace50 stapio:init_relayfs:328 attempting to openat trace51 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace51 stapio:init_relayfs:328 attempting to openat trace52 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace52 stapio:init_relayfs:328 attempting to openat trace53 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace53 stapio:init_relayfs:328 attempting to openat trace54 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace54 stapio:init_relayfs:328 attempting to openat trace55 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace55 stapio:init_relayfs:328 attempting to openat trace56 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace56 stapio:init_relayfs:328 attempting to openat trace57 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace57 stapio:init_relayfs:328 attempting to openat trace58 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace58 stapio:init_relayfs:328 attempting to openat trace59 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace59 stapio:init_relayfs:328 attempting to openat trace60 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace60 stapio:init_relayfs:328 attempting to openat trace61 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace61 stapio:init_relayfs:328 attempting to openat trace62 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace62 stapio:init_relayfs:328 attempting to openat trace63 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace63 stapio:init_relayfs:328 attempting to openat trace64 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace64 stapio:init_relayfs:328 attempting to openat trace65 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace65 stapio:init_relayfs:328 attempting to openat trace66 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace66 stapio:init_relayfs:328 attempting to openat trace67 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace67 stapio:init_relayfs:328 attempting to openat trace68 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace68 stapio:init_relayfs:328 attempting to openat trace69 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace69 stapio:init_relayfs:328 attempting to openat trace70 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace70 stapio:init_relayfs:328 attempting to openat trace71 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace71 stapio:init_relayfs:328 attempting to openat trace72 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace72 stapio:init_relayfs:328 attempting to openat trace73 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace73 stapio:init_relayfs:328 attempting to openat trace74 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace74 stapio:init_relayfs:328 attempting to openat trace75 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace75 stapio:init_relayfs:328 attempting to openat trace76 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace76 stapio:init_relayfs:328 attempting to openat trace77 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace77 stapio:init_relayfs:328 attempting to openat trace78 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace78 stapio:init_relayfs:328 attempting to openat trace79 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace79 stapio:init_relayfs:328 attempting to openat trace80 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace80 stapio:init_relayfs:328 attempting to openat trace81 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace81 stapio:init_relayfs:328 attempting to openat trace82 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace82 stapio:init_relayfs:328 attempting to openat trace83 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace83 stapio:init_relayfs:328 attempting to openat trace84 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace84 stapio:init_relayfs:328 attempting to openat trace85 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace85 stapio:init_relayfs:328 attempting to openat trace86 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace86 stapio:init_relayfs:328 attempting to openat trace87 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace87 stapio:init_relayfs:328 attempting to openat trace88 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace88 stapio:init_relayfs:328 attempting to openat trace89 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace89 stapio:init_relayfs:328 attempting to openat trace90 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace90 stapio:init_relayfs:328 attempting to openat trace91 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace91 stapio:init_relayfs:328 attempting to openat trace92 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace92 stapio:init_relayfs:328 attempting to openat trace93 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace93 stapio:init_relayfs:328 attempting to openat trace94 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace94 stapio:init_relayfs:328 attempting to openat trace95 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace95 stapio:init_relayfs:328 attempting to openat trace96 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace96 stapio:init_relayfs:328 attempting to openat trace97 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace97 stapio:init_relayfs:328 attempting to openat trace98 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace98 stapio:init_relayfs:328 attempting to openat trace99 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace99 stapio:init_relayfs:328 attempting to openat trace100 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace100 stapio:init_relayfs:328 attempting to openat trace101 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace101 stapio:init_relayfs:328 attempting to openat trace102 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace102 stapio:init_relayfs:328 attempting to openat trace103 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace103 stapio:init_relayfs:328 attempting to openat trace104 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace104 stapio:init_relayfs:328 attempting to openat trace105 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace105 stapio:init_relayfs:328 attempting to openat trace106 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace106 stapio:init_relayfs:328 attempting to openat trace107 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace107 stapio:init_relayfs:328 attempting to openat trace108 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace108 stapio:init_relayfs:328 attempting to openat trace109 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace109 stapio:init_relayfs:328 attempting to openat trace110 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace110 stapio:init_relayfs:328 attempting to openat trace111 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace111 stapio:init_relayfs:328 attempting to openat trace112 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace112 stapio:init_relayfs:328 attempting to openat trace113 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace113 stapio:init_relayfs:328 attempting to openat trace114 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace114 stapio:init_relayfs:328 attempting to openat trace115 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace115 stapio:init_relayfs:328 attempting to openat trace116 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace116 stapio:init_relayfs:328 attempting to openat trace117 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace117 stapio:init_relayfs:328 attempting to openat trace118 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace118 stapio:init_relayfs:328 attempting to openat trace119 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace119 stapio:init_relayfs:328 attempting to openat trace120 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace120 stapio:init_relayfs:328 attempting to openat trace121 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace121 stapio:init_relayfs:328 attempting to openat trace122 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace122 stapio:init_relayfs:328 attempting to openat trace123 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace123 stapio:init_relayfs:328 attempting to openat trace124 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace124 stapio:init_relayfs:328 attempting to openat trace125 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace125 stapio:init_relayfs:328 attempting to openat trace126 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace126 stapio:init_relayfs:328 attempting to openat trace127 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace127 stapio:init_relayfs:328 attempting to openat trace128 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace128 stapio:init_relayfs:328 attempting to openat trace129 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace129 stapio:init_relayfs:328 attempting to openat trace130 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace130 stapio:init_relayfs:328 attempting to openat trace131 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace131 stapio:init_relayfs:328 attempting to openat trace132 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace132 stapio:init_relayfs:328 attempting to openat trace133 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace133 stapio:init_relayfs:328 attempting to openat trace134 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace134 stapio:init_relayfs:328 attempting to openat trace135 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace135 stapio:init_relayfs:328 attempting to openat trace136 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace136 stapio:init_relayfs:328 attempting to openat trace137 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace137 stapio:init_relayfs:328 attempting to openat trace138 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace138 stapio:init_relayfs:328 attempting to openat trace139 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace139 stapio:init_relayfs:328 attempting to openat trace140 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace140 stapio:init_relayfs:328 attempting to openat trace141 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace141 stapio:init_relayfs:328 attempting to openat trace142 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace142 stapio:init_relayfs:328 attempting to openat trace143 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace143 stapio:init_relayfs:328 attempting to openat trace144 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace144 stapio:init_relayfs:328 attempting to openat trace145 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace145 stapio:init_relayfs:328 attempting to openat trace146 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace146 stapio:init_relayfs:328 attempting to openat trace147 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace147 stapio:init_relayfs:328 attempting to openat trace148 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace148 stapio:init_relayfs:328 attempting to openat trace149 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace149 stapio:init_relayfs:328 attempting to openat trace150 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace150 stapio:init_relayfs:328 attempting to openat trace151 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace151 stapio:init_relayfs:328 attempting to openat trace152 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace152 stapio:init_relayfs:328 attempting to openat trace153 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace153 stapio:init_relayfs:328 attempting to openat trace154 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace154 stapio:init_relayfs:328 attempting to openat trace155 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace155 stapio:init_relayfs:328 attempting to openat trace156 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace156 stapio:init_relayfs:328 attempting to openat trace157 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace157 stapio:init_relayfs:328 attempting to openat trace158 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace158 stapio:init_relayfs:328 attempting to openat trace159 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace159 stapio:init_relayfs:328 attempting to openat trace160 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace160 stapio:init_relayfs:328 attempting to openat trace161 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace161 stapio:init_relayfs:328 attempting to openat trace162 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace162 stapio:init_relayfs:328 attempting to openat trace163 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace163 stapio:init_relayfs:328 attempting to openat trace164 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace164 stapio:init_relayfs:328 attempting to openat trace165 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace165 stapio:init_relayfs:328 attempting to openat trace166 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace166 stapio:init_relayfs:328 attempting to openat trace167 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace167 stapio:init_relayfs:328 attempting to openat trace168 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace168 stapio:init_relayfs:328 attempting to openat trace169 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace169 stapio:init_relayfs:328 attempting to openat trace170 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace170 stapio:init_relayfs:328 attempting to openat trace171 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace171 stapio:init_relayfs:328 attempting to openat trace172 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace172 stapio:init_relayfs:328 attempting to openat trace173 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace173 stapio:init_relayfs:328 attempting to openat trace174 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace174 stapio:init_relayfs:328 attempting to openat trace175 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace175 stapio:init_relayfs:328 attempting to openat trace176 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace176 stapio:init_relayfs:328 attempting to openat trace177 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace177 stapio:init_relayfs:328 attempting to openat trace178 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace178 stapio:init_relayfs:328 attempting to openat trace179 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace179 stapio:init_relayfs:328 attempting to openat trace180 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace180 stapio:init_relayfs:328 attempting to openat trace181 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace181 stapio:init_relayfs:328 attempting to openat trace182 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace182 stapio:init_relayfs:328 attempting to openat trace183 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace183 stapio:init_relayfs:328 attempting to openat trace184 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace184 stapio:init_relayfs:328 attempting to openat trace185 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace185 stapio:init_relayfs:328 attempting to openat trace186 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace186 stapio:init_relayfs:328 attempting to openat trace187 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace187 stapio:init_relayfs:328 attempting to openat trace188 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace188 stapio:init_relayfs:328 attempting to openat trace189 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace189 stapio:init_relayfs:328 attempting to openat trace190 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace190 stapio:init_relayfs:328 attempting to openat trace191 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace191 stapio:init_relayfs:328 attempting to openat trace192 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace192 stapio:init_relayfs:328 attempting to openat trace193 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace193 stapio:init_relayfs:328 attempting to openat trace194 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace194 stapio:init_relayfs:328 attempting to openat trace195 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace195 stapio:init_relayfs:328 attempting to openat trace196 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace196 stapio:init_relayfs:328 attempting to openat trace197 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace197 stapio:init_relayfs:328 attempting to openat trace198 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace198 stapio:init_relayfs:328 attempting to openat trace199 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace199 stapio:init_relayfs:328 attempting to openat trace200 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace200 stapio:init_relayfs:328 attempting to openat trace201 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace201 stapio:init_relayfs:328 attempting to openat trace202 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace202 stapio:init_relayfs:328 attempting to openat trace203 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace203 stapio:init_relayfs:328 attempting to openat trace204 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace204 stapio:init_relayfs:328 attempting to openat trace205 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace205 stapio:init_relayfs:328 attempting to openat trace206 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace206 stapio:init_relayfs:328 attempting to openat trace207 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace207 stapio:init_relayfs:328 attempting to openat trace208 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace208 stapio:init_relayfs:328 attempting to openat trace209 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace209 stapio:init_relayfs:328 attempting to openat trace210 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace210 stapio:init_relayfs:328 attempting to openat trace211 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace211 stapio:init_relayfs:328 attempting to openat trace212 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace212 stapio:init_relayfs:328 attempting to openat trace213 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace213 stapio:init_relayfs:328 attempting to openat trace214 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace214 stapio:init_relayfs:328 attempting to openat trace215 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace215 stapio:init_relayfs:328 attempting to openat trace216 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace216 stapio:init_relayfs:328 attempting to openat trace217 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace217 stapio:init_relayfs:328 attempting to openat trace218 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace218 stapio:init_relayfs:328 attempting to openat trace219 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace219 stapio:init_relayfs:328 attempting to openat trace220 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace220 stapio:init_relayfs:328 attempting to openat trace221 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace221 stapio:init_relayfs:328 attempting to openat trace222 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace222 stapio:init_relayfs:328 attempting to openat trace223 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace223 stapio:init_relayfs:328 attempting to openat trace224 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace224 stapio:init_relayfs:328 attempting to openat trace225 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace225 stapio:init_relayfs:328 attempting to openat trace226 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace226 stapio:init_relayfs:328 attempting to openat trace227 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace227 stapio:init_relayfs:328 attempting to openat trace228 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace228 stapio:init_relayfs:328 attempting to openat trace229 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace229 stapio:init_relayfs:328 attempting to openat trace230 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace230 stapio:init_relayfs:328 attempting to openat trace231 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace231 stapio:init_relayfs:328 attempting to openat trace232 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace232 stapio:init_relayfs:328 attempting to openat trace233 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace233 stapio:init_relayfs:328 attempting to openat trace234 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace234 stapio:init_relayfs:328 attempting to openat trace235 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace235 stapio:init_relayfs:328 attempting to openat trace236 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace236 stapio:init_relayfs:328 attempting to openat trace237 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace237 stapio:init_relayfs:328 attempting to openat trace238 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace238 stapio:init_relayfs:328 attempting to openat trace239 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace239 stapio:init_relayfs:328 attempting to openat trace240 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace240 stapio:init_relayfs:328 attempting to openat trace241 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace241 stapio:init_relayfs:328 attempting to openat trace242 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace242 stapio:init_relayfs:328 attempting to openat trace243 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace243 stapio:init_relayfs:328 attempting to openat trace244 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace244 stapio:init_relayfs:328 attempting to openat trace245 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace245 stapio:init_relayfs:328 attempting to openat trace246 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace246 stapio:init_relayfs:328 attempting to openat trace247 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace247 stapio:init_relayfs:328 attempting to openat trace248 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace248 stapio:init_relayfs:328 attempting to openat trace249 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace249 stapio:init_relayfs:328 attempting to openat trace250 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace250 stapio:init_relayfs:328 attempting to openat trace251 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace251 stapio:init_relayfs:328 attempting to openat trace252 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace252 stapio:init_relayfs:328 attempting to openat trace253 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace253 stapio:init_relayfs:328 attempting to openat trace254 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace254 stapio:init_relayfs:328 attempting to openat trace255 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_ca73d18ea28e280d41d81d0d9c7f1431__972/trace255 stapio:init_relayfs:344 ncpus=1, bulkmode = 0 stapio:init_relayfs:346 cpui=0, relayfd=0 stapio:init_relayfs:425 starting threads stapio:stp_main_loop:842 systemtap_module_init() returned 0 PASS: pr16719 (tracepoint - started stap) PASS: pr16719 (tracepoint - fd clean) PASS: pr16719 (tracepoint - maps clean) PASS: pr16719 (tracepoint) Executing: kill -INT -667 spawn stap -e probe process("/bin/ls").function("main") { next } --vp 00003 Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -v -R /tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko staprun:main:432 modpath="/tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko", modname="stap_5104325cf8532c362b8ee543b33b1554_1489" staprun:init_staprun:338 init_staprun staprun:insert_module:71 inserting module /tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko staprun:insert_module:97 module options: _stp_bufsize=0 staprun:insert_module:105 module path canonicalized to '/tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko' staprun:check_signature:418 checking signature for /tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko Signature file /tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko.sgn not found staprun:check_signature:431 verify_module returns 0 staprun:insert_module:168 Renaming module 'stap_5104325cf8532c362b8ee543b33b1554_1489' staprun:insert_module:176 Renamed module to 'stap_5104325cf8532c362b8ee543b33b1554_1239' staprun:insert_module:183 Module stap_5104325cf8532c362b8ee543b33b1554_1239 inserted from file /tmp/stapW4SoEW/stap_5104325cf8532c362b8ee543b33b1554_1489.ko staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/.cmd (4) staprun:close_ctl_channel:114 Closed ctl fd 4 execing: /root/systemtap_write/install/libexec/systemtap/stapio -v -v -R stap_5104325cf8532c362b8ee543b33b1554_1239 -F3 stapio:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239.ko" stapio:main:50 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239.ko", modname="stap_5104325cf8532c362b8ee543b33b1554_1239" stapio:init_stapio:419 init_stapio stapio:init_ctl_channel:35 Opened .cmd (4) stapio:stp_main_loop:629 in main loop stapio:stp_main_loop:648 select_supported: 1 stapio:init_relayfs:306 initializing relayfs stapio:init_relayfs:328 attempting to openat trace0 stapio:init_relayfs:328 attempting to openat trace1 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace1 stapio:init_relayfs:328 attempting to openat trace2 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace2 stapio:init_relayfs:328 attempting to openat trace3 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace3 stapio:init_relayfs:328 attempting to openat trace4 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace4 stapio:init_relayfs:328 attempting to openat trace5 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace5 stapio:init_relayfs:328 attempting to openat trace6 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace6 stapio:init_relayfs:328 attempting to openat trace7 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace7 stapio:init_relayfs:328 attempting to openat trace8 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace8 stapio:init_relayfs:328 attempting to openat trace9 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace9 stapio:init_relayfs:328 attempting to openat trace10 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace10 stapio:init_relayfs:328 attempting to openat trace11 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace11 stapio:init_relayfs:328 attempting to openat trace12 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace12 stapio:init_relayfs:328 attempting to openat trace13 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace13 stapio:init_relayfs:328 attempting to openat trace14 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace14 stapio:init_relayfs:328 attempting to openat trace15 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace15 stapio:init_relayfs:328 attempting to openat trace16 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace16 stapio:init_relayfs:328 attempting to openat trace17 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace17 stapio:init_relayfs:328 attempting to openat trace18 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace18 stapio:init_relayfs:328 attempting to openat trace19 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace19 stapio:init_relayfs:328 attempting to openat trace20 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace20 stapio:init_relayfs:328 attempting to openat trace21 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace21 stapio:init_relayfs:328 attempting to openat trace22 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace22 stapio:init_relayfs:328 attempting to openat trace23 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace23 stapio:init_relayfs:328 attempting to openat trace24 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace24 stapio:init_relayfs:328 attempting to openat trace25 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace25 stapio:init_relayfs:328 attempting to openat trace26 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace26 stapio:init_relayfs:328 attempting to openat trace27 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace27 stapio:init_relayfs:328 attempting to openat trace28 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace28 stapio:init_relayfs:328 attempting to openat trace29 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace29 stapio:init_relayfs:328 attempting to openat trace30 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace30 stapio:init_relayfs:328 attempting to openat trace31 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace31 stapio:init_relayfs:328 attempting to openat trace32 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace32 stapio:init_relayfs:328 attempting to openat trace33 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace33 stapio:init_relayfs:328 attempting to openat trace34 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace34 stapio:init_relayfs:328 attempting to openat trace35 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace35 stapio:init_relayfs:328 attempting to openat trace36 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace36 stapio:init_relayfs:328 attempting to openat trace37 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace37 stapio:init_relayfs:328 attempting to openat trace38 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace38 stapio:init_relayfs:328 attempting to openat trace39 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace39 stapio:init_relayfs:328 attempting to openat trace40 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace40 stapio:init_relayfs:328 attempting to openat trace41 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace41 stapio:init_relayfs:328 attempting to openat trace42 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace42 stapio:init_relayfs:328 attempting to openat trace43 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace43 stapio:init_relayfs:328 attempting to openat trace44 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace44 stapio:init_relayfs:328 attempting to openat trace45 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace45 stapio:init_relayfs:328 attempting to openat trace46 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace46 stapio:init_relayfs:328 attempting to openat trace47 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace47 stapio:init_relayfs:328 attempting to openat trace48 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace48 stapio:init_relayfs:328 attempting to openat trace49 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace49 stapio:init_relayfs:328 attempting to openat trace50 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace50 stapio:init_relayfs:328 attempting to openat trace51 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace51 stapio:init_relayfs:328 attempting to openat trace52 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace52 stapio:init_relayfs:328 attempting to openat trace53 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace53 stapio:init_relayfs:328 attempting to openat trace54 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace54 stapio:init_relayfs:328 attempting to openat trace55 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace55 stapio:init_relayfs:328 attempting to openat trace56 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace56 stapio:init_relayfs:328 attempting to openat trace57 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace57 stapio:init_relayfs:328 attempting to openat trace58 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace58 stapio:init_relayfs:328 attempting to openat trace59 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace59 stapio:init_relayfs:328 attempting to openat trace60 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace60 stapio:init_relayfs:328 attempting to openat trace61 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace61 stapio:init_relayfs:328 attempting to openat trace62 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace62 stapio:init_relayfs:328 attempting to openat trace63 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace63 stapio:init_relayfs:328 attempting to openat trace64 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace64 stapio:init_relayfs:328 attempting to openat trace65 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace65 stapio:init_relayfs:328 attempting to openat trace66 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace66 stapio:init_relayfs:328 attempting to openat trace67 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace67 stapio:init_relayfs:328 attempting to openat trace68 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace68 stapio:init_relayfs:328 attempting to openat trace69 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace69 stapio:init_relayfs:328 attempting to openat trace70 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace70 stapio:init_relayfs:328 attempting to openat trace71 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace71 stapio:init_relayfs:328 attempting to openat trace72 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace72 stapio:init_relayfs:328 attempting to openat trace73 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace73 stapio:init_relayfs:328 attempting to openat trace74 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace74 stapio:init_relayfs:328 attempting to openat trace75 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace75 stapio:init_relayfs:328 attempting to openat trace76 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace76 stapio:init_relayfs:328 attempting to openat trace77 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace77 stapio:init_relayfs:328 attempting to openat trace78 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace78 stapio:init_relayfs:328 attempting to openat trace79 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace79 stapio:init_relayfs:328 attempting to openat trace80 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace80 stapio:init_relayfs:328 attempting to openat trace81 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace81 stapio:init_relayfs:328 attempting to openat trace82 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace82 stapio:init_relayfs:328 attempting to openat trace83 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace83 stapio:init_relayfs:328 attempting to openat trace84 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace84 stapio:init_relayfs:328 attempting to openat trace85 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace85 stapio:init_relayfs:328 attempting to openat trace86 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace86 stapio:init_relayfs:328 attempting to openat trace87 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace87 stapio:init_relayfs:328 attempting to openat trace88 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace88 stapio:init_relayfs:328 attempting to openat trace89 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace89 stapio:init_relayfs:328 attempting to openat trace90 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace90 stapio:init_relayfs:328 attempting to openat trace91 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace91 stapio:init_relayfs:328 attempting to openat trace92 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace92 stapio:init_relayfs:328 attempting to openat trace93 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace93 stapio:init_relayfs:328 attempting to openat trace94 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace94 stapio:init_relayfs:328 attempting to openat trace95 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace95 stapio:init_relayfs:328 attempting to openat trace96 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace96 stapio:init_relayfs:328 attempting to openat trace97 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace97 stapio:init_relayfs:328 attempting to openat trace98 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace98 stapio:init_relayfs:328 attempting to openat trace99 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace99 stapio:init_relayfs:328 attempting to openat trace100 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace100 stapio:init_relayfs:328 attempting to openat trace101 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace101 stapio:init_relayfs:328 attempting to openat trace102 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace102 stapio:init_relayfs:328 attempting to openat trace103 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace103 stapio:init_relayfs:328 attempting to openat trace104 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace104 stapio:init_relayfs:328 attempting to openat trace105 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace105 stapio:init_relayfs:328 attempting to openat trace106 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace106 stapio:init_relayfs:328 attempting to openat trace107 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace107 stapio:init_relayfs:328 attempting to openat trace108 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace108 stapio:init_relayfs:328 attempting to openat trace109 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace109 stapio:init_relayfs:328 attempting to openat trace110 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace110 stapio:init_relayfs:328 attempting to openat trace111 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace111 stapio:init_relayfs:328 attempting to openat trace112 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace112 stapio:init_relayfs:328 attempting to openat trace113 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace113 stapio:init_relayfs:328 attempting to openat trace114 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace114 stapio:init_relayfs:328 attempting to openat trace115 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace115 stapio:init_relayfs:328 attempting to openat trace116 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace116 stapio:init_relayfs:328 attempting to openat trace117 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace117 stapio:init_relayfs:328 attempting to openat trace118 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace118 stapio:init_relayfs:328 attempting to openat trace119 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace119 stapio:init_relayfs:328 attempting to openat trace120 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace120 stapio:init_relayfs:328 attempting to openat trace121 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace121 stapio:init_relayfs:328 attempting to openat trace122 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace122 stapio:init_relayfs:328 attempting to openat trace123 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace123 stapio:init_relayfs:328 attempting to openat trace124 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace124 stapio:init_relayfs:328 attempting to openat trace125 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace125 stapio:init_relayfs:328 attempting to openat trace126 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace126 stapio:init_relayfs:328 attempting to openat trace127 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace127 stapio:init_relayfs:328 attempting to openat trace128 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace128 stapio:init_relayfs:328 attempting to openat trace129 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace129 stapio:init_relayfs:328 attempting to openat trace130 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace130 stapio:init_relayfs:328 attempting to openat trace131 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace131 stapio:init_relayfs:328 attempting to openat trace132 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace132 stapio:init_relayfs:328 attempting to openat trace133 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace133 stapio:init_relayfs:328 attempting to openat trace134 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace134 stapio:init_relayfs:328 attempting to openat trace135 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace135 stapio:init_relayfs:328 attempting to openat trace136 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace136 stapio:init_relayfs:328 attempting to openat trace137 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace137 stapio:init_relayfs:328 attempting to openat trace138 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace138 stapio:init_relayfs:328 attempting to openat trace139 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace139 stapio:init_relayfs:328 attempting to openat trace140 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace140 stapio:init_relayfs:328 attempting to openat trace141 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace141 stapio:init_relayfs:328 attempting to openat trace142 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace142 stapio:init_relayfs:328 attempting to openat trace143 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace143 stapio:init_relayfs:328 attempting to openat trace144 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace144 stapio:init_relayfs:328 attempting to openat trace145 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace145 stapio:init_relayfs:328 attempting to openat trace146 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace146 stapio:init_relayfs:328 attempting to openat trace147 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace147 stapio:init_relayfs:328 attempting to openat trace148 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace148 stapio:init_relayfs:328 attempting to openat trace149 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace149 stapio:init_relayfs:328 attempting to openat trace150 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace150 stapio:init_relayfs:328 attempting to openat trace151 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace151 stapio:init_relayfs:328 attempting to openat trace152 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace152 stapio:init_relayfs:328 attempting to openat trace153 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace153 stapio:init_relayfs:328 attempting to openat trace154 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace154 stapio:init_relayfs:328 attempting to openat trace155 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace155 stapio:init_relayfs:328 attempting to openat trace156 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace156 stapio:init_relayfs:328 attempting to openat trace157 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace157 stapio:init_relayfs:328 attempting to openat trace158 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace158 stapio:init_relayfs:328 attempting to openat trace159 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace159 stapio:init_relayfs:328 attempting to openat trace160 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace160 stapio:init_relayfs:328 attempting to openat trace161 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace161 stapio:init_relayfs:328 attempting to openat trace162 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace162 stapio:init_relayfs:328 attempting to openat trace163 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace163 stapio:init_relayfs:328 attempting to openat trace164 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace164 stapio:init_relayfs:328 attempting to openat trace165 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace165 stapio:init_relayfs:328 attempting to openat trace166 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace166 stapio:init_relayfs:328 attempting to openat trace167 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace167 stapio:init_relayfs:328 attempting to openat trace168 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace168 stapio:init_relayfs:328 attempting to openat trace169 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace169 stapio:init_relayfs:328 attempting to openat trace170 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace170 stapio:init_relayfs:328 attempting to openat trace171 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace171 stapio:init_relayfs:328 attempting to openat trace172 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace172 stapio:init_relayfs:328 attempting to openat trace173 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace173 stapio:init_relayfs:328 attempting to openat trace174 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace174 stapio:init_relayfs:328 attempting to openat trace175 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace175 stapio:init_relayfs:328 attempting to openat trace176 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace176 stapio:init_relayfs:328 attempting to openat trace177 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace177 stapio:init_relayfs:328 attempting to openat trace178 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace178 stapio:init_relayfs:328 attempting to openat trace179 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace179 stapio:init_relayfs:328 attempting to openat trace180 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace180 stapio:init_relayfs:328 attempting to openat trace181 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace181 stapio:init_relayfs:328 attempting to openat trace182 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace182 stapio:init_relayfs:328 attempting to openat trace183 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace183 stapio:init_relayfs:328 attempting to openat trace184 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace184 stapio:init_relayfs:328 attempting to openat trace185 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace185 stapio:init_relayfs:328 attempting to openat trace186 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace186 stapio:init_relayfs:328 attempting to openat trace187 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace187 stapio:init_relayfs:328 attempting to openat trace188 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace188 stapio:init_relayfs:328 attempting to openat trace189 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace189 stapio:init_relayfs:328 attempting to openat trace190 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace190 stapio:init_relayfs:328 attempting to openat trace191 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace191 stapio:init_relayfs:328 attempting to openat trace192 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace192 stapio:init_relayfs:328 attempting to openat trace193 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace193 stapio:init_relayfs:328 attempting to openat trace194 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace194 stapio:init_relayfs:328 attempting to openat trace195 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace195 stapio:init_relayfs:328 attempting to openat trace196 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace196 stapio:init_relayfs:328 attempting to openat trace197 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace197 stapio:init_relayfs:328 attempting to openat trace198 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace198 stapio:init_relayfs:328 attempting to openat trace199 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace199 stapio:init_relayfs:328 attempting to openat trace200 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace200 stapio:init_relayfs:328 attempting to openat trace201 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace201 stapio:init_relayfs:328 attempting to openat trace202 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace202 stapio:init_relayfs:328 attempting to openat trace203 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace203 stapio:init_relayfs:328 attempting to openat trace204 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace204 stapio:init_relayfs:328 attempting to openat trace205 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace205 stapio:init_relayfs:328 attempting to openat trace206 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace206 stapio:init_relayfs:328 attempting to openat trace207 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace207 stapio:init_relayfs:328 attempting to openat trace208 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace208 stapio:init_relayfs:328 attempting to openat trace209 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace209 stapio:init_relayfs:328 attempting to openat trace210 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace210 stapio:init_relayfs:328 attempting to openat trace211 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace211 stapio:init_relayfs:328 attempting to openat trace212 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace212 stapio:init_relayfs:328 attempting to openat trace213 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace213 stapio:init_relayfs:328 attempting to openat trace214 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace214 stapio:init_relayfs:328 attempting to openat trace215 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace215 stapio:init_relayfs:328 attempting to openat trace216 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace216 stapio:init_relayfs:328 attempting to openat trace217 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace217 stapio:init_relayfs:328 attempting to openat trace218 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace218 stapio:init_relayfs:328 attempting to openat trace219 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace219 stapio:init_relayfs:328 attempting to openat trace220 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace220 stapio:init_relayfs:328 attempting to openat trace221 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace221 stapio:init_relayfs:328 attempting to openat trace222 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace222 stapio:init_relayfs:328 attempting to openat trace223 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace223 stapio:init_relayfs:328 attempting to openat trace224 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace224 stapio:init_relayfs:328 attempting to openat trace225 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace225 stapio:init_relayfs:328 attempting to openat trace226 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace226 stapio:init_relayfs:328 attempting to openat trace227 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace227 stapio:init_relayfs:328 attempting to openat trace228 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace228 stapio:init_relayfs:328 attempting to openat trace229 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace229 stapio:init_relayfs:328 attempting to openat trace230 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace230 stapio:init_relayfs:328 attempting to openat trace231 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace231 stapio:init_relayfs:328 attempting to openat trace232 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace232 stapio:init_relayfs:328 attempting to openat trace233 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace233 stapio:init_relayfs:328 attempting to openat trace234 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace234 stapio:init_relayfs:328 attempting to openat trace235 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace235 stapio:init_relayfs:328 attempting to openat trace236 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace236 stapio:init_relayfs:328 attempting to openat trace237 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace237 stapio:init_relayfs:328 attempting to openat trace238 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace238 stapio:init_relayfs:328 attempting to openat trace239 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace239 stapio:init_relayfs:328 attempting to openat trace240 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace240 stapio:init_relayfs:328 attempting to openat trace241 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace241 stapio:init_relayfs:328 attempting to openat trace242 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace242 stapio:init_relayfs:328 attempting to openat trace243 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace243 stapio:init_relayfs:328 attempting to openat trace244 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace244 stapio:init_relayfs:328 attempting to openat trace245 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace245 stapio:init_relayfs:328 attempting to openat trace246 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace246 stapio:init_relayfs:328 attempting to openat trace247 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace247 stapio:init_relayfs:328 attempting to openat trace248 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace248 stapio:init_relayfs:328 attempting to openat trace249 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace249 stapio:init_relayfs:328 attempting to openat trace250 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace250 stapio:init_relayfs:328 attempting to openat trace251 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace251 stapio:init_relayfs:328 attempting to openat trace252 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace252 stapio:init_relayfs:328 attempting to openat trace253 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace253 stapio:init_relayfs:328 attempting to openat trace254 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace254 stapio:init_relayfs:328 attempting to openat trace255 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_5104325cf8532c362b8ee543b33b1554_1239/trace255 stapio:init_relayfs:344 ncpus=1, bulkmode = 0 stapio:init_relayfs:346 cpui=0, relayfd=0 stapio:init_relayfs:425 starting threads stapio:stp_main_loop:842 systemtap_module_init() returned 0 PASS: pr16719 (user - started stap) PASS: pr16719 (user - fd clean) PASS: pr16719 (user - maps clean) PASS: pr16719 (user) Executing: kill -INT -993 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr16719.exp completed in 27 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr18649.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/test.c -lm -o /root/systemtap_write/systemtap/testsuite/test (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/test.c -lm -o /root/systemtap_write/systemtap/testsuite/test PASS: compiling test.c compiler=gcc additional_flags= spawn stap --prologue-searching=never /root/systemtap_write/systemtap/testsuite/test.stp -c /root/systemtap_write/systemtap/testsuite/test 7fff PASS: pr18649 (compiler=gcc additional_flags= ) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/test.c -g -lm -o /root/systemtap_write/systemtap/testsuite/test (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/test.c -g -lm -o /root/systemtap_write/systemtap/testsuite/test PASS: compiling test.c compiler=gcc additional_flags=-g spawn stap --prologue-searching=never /root/systemtap_write/systemtap/testsuite/test.stp -c /root/systemtap_write/systemtap/testsuite/test 7fff PASS: pr18649 (compiler=gcc additional_flags=-g) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr18649.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pr19525.exp ... spawn bash -c stap --poison-cache -vbe 'probe begin { exit() }' 2>&1 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapqjzTdK/stap_a3f442074dc4e882ae9dcd303141eef3_1467_src.c" using 54848virt/47232res/6848shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_a3f442074dc4e882ae9dcd303141eef3_1467.ko" in 0usr/14170sys/14584real ms. Pass 5: starting run. Pass 5: run completed in 0usr/80sys/518real ms. PASS: pr19525 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pr19525.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/prcwildcard.exp ... spawn stap -L process("/root/systemtap_write/install/bin/stap").function("*") process("/root/systemtap_write/install/bin/stap").function("Array2D@/root/systemtap_write/systemtap/util.h:382") $this:class Array2D* const process("/root/systemtap_write/install/bin/stap").function("NSPR_init@/root/systemtap_write/systemtap/session.cxx:421") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("PR_Read_Complete@/root/systemtap_write/systemtap/nsscommon.cxx:1376") $fd:PRFileDesc* $buf:void* $requestedBytes:PRInt32 process("/root/systemtap_write/install/bin/stap").function("_Alloc_hider@/usr/include/c++/4.8.2/bits/basic_string.h:272") process("/root/systemtap_write/install/bin/stap").function("_Alloc_hider@/usr/include/c++/4.8.2/bits/basic_string.h:274") process("/root/systemtap_write/install/bin/stap").function("_Before_begin&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::equal_to, std::allocator > >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin, Dwarf_Die> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, Dwarf_Die>, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin, expression*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, expression*>, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin, std::vector*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, std::vector >*>, true> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin, Dwarf_Die>*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, Dwarf_Die> > >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin, std::vector*>*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::equal_to, std::allocator > >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin, std::equal_to, std::allocator > >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Before_begin*> >&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1660") $this:struct _Before_begin >*>, false> > >* const process("/root/systemtap_write/install/bin/stap").function("_Bind_simple@/usr/include/c++/4.8.2/functional:1714") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct func_info* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct format_component* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct format_component* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("_Construct >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("_Construct, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct, std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("_Construct >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:class list >* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::pair >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct pair* process("/root/systemtap_write/install/bin/stap").function("_Construct, const std::pair&>@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct pair* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::pair >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct pair* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::pair >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct pair* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::pair >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct pair* process("/root/systemtap_write/install/bin/stap").function("_Construct, std::basic_string >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct, unsigned int>, std::pair, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:class thread* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct component* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct component* process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") process("/root/systemtap_write/install/bin/stap").function("_Construct@/usr/include/c++/4.8.2/bits/stl_construct.h:74") $__p:struct resolved_type* process("/root/systemtap_write/install/bin/stap").function("_Deque_base@/usr/include/c++/4.8.2/bits/stl_deque.h:451") process("/root/systemtap_write/install/bin/stap").function("_Deque_base@/usr/include/c++/4.8.2/bits/stl_deque.h:459") process("/root/systemtap_write/install/bin/stap").function("_Deque_base@/usr/include/c++/4.8.2/bits/stl_deque.h:468") process("/root/systemtap_write/install/bin/stap").function("_Deque_impl@/usr/include/c++/4.8.2/bits/stl_deque.h:500") process("/root/systemtap_write/install/bin/stap").function("_Deque_impl@/usr/include/c++/4.8.2/bits/stl_deque.h:505") process("/root/systemtap_write/install/bin/stap").function("_Deque_impl@/usr/include/c++/4.8.2/bits/stl_deque.h:511") process("/root/systemtap_write/install/bin/stap").function("_Deque_iterator@/usr/include/c++/4.8.2/bits/stl_deque.h:132") process("/root/systemtap_write/install/bin/stap").function("_Deque_iterator@/usr/include/c++/4.8.2/bits/stl_deque.h:135") process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_construct.h:122") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator >, print_format::format_component>@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_construct.h:122") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_construct.h:122") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_Destroy<__gnu_cxx::__normal_iterator >, target_symbol::component>@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:struct semantic_error* $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") $__pointer:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") $__pointer:struct kernel_point* process("/root/systemtap_write/install/bin/stap").function("_Destroy >@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy*>@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy >@/usr/include/c++/4.8.2/bits/stl_construct.h:92") $__pointer:class list >* process("/root/systemtap_write/install/bin/stap").function("_Destroy*, std::list >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:class list >* $__first:class list >* process("/root/systemtap_write/install/bin/stap").function("_Destroy*>@/usr/include/c++/4.8.2/bits/stl_construct.h:122") $__last:class list >* $__first:class list >* process("/root/systemtap_write/install/bin/stap").function("_Destroy, match_item*> >@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy, match_item*>*, std::pair, match_item*> >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy, match_item*>*>@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy, std::basic_string >*, std::pair, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy, std::basic_string >*>@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy, unsigned int> >@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy, unsigned int>*, std::pair, unsigned int> >@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy, unsigned int>*>@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:struct tmpvar* $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") $__pointer:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:148") $__last:class var* $__first:class var* process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:122") process("/root/systemtap_write/install/bin/stap").function("_Destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:92") $__pointer:class var* process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z11dwfl_assertRKSsiS0_i@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:295") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z13add_conditionP10expressionS0_@/root/systemtap_write/systemtap/elaborate.cxx:7075") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z16regex_to_stapdfaP17systemtap_sessionRKSsPK5token@/root/systemtap_write/systemtap/stapregex.cxx:189") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z17common_probe_initP13derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:11934") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z17modname_from_pathRKSs@/root/systemtap_write/systemtap/setupdwfl.cxx:835") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z17output_exportconfR17systemtap_sessionRSt14basic_ofstreamIcSt11char_traitsIcEEPKcS7_@/root/systemtap_write/systemtap/buildrun.cxx:1026") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z18get_home_directoryv@/root/systemtap_write/systemtap/util.cxx:1338") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z19print_coverage_infoR17systemtap_session@/root/systemtap_write/systemtap/coveragedb.cxx:369") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z20server_cert_nicknamev@/root/systemtap_write/systemtap/nsscommon.cxx:1523") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z21add_stapconf_to_cacheR17systemtap_session@/root/systemtap_write/systemtap/cache.cxx:437") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z22missing_rpm_list_printR17systemtap_sessionPKc@/root/systemtap_write/systemtap/rpm_finder.cxx:257") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z5parseR17systemtap_sessionRKSsRSij@/root/systemtap_write/systemtap/parse.cxx:4229") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__Z5queryPKc13query_default@/root/systemtap_write/systemtap/interactive.cxx:1806") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN10ssh_remote6createER17systemtap_sessionRKSs@/root/systemtap_write/systemtap/remote.cxx:1276") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN16be_derived_probe10join_groupER17systemtap_session@/root/systemtap_write/systemtap/tapset-been.cxx:254") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN17systemtap_session16NSPR_InitializedE@/root/systemtap_write/systemtap/session.cxx:2917") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN17translator_outputC2ERSo@/root/systemtap_write/systemtap/translator-output.cxx:69") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN18perf_derived_probeC2EP5probeP11probe_pointlllbbbSsSs@/root/systemtap_write/systemtap/tapset-perfmon.cxx:403") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN19cs_protocol_versionD2Ev@/root/systemtap_write/systemtap/cscommon.cxx:130") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN19timer_derived_probeC2EP5probeP11probe_pointllb@/root/systemtap_write/systemtap/tapset-timers.cxx:754") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN20itrace_derived_probeC2ER17systemtap_sessionP5probeP11probe_pointb15interned_stringli@/root/systemtap_write/systemtap/tapset-itrace.cxx:320") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN20procfs_derived_probeC2ER17systemtap_sessionP5probeP11probe_pointSsbll@/root/systemtap_write/systemtap/tapset-procfs.cxx:648") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN20utrace_derived_probeC2ER17systemtap_sessionP5probeP11probe_pointb15interned_stringl26utrace_derived_probe_flags@/root/systemtap_write/systemtap/tapset-utrace.cxx:1321") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN23java_details_inspection18visit_functioncallEP12functioncall@/root/systemtap_write/systemtap/tapset-method.cxx:393") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN23netfilter_derived_probeC2ER17systemtap_sessionP5probeP11probe_pointSsSsSs@/root/systemtap_write/systemtap/tapset-netfilter.cxx:530") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN26mark_var_expanding_visitor23visit_target_symbol_argEP13target_symbol@/root/systemtap_write/systemtap/tapset-mark.cxx:756") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN28dynprobe_derived_probe_group3addERKSsmmS1_S1_@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:206") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN31task_finder_derived_probe_group16emit_module_initER17systemtap_session@/root/systemtap_write/systemtap/task_finder.cxx:124") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN6dwflppC2ER17systemtap_sessionRKSsb@/root/systemtap_write/systemtap/dwflpp.cxx:4851") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN9stap_hash5startEv@/root/systemtap_write/systemtap/hash.cxx:388") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN9stapregex5octChEj@/root/systemtap_write/systemtap/stapregex-parse.cxx:717") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN9stapregex5rangeC2Ecc@/root/systemtap_write/systemtap/stapregex-tree.cxx:527") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN9stapregex6pad_reE@/root/systemtap_write/systemtap/stapregex-dfa.cxx:765") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZN9visitableD2Ev@/root/systemtap_write/systemtap/staptree.cxx:3678") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I__ZlsRSoRK3var@/root/systemtap_write/systemtap/translate.cxx:7986") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I_nsscommon_error@/root/systemtap_write/systemtap/csclient.cxx:3794") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I_pending_interrupts@/root/systemtap_write/systemtap/main.cxx:1346") process("/root/systemtap_write/install/bin/stap").function("_GLOBAL__sub_I_pr_name@/root/systemtap_write/systemtap/privilege.cxx:107") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:194") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:194") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:194") process("/root/systemtap_write/install/bin/stap").function("_Hash_node@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node, std::allocator > >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node&>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:176") process("/root/systemtap_write/install/bin/stap").function("_Hash_node >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:194") process("/root/systemtap_write/install/bin/stap").function("_Hash_node_base@/usr/include/c++/4.8.2/bits/hashtable_policy.h:153") process("/root/systemtap_write/install/bin/stap").function("_Hashtable@/usr/include/c++/4.8.2/bits/hashtable.h:391") process("/root/systemtap_write/install/bin/stap").function("_Hashtable@/usr/include/c++/4.8.2/bits/hashtable.h:816") process("/root/systemtap_write/install/bin/stap").function("_Head_base@/usr/include/c++/4.8.2/tuple:141") $__h:struct interned_string&& $this:struct _Head_base<0ul, interned_string&&, false>* const process("/root/systemtap_write/install/bin/stap").function("_Head_base@/usr/include/c++/4.8.2/tuple:141") $this:struct _Head_base<1ul, long unsigned int, false>* const process("/root/systemtap_write/install/bin/stap").function("_Head_base >@/usr/include/c++/4.8.2/tuple:141") $__h:class basic_string, std::allocator >&& $this:struct _Head_base<0ul, std::basic_string, std::allocator >&&, false>* const process("/root/systemtap_write/install/bin/stap").function("_Head_base, std::basic_string > >@/usr/include/c++/4.8.2/tuple:141") $__h:struct pair, std::allocator >, std::basic_string, std::allocator > >&& $this:struct _Head_base<0ul, std::pair, std::allocator >, std::basic_string, std::allocator > >&&, false>* const process("/root/systemtap_write/install/bin/stap").function("_Head_base@/usr/include/c++/4.8.2/tuple:141") process("/root/systemtap_write/install/bin/stap").function("_Head_base@/usr/include/c++/4.8.2/tuple:134") process("/root/systemtap_write/install/bin/stap").function("_Impl@/usr/include/c++/4.8.2/thread:111") process("/root/systemtap_write/install/bin/stap").function("_Impl_base@/usr/include/c++/4.8.2/thread:97") $this:struct _Impl_base* const process("/root/systemtap_write/install/bin/stap").function("_List_base@/usr/include/c++/4.8.2/bits/stl_list.h:359") process("/root/systemtap_write/install/bin/stap").function("_List_base@/usr/include/c++/4.8.2/bits/stl_list.h:363") process("/root/systemtap_write/install/bin/stap").function("_List_impl@/usr/include/c++/4.8.2/bits/stl_list.h:315") process("/root/systemtap_write/install/bin/stap").function("_List_impl@/usr/include/c++/4.8.2/bits/stl_list.h:319") $__a:_Node_alloc_type const& $this:struct _List_impl* const process("/root/systemtap_write/install/bin/stap").function("_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:113") $this:struct _List_node* const process("/root/systemtap_write/install/bin/stap").function("_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node&>@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_List_node >@/usr/include/c++/4.8.2/bits/stl_list.h:113") process("/root/systemtap_write/install/bin/stap").function("_M_add_ref_copy@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:130") $this:class _Sp_counted_base<(__gnu_cxx::_Lock_policy)2u>* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate@/usr/include/c++/4.8.2/bits/stl_bvector.h:472") $this:struct _Bvector_base >* const $__n:size_t process("/root/systemtap_write/install/bin/stap").function("_M_allocate@/usr/include/c++/4.8.2/bits/stl_vector.h:167") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $__first:Dwarf_Die* $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_and_copy*>@/usr/include/c++/4.8.2/bits/stl_vector.h:1135") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__last:class basic_string, std::allocator > const* $__first:class basic_string, std::allocator > const* $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_allocate_buckets@/usr/include/c++/4.8.2/bits/hashtable.h:773") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_map@/usr/include/c++/4.8.2/bits/stl_deque.h:543") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::allocator >, std::pair, std::allocator >, std::vector >*>, std::allocator, std::allocator >, std::vector >*> >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*>, std::allocator, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*> >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::__detail::_Identity, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node, std::allocator > >@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::allocator >, std::basic_string, std::allocator >, std::allocator, std::allocator > >, std::__detail::_Identity, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node&>@/usr/include/c++/4.8.2/bits/hashtable.h:720") $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node >@/usr/include/c++/4.8.2/bits/hashtable.h:720") process("/root/systemtap_write/install/bin/stap").function("_M_allocate_node@/usr/include/c++/4.8.2/bits/stl_deque.h:531") process("/root/systemtap_write/install/bin/stap").function("_M_assign_aux@/usr/include/c++/4.8.2/bits/vector.tcc:258") process("/root/systemtap_write/install/bin/stap").function("_M_assign_aux*>@/usr/include/c++/4.8.2/bits/vector.tcc:258") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__first:class basic_string, std::allocator > const* $__last:class basic_string, std::allocator > const* process("/root/systemtap_write/install/bin/stap").function("_M_assign_dispatch@/usr/include/c++/4.8.2/bits/stl_vector.h:1245") process("/root/systemtap_write/install/bin/stap").function("_M_assign_dispatch*>@/usr/include/c++/4.8.2/bits/stl_vector.h:1245") $__last:class basic_string, std::allocator > const* $__first:class basic_string, std::allocator > const* $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_begin@/usr/include/c++/4.8.2/bits/hashtable.h:368") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_begin@/usr/include/c++/4.8.2/bits/hashtable.h:804") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable.h:588") $__n:__node_type* process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable.h:592") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1022") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1026") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1106") process("/root/systemtap_write/install/bin/stap").function("_M_bucket_index@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1111") process("/root/systemtap_write/install/bin/stap").function("_M_check@/usr/include/c++/4.8.2/bits/basic_string.h:321") process("/root/systemtap_write/install/bin/stap").function("_M_check_len@/usr/include/c++/4.8.2/bits/stl_vector.h:1336") $__s:char const* $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_clear@/usr/include/c++/4.8.2/bits/list.tcc:65") process("/root/systemtap_write/install/bin/stap").function("_M_clone_node@/usr/include/c++/4.8.2/bits/stl_tree.h:427") process("/root/systemtap_write/install/bin/stap").function("_M_copy@/usr/include/c++/4.8.2/bits/basic_string.h:354") process("/root/systemtap_write/install/bin/stap").function("_M_copy@/usr/include/c++/4.8.2/bits/stl_tree.h:1083") $__x:_Const_Link_type $__p:_Link_type process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_list.h:500") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >, parser::pp_macrodecl*>&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >, std::basic_string, std::allocator > >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator > > >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node&>@/usr/include/c++/4.8.2/bits/stl_list.h:500") $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_list.h:500") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, functiondecl*>, std::_Select1st, std::allocator >, functiondecl*> >, std::less, std::allocator > >, std::allocator, std::allocator >, functiondecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >, derived_probe*> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, probe*>, std::_Select1st, std::allocator >, probe*> >, std::less, std::allocator > >, std::allocator, std::allocator >, probe*> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node >, exp_type> >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree >, exp_type>, std::pair >, exp_type>, std::_Identity >, exp_type> >, std::less >, exp_type> >, std::allocator >, exp_type> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node, std::allocator > > >@/usr/include/c++/4.8.2/bits/stl_tree.h:401") process("/root/systemtap_write/install/bin/stap").function("_M_create_node >@/usr/include/c++/4.8.2/bits/stl_list.h:500") process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_node@/usr/include/c++/4.8.2/bits/stl_tree.h:401") $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_create_nodes@/usr/include/c++/4.8.2/bits/stl_deque.h:620") process("/root/systemtap_write/install/bin/stap").function("_M_create_storage@/usr/include/c++/4.8.2/bits/stl_vector.h:179") process("/root/systemtap_write/install/bin/stap").function("_M_data@/usr/include/c++/4.8.2/bits/basic_string.h:292") process("/root/systemtap_write/install/bin/stap").function("_M_data@/usr/include/c++/4.8.2/bits/basic_string.h:296") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate@/usr/include/c++/4.8.2/bits/stl_bvector.h:476") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate@/usr/include/c++/4.8.2/bits/stl_vector.h:171") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate_buckets@/usr/include/c++/4.8.2/bits/hashtable.h:789") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate_map@/usr/include/c++/4.8.2/bits/stl_deque.h:547") $__n:size_t process("/root/systemtap_write/install/bin/stap").function("_M_deallocate_node@/usr/include/c++/4.8.2/bits/hashtable.h:742") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate_node@/usr/include/c++/4.8.2/bits/stl_deque.h:537") process("/root/systemtap_write/install/bin/stap").function("_M_deallocate_nodes@/usr/include/c++/4.8.2/bits/hashtable.h:755") process("/root/systemtap_write/install/bin/stap").function("_M_default_append@/usr/include/c++/4.8.2/bits/vector.tcc:532") $this:class vector >* const $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_default_initialize@/usr/include/c++/4.8.2/bits/stl_vector.h:1222") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_destroy@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:123") $this:class _Sp_counted_base<(__gnu_cxx::_Lock_policy)2u>* const process("/root/systemtap_write/install/bin/stap").function("_M_destroy@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:411") process("/root/systemtap_write/install/bin/stap").function("_M_destroy_data@/usr/include/c++/4.8.2/bits/stl_deque.h:1849") process("/root/systemtap_write/install/bin/stap").function("_M_destroy_data_aux@/usr/include/c++/4.8.2/bits/deque.tcc:801") process("/root/systemtap_write/install/bin/stap").function("_M_destroy_node@/usr/include/c++/4.8.2/bits/stl_tree.h:419") process("/root/systemtap_write/install/bin/stap").function("_M_destroy_nodes@/usr/include/c++/4.8.2/bits/stl_deque.h:638") process("/root/systemtap_write/install/bin/stap").function("_M_dispose@/usr/include/c++/4.8.2/bits/basic_string.h:237") process("/root/systemtap_write/install/bin/stap").function("_M_dispose@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:406") process("/root/systemtap_write/install/bin/stap").function("_M_emplace >@/usr/include/c++/4.8.2/bits/hashtable.h:1294") process("/root/systemtap_write/install/bin/stap").function("_M_emplace >@/usr/include/c++/4.8.2/bits/hashtable.h:1294") process("/root/systemtap_write/install/bin/stap").function("_M_emplace >@/usr/include/c++/4.8.2/bits/hashtable.h:1294") process("/root/systemtap_write/install/bin/stap").function("_M_emplace >@/usr/include/c++/4.8.2/bits/hashtable.h:1294") process("/root/systemtap_write/install/bin/stap").function("_M_emplace >@/usr/include/c++/4.8.2/bits/hashtable.h:1255") $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux, std::allocator >&>@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux, std::allocator > >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux, std::allocator >&, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator >, std::basic_string, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector, std::allocator >, unsigned int>, std::allocator, std::allocator >, unsigned int> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_back_aux@/usr/include/c++/4.8.2/bits/vector.tcc:399") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $__pos:const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $__pos:const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $this:class _Rb_tree, std::allocator > >, std::pair, std::allocator > >, std::basic_string, std::allocator > >, std::_Select1st, std::allocator > >, std::basic_string, std::allocator > > >, std::less, std::allocator > > >, std::allocator, std::allocator > >, std::basic_string, std::allocator > > > >* const $__pos:const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $this:class _Rb_tree, std::allocator > >, std::_Select1st, std::allocator > > >, std::less, std::allocator, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator > >, std::pair, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*>, std::_Select1st, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> >, std::less, std::allocator >, std::basic_string, std::allocator > > >, std::allocator, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> > >* const $__pos:const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_emplace_hint_unique, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1666") process("/root/systemtap_write/install/bin/stap").function("_M_equals@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1467") $__n:__node_type* $__c:__hash_code process("/root/systemtap_write/install/bin/stap").function("_M_erase@/usr/include/c++/4.8.2/bits/hashtable.h:1534") $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const $__k:key_type const& process("/root/systemtap_write/install/bin/stap").function("_M_erase@/usr/include/c++/4.8.2/bits/stl_list.h:1568") process("/root/systemtap_write/install/bin/stap").function("_M_erase@/usr/include/c++/4.8.2/bits/stl_tree.h:1119") $__x:_Link_type process("/root/systemtap_write/install/bin/stap").function("_M_erase_at_end@/usr/include/c++/4.8.2/bits/stl_deque.h:1868") $__pos:iterator $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_erase_at_end@/usr/include/c++/4.8.2/bits/stl_vector.h:1350") process("/root/systemtap_write/install/bin/stap").function("_M_erase_aux@/usr/include/c++/4.8.2/bits/stl_tree.h:1739") process("/root/systemtap_write/install/bin/stap").function("_M_erase_aux@/usr/include/c++/4.8.2/bits/stl_tree.h:1753") process("/root/systemtap_write/install/bin/stap").function("_M_fill_initialize@/usr/include/c++/4.8.2/bits/deque.tcc:350") process("/root/systemtap_write/install/bin/stap").function("_M_fill_initialize@/usr/include/c++/4.8.2/bits/stl_vector.h:1212") process("/root/systemtap_write/install/bin/stap").function("_M_fill_insert@/usr/include/c++/4.8.2/bits/vector.tcc:441") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__position:iterator $__n:size_type $__x:value_type const& process("/root/systemtap_write/install/bin/stap").function("_M_find_before_node@/usr/include/c++/4.8.2/bits/hashtable.h:1154") process("/root/systemtap_write/install/bin/stap").function("_M_find_node@/usr/include/c++/4.8.2/bits/hashtable.h:601") process("/root/systemtap_write/install/bin/stap").function("_M_get_deleter@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:422") $__ti:class type_info const& process("/root/systemtap_write/install/bin/stap").function("_M_get_deleter@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:588") process("/root/systemtap_write/install/bin/stap").function("_M_get_insert_equal_pos@/usr/include/c++/4.8.2/bits/stl_tree.h:1346") process("/root/systemtap_write/install/bin/stap").function("_M_get_insert_hint_unique_pos@/usr/include/c++/4.8.2/bits/stl_tree.h:1411") $__position:const_iterator $__k:key_type const& process("/root/systemtap_write/install/bin/stap").function("_M_get_insert_unique_pos@/usr/include/c++/4.8.2/bits/stl_tree.h:1314") process("/root/systemtap_write/install/bin/stap").function("_M_get_node@/usr/include/c++/4.8.2/bits/stl_list.h:333") process("/root/systemtap_write/install/bin/stap").function("_M_get_node@/usr/include/c++/4.8.2/bits/stl_tree.h:369") process("/root/systemtap_write/install/bin/stap").function("_M_hash_code@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1102") process("/root/systemtap_write/install/bin/stap").function("_M_head@/usr/include/c++/4.8.2/tuple:169") process("/root/systemtap_write/install/bin/stap").function("_M_head@/usr/include/c++/4.8.2/tuple:241") process("/root/systemtap_write/install/bin/stap").function("_M_init@/usr/include/c++/4.8.2/bits/stl_list.h:384") process("/root/systemtap_write/install/bin/stap").function("_M_initialize@/usr/include/c++/4.8.2/bits/stl_bvector.h:957") $__n:size_type $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_initialize@/usr/include/c++/4.8.2/bits/stl_tree.h:464") process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1172") process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch >@/usr/include/c++/4.8.2/bits/stl_list.h:1486") $__first:struct _List_const_iterator $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch >@/usr/include/c++/4.8.2/bits/stl_list.h:1486") $__first:struct _List_const_iterator $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch >@/usr/include/c++/4.8.2/bits/stl_list.h:1486") $__first:struct _List_const_iterator $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch > >@/usr/include/c++/4.8.2/bits/stl_list.h:1486") process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch > >@/usr/include/c++/4.8.2/bits/stl_list.h:1486") $__first:struct _List_const_iterator > $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_initialize_dispatch > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1172") process("/root/systemtap_write/install/bin/stap").function("_M_initialize_map@/usr/include/c++/4.8.2/bits/stl_deque.h:581") $__num_elements:size_t process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/stl_list.h:1559") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert&>@/usr/include/c++/4.8.2/bits/stl_list.h:1559") $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/hashtable.h:1413") $this:class _Hashtable, std::__detail::_Identity, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const $__v:struct interned_string&& process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/stl_list.h:1559") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert >@/usr/include/c++/4.8.2/bits/hashtable.h:1413") $this:class _Hashtable, std::allocator >, std::basic_string, std::allocator >, std::allocator, std::allocator > >, std::__detail::_Identity, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const $__v:class basic_string, std::allocator >&& process("/root/systemtap_write/install/bin/stap").function("_M_insert&>@/usr/include/c++/4.8.2/bits/hashtable.h:1438") $__v:struct pair& $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert >@/usr/include/c++/4.8.2/bits/stl_list.h:1559") process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct Dwarf* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $this:class _Rb_tree, std::less, std::allocator >* const $__x:_Base_ptr $__p:_Base_ptr $__v:struct cache_ent_info const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct inline_instance_info const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $this:class _Rb_tree, std::less, std::allocator >* const $__x:_Base_ptr $__p:_Base_ptr $__v:struct interned_string const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") process("/root/systemtap_write/install/bin/stap").function("_M_insert_&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct derived_probe* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct func_info* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct functiondecl* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:int const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct interned_string&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:long unsigned int const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:union ins* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_ >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:class basic_string, std::allocator >&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_ >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, functiondecl*>, std::_Select1st, std::allocator >, functiondecl*> >, std::less, std::allocator > >, std::allocator, std::allocator >, functiondecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_ >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_ >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") process("/root/systemtap_write/install/bin/stap").function("_M_insert_ >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_, derived_probe*> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair, std::allocator >, derived_probe*>&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, probe*>, std::_Select1st, std::allocator >, probe*> >, std::less, std::allocator > >, std::allocator, std::allocator >, probe*> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct pair, std::allocator >, std::basic_string, std::allocator > >&& $__p:_Base_ptr $__x:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_M_insert_, exp_type> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree >, exp_type>, std::pair >, exp_type>, std::_Identity >, exp_type> >, std::less >, exp_type> >, std::allocator >, exp_type> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_ > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct systemtap_session*&& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $this:class _Rb_tree, std::less, std::allocator >* const $__x:_Base_ptr $__p:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:struct vardecl*& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_@/usr/include/c++/4.8.2/bits/stl_tree.h:1012") $__v:void* const& $__p:_Base_ptr $__x:_Base_ptr $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux&>@/usr/include/c++/4.8.2/bits/deque.tcc:587") $this:class deque, std::allocator > >* const $__pos:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux, const std::pair&, const std::pair*> >@/usr/include/c++/4.8.2/bits/deque.tcc:713") $this:class deque, std::allocator > >* const $__pos:iterator $__first:struct _Deque_iterator, const std::pair&, const std::pair*> $__last:struct _Deque_iterator, const std::pair&, const std::pair*> $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_insert_aux, std::allocator > >@/usr/include/c++/4.8.2/bits/vector.tcc:313") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_bucket_begin@/usr/include/c++/4.8.2/bits/hashtable.h:1179") process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch*>@/usr/include/c++/4.8.2/bits/stl_vector.h:1286") process("/root/systemtap_write/install/bin/stap").function("_M_insert_dispatch, const std::pair&, const std::pair*> >@/usr/include/c++/4.8.2/bits/stl_deque.h:1787") process("/root/systemtap_write/install/bin/stap").function("_M_insert_equal >@/usr/include/c++/4.8.2/bits/stl_tree.h:1393") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_equal, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1393") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, std::basic_string, std::allocator > >, std::_Select1st, std::allocator >, std::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > >* const $__v:struct pair, std::allocator >, std::basic_string, std::allocator > >&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_equal > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1393") process("/root/systemtap_write/install/bin/stap").function("_M_insert_multi_node@/usr/include/c++/4.8.2/bits/hashtable.h:1362") $__code:__hash_code $__node:__node_type* process("/root/systemtap_write/install/bin/stap").function("_M_insert_node@/usr/include/c++/4.8.2/bits/stl_tree.h:1568") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct Dwarf* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") $__last:class __normal_iterator > > $__first:class __normal_iterator > > $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct cache_ent_info const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct inline_instance_info const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct interned_string const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const $__v:struct pair const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::pair, std::_Identity >, std::less >, std::allocator > >* const $__v:struct pair const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct derived_probe* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $__v:struct func_info* const& $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct functiondecl* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:int const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct interned_string&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:long unsigned int const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:union ins* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") $this:class _Rb_tree, std::less, std::allocator >* const $__first:struct _Rb_tree_const_iterator $__last:struct _Rb_tree_const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1718") $this:class _Rb_tree, std::less, std::allocator >* const $__first:struct _Rb_tree_const_iterator $__last:struct _Rb_tree_const_iterator process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const $__v:class basic_string, std::allocator >&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const $__v:struct pair&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique, derived_probe*> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, probe*>, std::_Select1st, std::allocator >, probe*> >, std::less, std::allocator > >, std::allocator, std::allocator >, probe*> > >* const $__v:struct pair, std::allocator >, derived_probe*>&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator > >, std::pair, std::allocator >, std::basic_string, std::allocator > >, std::_Identity, std::allocator >, std::basic_string, std::allocator > > >, std::less, std::allocator >, std::basic_string, std::allocator > > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > >* const $__v:struct pair, std::allocator >, std::basic_string, std::allocator > >&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique, exp_type> >@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct systemtap_session*&& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:struct vardecl* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique@/usr/include/c++/4.8.2/bits/stl_tree.h:1368") $this:class _Rb_tree, std::less, std::allocator >* const $__v:void* const& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_@/usr/include/c++/4.8.2/bits/stl_tree.h:1470") $__v:struct interned_string const& $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_&>@/usr/include/c++/4.8.2/bits/stl_tree.h:1470") $__v:class basic_string, std::allocator > const& $this:class _Rb_tree, std::allocator >, std::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_@/usr/include/c++/4.8.2/bits/stl_tree.h:1470") $__v:struct derived_probe* const& $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_@/usr/include/c++/4.8.2/bits/stl_tree.h:1470") $__v:struct vardecl* const& $this:class _Rb_tree, std::less, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_@/usr/include/c++/4.8.2/bits/stl_tree.h:1470") $this:class _Rb_tree, std::less, std::allocator >* const $__position:const_iterator $__v:struct vardecl*& process("/root/systemtap_write/install/bin/stap").function("_M_insert_unique_node@/usr/include/c++/4.8.2/bits/hashtable.h:1322") $__bkt:size_type $__code:__hash_code $__node:__node_type* process("/root/systemtap_write/install/bin/stap").function("_M_invoke<0ul>@/usr/include/c++/4.8.2/functional:1727") $this:struct _Bind_simple* const process("/root/systemtap_write/install/bin/stap").function("_M_leak@/usr/include/c++/4.8.2/bits/basic_string.h:314") process("/root/systemtap_write/install/bin/stap").function("_M_limit@/usr/include/c++/4.8.2/bits/basic_string.h:337") $__off:size_type $this:class basic_string, std::allocator > const* const process("/root/systemtap_write/install/bin/stap").function("_M_lower_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:1136") process("/root/systemtap_write/install/bin/stap").function("_M_lower_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:1152") $__x:_Const_Link_type process("/root/systemtap_write/install/bin/stap").function("_M_make_routine >@/usr/include/c++/4.8.2/thread:190") process("/root/systemtap_write/install/bin/stap").function("_M_move_assign@/usr/include/c++/4.8.2/bits/stl_vector.h:1362") process("/root/systemtap_write/install/bin/stap").function("_M_new_elements_at_back@/usr/include/c++/4.8.2/bits/deque.tcc:848") $this:class deque, std::allocator > >* const $__new_elems:size_type process("/root/systemtap_write/install/bin/stap").function("_M_new_elements_at_front@/usr/include/c++/4.8.2/bits/deque.tcc:823") $this:class deque, std::allocator > >* const $__new_elems:size_type process("/root/systemtap_write/install/bin/stap").function("_M_pop_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:504") process("/root/systemtap_write/install/bin/stap").function("_M_pop_front_aux@/usr/include/c++/4.8.2/bits/deque.tcc:519") process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux&>@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux >@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux >@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux, std::allocator >, match_item*> >@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque, std::allocator >, match_item*>, std::allocator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_back_aux@/usr/include/c++/4.8.2/bits/deque.tcc:438") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_front_aux&>@/usr/include/c++/4.8.2/bits/deque.tcc:472") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_push_front_aux >@/usr/include/c++/4.8.2/bits/deque.tcc:472") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_put_node@/usr/include/c++/4.8.2/bits/stl_list.h:337") process("/root/systemtap_write/install/bin/stap").function("_M_put_node@/usr/include/c++/4.8.2/bits/stl_tree.h:373") process("/root/systemtap_write/install/bin/stap").function("_M_range_check@/usr/include/c++/4.8.2/bits/stl_vector.h:791") $__n:size_type $this:class vector, std::allocator >, std::allocator, std::allocator > > > const* const process("/root/systemtap_write/install/bin/stap").function("_M_range_initialize<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1197") process("/root/systemtap_write/install/bin/stap").function("_M_range_initialize*>@/usr/include/c++/4.8.2/bits/stl_vector.h:1197") process("/root/systemtap_write/install/bin/stap").function("_M_range_initialize > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1197") process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector >* const $__position:iterator $__first:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $__position:iterator $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector >* const $__position:iterator $__first:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector >* const $__position:iterator $__first:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector >* const $__position:iterator $__first:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("_M_range_insert<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__position:iterator $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("_M_range_insert*>@/usr/include/c++/4.8.2/bits/vector.tcc:608") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__position:iterator $__first:class basic_string, std::allocator > const* $__last:class basic_string, std::allocator > const* process("/root/systemtap_write/install/bin/stap").function("_M_range_insert_aux, const std::pair&, const std::pair*> >@/usr/include/c++/4.8.2/bits/deque.tcc:540") process("/root/systemtap_write/install/bin/stap").function("_M_reallocate_map@/usr/include/c++/4.8.2/bits/deque.tcc:873") $__add_at_front:bool $__nodes_to_add:size_type process("/root/systemtap_write/install/bin/stap").function("_M_rehash@/usr/include/c++/4.8.2/bits/hashtable.h:1674") process("/root/systemtap_write/install/bin/stap").function("_M_rehash_aux@/usr/include/c++/4.8.2/bits/hashtable.h:1697") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_rehash_aux@/usr/include/c++/4.8.2/bits/hashtable.h:1737") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("_M_release@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:137") $this:class _Sp_counted_base<(__gnu_cxx::_Lock_policy)2u>* const process("/root/systemtap_write/install/bin/stap").function("_M_remove_bucket_begin@/usr/include/c++/4.8.2/bits/hashtable.h:1210") $__next_bkt:size_type $__next:__node_type* $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("_M_rep@/usr/include/c++/4.8.2/bits/basic_string.h:300") process("/root/systemtap_write/install/bin/stap").function("_M_reserve_elements_at_back@/usr/include/c++/4.8.2/bits/stl_deque.h:1898") $__n:size_type $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_reserve_elements_at_front@/usr/include/c++/4.8.2/bits/stl_deque.h:1888") $__n:size_type $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("_M_reserve_map_at_back@/usr/include/c++/4.8.2/bits/stl_deque.h:1924") process("/root/systemtap_write/install/bin/stap").function("_M_reserve_map_at_front@/usr/include/c++/4.8.2/bits/stl_deque.h:1932") process("/root/systemtap_write/install/bin/stap").function("_M_reset@/usr/include/c++/4.8.2/bits/hashtable_policy.h:390") $this:struct _Prime_rehash_policy* const $__state:_State process("/root/systemtap_write/install/bin/stap").function("_M_run@/usr/include/c++/4.8.2/thread:115") $this:struct _Impl >* const process("/root/systemtap_write/install/bin/stap").function("_M_set_buffer@/usr/include/c++/4.8.2/fstream:395") process("/root/systemtap_write/install/bin/stap").function("_M_set_length_and_sharable@/usr/include/c++/4.8.2/bits/basic_string.h:207") process("/root/systemtap_write/install/bin/stap").function("_M_set_node@/usr/include/c++/4.8.2/bits/stl_deque.h:234") process("/root/systemtap_write/install/bin/stap").function("_M_set_sharable@/usr/include/c++/4.8.2/bits/basic_string.h:203") process("/root/systemtap_write/install/bin/stap").function("_M_store_code@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1115") $__n:__node_type* $__c:__hash_code process("/root/systemtap_write/install/bin/stap").function("_M_stringbuf_init@/usr/include/c++/4.8.2/sstream:160") $__mode:openmode $this:class basic_stringbuf, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("_M_swap@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:572") process("/root/systemtap_write/install/bin/stap").function("_M_swap_data@/usr/include/c++/4.8.2/bits/stl_vector.h:101") process("/root/systemtap_write/install/bin/stap").function("_M_transfer@/usr/include/c++/4.8.2/bits/stl_list.h:1545") process("/root/systemtap_write/install/bin/stap").function("_M_upper_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:1168") $__y:_Link_type $__x:_Link_type process("/root/systemtap_write/install/bin/stap").function("_M_upper_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:1184") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, std::basic_string, std::allocator > >, std::_Select1st, std::allocator >, std::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const* const $__k:class basic_string, std::allocator > const& $__y:_Const_Link_type $__x:_Const_Link_type process("/root/systemtap_write/install/bin/stap").function("_Prime_rehash_policy@/usr/include/c++/4.8.2/bits/hashtable_policy.h:359") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree@/usr/include/c++/4.8.2/bits/stl_tree.h:648") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree@/usr/include/c++/4.8.2/bits/stl_tree.h:654") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_const_iterator@/usr/include/c++/4.8.2/bits/stl_tree.h:250") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_impl@/usr/include/c++/4.8.2/bits/stl_tree.h:445") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_impl@/usr/include/c++/4.8.2/bits/stl_tree.h:450") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >, parser::pp_macrodecl*>&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >, std::basic_string, std::allocator > >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator > > >&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node&>@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::tuple<> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >, derived_probe*> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node >, exp_type> >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node, std::allocator > > >@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:138") process("/root/systemtap_write/install/bin/stap").function("_S_compare@/usr/include/c++/4.8.2/bits/basic_string.h:407") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:Dwarf_Attribute* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:Dwarf_Attribute* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:Dwarf_Die* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct base_func_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/basic_string.h:1743") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/basic_string.tcc:123") $__beg:char* $__end:char* $__a:class allocator const& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct compile_server_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct exp_type_null* process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct func_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct inline_instance_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct interned_string* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct format_component* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct semantic_error* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct, Dwarf* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, const cache_ent_info&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, derived_probe* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, func_info* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, functiondecl* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, const inline_instance_info&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, int const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, const interned_string&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, interned_string>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, long unsigned int const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, stapregex::ins* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, dwflpp*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, dwflpp*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, functiondecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, functiondecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, functiondecl*> >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, functiondecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, int> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, match_item*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, match_item*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, module_info*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, module_info*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, parser::pp_macrodecl*> >, const std::pair, std::allocator >, parser::pp_macrodecl*>&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, parser::pp_macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, parser::pp_macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, parser::pp_macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, probe*> >, std::pair, std::allocator >, derived_probe*> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, probe*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, procfs_probe_set*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, procfs_probe_set*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, re_pattern_buffer*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, re_pattern_buffer*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, stapdfa*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, stapdfa*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, stapregex::range*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, stapregex::range*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string > >, const std::pair, std::allocator >, std::basic_string, std::allocator > >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::pair > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::pair > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::set > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::set, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::vector, std::allocator >, std::allocator, std::allocator > > > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, symbol*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, symbol*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, translator_output*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, translator_output*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, unsigned int> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct, vardecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, vardecl*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator > >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string >, systemtap_session*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct*> >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >*> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, exp_type> >, std::pair >, exp_type> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >, exp_type> > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, std::pair, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, const std::pair, std::allocator > > >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, std::allocator > > > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, systemtap_session*>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, vardecl* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, vardecl*&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, void* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u>, const std::allocator > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:class basic_string, std::allocator >* $__a:class allocator, std::allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::basic_string >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct pair, std::allocator >, std::basic_string, std::allocator > >* $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("_S_construct, unsigned int>, std::pair, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct pair, std::allocator >, unsigned int>* $__a:class allocator, std::allocator >, unsigned int> >& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:class thread* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct component* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct tmpvar* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct, std::allocator >&, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") $__p:struct resolved_type* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:253") process("/root/systemtap_write/install/bin/stap").function("_S_construct_aux@/usr/include/c++/4.8.2/bits/basic_string.h:1721") process("/root/systemtap_write/install/bin/stap").function("_S_copy_chars@/usr/include/c++/4.8.2/bits/basic_string.h:399") process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct func_info* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct interned_string* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct format_component* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("_S_destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_destroy >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("_S_destroy >@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") process("/root/systemtap_write/install/bin/stap").function("_S_destroy > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct component* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("_S_destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:280") $__a:class allocator& $__p:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("_S_equals@/usr/include/c++/4.8.2/bits/hashtable_policy.h:1164") $__c:long unsigned int process("/root/systemtap_write/install/bin/stap").function("_S_maximum@/usr/include/c++/4.8.2/bits/stl_tree.h:116") $__x:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_S_maximum@/usr/include/c++/4.8.2/bits/stl_tree.h:560") $__x:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_S_minimum@/usr/include/c++/4.8.2/bits/stl_tree.h:102") $__x:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_S_minimum@/usr/include/c++/4.8.2/bits/stl_tree.h:552") $__x:_Base_ptr process("/root/systemtap_write/install/bin/stap").function("_S_nword@/usr/include/c++/4.8.2/bits/stl_bvector.h:484") $__n:size_t process("/root/systemtap_write/install/bin/stap").function("_Sp_counted_base@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:109") process("/root/systemtap_write/install/bin/stap").function("_Sp_counted_ptr_inplace<>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:393") process("/root/systemtap_write/install/bin/stap").function("_Sp_counted_ptr_inplace@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:393") $this:class _Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2u>* const process("/root/systemtap_write/install/bin/stap").function("_Sp_counted_ptr_inplace@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:393") $this:class _Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2u>* const process("/root/systemtap_write/install/bin/stap").function("_Sp_counted_ptr_inplace >@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:393") process("/root/systemtap_write/install/bin/stap").function("_Tuple_impl@/usr/include/c++/4.8.2/tuple:262") $__head:struct interned_string&& $this:struct _Tuple_impl<0ul, interned_string&&>* const process("/root/systemtap_write/install/bin/stap").function("_Tuple_impl, void>@/usr/include/c++/4.8.2/tuple:262") $__head:class basic_string, std::allocator >&& $this:struct _Tuple_impl<0ul, std::basic_string, std::allocator >&&>* const process("/root/systemtap_write/install/bin/stap").function("_Tuple_impl, std::basic_string >, void>@/usr/include/c++/4.8.2/tuple:262") $__head:struct pair, std::allocator >, std::basic_string, std::allocator > >&& $this:struct _Tuple_impl<0ul, std::pair, std::allocator >, std::basic_string, std::allocator > >&&>* const process("/root/systemtap_write/install/bin/stap").function("_Tuple_impl@/usr/include/c++/4.8.2/tuple:256") process("/root/systemtap_write/install/bin/stap").function("_Tuple_impl@/usr/include/c++/4.8.2/tuple:269") process("/root/systemtap_write/install/bin/stap").function("_Vector_base@/usr/include/c++/4.8.2/bits/stl_vector.h:124") process("/root/systemtap_write/install/bin/stap").function("_Vector_base@/usr/include/c++/4.8.2/bits/stl_vector.h:127") process("/root/systemtap_write/install/bin/stap").function("_Vector_base@/usr/include/c++/4.8.2/bits/stl_vector.h:134") process("/root/systemtap_write/install/bin/stap").function("_Vector_base@/usr/include/c++/4.8.2/bits/stl_vector.h:142") process("/root/systemtap_write/install/bin/stap").function("_Vector_impl@/usr/include/c++/4.8.2/bits/stl_vector.h:86") process("/root/systemtap_write/install/bin/stap").function("_Vector_impl@/usr/include/c++/4.8.2/bits/stl_vector.h:90") process("/root/systemtap_write/install/bin/stap").function("_Vector_impl@/usr/include/c++/4.8.2/bits/stl_vector.h:95") $__a:_Tp_alloc_type&& $this:struct _Vector_impl* const process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser11visit_blockEP5block") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser12visit_symbolEP6symbol") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser13visit_cast_opEP7cast_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser13visit_hist_opEP7hist_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser13visit_perf_opEP7perf_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser13visit_stat_opEP7stat_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser14visit_array_inEP8array_in") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser14visit_atvar_opEP8atvar_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser14visit_entry_opEP8entry_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser14visit_for_loopEP8for_loop") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser15visit_try_blockEP9try_block") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser16visit_arrayindexEP10arrayindex") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser16visit_assignmentEP10assignment") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser16visit_comparisonEP10comparison") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser16visit_defined_opEP10defined_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser17visit_autocast_opEP11autocast_op") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser17visit_pre_crementEP11pre_crement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser17visit_regex_queryEP11regex_query") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_embeddedcodeEP12embeddedcode") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_foreach_loopEP12foreach_loop") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_functioncallEP12functioncall") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_if_statementEP12if_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_post_crementEP12post_crement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser18visit_print_formatEP12print_format") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser19visit_concatenationEP13concatenation") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser19visit_embedded_exprEP13embedded_expr") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser19visit_target_symbolEP13target_symbol") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser20visit_expr_statementEP14expr_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser20visit_literal_numberEP14literal_number") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser20visit_literal_stringEP14literal_string") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser20visit_next_statementEP14next_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser20visit_null_statementEP14null_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser21visit_break_statementEP15break_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser21visit_logical_or_exprEP15logical_or_expr") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser22visit_delete_statementEP16delete_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser22visit_logical_and_exprEP16logical_and_expr") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser22visit_return_statementEP16return_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser22visit_unary_expressionEP16unary_expression") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser23visit_binary_expressionEP17binary_expression") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser24visit_continue_statementEP18continue_statement") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparser24visit_ternary_expressionEP18ternary_expression") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparserD0Ev") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N10c_unparserD1Ev") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N12c_tmpcounterD0Ev") process("/root/systemtap_write/install/bin/stap").function("_ZThn8_N12c_tmpcounterD1Ev") process("/root/systemtap_write/install/bin/stap").function("__adjust_heap<__gnu_cxx::__normal_iterator >, long int, Dwarf_Line_s*, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:304") $__first:class __normal_iterator > > $__holeIndex:long int $__len:long int $__value:struct Dwarf_Line_s* $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) process("/root/systemtap_write/install/bin/stap").function("__adjust_heap<__gnu_cxx::__normal_iterator > >, long int, be_derived_probe*, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:304") $__first:class __normal_iterator > > $__holeIndex:long int $__len:long int $__value:struct be_derived_probe* $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) process("/root/systemtap_write/install/bin/stap").function("__adjust_heap<__gnu_cxx::__normal_iterator >, long int, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_heap.h:227") $__first:class __normal_iterator > > $__holeIndex:long int $__len:long int $__value:struct compile_server_info process("/root/systemtap_write/install/bin/stap").function("__adjust_heap<__gnu_cxx::__normal_iterator >, long int, int>@/usr/include/c++/4.8.2/bits/stl_heap.h:227") $__first:class __normal_iterator > > $__holeIndex:long int $__len:long int $__value:int process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("__advance<__gnu_cxx::__normal_iterator*, std::vector > >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("__advance*, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") $__n:long int $__i:class basic_string, std::allocator > const*& process("/root/systemtap_write/install/bin/stap").function("__advance, const std::pair&, const std::pair*>, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:150") process("/root/systemtap_write/install/bin/stap").function("__atomic_add@/usr/include/c++/4.8.2/ext/atomicity.h:52") process("/root/systemtap_write/install/bin/stap").function("__atomic_add_dispatch@/usr/include/c++/4.8.2/ext/atomicity.h:92") process("/root/systemtap_write/install/bin/stap").function("__atomic_add_single@/usr/include/c++/4.8.2/ext/atomicity.h:73") $__val:int $__mem:_Atomic_word* process("/root/systemtap_write/install/bin/stap").function("__bswap_32@/usr/include/bits/byteswap.h:44") $__bsx:unsigned int process("/root/systemtap_write/install/bin/stap").function("__check_facet >@/usr/include/c++/4.8.2/bits/basic_ios.h:46") $__f:class ctype const* process("/root/systemtap_write/install/bin/stap").function("__chunk_insertion_sort<__gnu_cxx::__normal_iterator >, long int, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3363") $__chunk_size:long int process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct Dwarf_Line_s** $__first:struct Dwarf_Line_s* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct be_derived_probe** $__first:struct be_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:class cmdopt** $__first:class cmdopt* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:349") $__result:struct compile_server_info* $__last:struct compile_server_info* $__first:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct cache_ent_info const** $__first:struct cache_ent_info const* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") $__result:struct format_component* $__first:struct format_component const* process("/root/systemtap_write/install/bin/stap").function("__copy_m*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") $__result:struct component* $__first:struct component const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct token const** $__first:struct token const* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct tracepoint_arg const** $__first:struct tracepoint_arg const* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct derived_probe** $__first:struct derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct derived_probe_builder** $__first:struct derived_probe_builder* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct derived_probe_group** $__first:struct derived_probe_group* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct dynprobe_info** $__first:struct dynprobe_info* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct embeddedcode** $__first:struct embeddedcode* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct expression** $__first:struct expression* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct hrtimer_derived_probe** $__first:struct hrtimer_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct hwbkpt_derived_probe** $__first:struct hwbkpt_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:int* $__first:int const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct itrace_derived_probe** $__first:struct itrace_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:long int* $__first:long int const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:long unsigned int* $__first:long unsigned int const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct mark_arg** $__first:struct mark_arg* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct mark_derived_probe** $__first:struct mark_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:class match_node** $__first:class match_node* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct netfilter_derived_probe** $__first:struct netfilter_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct pp1_activation** $__first:struct pp1_activation* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct perf_derived_probe** $__first:struct perf_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct pollfd* $__first:struct pollfd const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct probe** $__first:struct probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct probe_alias** $__first:struct probe_alias* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct profile_derived_probe** $__first:struct profile_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:class remote** $__first:class remote* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") process("/root/systemtap_write/install/bin/stap").function("__copy_m, std::pair&, std::pair*>, std::insert_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") process("/root/systemtap_write/install/bin/stap").function("__copy_m*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") process("/root/systemtap_write/install/bin/stap").function("__copy_m*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:349") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__copy_m*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_m*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:349") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_m*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m, match_item*>*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct symbol** $__first:struct symbol* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:330") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct timer_derived_probe** $__first:struct timer_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct tmpvar** $__first:struct tmpvar* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct tracepoint_derived_probe** $__first:struct tracepoint_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:class translator_output** $__first:class translator_output* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:unsigned int* $__last:unsigned int const* $__first:unsigned int const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct update_visitor** $__first:struct update_visitor* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct uprobe_derived_probe** $__first:struct uprobe_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct utrace_derived_probe** $__first:struct utrace_derived_probe* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") $__result:struct vardecl** $__first:struct vardecl* const* process("/root/systemtap_write/install/bin/stap").function("__copy_m@/usr/include/c++/4.8.2/bits/stl_algobase.h:368") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, exp_type*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, expression**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, long int*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, remote**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, statement**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct statement** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, statement**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, symbol**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2, std::pair&, std::pair*>, std::insert_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:unsigned int* $__last:unsigned int const* $__first:unsigned int const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct Dwarf_Line_s** $__first:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct be_derived_probe** $__first:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class cmdopt** $__first:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct cache_ent_info const** $__first:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct token const** $__first:struct token const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct tracepoint_arg const** $__first:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct derived_probe** $__first:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct derived_probe_builder** $__first:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct derived_probe_group** $__first:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct dynprobe_info** $__first:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct embeddedcode** $__first:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:enum exp_type* $__first:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2 > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct hrtimer_derived_probe** $__first:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct hwbkpt_derived_probe** $__first:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:int* $__first:int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct itrace_derived_probe** $__first:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:long int* $__first:long int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:long unsigned int* $__first:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct mark_arg** $__first:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct mark_derived_probe** $__first:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class match_node** $__first:class match_node** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct netfilter_derived_probe** $__first:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct pp1_activation** $__first:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct perf_derived_probe** $__first:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct pollfd* $__first:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct probe** $__first:struct probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct probe_alias** $__first:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct profile_derived_probe** $__first:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class remote** $__first:class remote** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct symbol** $__first:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct timer_derived_probe** $__first:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct tmpvar** $__first:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct tracepoint_derived_probe** $__first:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:class translator_output** $__first:class translator_output** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct update_visitor** $__first:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct uprobe_derived_probe** $__first:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct utrace_derived_probe** $__first:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:424") $__result:struct vardecl** $__first:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:Dwarf_Die* $__first:Dwarf_Die const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct expression** $__first:struct expression* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct functiondecl** $__first:struct functiondecl* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:long int* $__last:long int const* $__first:long int const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct probe_point** $__first:struct probe_point* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__first:struct component* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class remote** $__last:class remote* const* $__first:class remote* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct stapfile** $__first:struct stapfile* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct statement** $__first:struct statement* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a, std::pair&, std::pair*>, std::insert_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct symbol** $__last:struct symbol* const* $__first:struct symbol* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:unsigned int* $__last:unsigned int const* $__first:unsigned int const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct Dwarf_Line_s** $__first:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct be_derived_probe** $__first:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class cmdopt** $__first:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct compile_server_info* $__last:struct compile_server_info* $__first:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct cache_ent_info const** $__first:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct token const** $__first:struct token const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct tracepoint_arg const** $__first:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct derived_probe** $__first:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct derived_probe_builder** $__first:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct derived_probe_group** $__first:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct dynprobe_info** $__first:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct embeddedcode** $__first:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:enum exp_type* $__first:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct hrtimer_derived_probe** $__first:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct hwbkpt_derived_probe** $__first:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:int* $__first:int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct itrace_derived_probe** $__first:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:long int* $__first:long int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:long unsigned int* $__first:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct mark_arg** $__first:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct mark_derived_probe** $__first:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class match_node** $__first:class match_node** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct netfilter_derived_probe** $__first:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct pp1_activation** $__first:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct perf_derived_probe** $__first:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct pollfd* $__first:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct probe** $__first:struct probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct probe_alias** $__first:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct profile_derived_probe** $__first:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class remote** $__first:class remote** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") process("/root/systemtap_write/install/bin/stap").function("__copy_move_a*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct symbol** $__first:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct timer_derived_probe** $__first:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct tmpvar** $__first:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct tracepoint_derived_probe** $__first:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:class translator_output** $__first:class translator_output** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct update_visitor** $__first:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct uprobe_derived_probe** $__first:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct utrace_derived_probe** $__first:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__copy_move_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:379") $__result:struct vardecl** $__first:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") $__result:Dwarf_Die** $__last:Dwarf_Die* const* $__first:Dwarf_Die* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:548") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") $__result:struct defined_op*** $__last:struct defined_op** const* $__first:struct defined_op** const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") $__result:long unsigned int** $__last:long unsigned int* const* $__first:long unsigned int* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") $__result:struct state*** $__first:struct state** const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:548") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:548") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") $__result:struct pair** $__first:struct pair* const* process("/root/systemtap_write/install/bin/stap").function("__copy_move_b*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b, match_item*>*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_b@/usr/include/c++/4.8.2/bits/stl_algobase.h:563") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:Dwarf_Die** $__last:Dwarf_Die** $__first:Dwarf_Die** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:struct defined_op*** $__last:struct defined_op*** $__first:struct defined_op*** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:long unsigned int** $__last:long unsigned int** $__first:long unsigned int** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:struct state*** $__first:struct state*** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:struct pair** $__first:struct pair** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 > >, __gnu_cxx::__normal_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2 > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a2*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:592") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:Dwarf_Die** $__last:Dwarf_Die** $__first:Dwarf_Die** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:struct defined_op*** $__last:struct defined_op*** $__first:struct defined_op*** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:long unsigned int** $__last:long unsigned int** $__first:long unsigned int** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:struct state*** $__first:struct state*** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:struct pair** $__first:struct pair** process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") process("/root/systemtap_write/install/bin/stap").function("__copy_move_backward_a*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:574") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("__destroy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__destroy<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("__destroy<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:struct kernel_point* process("/root/systemtap_write/install/bin/stap").function("__destroy*>@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy*>@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__last:class list >* $__first:class list >* process("/root/systemtap_write/install/bin/stap").function("__destroy, match_item*>*>@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy, std::basic_string >*>@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy, unsigned int>*>@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") process("/root/systemtap_write/install/bin/stap").function("__destroy@/usr/include/c++/4.8.2/bits/stl_construct.h:100") $__first:class var* process("/root/systemtap_write/install/bin/stap").function("__distance@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__distance<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("__distance@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") $__last:char* $__first:char* process("/root/systemtap_write/install/bin/stap").function("__distance*>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance, const std::pair&, const std::pair*> >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:90") process("/root/systemtap_write/install/bin/stap").function("__distance >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:73") $__first:struct _List_const_iterator process("/root/systemtap_write/install/bin/stap").function("__distance > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:73") process("/root/systemtap_write/install/bin/stap").function("__distance, std::basic_string > > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:73") $__first:struct _Rb_tree_const_iterator, std::allocator >, std::basic_string, std::allocator > > > process("/root/systemtap_write/install/bin/stap").function("__distance, false, true> >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:73") process("/root/systemtap_write/install/bin/stap").function("__distance_fw, false, true> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:70") process("/root/systemtap_write/install/bin/stap").function("__distance_fw, false, true> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:76") process("/root/systemtap_write/install/bin/stap").function("__do_global_dtors_aux") process("/root/systemtap_write/install/bin/stap").function("__equal_aux*, const std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:817") $__first2:class basic_string, std::allocator > const* $__first1:class basic_string, std::allocator > const* process("/root/systemtap_write/install/bin/stap").function("__exchange_and_add@/usr/include/c++/4.8.2/ext/atomicity.h:48") process("/root/systemtap_write/install/bin/stap").function("__exchange_and_add_dispatch@/usr/include/c++/4.8.2/ext/atomicity.h:78") process("/root/systemtap_write/install/bin/stap").function("__exchange_and_add_single@/usr/include/c++/4.8.2/ext/atomicity.h:65") $__val:int process("/root/systemtap_write/install/bin/stap").function("__fill_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:678") process("/root/systemtap_write/install/bin/stap").function("__fill_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:688") $__first:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__fill_a*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_algobase.h:678") $__value:class basic_string, std::allocator > const& $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__fill_n_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:735") process("/root/systemtap_write/install/bin/stap").function("__fill_n_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:735") $__first:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__fill_n_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:746") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("__fill_n_a@/usr/include/c++/4.8.2/bits/stl_algobase.h:746") $__n:long unsigned int $__first:unsigned int* process("/root/systemtap_write/install/bin/stap").function("__final_insertion_sort<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2221") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__final_insertion_sort<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2221") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__final_insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2206") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__final_insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2206") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__find<__gnu_cxx::__normal_iterator >, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_algo.h:158") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__val:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("__find<__gnu_cxx::__normal_iterator >, stapfile*>@/usr/include/c++/4.8.2/bits/stl_algo.h:158") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__val:struct stapfile* const& process("/root/systemtap_write/install/bin/stap").function("__find<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_algo.h:158") $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__val:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("__find, vardecl*>@/usr/include/c++/4.8.2/bits/stl_algo.h:136") $__val:struct vardecl* const& $__first:struct _Rb_tree_const_iterator process("/root/systemtap_write/install/bin/stap").function("__gthread_mutex_lock@/usr/include/c++/4.8.2/aarch64-redhat-linux/bits/gthr-default.h:745") process("/root/systemtap_write/install/bin/stap").function("__gthread_mutex_unlock@/usr/include/c++/4.8.2/aarch64-redhat-linux/bits/gthr-default.h:775") $__mutex:__gthread_mutex_t* process("/root/systemtap_write/install/bin/stap").function("__heap_select<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:1942") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__heap_select<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:1942") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__heap_select<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:1929") process("/root/systemtap_write/install/bin/stap").function("__heap_select<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:1929") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__inplace_stable_sort<__gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3505") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__insertion_sort<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2152") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) process("/root/systemtap_write/install/bin/stap").function("__insertion_sort<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2152") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) process("/root/systemtap_write/install/bin/stap").function("__insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2129") process("/root/systemtap_write/install/bin/stap").function("__insertion_sort<__gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2152") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2129") $__first:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__introsort_loop<__gnu_cxx::__normal_iterator >, long int, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2324") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__depth_limit:long int $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) process("/root/systemtap_write/install/bin/stap").function("__introsort_loop<__gnu_cxx::__normal_iterator > >, long int, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2324") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__depth_limit:long int $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) process("/root/systemtap_write/install/bin/stap").function("__introsort_loop<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_algo.h:2302") $__last:class __normal_iterator > > $__depth_limit:long int process("/root/systemtap_write/install/bin/stap").function("__introsort_loop<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_algo.h:2302") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__depth_limit:long int process("/root/systemtap_write/install/bin/stap").function("__lc@/usr/include/c++/4.8.2/bits/stl_algobase.h:876") $__first1:enum exp_type const* $__last1:enum exp_type const* $__first2:enum exp_type const* $__last2:enum exp_type const* process("/root/systemtap_write/install/bin/stap").function("__lexicographical_compare_aux@/usr/include/c++/4.8.2/bits/stl_algobase.h:914") $__last2:enum exp_type const* $__first2:enum exp_type const* $__last1:enum exp_type const* $__first1:enum exp_type const* process("/root/systemtap_write/install/bin/stap").function("__lg@/usr/include/c++/4.8.2/bits/stl_algobase.h:988") $__n:long int process("/root/systemtap_write/install/bin/stap").function("__libc_csu_fini") process("/root/systemtap_write/install/bin/stap").function("__libc_csu_init") process("/root/systemtap_write/install/bin/stap").function("__merge_adaptive<__gnu_cxx::__normal_iterator >, long int, functiondecl**, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2990") $__first:class __normal_iterator > > $__middle:class __normal_iterator > > $__last:class __normal_iterator > > $__len1:long int $__len2:long int $__buffer:struct functiondecl** $__buffer_size:long int $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__merge_sort_loop<__gnu_cxx::__normal_iterator >, functiondecl**, long int, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3325") $__step_size:long int $__result:struct functiondecl** $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__merge_sort_loop >, long int, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3325") $__last:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__merge_sort_with_buffer<__gnu_cxx::__normal_iterator >, functiondecl**, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3403") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__buffer:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__merge_without_buffer<__gnu_cxx::__normal_iterator >, long int, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3091") $__first:class __normal_iterator > > $__middle:class __normal_iterator > > $__last:class __normal_iterator > > $__len1:long int $__len2:long int $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__move_median_to_first<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:105") process("/root/systemtap_write/install/bin/stap").function("__move_median_to_first<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:105") process("/root/systemtap_write/install/bin/stap").function("__move_median_to_first<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:78") process("/root/systemtap_write/install/bin/stap").function("__move_median_to_first<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:78") process("/root/systemtap_write/install/bin/stap").function("__move_merge<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator >, functiondecl**, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3276") $__first1:class __normal_iterator > > $__last1:class __normal_iterator > > $__first2:class __normal_iterator > > $__last2:class __normal_iterator > > $__result:struct functiondecl** $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__move_merge >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3276") $__first1:struct functiondecl** $__last1:struct functiondecl** $__first2:struct functiondecl** $__last2:struct functiondecl** $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__move_merge_adaptive >, __gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2781") $__result:class __normal_iterator > > $__last2:class __normal_iterator > > $__first2:class __normal_iterator > > $__last1:struct functiondecl** $__first1:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__move_merge_adaptive_backward<__gnu_cxx::__normal_iterator >, functiondecl**, __gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2849") process("/root/systemtap_write/install/bin/stap").function("__newlast1@/usr/include/c++/4.8.2/bits/stl_algobase.h:850") process("/root/systemtap_write/install/bin/stap").function("__normal_iterator@/usr/include/c++/4.8.2/bits/stl_iterator.h:726") process("/root/systemtap_write/install/bin/stap").function("__pop_heap<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:331") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__result:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__pop_heap<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:331") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__result:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__pop_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:253") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__result:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__pop_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:253") $__result:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__push_heap<__gnu_cxx::__normal_iterator >, long int, Dwarf_Line_s*, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:178") process("/root/systemtap_write/install/bin/stap").function("__push_heap<__gnu_cxx::__normal_iterator > >, long int, be_derived_probe*, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:178") process("/root/systemtap_write/install/bin/stap").function("__push_heap<__gnu_cxx::__normal_iterator >, long int, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_heap.h:131") process("/root/systemtap_write/install/bin/stap").function("__push_heap<__gnu_cxx::__normal_iterator >, long int, int>@/usr/include/c++/4.8.2/bits/stl_heap.h:131") $__value:int $__topIndex:long int $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__rotate<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:1574") $__first:class __normal_iterator > > $__middle:class __normal_iterator > > $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__rotate_adaptive<__gnu_cxx::__normal_iterator >, functiondecl**, long int>@/usr/include/c++/4.8.2/bits/stl_algo.h:2892") process("/root/systemtap_write/install/bin/stap").function("__shared_count, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:491") process("/root/systemtap_write/install/bin/stap").function("__shared_count, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:491") process("/root/systemtap_write/install/bin/stap").function("__shared_count >@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:491") process("/root/systemtap_write/install/bin/stap").function("__shared_count >, std::allocator > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:491") process("/root/systemtap_write/install/bin/stap").function("__shared_count@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:549") process("/root/systemtap_write/install/bin/stap").function("__shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:798") $this:class __shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("__shared_ptr, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:954") process("/root/systemtap_write/install/bin/stap").function("__shared_ptr, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:954") process("/root/systemtap_write/install/bin/stap").function("__shared_ptr >@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:954") process("/root/systemtap_write/install/bin/stap").function("__shared_ptr > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:954") process("/root/systemtap_write/install/bin/stap").function("__shared_ptr >, void>@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:798") $this:class __shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("__shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:779") process("/root/systemtap_write/install/bin/stap").function("__stable_sort_adaptive<__gnu_cxx::__normal_iterator >, functiondecl**, long int, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:3457") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__buffer:struct functiondecl** $__buffer_size:long int $__comp:struct function_priority_order process("/root/systemtap_write/install/bin/stap").function("__static_initialization_and_destruction_0@") $__initialize_p:int $__priority:int process("/root/systemtap_write/install/bin/stap").function("__tcf_0@/root/systemtap_write/systemtap/elaborate.cxx:1991") process("/root/systemtap_write/install/bin/stap").function("__to_xstring, char>@/usr/include/c++/4.8.2/ext/string_conversions.h:83") $__convf:int (*) (char*, size_t, char const*, struct __va_list) $__n:size_t $__fmt:char const* process("/root/systemtap_write/install/bin/stap").function("__unguarded_insertion_sort<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2187") process("/root/systemtap_write/install/bin/stap").function("__unguarded_insertion_sort<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2187") process("/root/systemtap_write/install/bin/stap").function("__unguarded_insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2174") process("/root/systemtap_write/install/bin/stap").function("__unguarded_insertion_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2174") process("/root/systemtap_write/install/bin/stap").function("__unguarded_linear_insert<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2110") $__last:class __normal_iterator > > $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) process("/root/systemtap_write/install/bin/stap").function("__unguarded_linear_insert<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2110") $__last:class __normal_iterator > > $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) process("/root/systemtap_write/install/bin/stap").function("__unguarded_linear_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2092") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__unguarded_linear_insert<__gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2110") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__unguarded_linear_insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2092") process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition<__gnu_cxx::__normal_iterator >, Dwarf_Line_s*, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2257") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__pivot:struct Dwarf_Line_s* const& $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition<__gnu_cxx::__normal_iterator > >, be_derived_probe*, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2257") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__pivot:struct be_derived_probe* const& $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition<__gnu_cxx::__normal_iterator >, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_algo.h:2237") process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition<__gnu_cxx::__normal_iterator >, int>@/usr/include/c++/4.8.2/bits/stl_algo.h:2237") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition_pivot<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2290") process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition_pivot<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:2290") process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition_pivot<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2278") process("/root/systemtap_write/install/bin/stap").function("__unguarded_partition_pivot<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:2278") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, compile_server_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, exp_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, print_format::format_component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, target_symbol::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, expression**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, long int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, remote**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct statement** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:class basic_string, std::allocator >* $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("__uninit_copy<__gnu_cxx::__normal_iterator >, symbol**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class basic_string, std::allocator > const* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct semantic_error* $__last:struct semantic_error* $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, const std::pair&, const std::pair*>, std::_Deque_iterator, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:class basic_string, std::allocator >* $__first:struct _Rb_tree_const_iterator, std::allocator > > process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, Dwarf_Attribute*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, Dwarf_Line_s**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, base_func_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct base_func_info* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, be_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, cmdopt**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, compile_server_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, const cache_ent_info**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, const token**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct token const** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, const tracepoint_arg**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, derived_probe_builder**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, derived_probe_group**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, dynprobe_info**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, embeddedcode**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, exp_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, expression**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, func_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct func_info* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, hrtimer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, hwbkpt_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, inline_instance_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct inline_instance_info* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:int* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, interned_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, itrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, long int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, long unsigned int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, mark_arg**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, mark_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, match_node**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:class match_node** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, netfilter_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, parser::pp1_activation**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, perf_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, pollfd*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, print_format::format_component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct format_component* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, probe_alias**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, profile_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, remote**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, resolved_host*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct resolved_host* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, std::pair&, std::pair*> >, std::_Deque_iterator, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*>, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator*> process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator*> process("/root/systemtap_write/install/bin/stap").function("__uninit_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator*> process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, std::basic_string >*>, std::pair, std::basic_string >*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator, std::allocator >, std::basic_string, std::allocator > >*> process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, unsigned int>*>, std::pair, unsigned int>*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator, std::allocator >, unsigned int>*> process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, std::thread*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, symbol**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, target_symbol::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct component* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, timer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, tmpvar**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, tracepoint_arg*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct tracepoint_arg* $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, tracepoint_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, translator_output**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:class translator_output** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, typeresolution_info::resolved_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__first:class move_iterator process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, update_visitor**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, uprobe_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, utrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy, vardecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:91") $__result:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninit_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:68") $__result:struct tmpvar* $__last:struct tmpvar* $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("__uninit_default_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:510") process("/root/systemtap_write/install/bin/stap").function("__uninit_default_n*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:489") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("__uninit_default_n*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:489") process("/root/systemtap_write/install/bin/stap").function("__uninit_fill@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:148") process("/root/systemtap_write/install/bin/stap").function("__uninit_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:202") process("/root/systemtap_write/install/bin/stap").function("__uninit_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:180") $__x:struct func_info const& $__n:long unsigned int $__first:struct func_info* process("/root/systemtap_write/install/bin/stap").function("__uninit_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:202") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("__uninit_fill_n*, long unsigned int, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:180") $__x:class basic_string, std::allocator > const& $__n:long unsigned int $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninit_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:202") $__n:long unsigned int $__first:unsigned int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, Dwarf_Die*, Dwarf_Die>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, compile_server_info*, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, exp_type*, exp_type>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, print_format::format_component*, print_format::format_component>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, target_symbol::component*, target_symbol::component>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, expression**, expression*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, functiondecl**, functiondecl*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, long int*, long int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, probe_point**, probe_point*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, probe_point**, probe_point*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, probe_point::component**, probe_point::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, probe_point::component**, probe_point::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, remote**, remote*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, stapfile**, stapfile*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, stapfile**, stapfile*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, statement**, statement*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct statement** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, statement**, statement*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class basic_string, std::allocator >* $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a<__gnu_cxx::__normal_iterator >, symbol**, symbol*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct semantic_error* $__last:struct semantic_error* $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, std::_Deque_iterator, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, const std::pair&, const std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::pair >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a >, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, Dwarf_Attribute*, Dwarf_Attribute>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, Dwarf_Die*, Dwarf_Die>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, Dwarf_Line_s**, Dwarf_Line_s*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, base_func_info*, base_func_info>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, be_derived_probe**, be_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, cmdopt**, cmdopt*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, compile_server_info*, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, const cache_ent_info**, const cache_ent_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, const token**, const token*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct token const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, const tracepoint_arg**, const tracepoint_arg*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, derived_probe**, derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, derived_probe_builder**, derived_probe_builder*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, derived_probe_group**, derived_probe_group*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, dynprobe_info**, dynprobe_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, embeddedcode**, embeddedcode*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, exp_type*, exp_type>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, expression**, expression*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, func_info*, func_info>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct func_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, functiondecl**, functiondecl*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, hrtimer_derived_probe**, hrtimer_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, hwbkpt_derived_probe**, hwbkpt_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, inline_instance_info*, inline_instance_info>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, int*, int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, interned_string*, interned_string>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, itrace_derived_probe**, itrace_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, long int*, long int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, long unsigned int*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, mark_arg**, mark_arg*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, mark_derived_probe**, mark_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, match_node**, match_node*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class match_node** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, netfilter_derived_probe**, netfilter_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, parser::pp1_activation**, parser::pp1_activation*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, perf_derived_probe**, perf_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, pollfd*, pollfd>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, print_format::format_component*, print_format::format_component>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, probe**, probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, probe_alias**, probe_alias*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, probe_point**, probe_point*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, probe_point::component**, probe_point::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, profile_derived_probe**, profile_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, remote**, remote*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, resolved_host*, resolved_host>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct resolved_host* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, stapfile**, stapfile*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, statement**, statement*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, std::pair&, std::pair*> >, std::_Deque_iterator, std::pair&, std::pair*>, std::pair >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*>, std::basic_string*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*>, std::pair*, std::pair >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*>, std::pair*, std::pair >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a*>, std::pair*, std::pair >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, std::basic_string >*>, std::pair, std::basic_string >*, std::pair, std::basic_string > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, unsigned int>*>, std::pair, unsigned int>*, std::pair, unsigned int> >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, std::thread*, std::thread>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, symbol**, symbol*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, target_symbol::component*, target_symbol::component>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, timer_derived_probe**, timer_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, tmpvar**, tmpvar*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, tracepoint_arg*, tracepoint_arg>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, tracepoint_derived_probe**, tracepoint_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, translator_output**, translator_output*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:class translator_output** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, typeresolution_info::resolved_type*, typeresolution_info::resolved_type>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, update_visitor**, update_visitor*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, uprobe_derived_probe**, uprobe_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, utrace_derived_probe**, utrace_derived_probe*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a, vardecl**, vardecl*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:256") $__result:struct tmpvar* $__last:struct tmpvar* $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_copy_move, const std::pair&, const std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:349") $__first1:struct _Deque_iterator, const std::pair&, const std::pair*> process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:538") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:538") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:538") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:603") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n_a*, long unsigned int, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:603") $__n:long unsigned int $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_default_n_a*, long unsigned int, std::list >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:603") $__n:long unsigned int $__first:class list >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:305") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_n_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:332") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_n_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:332") $__x:struct func_info const& $__n:long unsigned int $__first:struct func_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_n_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:332") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_n_a*, long unsigned int, std::basic_string, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:332") $__x:class basic_string, std::allocator > const& $__n:long unsigned int $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_fill_n_a@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:332") $__n:long unsigned int $__first:unsigned int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") $__result:struct probe_point** $__last:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") $__result:struct component** $__last:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") $__result:struct stapfile** $__last:struct stapfile** $__first:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") $__result:struct statement** $__last:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a, std::pair&, std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_a*, std::basic_string*, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:263") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_copy, std::pair&, std::pair*>, std::_Deque_iterator, const std::pair&, const std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:377") $__first2:struct _Deque_iterator, const std::pair&, const std::pair*> process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct Dwarf_Line_s** $__first:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct base_func_info* $__last:struct base_func_info* $__first:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct be_derived_probe** $__first:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:class cmdopt** $__first:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct compile_server_info* $__last:struct compile_server_info* $__first:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct cache_ent_info const** $__first:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct token const** $__first:struct token const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct tracepoint_arg const** $__first:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct derived_probe** $__first:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct derived_probe_builder** $__first:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct derived_probe_group** $__first:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct dynprobe_info** $__first:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct embeddedcode** $__first:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:enum exp_type* $__first:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct func_info* $__last:struct func_info* $__first:struct func_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct hrtimer_derived_probe** $__first:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct hwbkpt_derived_probe** $__first:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct inline_instance_info* $__last:struct inline_instance_info* $__first:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:int* $__first:int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct interned_string* $__last:struct interned_string* $__first:struct interned_string* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct itrace_derived_probe** $__first:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:long int* $__first:long int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:long unsigned int* $__first:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct mark_arg** $__first:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct mark_derived_probe** $__first:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:class match_node** $__first:class match_node** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct netfilter_derived_probe** $__first:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct pp1_activation** $__first:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct perf_derived_probe** $__first:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct pollfd* $__first:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct probe** $__first:struct probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct probe_alias** $__first:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct profile_derived_probe** $__first:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:class remote** $__first:class remote** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct resolved_host* $__last:struct resolved_host* $__first:struct resolved_host* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct semantic_error* $__last:struct semantic_error* $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a*, std::basic_string*, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a*, std::pair*, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a*, std::pair*, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a*, std::pair*, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a, std::basic_string >*, std::pair, std::basic_string >*, std::allocator, std::basic_string > > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a, unsigned int>*, std::pair, unsigned int>*, std::allocator, unsigned int> > >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct symbol** $__first:struct symbol** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct timer_derived_probe** $__first:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct tmpvar** $__first:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct tmpvar* $__last:struct tmpvar* $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct tracepoint_arg* $__last:struct tracepoint_arg* $__first:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct tracepoint_derived_probe** $__first:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:class translator_output** $__first:class translator_output** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct update_visitor** $__first:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct uprobe_derived_probe** $__first:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct utrace_derived_probe** $__first:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("__uninitialized_move_if_noexcept_a >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:274") $__result:struct vardecl** $__first:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("_fini") process("/root/systemtap_write/install/bin/stap").function("_init") process("/root/systemtap_write/install/bin/stap").function("_start") process("/root/systemtap_write/install/bin/stap").function("abs@/usr/include/c++/4.8.2/cstdlib:166") $__i:long int process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:79") $this:class stap_hash* const $d:string const& $x:bool const& process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:79") process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:79") $this:class stap_hash* const $d:string const& $x:long int const& process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:79") process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:79") process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:54") $s:string const& $d:string const& $this:class stap_hash* const process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/hash.cxx:71") $this:class stap_hash* const $description:string const& $buffer:unsigned char const* $size:size_t process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/loc2c.c:1671") $piece:struct location* process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:74") $this:struct dynprobe_derived_probe_group* const $path:string const& $offset:Dwarf_Addr const $semaphore_addr:Dwarf_Addr const $flags_string:string const& $probe_init:string const& process("/root/systemtap_write/install/bin/stap").function("add@/root/systemtap_write/systemtap/translate.cxx:750") $this:struct mapvar const* const $indices:class vector > const& $val:struct tmpvar const& process("/root/systemtap_write/install/bin/stap").function("add_cert_db_prefix@/root/systemtap_write/systemtap/nsscommon.cxx:62") $db_path:string const& process("/root/systemtap_write/install/bin/stap").function("add_client_cert@/root/systemtap_write/systemtap/nsscommon.cxx:754") $inFileName:string const& $db_path:string const& process("/root/systemtap_write/install/bin/stap").function("add_cmd@/root/systemtap_write/systemtap/interactive.cxx:464") process("/root/systemtap_write/install/bin/stap").function("add_condition@/root/systemtap_write/systemtap/elaborate.cxx:47") $a:struct expression* $b:struct expression* process("/root/systemtap_write/install/bin/stap").function("add_global_var_display@/root/systemtap_write/systemtap/elaborate.cxx:1906") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("add_kernel@/root/systemtap_write/systemtap/stapregex-dfa.cxx:177") $kernel:state_kernel* $i:union ins* process("/root/systemtap_write/install/bin/stap").function("add_localization_variables@/root/systemtap_write/systemtap/csclient.cxx:1117") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("add_matching_line_in_die@/root/systemtap_write/systemtap/dwflpp.cxx:1672") $lineno:int $die:Dwarf_Die* $matching_lines:lines_t& $cu_lines:lines_t* process("/root/systemtap_write/install/bin/stap").function("add_matching_lines_in_func@/root/systemtap_write/systemtap/dwflpp.cxx:1628") process("/root/systemtap_write/install/bin/stap").function("add_max_stmt_count@/root/systemtap_write/systemtap/translate.cxx:2312") process("/root/systemtap_write/install/bin/stap").function("add_module_build_id_to_hash@/root/systemtap_write/systemtap/dwflpp.cxx:4643") $m:Dwfl_Module* $userdata:void** $name:char const* $arg:void* process("/root/systemtap_write/install/bin/stap").function("add_package_arg@/root/systemtap_write/systemtap/csclient.cxx:1017") $this:class compile_server_client* const $arg:string const& process("/root/systemtap_write/install/bin/stap").function("add_package_args@/root/systemtap_write/systemtap/csclient.cxx:988") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("add_path@/root/systemtap_write/systemtap/hash.cxx:87") $this:class stap_hash* const $description:string const& $path:string const& process("/root/systemtap_write/install/bin/stap").function("add_probe_point@/root/systemtap_write/systemtap/tapsets.cxx:1395") $this:struct dwarf_query* const $dw_funcname:struct interned_string $filename:struct interned_string $line:int $scope_die:Dwarf_Die* $addr:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("add_script_to_cache@/root/systemtap_write/systemtap/cache.cxx:70") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("add_server_cert@/root/systemtap_write/systemtap/nsscommon.cxx:697") $slot:PK11SlotInfo* $db_path:string const& process("/root/systemtap_write/install/bin/stap").function("add_server_info@/root/systemtap_write/systemtap/csclient.cxx:3664") $info:struct compile_server_info const& $target:class vector >& process("/root/systemtap_write/install/bin/stap").function("add_server_info@/root/systemtap_write/systemtap/csclient.cxx:3689") process("/root/systemtap_write/install/bin/stap").function("add_server_trust@/root/systemtap_write/systemtap/csclient.cxx:1707") $s:struct systemtap_session& $cert_db_path:string const& $server_list:class vector >& process("/root/systemtap_write/install/bin/stap").function("add_stapconf_to_cache@/root/systemtap_write/systemtap/cache.cxx:53") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("add_state@/root/systemtap_write/systemtap/stapregex-dfa.cxx:155") process("/root/systemtap_write/install/bin/stap").function("add_stmt_count@/root/systemtap_write/systemtap/translate.cxx:2308") $val:unsigned int process("/root/systemtap_write/install/bin/stap").function("add_symbol@/root/systemtap_write/systemtap/tapsets.cxx:8411") $this:struct symbol_table* const $name:struct interned_string $weak:bool $descriptor:bool $addr:Dwarf_Addr $entrypc:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("add_unwindsym_iol_callback@/root/systemtap_write/systemtap/translate.cxx:7247") $added:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >* $data:char const* process("/root/systemtap_write/install/bin/stap").function("add_unwindsym_ldd@/root/systemtap_write/systemtap/translate.cxx:7266") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("add_unwindsym_vdso@/root/systemtap_write/systemtap/translate.cxx:7316") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class __normal_iterator > >& process("/root/systemtap_write/install/bin/stap").function("advance<__gnu_cxx::__normal_iterator*, std::vector > >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("advance*, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") $__n:long unsigned int $__i:class basic_string, std::allocator > const*& process("/root/systemtap_write/install/bin/stap").function("advance, const std::pair&, const std::pair*>, long int>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:173") process("/root/systemtap_write/install/bin/stap").function("aggvar@/root/systemtap_write/systemtap/translate.cxx:609") process("/root/systemtap_write/install/bin/stap").function("alias_derived_probe@/root/systemtap_write/systemtap/elaborate.cxx:822") $this:struct alias_derived_probe* const $base:struct probe* $l:struct probe_point* $a:struct probe_alias const* $suffix:class vector > const* process("/root/systemtap_write/install/bin/stap").function("alias_expansion_builder@/root/systemtap_write/systemtap/elaborate.h:413") process("/root/systemtap_write/install/bin/stap").function("all_session_groups@/root/systemtap_write/systemtap/tapsets.cxx:11898") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("alloc_location@/root/systemtap_write/systemtap/loc2c.c:113") $ctx:struct location_context* process("/root/systemtap_write/install/bin/stap").function("allocate@/usr/include/c++/4.8.2/bits/alloc_traits.h:350") process("/root/systemtap_write/install/bin/stap").function("allocate@/usr/include/c++/4.8.2/ext/new_allocator.h:99") process("/root/systemtap_write/install/bin/stap").function("allocate_shared, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/shared_ptr.h:595") process("/root/systemtap_write/install/bin/stap").function("allocate_shared, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/shared_ptr.h:595") process("/root/systemtap_write/install/bin/stap").function("allocate_shared >@/usr/include/c++/4.8.2/bits/shared_ptr.h:595") process("/root/systemtap_write/install/bin/stap").function("allocate_shared >, std::allocator > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/shared_ptr.h:595") process("/root/systemtap_write/install/bin/stap").function("alt_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:323") $this:struct alt_op* const $a:struct regexp* $b:struct regexp* $prefer_second:bool process("/root/systemtap_write/install/bin/stap").function("anchor_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:248") $this:struct anchor_op* const $type:char process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:103") $this:struct regexp const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:141") $this:struct anchor_op const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:176") $this:struct alt_op const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:191") $this:struct cat_op const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:209") $this:struct close_op const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:223") $this:struct closev_op const* const process("/root/systemtap_write/install/bin/stap").function("anchored@/root/systemtap_write/systemtap/stapregex-tree.h:239") $this:struct rule_op const* const process("/root/systemtap_write/install/bin/stap").function("append@/usr/include/c++/4.8.2/bits/basic_string.h:1006") process("/root/systemtap_write/install/bin/stap").function("arc_compare@/root/systemtap_write/systemtap/stapregex-dfa.cxx:136") $a:arc_priority const& $b:arc_priority const& process("/root/systemtap_write/install/bin/stap").function("array_in@/root/systemtap_write/systemtap/staptree.h:232") process("/root/systemtap_write/install/bin/stap").function("array_stride@/root/systemtap_write/systemtap/loc2c.c:2295") process("/root/systemtap_write/install/bin/stap").function("arrayindex@/root/systemtap_write/systemtap/staptree.cxx:72") $this:struct arrayindex* const process("/root/systemtap_write/install/bin/stap").function("arrayindex@/root/systemtap_write/systemtap/staptree.h:406") process("/root/systemtap_write/install/bin/stap").function("arrayindex_downcaster@/root/systemtap_write/systemtap/translate.cxx:3898") process("/root/systemtap_write/install/bin/stap").function("assert_0_indent@/root/systemtap_write/systemtap/translator-output.h:36") process("/root/systemtap_write/install/bin/stap").function("assert_hist_compatible@/root/systemtap_write/systemtap/translate.cxx:397") process("/root/systemtap_write/install/bin/stap").function("assert_no_components@/root/systemtap_write/systemtap/staptree.cxx:263") $this:struct target_symbol* const $tapset:string const& $pretty_ok:bool process("/root/systemtap_write/install/bin/stap").function("assert_no_interrupts@/root/systemtap_write/systemtap/session.cxx:2478") process("/root/systemtap_write/install/bin/stap").function("assert_regexp_match@/root/systemtap_write/systemtap/util.cxx:939") $name:string const& $value:string const& $re:string const& process("/root/systemtap_write/install/bin/stap").function("assess_dbinfo_reqt@/root/systemtap_write/systemtap/tapsets.cxx:1620") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("assign@/usr/include/c++/4.8.2/bits/stl_vector.h:498") process("/root/systemtap_write/install/bin/stap").function("assign*, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:498") $__last:class basic_string, std::allocator > const* $__first:class basic_string, std::allocator > const* $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("assign@/usr/include/c++/4.8.2/bits/basic_string.h:1128") process("/root/systemtap_write/install/bin/stap").function("assign@/usr/include/c++/4.8.2/bits/basic_string.h:1144") process("/root/systemtap_write/install/bin/stap").function("assign@/usr/include/c++/4.8.2/bits/char_traits.h:242") process("/root/systemtap_write/install/bin/stap").function("assignment@/root/systemtap_write/systemtap/staptree.h:270") process("/root/systemtap_write/install/bin/stap").function("assignment_symbol_fetcher@/root/systemtap_write/systemtap/elaborate.cxx:3094") process("/root/systemtap_write/install/bin/stap").function("at@/usr/include/c++/4.8.2/bits/basic_string.h:864") $__n:size_type $this:class basic_string, std::allocator > const* const process("/root/systemtap_write/install/bin/stap").function("at@/usr/include/c++/4.8.2/bits/stl_vector.h:810") $__n:size_type $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("atoi@/usr/include/stdlib.h:278") process("/root/systemtap_write/install/bin/stap").function("atvar_op@/root/systemtap_write/systemtap/staptree.h:375") process("/root/systemtap_write/install/bin/stap").function("atvar_query_cu@/root/systemtap_write/systemtap/tapsets.cxx:4801") $cudie:Dwarf_Die* $q:struct dwarf_atvar_query* process("/root/systemtap_write/install/bin/stap").function("auto_analyze_opt@/root/systemtap_write/systemtap/interactive.cxx:1141") process("/root/systemtap_write/install/bin/stap").function("autocast_expanding_visitor@/root/systemtap_write/systemtap/elaborate.cxx:5324") process("/root/systemtap_write/install/bin/stap").function("autocast_op@/root/systemtap_write/systemtap/staptree.h:368") process("/root/systemtap_write/install/bin/stap").function("autosprintf@/root/systemtap_write/systemtap/util.cxx:1162") $format:char const* process("/root/systemtap_write/install/bin/stap").function("back@/usr/include/c++/4.8.2/bits/stl_deque.h:1329") process("/root/systemtap_write/install/bin/stap").function("back@/usr/include/c++/4.8.2/bits/stl_vector.h:855") process("/root/systemtap_write/install/bin/stap").function("badCertHandler@/root/systemtap_write/systemtap/csclient.cxx:346") $arg:void* $sslSocket:PRFileDesc* process("/root/systemtap_write/install/bin/stap").function("base_byte_size@/root/systemtap_write/systemtap/loc2c.c:1795") $typedie:Dwarf_Die* $origin:struct location* $attr_mem:Dwarf_Attribute $size:Dwarf_Word $__PRETTY_FUNCTION__:char[] const process("/root/systemtap_write/install/bin/stap").function("base_encoding@/root/systemtap_write/systemtap/loc2c.c:1814") $typedie:Dwarf_Die* $origin:struct location* process("/root/systemtap_write/install/bin/stap").function("base_func_info@/root/systemtap_write/systemtap/dwflpp.h:144") process("/root/systemtap_write/install/bin/stap").function("base_func_info@/root/systemtap_write/systemtap/dwflpp.h:146") process("/root/systemtap_write/install/bin/stap").function("base_query@/root/systemtap_write/systemtap/tapsets.cxx:699") $this:struct base_query* const $dw:struct dwflpp& $params:literal_map_t const& process("/root/systemtap_write/install/bin/stap").function("base_query@/root/systemtap_write/systemtap/tapsets.cxx:765") $this:struct base_query* const $dw:struct dwflpp& $module_val:struct interned_string process("/root/systemtap_write/install/bin/stap").function("basic_ifstream@/usr/include/c++/4.8.2/fstream:453") process("/root/systemtap_write/install/bin/stap").function("basic_ifstream@/usr/include/c++/4.8.2/fstream:467") process("/root/systemtap_write/install/bin/stap").function("basic_ios@/usr/include/c++/4.8.2/bits/basic_ios.h:454") process("/root/systemtap_write/install/bin/stap").function("basic_iostream@/usr/include/c++/4.8.2/istream:830") process("/root/systemtap_write/install/bin/stap").function("basic_istream@/usr/include/c++/4.8.2/istream:606") process("/root/systemtap_write/install/bin/stap").function("basic_istringstream@/usr/include/c++/4.8.2/sstream:326") process("/root/systemtap_write/install/bin/stap").function("basic_ofstream@/usr/include/c++/4.8.2/fstream:625") process("/root/systemtap_write/install/bin/stap").function("basic_ofstream@/usr/include/c++/4.8.2/fstream:640") process("/root/systemtap_write/install/bin/stap").function("basic_ostream@/usr/include/c++/4.8.2/ostream:384") process("/root/systemtap_write/install/bin/stap").function("basic_ostream@/usr/include/c++/4.8.2/ostream:84") $__sb:__streambuf_type* $this:class basic_ostream >* const process("/root/systemtap_write/install/bin/stap").function("basic_ostringstream@/usr/include/c++/4.8.2/sstream:423") process("/root/systemtap_write/install/bin/stap").function("basic_streambuf@/usr/include/c++/4.8.2/streambuf:463") process("/root/systemtap_write/install/bin/stap").function("basic_string@/usr/include/c++/4.8.2/bits/basic_string.tcc:227") process("/root/systemtap_write/install/bin/stap").function("basic_string@/usr/include/c++/4.8.2/bits/basic_string.h:437") process("/root/systemtap_write/install/bin/stap").function("basic_string@/usr/include/c++/4.8.2/bits/basic_string.h:507") process("/root/systemtap_write/install/bin/stap").function("basic_stringbuf@/usr/include/c++/4.8.2/sstream:111") process("/root/systemtap_write/install/bin/stap").function("basic_stringbuf@/usr/include/c++/4.8.2/sstream:98") process("/root/systemtap_write/install/bin/stap").function("basic_stringstream@/usr/include/c++/4.8.2/sstream:537") process("/root/systemtap_write/install/bin/stap").function("basic_stringstream@/usr/include/c++/4.8.2/sstream:553") process("/root/systemtap_write/install/bin/stap").function("be_builder@/root/systemtap_write/systemtap/tapset-been.cxx:78") process("/root/systemtap_write/install/bin/stap").function("be_derived_probe@/root/systemtap_write/systemtap/tapset-been.cxx:40") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/basic_string.h:605") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/basic_string.h:616") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/hashtable.h:454") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/hashtable.h:458") $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits > const* const process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/stl_deque.h:1037") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/stl_deque.h:1045") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/stl_vector.h:538") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/unordered_map.h:248") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/unordered_map.h:929") process("/root/systemtap_write/install/bin/stap").function("begin@/usr/include/c++/4.8.2/bits/unordered_map.h:938") $this:class unordered_multimap, std::equal_to, std::allocator > > const* const process("/root/systemtap_write/install/bin/stap").function("binary_expression@/root/systemtap_write/systemtap/staptree.h:187") process("/root/systemtap_write/install/bin/stap").function("binary_search<__gnu_cxx::__normal_iterator >, int>@/usr/include/c++/4.8.2/bits/stl_algo.h:2697") $__val:int const& process("/root/systemtap_write/install/bin/stap").function("bind@/root/systemtap_write/systemtap/elaborate.cxx:392") $this:class match_node* const $k:struct match_key const& process("/root/systemtap_write/install/bin/stap").function("bind@/root/systemtap_write/systemtap/elaborate.cxx:406") $this:class match_node* const $e:struct derived_probe_builder* process("/root/systemtap_write/install/bin/stap").function("bind@/root/systemtap_write/systemtap/elaborate.cxx:412") $this:class match_node* const $k:struct interned_string process("/root/systemtap_write/install/bin/stap").function("bind_num@/root/systemtap_write/systemtap/elaborate.cxx:424") $this:class match_node* const $k:string const& process("/root/systemtap_write/install/bin/stap").function("bind_privilege@/root/systemtap_write/systemtap/elaborate.cxx:430") $this:class match_node* const $p:privilege_t process("/root/systemtap_write/install/bin/stap").function("bind_str@/root/systemtap_write/systemtap/elaborate.cxx:418") $this:class match_node* const $k:string const& process("/root/systemtap_write/install/bin/stap").function("blacklisted_p@/root/systemtap_write/systemtap/dwflpp.cxx:4175") $this:struct dwflpp* const $funcname:struct interned_string $filename:struct interned_string $module:struct interned_string $addr:Dwarf_Addr $has_return:bool process("/root/systemtap_write/install/bin/stap").function("block@/root/systemtap_write/systemtap/staptree.cxx:1159") $this:struct block* const $car:struct statement* $cdr:struct statement* process("/root/systemtap_write/install/bin/stap").function("block@/root/systemtap_write/systemtap/staptree.h:663") process("/root/systemtap_write/install/bin/stap").function("block@/root/systemtap_write/systemtap/staptree.h:668") $this:struct block* const process("/root/systemtap_write/install/bin/stap").function("break_statement@/root/systemtap_write/systemtap/staptree.h:754") process("/root/systemtap_write/install/bin/stap").function("browse_callback@/root/systemtap_write/systemtap/csclient.cxx:3475") $b:AvahiServiceBrowser* $interface:AvahiIfIndex $protocol:AvahiProtocol $event:AvahiBrowserEvent $name:char const* $type:char const* $domain:char const* $flags:AvahiLookupResultFlags $userdata:void* process("/root/systemtap_write/install/bin/stap").function("buckets@/root/systemtap_write/systemtap/translate.cxx:455") $this:class var const* const process("/root/systemtap_write/install/bin/stap").function("buckets@/root/systemtap_write/systemtap/translate.cxx:798") $this:struct mapvar const* const process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/elaborate.cxx:855") $this:struct alias_expansion_builder* const $sess:struct systemtap_session& $use:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-been.cxx:207") $this:struct never_builder* const $base:struct probe* $location:struct probe_point* $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-been.cxx:80") $this:struct be_builder* const $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-itrace.cxx:97") $this:struct itrace_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-mark.cxx:623") $this:struct mark_builder* const $sess:struct systemtap_session& $base:struct probe* $loc:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-method.cxx:120") $this:struct java_builder* const $sess:struct systemtap_session& $base:struct probe* $loc:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-netfilter.cxx:491") $this:struct netfilter_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-perfmon.cxx:288") $this:struct perf_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-procfs.cxx:547") $this:struct procfs_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-timers.cxx:572") $this:struct timer_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapset-utrace.cxx:651") $this:struct utrace_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapsets.cxx:10267") $this:struct hwbkpt_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapsets.cxx:11789") $this:struct tracepoint_builder* const $s:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapsets.cxx:7889") $this:struct dwarf_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapsets.cxx:8873") $this:struct uprobe_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build@/root/systemtap_write/systemtap/tapsets.cxx:9799") $this:struct kprobe_builder* const $sess:struct systemtap_session& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("build_args@/root/systemtap_write/systemtap/tapsets.cxx:10737") $this:struct tracepoint_derived_probe* const $func_die:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("build_dwarf_registers@/root/systemtap_write/systemtap/tapsets.cxx:6071") $this:struct sdt_uprobe_var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("build_error_msg@/root/systemtap_write/systemtap/session.cxx:2186") $this:struct systemtap_session* const $e:struct semantic_error const& process("/root/systemtap_write/install/bin/stap").function("build_error_msg@/root/systemtap_write/systemtap/session.cxx:2350") $this:struct systemtap_session* const $pe:struct parse_error const& $tok:struct token const* $input_name:string const& process("/root/systemtap_write/install/bin/stap").function("build_kernel_blacklist@/root/systemtap_write/systemtap/dwflpp.cxx:4228") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("build_library_probe@/root/systemtap_write/systemtap/tapsets.cxx:2638") $dw:struct dwflpp& $library:string const& $base_probe:struct probe* $base_loc:struct probe_point* process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/elaborate.cxx:1724") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/elaborate.cxx:752") $this:class match_node* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/elaborate.h:339") $this:struct derived_probe_builder* const process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/tapset-mark.cxx:578") $this:struct mark_builder* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/tapsets.cxx:1001") $this:struct dwarf_builder* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/tapsets.cxx:11474") $this:struct tracepoint_builder* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("build_no_more@/root/systemtap_write/systemtap/tapsets.cxx:9767") $this:struct kprobe_builder* const process("/root/systemtap_write/install/bin/stap").function("build_user_blacklist@/root/systemtap_write/systemtap/dwflpp.cxx:4403") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("build_with_suffix@/root/systemtap_write/systemtap/elaborate.cxx:228") $this:struct derived_probe_builder* const process("/root/systemtap_write/install/bin/stap").function("build_with_suffix@/root/systemtap_write/systemtap/elaborate.cxx:867") $this:struct alias_expansion_builder* const $sess:struct systemtap_session& $use:struct probe* $location:struct probe_point* $finished_results:class vector >& $suffix:class vector > const& process("/root/systemtap_write/install/bin/stap").function("c_arg_define@/root/systemtap_write/systemtap/translate.cxx:3122") $this:struct c_unparser* const $e:string const& process("/root/systemtap_write/install/bin/stap").function("c_arg_undef@/root/systemtap_write/systemtap/translate.cxx:3129") process("/root/systemtap_write/install/bin/stap").function("c_assign@/root/systemtap_write/systemtap/translate.cxx:3185") $this:struct c_unparser* const $lvalue:class var& $rvalue:string const& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("c_assign@/root/systemtap_write/systemtap/translate.cxx:3202") $this:struct c_unparser* const $t:struct tmpvar& $e:struct expression* $msg:char const* process("/root/systemtap_write/install/bin/stap").function("c_assign@/root/systemtap_write/systemtap/translate.cxx:3245") $this:struct c_unparser* const $lvalue:string const& $rvalue:struct expression* $msg:char const* process("/root/systemtap_write/install/bin/stap").function("c_assign@/root/systemtap_write/systemtap/translate.cxx:3289") $this:struct c_unparser* const $lvalue:string const& $rvalue:string const& $type:enum exp_type $msg:char const* $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("c_assignop@/root/systemtap_write/systemtap/translate.cxx:3309") $this:struct c_unparser_assignment* const $res:struct tmpvar& $lval:class var const& $rval:struct tmpvar const& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("c_char@/root/systemtap_write/systemtap/stapregex-dfa.cxx:600") $c:char process("/root/systemtap_write/install/bin/stap").function("c_declare@/root/systemtap_write/systemtap/translate.cxx:3425") $this:struct c_unparser* const $ty:enum exp_type $ident:string const& process("/root/systemtap_write/install/bin/stap").function("c_declare_static@/root/systemtap_write/systemtap/translate.cxx:3432") $this:struct c_unparser* const $ty:enum exp_type $ident:string const& process("/root/systemtap_write/install/bin/stap").function("c_emit_location@/root/systemtap_write/systemtap/loc2c.c:2544") $out:FILE* $loc:struct location* $indent:int $max_stack:unsigned int* $deref:_Bool process("/root/systemtap_write/install/bin/stap").function("c_funcname@/root/systemtap_write/systemtap/translate.cxx:3113") $this:struct c_unparser* const $e:string const& process("/root/systemtap_write/install/bin/stap").function("c_global_read_def@/root/systemtap_write/systemtap/translate.cxx:3157") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("c_global_read_undef@/root/systemtap_write/systemtap/translate.cxx:3179") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("c_global_write_def@/root/systemtap_write/systemtap/translate.cxx:3135") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("c_global_write_undef@/root/systemtap_write/systemtap/translate.cxx:3173") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("c_globalname@/root/systemtap_write/systemtap/translate.cxx:3104") $this:struct c_unparser* const $e:string const& process("/root/systemtap_write/install/bin/stap").function("c_localname@/root/systemtap_write/systemtap/translate.cxx:3092") $this:struct c_unparser* const $e:string const& $mangle_oldstyle:bool process("/root/systemtap_write/install/bin/stap").function("c_name@/root/systemtap_write/systemtap/translate.cxx:424") process("/root/systemtap_write/install/bin/stap").function("c_str@/usr/include/c++/4.8.2/bits/basic_string.h:1800") process("/root/systemtap_write/install/bin/stap").function("c_strcat@/root/systemtap_write/systemtap/translate.cxx:3457") $this:struct c_unparser* const $lvalue:string const& $rvalue:string const& process("/root/systemtap_write/install/bin/stap").function("c_strcat@/root/systemtap_write/systemtap/translate.cxx:3466") $this:struct c_unparser* const $lvalue:string const& $rvalue:struct expression* process("/root/systemtap_write/install/bin/stap").function("c_strcpy@/root/systemtap_write/systemtap/translate.cxx:3439") $this:struct c_unparser* const $lvalue:string const& $rvalue:string const& process("/root/systemtap_write/install/bin/stap").function("c_strcpy@/root/systemtap_write/systemtap/translate.cxx:3448") $this:struct c_unparser* const $lvalue:string const& $rvalue:struct expression* process("/root/systemtap_write/install/bin/stap").function("c_tmpcounter@/root/systemtap_write/systemtap/translate.cxx:255") $this:struct c_tmpcounter* const process("/root/systemtap_write/install/bin/stap").function("c_translate_addressof@/root/systemtap_write/systemtap/loc2c.c:2183") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $die:Dwarf_Die* $typedie:Dwarf_Die* $input:struct location** $target:char const* process("/root/systemtap_write/install/bin/stap").function("c_translate_argument@/root/systemtap_write/systemtap/loc2c.c:1500") $pool:struct obstack* $fail:void ( volatile*) (void*, char const*, ...) $fail_arg:void* $emit_address:void (*) (void*, struct obstack*, Dwarf_Addr) $indent:int $value:char const* process("/root/systemtap_write/install/bin/stap").function("c_translate_array@/root/systemtap_write/systemtap/loc2c.c:2416") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $typedie:Dwarf_Die* $input:struct location** $idx:char const* $const_idx:Dwarf_Word $__PRETTY_FUNCTION__:char[] const process("/root/systemtap_write/install/bin/stap").function("c_translate_array_pointer@/root/systemtap_write/systemtap/loc2c.c:2430") $pool:struct obstack* $indent:int $typedie:Dwarf_Die* $input:struct location** $idx:char const* $const_idx:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("c_translate_constant@/root/systemtap_write/systemtap/loc2c.c:251") $pool:struct obstack* $fail:void ( volatile*) (void*, char const*, ...) $fail_arg:void* $emit_address:void (*) (void*, struct obstack*, Dwarf_Addr) $indent:int $dwbias:Dwarf_Addr $attr:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("c_translate_fetch@/root/systemtap_write/systemtap/loc2c.c:1952") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $die:Dwarf_Die* $typedie:Dwarf_Die* $input:struct location** $target:char const* $__PRETTY_FUNCTION__:char[] const $size_attr:Dwarf_Attribute $byte_size:Dwarf_Word $encoding_attr:Dwarf_Attribute $encoding:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("c_translate_location@/root/systemtap_write/systemtap/loc2c.c:1438") $pool:struct obstack* $fail:void ( volatile*) (void*, char const*, ...) $fail_arg:void* $emit_address:void (*) (void*, struct obstack*, Dwarf_Addr) $indent:int $dwbias:Dwarf_Addr $pc_address:Dwarf_Addr $attr:Dwarf_Attribute* $expr:Dwarf_Op const* $len:size_t $input:struct location** $fb_attr:Dwarf_Attribute* $cfa_ops:Dwarf_Op const* $__PRETTY_FUNCTION__:char[] const process("/root/systemtap_write/install/bin/stap").function("c_translate_pointer@/root/systemtap_write/systemtap/loc2c.c:2144") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $typedie:Dwarf_Die* $input:struct location** $__PRETTY_FUNCTION__:char[] const $attr_mem:Dwarf_Attribute $byte_size:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("c_translate_pointer_store@/root/systemtap_write/systemtap/loc2c.c:2234") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $typedie:Dwarf_Die* $input:struct location** $rvalue:char const* $__PRETTY_FUNCTION__:char[] const $attr_mem:Dwarf_Attribute $byte_size:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("c_translate_store@/root/systemtap_write/systemtap/loc2c.c:2078") $pool:struct obstack* $indent:int $dwbias:Dwarf_Addr $die:Dwarf_Die* $typedie:Dwarf_Die* $input:struct location** $rvalue:char const* $__PRETTY_FUNCTION__:char[] const $size_attr:Dwarf_Attribute $byte_size:Dwarf_Word $encoding_attr:Dwarf_Attribute $encoding:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("c_typename@/root/systemtap_write/systemtap/translate.cxx:3063") $this:struct c_unparser* const $e:enum exp_type process("/root/systemtap_write/install/bin/stap").function("c_unparser@/root/systemtap_write/systemtap/translate.cxx:95") process("/root/systemtap_write/install/bin/stap").function("c_unparser_assignment@/root/systemtap_write/systemtap/translate.cxx:288") process("/root/systemtap_write/install/bin/stap").function("c_unparser_assignment@/root/systemtap_write/systemtap/translate.cxx:291") $pp:bool $o:struct interned_string $p:struct c_unparser* $this:struct c_unparser_assignment* const process("/root/systemtap_write/install/bin/stap").function("cache_die_parents@/root/systemtap_write/systemtap/dwflpp.cxx:611") $this:struct dwflpp* const $parents:cu_die_parent_cache_t* $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("cache_ent_info@/root/systemtap_write/systemtap/cache.cxx:400") $this:struct cache_ent_info* const $paths:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("cache_ent_info@/root/systemtap_write/systemtap/cache.cxx:41") process("/root/systemtap_write/install/bin/stap").function("cache_inline_instances@/root/systemtap_write/systemtap/dwflpp.cxx:538") $this:struct dwflpp* const $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("cache_type_prefix@/root/systemtap_write/systemtap/dwflpp.cxx:813") $type:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:237") $this:struct null_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:251") $this:struct anchor_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:277") $this:struct tag_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:292") $this:struct match_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:327") $this:struct alt_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:348") $this:struct cat_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:364") $this:struct close_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:383") $this:struct closev_op* const process("/root/systemtap_write/install/bin/stap").function("calc_size@/root/systemtap_write/systemtap/stapregex-tree.cxx:428") $this:struct rule_op* const process("/root/systemtap_write/install/bin/stap").function("calculate_aggregate@/root/systemtap_write/systemtap/translate.cxx:705") $this:struct mapvar const* const process("/root/systemtap_write/install/bin/stap").function("call_prefix@/root/systemtap_write/systemtap/translate.cxx:685") $this:struct mapvar const* const $fname:string const& $indices:class vector > const& $pre_agg:bool process("/root/systemtap_write/install/bin/stap").function("call_weak_fn") process("/root/systemtap_write/install/bin/stap").function("capacity@/usr/include/c++/4.8.2/bits/stl_vector.h:725") process("/root/systemtap_write/install/bin/stap").function("cast_op@/root/systemtap_write/systemtap/staptree.h:358") process("/root/systemtap_write/install/bin/stap").function("cat_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:345") process("/root/systemtap_write/install/bin/stap").function("cend@/usr/include/c++/4.8.2/bits/stl_map.h:402") $this:class map, std::allocator >, std::pair, std::less, std::allocator > >, std::allocator, std::allocator >, std::pair > > > const* const process("/root/systemtap_write/install/bin/stap").function("cend@/usr/include/c++/4.8.2/bits/stl_set.h:344") process("/root/systemtap_write/install/bin/stap").function("cert_db_is_valid@/root/systemtap_write/systemtap/nsscommon.cxx:1165") $db_path:string const& $nss_cert_name:string const& process("/root/systemtap_write/install/bin/stap").function("cert_is_valid@/root/systemtap_write/systemtap/nsscommon.cxx:1152") $cert:CERTCertificate* process("/root/systemtap_write/install/bin/stap").function("chain@/root/systemtap_write/systemtap/staptree.cxx:316") $this:struct target_symbol* const $er:struct semantic_error const& process("/root/systemtap_write/install/bin/stap").function("checkForRecursiveExpansion@/root/systemtap_write/systemtap/elaborate.cxx:941") $this:struct alias_expansion_builder* const $use:struct probe* process("/root/systemtap_write/install/bin/stap").function("check_arg_type@/root/systemtap_write/systemtap/elaborate.cxx:6852") $this:struct typeresolution_info* const $wanted:enum exp_type $arg:struct expression* process("/root/systemtap_write/install/bin/stap").function("check_cert@/root/systemtap_write/systemtap/nsscommon.cxx:1235") $db_path:string const& $nss_cert_name:string const& $use_db_password:bool process("/root/systemtap_write/install/bin/stap").function("check_local@/root/systemtap_write/systemtap/elaborate.cxx:6870") $this:struct typeresolution_info* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("check_options@/root/systemtap_write/systemtap/session.cxx:1573") $this:struct systemtap_session* const $argc:int $argv:char* const* process("/root/systemtap_write/install/bin/stap").function("check_pretty_print@/root/systemtap_write/systemtap/staptree.cxx:304") $this:struct target_symbol const* const $lvalue:bool process("/root/systemtap_write/install/bin/stap").function("check_process_probe_kernel_support@/root/systemtap_write/systemtap/tapsets.cxx:4994") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("classify_indexable@/root/systemtap_write/systemtap/staptree.cxx:1771") $ix:struct indexable* $array_out:struct symbol*& $hist_out:struct hist_op*& process("/root/systemtap_write/install/bin/stap").function("clean_cache@/root/systemtap_write/systemtap/cache.cxx:232") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("clean_cert_db@/root/systemtap_write/systemtap/nsscommon.cxx:337") $db_path:string const& process("/root/systemtap_write/install/bin/stap").function("cleanup@/root/systemtap_write/systemtap/main.cxx:1119") $s:struct systemtap_session& $rc:int process("/root/systemtap_write/install/bin/stap").function("clear@/root/systemtap_write/systemtap/staptree.h:494") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/basic_string.h:803") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/hashtable.h:1637") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/stl_map.h:788") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/stl_multimap.h:697") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/stl_set.h:630") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/stl_tree.h:858") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/stl_vector.h:1125") process("/root/systemtap_write/install/bin/stap").function("clear@/usr/include/c++/4.8.2/bits/unordered_map.h:497") process("/root/systemtap_write/install/bin/stap").function("clear_script_data@/root/systemtap_write/systemtap/session.cxx:2703") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("client_callback@/root/systemtap_write/systemtap/csclient.cxx:3521") $c:AvahiClient* $state:AvahiClientState $userdata:void* process("/root/systemtap_write/install/bin/stap").function("client_connect@/root/systemtap_write/systemtap/csclient.cxx:712") $server:struct compile_server_info const& $infileName:char const* $outfileName:char const* $trustNewServer:char const* process("/root/systemtap_write/install/bin/stap").function("clone@/root/systemtap_write/systemtap/session.cxx:432") $this:struct systemtap_session* const $arch:string const& $release:string const& process("/root/systemtap_write/install/bin/stap").function("close@/root/systemtap_write/systemtap/remote.cxx:524") process("/root/systemtap_write/install/bin/stap").function("close@/usr/include/c++/4.8.2/fstream:576") process("/root/systemtap_write/install/bin/stap").function("close@/usr/include/c++/4.8.2/fstream:753") $this:class basic_ofstream >* const process("/root/systemtap_write/install/bin/stap").function("close_compound_statement@/root/systemtap_write/systemtap/translate.cxx:240") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("close_compound_statement@/root/systemtap_write/systemtap/translate.cxx:3806") $this:struct c_tmpcounter* const process("/root/systemtap_write/install/bin/stap").function("close_control_master@/root/systemtap_write/systemtap/remote.cxx:993") $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("close_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:360") $this:struct close_op* const $re:struct regexp* $prefer_shorter:bool process("/root/systemtap_write/install/bin/stap").function("close_struct_def@/root/systemtap_write/systemtap/translate.cxx:3782") $this:struct c_tmpcounter* const $before:pos_type $after:pos_type process("/root/systemtap_write/install/bin/stap").function("closev_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:379") $this:struct closev_op* const $re:struct regexp* $nmin:int $nmax:int process("/root/systemtap_write/install/bin/stap").function("cmd_file@/root/systemtap_write/systemtap/session.cxx:1958") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("cmd_opt@/root/systemtap_write/systemtap/interactive.cxx:1098") $this:class cmd_opt* const process("/root/systemtap_write/install/bin/stap").function("cmdopt@/root/systemtap_write/systemtap/interactive.cxx:143") process("/root/systemtap_write/install/bin/stap").function("cmdstr_join@/root/systemtap_write/systemtap/util.cxx:552") $cmds:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("cmdstr_quoted@/root/systemtap_write/systemtap/util.cxx:508") $cmd:string const& process("/root/systemtap_write/install/bin/stap").function("collect_all_lines@/root/systemtap_write/systemtap/dwflpp.cxx:1660") $this:struct dwflpp* const $srcfile:char const* $funcs:base_func_info_map_t& $matching_lines:lines_t& process("/root/systemtap_write/install/bin/stap").function("collect_derivation_chain@/root/systemtap_write/systemtap/elaborate.cxx:117") $this:struct derived_probe const* const $probes_list:class vector >& process("/root/systemtap_write/install/bin/stap").function("collect_derivation_chain@/root/systemtap_write/systemtap/staptree.cxx:1357") $this:struct probe const* const $probes_list:class vector >& process("/root/systemtap_write/install/bin/stap").function("collect_derivation_pp_chain@/root/systemtap_write/systemtap/elaborate.cxx:125") $this:struct derived_probe const* const $pp_list:class vector >& process("/root/systemtap_write/install/bin/stap").function("collect_derivation_pp_chain@/root/systemtap_write/systemtap/staptree.cxx:1366") $this:struct probe const* const $pp_list:class vector >& process("/root/systemtap_write/install/bin/stap").function("collect_functions@/root/systemtap_write/systemtap/elaborate.cxx:2852") $this:struct symresolution_info* const process("/root/systemtap_write/install/bin/stap").function("collect_lines_for_single_lineno@/root/systemtap_write/systemtap/dwflpp.cxx:1688") $this:struct dwflpp* const $srcfile:char const* $lineno:int $is_relative:bool $funcs:base_func_info_map_t& $matching_lines:lines_t& process("/root/systemtap_write/install/bin/stap").function("collect_lines_in_die@/root/systemtap_write/systemtap/dwflpp.cxx:1618") $range:lines_range_t $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("collect_map_index_types@/root/systemtap_write/systemtap/translate.cxx:2935") $this:struct c_unparser* const $vars:class vector > const& $types:class set >, exp_type>, std::less >, exp_type> >, std::allocator >, exp_type> > >& process("/root/systemtap_write/install/bin/stap").function("collect_srcfiles_matching@/root/systemtap_write/systemtap/dwflpp.cxx:2255") $this:struct dwflpp* const $pattern:string const& $filtered_srcfiles:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("collect_stp@/root/systemtap_write/systemtap/main.cxx:360") $fpath:char const* $typeflag:int $ftwbuf:struct FTW* process("/root/systemtap_write/install/bin/stap").function("collect_stpm@/root/systemtap_write/systemtap/main.cxx:379") $fpath:char const* $typeflag:int $ftwbuf:struct FTW* process("/root/systemtap_write/install/bin/stap").function("colorize@/root/systemtap_write/systemtap/session.cxx:2485") $this:struct systemtap_session* const $str:string const& $type:string const& process("/root/systemtap_write/install/bin/stap").function("colorize@/root/systemtap_write/systemtap/session.cxx:2501") $this:struct systemtap_session* const $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("command_generator@/root/systemtap_write/systemtap/interactive.cxx:1184") $text:char const* $state:int process("/root/systemtap_write/install/bin/stap").function("common_probe_entryfn_epilogue@/root/systemtap_write/systemtap/tapsets.cxx:231") $s:struct systemtap_session& $overload_processing:bool $schedule_work_safe:bool process("/root/systemtap_write/install/bin/stap").function("common_probe_entryfn_prologue@/root/systemtap_write/systemtap/tapsets.cxx:92") $s:struct systemtap_session& $statestr:string $probe:string $probe_type:string $overload_processing:bool $declaration_callback:void (*) (struct systemtap_session&, void*) $pre_context_callback:void (*) (struct systemtap_session&, void*) $callback_data:void* process("/root/systemtap_write/install/bin/stap").function("common_probe_init@/root/systemtap_write/systemtap/tapsets.cxx:84") $p:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("comp@/root/systemtap_write/systemtap/tapset-been.cxx:45") $a:struct be_derived_probe const* $b:struct be_derived_probe const* process("/root/systemtap_write/install/bin/stap").function("compare@/usr/include/c++/4.8.2/bits/basic_string.h:2225") process("/root/systemtap_write/install/bin/stap").function("compare@/usr/include/c++/4.8.2/bits/char_traits.h:254") process("/root/systemtap_write/install/bin/stap").function("compare_lines@/root/systemtap_write/systemtap/dwflpp.cxx:1506") $a:Dwarf_Line* $b:Dwarf_Line* process("/root/systemtap_write/install/bin/stap").function("comparison@/root/systemtap_write/systemtap/staptree.h:248") process("/root/systemtap_write/install/bin/stap").function("compatible_arity@/root/systemtap_write/systemtap/staptree.cxx:204") $this:struct vardecl* const $a:int process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:206") $this:struct regexp* const process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:243") $this:struct null_op* const process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:257") $this:struct anchor_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:283") $this:struct tag_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:304") $this:struct match_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:333") $this:struct alt_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:354") $this:struct cat_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:370") $this:struct close_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:394") $this:struct closev_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile@/root/systemtap_write/systemtap/stapregex-tree.cxx:434") $this:struct rule_op* const $i:union ins* process("/root/systemtap_write/install/bin/stap").function("compile_dyninst@/root/systemtap_write/systemtap/buildrun.cxx:213") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("compile_pass@/root/systemtap_write/systemtap/buildrun.cxx:250") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("compile_server_client@/root/systemtap_write/systemtap/csclient.h:19") $s:struct systemtap_session& $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("compile_server_info@/root/systemtap_write/systemtap/csclient.cxx:91") process("/root/systemtap_write/install/bin/stap").function("compile_server_info@/root/systemtap_write/systemtap/csclient.cxx:93") $this:struct compile_server_info* const process("/root/systemtap_write/install/bin/stap").function("compile_using_server@/root/systemtap_write/systemtap/csclient.cxx:1264") $this:class compile_server_client* const $servers:class vector >& process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.cxx:151") $this:struct component* const process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.cxx:157") $this:struct component* const $f:struct interned_string $a:struct literal* $from_glob:bool process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.h:317") process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.h:325") process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.h:330") process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.h:333") process("/root/systemtap_write/install/bin/stap").function("component@/root/systemtap_write/systemtap/staptree.h:798") process("/root/systemtap_write/install/bin/stap").function("components_to_string@/root/systemtap_write/systemtap/staptree.cxx:726") $components:class vector > const& process("/root/systemtap_write/install/bin/stap").function("concatenation@/root/systemtap_write/systemtap/staptree.h:254") process("/root/systemtap_write/install/bin/stap").function("connect@/root/systemtap_write/systemtap/remote.cxx:849") $this:class ssh_remote* const $host:string const& $port:string const& process("/root/systemtap_write/install/bin/stap").function("const_folder@/root/systemtap_write/systemtap/elaborate.cxx:3990") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:Dwarf_Attribute* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:Dwarf_Attribute* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:Dwarf_Attribute* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:Dwarf_Attribute* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:Dwarf_Die* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:Dwarf_Die* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct base_func_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct base_func_info* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct compile_server_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct compile_server_info* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct defined_op** $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct exp_type_null* process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct exp_type_null* process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct func_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct func_info* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct functioncall*** $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct inline_instance_info* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct inline_instance_info* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct interned_string* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct interned_string* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct format_component* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct format_component* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct semantic_error* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct semantic_error* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct kernel_point* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct state** $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::ins* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::ins*>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, const stapregex::kernel_point&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, const stapregex::span&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct _List_node* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, const stapregex::tdfa_insn&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct, Dwarf* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, Dwarf* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, const cache_ent_info&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, const cache_ent_info&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, derived_probe* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, derived_probe* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, func_info* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, func_info* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, const inline_instance_info&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, const inline_instance_info&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, int const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, int const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, const interned_string&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, const interned_string&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, interned_string>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, interned_string>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, long unsigned int const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, long unsigned int const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::ins* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::ins* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("construct >, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct, dwflpp*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, dwflpp*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, dwflpp*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, dwflpp*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, functiondecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, functiondecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl*> >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, functiondecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, functiondecl*> >, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, functiondecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, int> > >& process("/root/systemtap_write/install/bin/stap").function("construct, int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, int> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, macrodecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, match_item*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, match_item*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, match_item*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, module_info*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, module_info*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, module_info*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, module_info*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, parser::pp_macrodecl*> >, const std::pair, std::allocator >, parser::pp_macrodecl*>&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, parser::pp_macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, parser::pp_macrodecl*> >, const std::pair, std::allocator >, parser::pp_macrodecl*>&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, parser::pp_macrodecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, parser::pp_macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, parser::pp_macrodecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, parser::pp_macrodecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, parser::pp_macrodecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, probe*> >, std::pair, std::allocator >, derived_probe*> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, probe*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, probe*> >, std::pair, std::allocator >, derived_probe*> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, probe*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, procfs_probe_set*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, procfs_probe_set*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, procfs_probe_set*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, procfs_probe_set*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, re_pattern_buffer*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, re_pattern_buffer*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, re_pattern_buffer*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, re_pattern_buffer*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, stapdfa*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, stapdfa*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, stapdfa*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, stapdfa*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, stapregex::range*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, stapregex::range*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, stapregex::range*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, stapregex::range*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, stapregex::range*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::pair, std::allocator >, std::basic_string, std::allocator > >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::pair, std::allocator >, std::basic_string, std::allocator > >&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::pair > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::pair > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::pair > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::pair > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::pair > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::set > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::set, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::set > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::set, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::vector, std::allocator >, std::allocator, std::allocator > > > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector, std::allocator >, std::allocator, std::allocator > > > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::vector > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::vector > > >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, symbol*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, symbol*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, symbol*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, symbol*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, translator_output*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, translator_output*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, translator_output*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, translator_output*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, unsigned int> > >& process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, unsigned int> > >* const process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, vardecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, vardecl*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, vardecl*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, vardecl*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator > >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct >, std::basic_string > >, const std::piecewise_construct_t&, std::tuple, std::allocator > >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator > >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string >, systemtap_session*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string >, systemtap_session*> >, const std::piecewise_construct_t&, std::tuple, std::allocator >, std::basic_string, std::allocator > >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct*> >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >*> > >& process("/root/systemtap_write/install/bin/stap").function("construct*> >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >*> > >* const process("/root/systemtap_write/install/bin/stap").function("construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct > > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string > >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, exp_type> >, std::pair >, exp_type> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >, exp_type> > >& process("/root/systemtap_write/install/bin/stap").function("construct, exp_type> >, std::pair >, exp_type> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >, exp_type> > >* const process("/root/systemtap_write/install/bin/stap").function("construct > >, std::pair, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct > >, std::pair, std::allocator > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::pair, std::allocator > > >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, std::allocator > > > > >& process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::pair, std::allocator > > >&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator > > > > >* const process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct > >, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct >, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct, systemtap_session*>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, systemtap_session*>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, vardecl* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, vardecl* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, vardecl*&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, vardecl*&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, void* const&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, void* const&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("construct, (__gnu_cxx::_Lock_policy)2u>, const std::allocator >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u>, const std::allocator > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u>, const std::allocator > >, std::_Bind_simple >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, interned_string>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::equal_to, std::allocator > >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, true>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, Dwarf_Die>, true>, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, Dwarf_Die>, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, expression*>, true>, const std::piecewise_construct_t&, std::tuple, std::allocator >&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, expression*>, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector*>, true>, const std::piecewise_construct_t&, std::tuple, std::allocator >&&>, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector >*>, true> >* const process("/root/systemtap_write/install/bin/stap").function("construct, false>, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct, Dwarf_Die>*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, Dwarf_Die> > >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::vector*>*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::equal_to, std::allocator > >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator, std::equal_to, std::allocator > >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct*>, false>, const std::piecewise_construct_t&, std::tuple, std::tuple<> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $this:struct new_allocator >*>, false> >* const process("/root/systemtap_write/install/bin/stap").function("construct, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:class basic_string, std::allocator >* $__a:class allocator, std::allocator > >& process("/root/systemtap_write/install/bin/stap").function("construct, const std::basic_string, std::allocator >&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:class basic_string, std::allocator >* $this:struct new_allocator, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string, std::allocator > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, const std::pair&>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct pair* $__a:class allocator >& process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::pair >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair* $this:struct new_allocator >* const process("/root/systemtap_write/install/bin/stap").function("construct, match_item*>, std::pair, std::allocator >, match_item*> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair, std::allocator >, match_item*>* $this:struct new_allocator, std::allocator >, match_item*> >* const process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct pair, std::allocator >, std::basic_string, std::allocator > >* $__a:class allocator, std::allocator >, std::basic_string, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("construct, std::basic_string >, std::pair, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair, std::allocator >, std::basic_string, std::allocator > >* $this:struct new_allocator, std::allocator >, std::basic_string, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int>, std::pair, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct pair, std::allocator >, unsigned int>* $__a:class allocator, std::allocator >, unsigned int> >& process("/root/systemtap_write/install/bin/stap").function("construct, unsigned int>, std::pair, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct pair, std::allocator >, unsigned int>* $this:struct new_allocator, std::allocator >, unsigned int> >* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:class thread* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:class thread* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct >, std::_Bind_simple >@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct component* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct component* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct tmpvar* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct tmpvar* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct, std::allocator >&, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct, std::allocator >&, Dwarf_Die*>@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") $__p:struct resolved_type* $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct resolved_type* $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/bits/alloc_traits.h:391") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") process("/root/systemtap_write/install/bin/stap").function("construct@/usr/include/c++/4.8.2/ext/new_allocator.h:119") $__p:struct visitable** $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("consume_string_literals@/root/systemtap_write/systemtap/parse.cxx:2687") $this:class parser* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("contains@/root/systemtap_write/systemtap/util.cxx:601") $p:pid_t $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("contains_glob_chars@/root/systemtap_write/systemtap/util.cxx:1001") $str:string const& process("/root/systemtap_write/install/bin/stap").function("continue_statement@/root/systemtap_write/systemtap/staptree.h:761") process("/root/systemtap_write/install/bin/stap").function("convert_location@/root/systemtap_write/systemtap/tapsets.cxx:7473") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("convert_probe@/root/systemtap_write/systemtap/tapsets.cxx:7433") $this:struct sdt_query* const $base:struct probe* process("/root/systemtap_write/install/bin/stap").function("convert_stmt@/root/systemtap_write/systemtap/elaborate.cxx:4986") $this:struct stable_functioncall_visitor* const $s:struct statement* process("/root/systemtap_write/install/bin/stap").function("copy4@/root/systemtap_write/systemtap/mdfour.c:97") $x:uint32_t $out:unsigned char* process("/root/systemtap_write/install/bin/stap").function("copy64@/root/systemtap_write/systemtap/mdfour.c:87") $M:uint32_t* $in:unsigned char const* process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, exp_type*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, expression**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, long int*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, remote**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct statement** process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy<__gnu_cxx::__normal_iterator >, symbol**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("copy*, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("copy, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, std::pair&, std::pair*>, std::insert_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("copy, Dwarf_Attribute*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, Dwarf_Line_s**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("copy, be_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, cmdopt**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("copy, const cache_ent_info**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("copy, const token**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct token const** process("/root/systemtap_write/install/bin/stap").function("copy, const tracepoint_arg**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("copy, derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, derived_probe_builder**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("copy, derived_probe_group**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("copy, dynprobe_info**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("copy, embeddedcode**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("copy, exp_type*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("copy, expression**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("copy, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("copy, hrtimer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, hwbkpt_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, int*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:int* process("/root/systemtap_write/install/bin/stap").function("copy, itrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, long int*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("copy, long unsigned int*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("copy, mark_arg**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("copy, mark_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, match_node**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class match_node** process("/root/systemtap_write/install/bin/stap").function("copy, netfilter_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, parser::pp1_activation**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("copy, perf_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, pollfd*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("copy, probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct probe** process("/root/systemtap_write/install/bin/stap").function("copy, probe_alias**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("copy, probe_point**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, profile_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, remote**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("copy, stapfile**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, statement**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, symbol**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("copy, timer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, tmpvar**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("copy, tracepoint_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, translator_output**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:class translator_output** process("/root/systemtap_write/install/bin/stap").function("copy, update_visitor**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("copy, uprobe_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, utrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("copy, vardecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("copy >@/usr/include/c++/4.8.2/bits/deque.tcc:941") $__last:struct _Deque_iterator, const std::pair&, const std::pair*> $__result:struct _Deque_iterator, std::pair&, std::pair*> process("/root/systemtap_write/install/bin/stap").function("copy**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("copy**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") $__result:unsigned int* $__last:unsigned int const* $__first:unsigned int const* process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/stl_algobase.h:450") process("/root/systemtap_write/install/bin/stap").function("copy@/usr/include/c++/4.8.2/bits/char_traits.h:270") $__n:size_t $__s2:char_type const* $__s1:char_type* process("/root/systemtap_write/install/bin/stap").function("copyAddress@/root/systemtap_write/systemtap/csclient.cxx:2229") process("/root/systemtap_write/install/bin/stap").function("copyNetAddr@/root/systemtap_write/systemtap/csclient.cxx:2183") $y:PRNetAddr const& $x:PRNetAddr& process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") $__result:Dwarf_Die** $__last:Dwarf_Die** $__first:Dwarf_Die** process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") $__result:struct defined_op*** $__last:struct defined_op*** $__first:struct defined_op*** process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") $__result:long unsigned int** $__last:long unsigned int** $__first:long unsigned int** process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") $__result:struct state*** $__first:struct state*** process("/root/systemtap_write/install/bin/stap").function("copy_backward**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") $__result:struct pair** $__first:struct pair** process("/root/systemtap_write/install/bin/stap").function("copy_backward**, std::pair**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") process("/root/systemtap_write/install/bin/stap").function("copy_backward, match_item*>**, std::pair, match_item*>**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") process("/root/systemtap_write/install/bin/stap").function("copy_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:619") process("/root/systemtap_write/install/bin/stap").function("copy_file@/root/systemtap_write/systemtap/util.cxx:106") $src:string const& $dest:string const& $verbose:bool process("/root/systemtap_write/install/bin/stap").function("copy_to_remote@/root/systemtap_write/systemtap/remote.cxx:954") $this:class ssh_legacy_remote* const $local:string const& $remote:string const& process("/root/systemtap_write/install/bin/stap").function("count<__gnu_cxx::__normal_iterator >, char>@/usr/include/c++/4.8.2/bits/stl_algo.h:4622") $__last:class __normal_iterator, std::allocator > > $__first:class __normal_iterator, std::allocator > > process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/hashtable.h:1053") $__k:key_type const& process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/stl_map.h:848") $__x:key_type const& process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/stl_multimap.h:754") $__x:key_type const& $this:class multimap, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const* const process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/stl_set.h:644") process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/stl_tree.h:1814") process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/unordered_map.h:560") process("/root/systemtap_write/install/bin/stap").function("count@/usr/include/c++/4.8.2/bits/unordered_set.h:534") $__x:key_type const& process("/root/systemtap_write/install/bin/stap").function("coverage_element@/root/systemtap_write/systemtap/coveragedb.h:69") process("/root/systemtap_write/install/bin/stap").function("create@/root/systemtap_write/systemtap/remote.cxx:1137") $s:struct systemtap_session& $target:string const& process("/root/systemtap_write/install/bin/stap").function("create@/root/systemtap_write/systemtap/remote.cxx:1157") $s:struct systemtap_session& $ud:class uri_decoder const& process("/root/systemtap_write/install/bin/stap").function("create@/root/systemtap_write/systemtap/remote.cxx:1173") $s:struct systemtap_session& $uri:string const& $idx:int process("/root/systemtap_write/install/bin/stap").function("create@/root/systemtap_write/systemtap/staptree.cxx:663") $t:struct token const* $n:char const* process("/root/systemtap_write/install/bin/stap").function("create_cert@/root/systemtap_write/systemtap/nsscommon.cxx:481") $dnsNames:string const& $certReq:CERTCertificateRequest* process("/root/systemtap_write/install/bin/stap").function("create_client_cert_db@/root/systemtap_write/systemtap/nsscommon.cxx:330") $db_path:char const* process("/root/systemtap_write/install/bin/stap").function("create_debug_frame_hdr@/root/systemtap_write/systemtap/translate.cxx:5994") $mod:Dwfl_Module* $session:struct systemtap_session& $debug_frame_off:Dwarf_Addr* $debug_frame_hdr_len:size_t* $debug_frame_hdr:void** $debug_frame:Elf_Data* $e_ident:unsigned char const* process("/root/systemtap_write/install/bin/stap").function("create_dir@/root/systemtap_write/systemtap/util.cxx:178") $dir:char const* $mode:int process("/root/systemtap_write/install/bin/stap").function("create_hash_log@/root/systemtap_write/systemtap/hash.cxx:118") $type_str:string const& $parms:string const& $result:string const& $hash_log_path:string const& process("/root/systemtap_write/install/bin/stap").function("create_hashdir@/root/systemtap_write/systemtap/hash.cxx:182") $s:struct systemtap_session& $result:string const& $hashdir:string& process("/root/systemtap_write/install/bin/stap").function("create_request@/root/systemtap_write/systemtap/csclient.cxx:896") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("create_server_cert_db@/root/systemtap_write/systemtap/nsscommon.cxx:324") $db_path:char const* process("/root/systemtap_write/install/bin/stap").function("create_tmp_dir@/root/systemtap_write/systemtap/session.cxx:2409") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("cs_protocol_version@/root/systemtap_write/systemtap/cscommon.h:44") process("/root/systemtap_write/install/bin/stap").function("cscache@/root/systemtap_write/systemtap/csclient.cxx:2530") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("cu_function_caching_callback@/root/systemtap_write/systemtap/dwflpp.cxx:959") $func:Dwarf_Die* $v:cu_function_cache_t* process("/root/systemtap_write/install/bin/stap").function("cu_name@/root/systemtap_write/systemtap/dwflpp.cxx:222") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("cursor@/root/systemtap_write/systemtap/stapregex-parse.cxx:148") $this:struct cursor* const process("/root/systemtap_write/install/bin/stap").function("cursor@/root/systemtap_write/systemtap/stapregex-parse.cxx:151") process("/root/systemtap_write/install/bin/stap").function("data@/usr/include/c++/4.8.2/bits/basic_string.h:1810") process("/root/systemtap_write/install/bin/stap").function("dead_assignment_remover@/root/systemtap_write/systemtap/elaborate.cxx:3081") $v:struct varuse_collecting_visitor const& $r:bool& $s:struct systemtap_session& $this:struct dead_assignment_remover* const process("/root/systemtap_write/install/bin/stap").function("dead_control_remover@/root/systemtap_write/systemtap/elaborate.cxx:4620") $r:bool& $s:struct systemtap_session& $this:struct dead_control_remover* const process("/root/systemtap_write/install/bin/stap").function("dead_overload_remover@/root/systemtap_write/systemtap/elaborate.cxx:4694") $r:bool& $sess:struct systemtap_session& $this:struct dead_overload_remover* const process("/root/systemtap_write/install/bin/stap").function("dead_stmtexpr_remover@/root/systemtap_write/systemtap/elaborate.cxx:3247") process("/root/systemtap_write/install/bin/stap").function("deallocate@/usr/include/c++/4.8.2/bits/alloc_traits.h:376") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("deallocate@/usr/include/c++/4.8.2/ext/new_allocator.h:109") process("/root/systemtap_write/install/bin/stap").function("debuginfo_path_insert_sysroot@/root/systemtap_write/systemtap/setupdwfl.cxx:340") $sysroot:string process("/root/systemtap_write/install/bin/stap").function("dec@/usr/include/c++/4.8.2/bits/ios_base.h:933") process("/root/systemtap_write/install/bin/stap").function("declaration_resolve@/root/systemtap_write/systemtap/dwflpp.cxx:922") $this:struct dwflpp* const $name:string const& process("/root/systemtap_write/install/bin/stap").function("declaration_resolve@/root/systemtap_write/systemtap/dwflpp.cxx:947") $this:struct dwflpp* const $type:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("declaration_resolve_other_cus@/root/systemtap_write/systemtap/dwflpp.cxx:907") $this:struct dwflpp* const $name:string const& process("/root/systemtap_write/install/bin/stap").function("declare@/root/systemtap_write/systemtap/translate.cxx:531") $this:class var const* const $c:struct c_unparser& process("/root/systemtap_write/install/bin/stap").function("declare@/root/systemtap_write/systemtap/translate.cxx:619") $this:struct aggvar const* const $c:struct c_unparser& process("/root/systemtap_write/install/bin/stap").function("declare@/root/systemtap_write/systemtap/translate.cxx:873") $this:class itervar const* const $c:struct c_unparser& process("/root/systemtap_write/install/bin/stap").function("declare_compiled_printf@/root/systemtap_write/systemtap/translate.cxx:1138") $this:struct c_unparser* const $print_to_stream:bool $format:string const& process("/root/systemtap_write/install/bin/stap").function("declare_noncontig_union@/root/systemtap_write/systemtap/loc2c.c:1750") $pool:struct obstack* $indent:int $input:struct location** $loc:struct location* $depth:int process("/root/systemtap_write/install/bin/stap").function("deep_copy@/root/systemtap_write/systemtap/staptree.h:1261") $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("deep_copy@/root/systemtap_write/systemtap/staptree.h:1261") process("/root/systemtap_write/install/bin/stap").function("deep_copy@/root/systemtap_write/systemtap/staptree.h:1261") process("/root/systemtap_write/install/bin/stap").function("deep_copy@/root/systemtap_write/systemtap/staptree.h:1261") $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("deep_copy_visitor@/root/systemtap_write/systemtap/staptree.h:1259") process("/root/systemtap_write/install/bin/stap").function("deepen@/root/systemtap_write/systemtap/loc2c.c:1131") process("/root/systemtap_write/install/bin/stap").function("deepen@/root/systemtap_write/systemtap/loc2c.c:346") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("default_emit_address@/root/systemtap_write/systemtap/loc2c.c:128") $fail_arg:void* $pool:struct obstack* $address:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("default_server_spec@/root/systemtap_write/systemtap/csclient.cxx:2240") $s:struct systemtap_session const& process("/root/systemtap_write/install/bin/stap").function("defined_op@/root/systemtap_write/systemtap/staptree.h:383") process("/root/systemtap_write/install/bin/stap").function("del@/root/systemtap_write/systemtap/translate.cxx:721") process("/root/systemtap_write/install/bin/stap").function("del_next@/root/systemtap_write/systemtap/translate.cxx:903") $this:class itervar const* const $mv:struct mapvar const& process("/root/systemtap_write/install/bin/stap").function("delete_cmd@/root/systemtap_write/systemtap/interactive.cxx:535") $this:class delete_cmd* const process("/root/systemtap_write/install/bin/stap").function("delete_map, dwflpp*> >@/root/systemtap_write/systemtap/util.h:279") $t:class map, std::allocator >, dwflpp*, std::less, std::allocator > >, std::allocator, std::allocator >, dwflpp*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map, module_info*> >@/root/systemtap_write/systemtap/util.h:279") process("/root/systemtap_write/install/bin/stap").function("delete_map, std::basic_string >, systemtap_session*> >@/root/systemtap_write/systemtap/util.h:279") $t:class map, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*, std::less, std::allocator >, std::basic_string, std::allocator > > >, std::allocator, std::allocator >, std::basic_string, std::allocator > >, systemtap_session*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map >@/root/systemtap_write/systemtap/util.h:279") process("/root/systemtap_write/install/bin/stap").function("delete_map*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::equal_to, std::allocator > >*, std::hash, std::equal_to, std::allocator, std::equal_to, std::allocator > >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map*> >@/root/systemtap_write/systemtap/util.h:279") process("/root/systemtap_write/install/bin/stap").function("delete_map, std::vector*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map, Dwarf_Die>*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, Dwarf_Die> > >*, std::hash, std::equal_to, std::allocator, std::allocator >, Dwarf_Die, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, Dwarf_Die> > >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map, std::vector*>*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*, std::hash, std::equal_to, std::allocator, std::allocator >, std::vector >*, std::hash, std::allocator > >, std::equal_to, std::allocator > >, std::allocator, std::allocator >, std::vector >*> > >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::equal_to, std::allocator > >*, std::hash, std::equal_to, std::allocator, std::equal_to, std::allocator > >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map, std::equal_to, std::allocator > >*, std::hash, std::equal_to, std::allocator, std::equal_to, std::allocator > >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_map*> >@/root/systemtap_write/systemtap/util.h:279") $t:class unordered_map >*, std::hash, std::equal_to, std::allocator >*> > >& process("/root/systemtap_write/install/bin/stap").function("delete_match_map_items@/root/systemtap_write/systemtap/interactive.cxx:201") $map:match_item_map* process("/root/systemtap_write/install/bin/stap").function("delete_session_module_cache@/root/systemtap_write/systemtap/tapsets.cxx:2788") process("/root/systemtap_write/install/bin/stap").function("delete_statement@/root/systemtap_write/systemtap/staptree.h:747") process("/root/systemtap_write/install/bin/stap").function("delete_statement_operand_visitor@/root/systemtap_write/systemtap/translate.cxx:4320") process("/root/systemtap_write/install/bin/stap").function("delete_statement_symresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:2499") process("/root/systemtap_write/install/bin/stap").function("delete_statement_typeresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:6599") process("/root/systemtap_write/install/bin/stap").function("deque@/usr/include/c++/4.8.2/bits/stl_deque.h:782") process("/root/systemtap_write/install/bin/stap").function("deque@/usr/include/c++/4.8.2/bits/stl_deque.h:814") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("deque@/usr/include/c++/4.8.2/bits/stl_deque.h:841") process("/root/systemtap_write/install/bin/stap").function("deque@/usr/include/c++/4.8.2/bits/stl_deque.h:855") process("/root/systemtap_write/install/bin/stap").function("deref@/root/systemtap_write/systemtap/tapsets.cxx:3698") $this:struct dwarf_pretty_print* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("deregister_tm_clones") process("/root/systemtap_write/install/bin/stap").function("derive_probes@/root/systemtap_write/systemtap/elaborate.cxx:986") $s:struct systemtap_session& $p:struct probe* $dps:class vector >& $optional:bool $rethrow_errors:bool process("/root/systemtap_write/install/bin/stap").function("derived_locations@/root/systemtap_write/systemtap/elaborate.cxx:133") $this:struct derived_probe* const $firstFrom:bool process("/root/systemtap_write/install/bin/stap").function("derived_probe@/root/systemtap_write/systemtap/elaborate.cxx:64") $this:struct derived_probe* const $p:struct probe* $l:struct probe_point* $rewrite_loc:bool process("/root/systemtap_write/install/bin/stap").function("derived_probe_condition_inline@/root/systemtap_write/systemtap/elaborate.cxx:1447") process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct compile_server_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct func_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct func_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct interned_string* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct interned_string* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct format_component* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct format_component* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $__p:struct _List_node* process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $__p:struct _List_node* process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, dwflpp*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, functiondecl*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, int> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, macrodecl*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, match_item*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, module_info*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, parser::pp_macrodecl*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, probe*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, procfs_probe_set*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, re_pattern_buffer*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, stapdfa*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, stapregex::range*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::basic_string > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::pair > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::set > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector > > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector > > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector > > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, symbol*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, translator_output*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, unsigned int> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, vardecl*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >, std::basic_string > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::basic_string >, systemtap_session*> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::basic_string > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, exp_type> > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("destroy, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("destroy >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >& process("/root/systemtap_write/install/bin/stap").function("destroy >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator >, std::allocator > >, (__gnu_cxx::_Lock_policy)2u> >* const process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, Dwarf_Die>, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, expression*>, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, std::vector*>, true> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") process("/root/systemtap_write/install/bin/stap").function("destroy >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy, match_item*> >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator > >& process("/root/systemtap_write/install/bin/stap").function("destroy > >@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator > >* const process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct component* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct component* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/bits/alloc_traits.h:404") $__a:class allocator& $__p:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("destroy@/usr/include/c++/4.8.2/ext/new_allocator.h:124") $this:struct new_allocator* const $__p:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("detox_path@/root/systemtap_write/systemtap/util.cxx:539") $str:string const& process("/root/systemtap_write/install/bin/stap").function("dfa@/root/systemtap_write/systemtap/stapregex-dfa.cxx:426") $this:struct dfa* const $i:union ins* $ntags:int $outcome_snippets:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("die_entrypc@/root/systemtap_write/systemtap/dwflpp.cxx:2497") $this:struct dwflpp* const $die:Dwarf_Die* $addr:Dwarf_Addr* process("/root/systemtap_write/install/bin/stap").function("die_has_loclist@/root/systemtap_write/systemtap/dwflpp.cxx:4788") $begin_die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("die_has_pc@/root/systemtap_write/systemtap/dwflpp.cxx:2596") $this:struct dwflpp* const $die:Dwarf_Die& $pc:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("die_location_as_string@/root/systemtap_write/systemtap/dwflpp.cxx:3083") $this:struct dwflpp* const $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("die_name_string@/root/systemtap_write/systemtap/dwflpp.cxx:2979") $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("direct@/root/systemtap_write/systemtap/remote.cxx:82") $s:struct systemtap_session& $this:class direct* const process("/root/systemtap_write/install/bin/stap").function("direct_stapsh@/root/systemtap_write/systemtap/remote.cxx:604") $this:class direct_stapsh* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("discontiguify@/root/systemtap_write/systemtap/loc2c.c:1639") $ctx:struct location_context* $indent:int process("/root/systemtap_write/install/bin/stap").function("distance@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("distance<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > process("/root/systemtap_write/install/bin/stap").function("distance@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:char* $__first:char* process("/root/systemtap_write/install/bin/stap").function("distance*>@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance, const std::pair&, const std::pair*> >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("distance, std::basic_string > > >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") $__last:struct _Rb_tree_const_iterator, std::allocator >, std::basic_string, std::allocator > > > $__first:struct _Rb_tree_const_iterator, std::allocator >, std::basic_string, std::allocator > > > process("/root/systemtap_write/install/bin/stap").function("distance, false, true> >@/usr/include/c++/4.8.2/bits/stl_iterator_base_funcs.h:114") process("/root/systemtap_write/install/bin/stap").function("do_alt@/root/systemtap_write/systemtap/stapregex-tree.cxx:464") $a:struct regexp* $b:struct regexp* process("/root/systemtap_write/install/bin/stap").function("do_connect@/root/systemtap_write/systemtap/csclient.cxx:652") process("/root/systemtap_write/install/bin/stap").function("do_parse_functiondecl@/root/systemtap_write/systemtap/parse.cxx:2359") $this:class parser* const $functions:class vector >& $t:struct token const* $fname:string const& $priv:bool process("/root/systemtap_write/install/bin/stap").function("do_parse_global@/root/systemtap_write/systemtap/parse.cxx:2268") $this:class parser* const $globals:class vector >& $fname:string const& $t0:struct token const* $priv:bool process("/root/systemtap_write/install/bin/stap").function("download_kernel_debuginfo@/root/systemtap_write/systemtap/setupdwfl.cxx:814") $s:struct systemtap_session& $hex:string process("/root/systemtap_write/install/bin/stap").function("dump@/root/systemtap_write/systemtap/elaborate.cxx:764") $this:class match_node* const $s:struct systemtap_session& $name:string const& process("/root/systemtap_write/install/bin/stap").function("dump_build_id@/root/systemtap_write/systemtap/translate.cxx:6191") $name:char const* $c:struct unwindsym_dump_context* $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("dump_kallsyms@/root/systemtap_write/systemtap/translate.cxx:7098") $c:struct unwindsym_dump_context* process("/root/systemtap_write/install/bin/stap").function("dump_line_tables@/root/systemtap_write/systemtap/translate.cxx:6462") $c:struct unwindsym_dump_context* $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("dump_line_tables_check@/root/systemtap_write/systemtap/translate.cxx:6389") $data_len:size_t $data:void* process("/root/systemtap_write/install/bin/stap").function("dump_section_list@/root/systemtap_write/systemtap/translate.cxx:6248") $name:char const* $c:struct unwindsym_dump_context* $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("dump_symbol_tables@/root/systemtap_write/systemtap/translate.cxx:6520") $m:Dwfl_Module* $c:struct unwindsym_dump_context* $modname:char const* $base:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("dump_unwind_tables@/root/systemtap_write/systemtap/translate.cxx:6744") $c:struct unwindsym_dump_context* $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("dump_unwindsym_cxt@/root/systemtap_write/systemtap/translate.cxx:6807") $m:Dwfl_Module* $c:struct unwindsym_dump_context* $name:char const* $base:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("dump_unwindsym_cxt_table@/root/systemtap_write/systemtap/translate.cxx:6759") $session:struct systemtap_session& $output:ostream& $modname:string const& $modindex:unsigned int $secname:string const& $secindex:unsigned int $table:string const& $data:void*& $len:size_t& process("/root/systemtap_write/install/bin/stap").function("dump_unwindsyms@/root/systemtap_write/systemtap/translate.cxx:7160") $m:Dwfl_Module* $userdata:void** $name:char const* $base:Dwarf_Addr $arg:void* process("/root/systemtap_write/install/bin/stap").function("duplicate_function_remover@/root/systemtap_write/systemtap/elaborate.cxx:4766") $dfm:class map, std::allocator > >& $sess:struct systemtap_session& $this:struct duplicate_function_remover* const process("/root/systemtap_write/install/bin/stap").function("dwarf_assert@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:34") $desc:string const& $rc:int $file:string const& $line:int process("/root/systemtap_write/install/bin/stap").function("dwarf_assert@/root/systemtap_write/systemtap/dwarf_wrappers.h:69") $line:int $file:string const& $ptr:void const* $desc:string const& process("/root/systemtap_write/install/bin/stap").function("dwarf_attr_die@/root/systemtap_write/systemtap/dwarf_wrappers.h:140") process("/root/systemtap_write/install/bin/stap").function("dwarf_atvar_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:4771") $db:struct dwarf_builder& $s:struct systemtap_session& $this:struct dwarf_atvar_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("dwarf_atvar_query@/root/systemtap_write/systemtap/tapsets.cxx:4785") process("/root/systemtap_write/install/bin/stap").function("dwarf_build_no_more@/root/systemtap_write/systemtap/tapsets.cxx:995") process("/root/systemtap_write/install/bin/stap").function("dwarf_cast_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:4485") $db:struct dwarf_builder& $s:struct systemtap_session& $this:struct dwarf_cast_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("dwarf_cast_query@/root/systemtap_write/systemtap/tapsets.cxx:4499") $result:struct functioncall*& $userspace_p:bool const $lvalue:bool $e:struct cast_op& $module:string const& $dw:struct dwflpp& $this:struct dwarf_cast_query* const process("/root/systemtap_write/install/bin/stap").function("dwarf_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:5021") $this:struct dwarf_derived_probe* const $funcname:struct interned_string $filename:struct interned_string $line:int $module:struct interned_string $section:struct interned_string $dwfl_addr:Dwarf_Addr $addr:Dwarf_Addr $q:struct dwarf_query& $scope_die:Dwarf_Die* $symbol_name:struct interned_string $offset:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("dwarf_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:588") process("/root/systemtap_write/install/bin/stap").function("dwarf_die_type@/root/systemtap_write/systemtap/dwflpp.cxx:3450") process("/root/systemtap_write/install/bin/stap").function("dwarf_linkage_name@/root/systemtap_write/systemtap/dwarf_wrappers.h:169") process("/root/systemtap_write/install/bin/stap").function("dwarf_pretty_print@/root/systemtap_write/systemtap/tapsets.cxx:3029") process("/root/systemtap_write/install/bin/stap").function("dwarf_pretty_print@/root/systemtap_write/systemtap/tapsets.cxx:3040") $this:struct dwarf_pretty_print* const $dw:struct dwflpp& $scope_die:Dwarf_Die* $pc:Dwarf_Addr $userspace_p:bool $e:struct target_symbol const& process("/root/systemtap_write/install/bin/stap").function("dwarf_pretty_print@/root/systemtap_write/systemtap/tapsets.cxx:3050") process("/root/systemtap_write/install/bin/stap").function("dwarf_query@/root/systemtap_write/systemtap/tapsets.cxx:1022") $this:struct dwarf_query* const $base_probe:struct probe* $base_loc:struct probe_point* $dw:struct dwflpp& $params:literal_map_t const& $results:class vector >& $user_path:struct interned_string $user_lib:struct interned_string process("/root/systemtap_write/install/bin/stap").function("dwarf_subroutine_name@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:203") $modifier:string const& $o:ostream& $subroutine:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("dwarf_type_decl@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:259") $type_die:Dwarf_Die* $var_name:string const& $decl:string& process("/root/systemtap_write/install/bin/stap").function("dwarf_type_name@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:284") $type_die:Dwarf_Die* $type_name:string& process("/root/systemtap_write/install/bin/stap").function("dwarf_type_name@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:291") $type_die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("dwarf_type_name@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:91") $type_die:Dwarf_Die* $o:ostream& $subroutine:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("dwarf_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:2817") $a:Dwarf_Addr $sd:Dwarf_Die* $q:struct dwarf_query& $this:struct dwarf_var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("dwarf_whatattr@/usr/include/elfutils/libdw.h:1010") $attr:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("dwarf_whatform@/usr/include/elfutils/libdw.h:1017") $attr:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("dwfl_assert@/root/systemtap_write/systemtap/dwarf_wrappers.cxx:21") $desc:string const& $rc:int $file:string const& $line:int process("/root/systemtap_write/install/bin/stap").function("dwfl_assert@/root/systemtap_write/systemtap/dwarf_wrappers.h:44") $line:int $file:string const& $ptr:void const* $desc:string const& process("/root/systemtap_write/install/bin/stap").function("dwfl_assert@/root/systemtap_write/systemtap/dwarf_wrappers.h:53") $line:int $file:string const& $condition:bool $desc:string const& process("/root/systemtap_write/install/bin/stap").function("dwflpp@/root/systemtap_write/systemtap/dwflpp.cxx:107") $this:struct dwflpp* const $session:struct systemtap_session& $names:class vector, std::allocator >, std::allocator, std::allocator > > > const& $kernel_p:bool process("/root/systemtap_write/install/bin/stap").function("dwflpp@/root/systemtap_write/systemtap/dwflpp.cxx:91") $this:struct dwflpp* const $session:struct systemtap_session& $name:string const& $kernel_p:bool process("/root/systemtap_write/install/bin/stap").function("dynprobe_add_uprobe@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:179") $s:struct systemtap_session& $path:string const& $offset:Dwarf_Addr const $semaphore_addr:Dwarf_Addr const $flags_string:string const $probe_init:string const process("/root/systemtap_write/install/bin/stap").function("dynprobe_add_utrace_path@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:189") $s:struct systemtap_session& $path:string const& $flags_string:string const $probe_init:string const process("/root/systemtap_write/install/bin/stap").function("dynprobe_add_utrace_pid@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:198") $s:struct systemtap_session& $pid:Dwarf_Addr const $flags_string:string const $probe_init:string const process("/root/systemtap_write/install/bin/stap").function("dynprobe_info@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:45") $pi:string const $fs:string const $sa:Dwarf_Addr const $o:Dwarf_Addr const $hp:bool $this:struct dynprobe_info* const process("/root/systemtap_write/install/bin/stap").function("echoOff@/root/systemtap_write/systemtap/nsscommon.cxx:237") $fd:int process("/root/systemtap_write/install/bin/stap").function("echoOn@/root/systemtap_write/systemtap/nsscommon.cxx:249") $fd:int process("/root/systemtap_write/install/bin/stap").function("edit_cmd@/root/systemtap_write/systemtap/interactive.cxx:770") $this:class edit_cmd* const process("/root/systemtap_write/install/bin/stap").function("elf_class_from_normalized_machine@/root/systemtap_write/systemtap/util.cxx:1120") $machine:string const& process("/root/systemtap_write/install/bin/stap").function("embedded_expr@/root/systemtap_write/systemtap/staptree.h:179") process("/root/systemtap_write/install/bin/stap").function("embedded_tags_visitor@/root/systemtap_write/systemtap/staptree.cxx:584") $this:struct embedded_tags_visitor* const $all_tags:bool process("/root/systemtap_write/install/bin/stap").function("embeddedcode@/root/systemtap_write/systemtap/staptree.h:655") process("/root/systemtap_write/install/bin/stap").function("embeddedcode_info@/root/systemtap_write/systemtap/elaborate.cxx:1599") process("/root/systemtap_write/install/bin/stap").function("embeddedcode_info_pass@/root/systemtap_write/systemtap/elaborate.cxx:1648") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit@/root/systemtap_write/systemtap/stapregex-dfa.cxx:610") $this:struct state const* const $o:class translator_output* $d:struct dfa const* process("/root/systemtap_write/install/bin/stap").function("emit@/root/systemtap_write/systemtap/stapregex-dfa.cxx:641") $this:struct dfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_address@/root/systemtap_write/systemtap/dwflpp.cxx:2688") $this:struct dwflpp* const $pool:struct obstack* $address:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("emit_base_fetch@/root/systemtap_write/systemtap/loc2c.c:1534") process("/root/systemtap_write/install/bin/stap").function("emit_base_store@/root/systemtap_write/systemtap/loc2c.c:1587") $loc:struct location* $rvalue:char const* $byte_size:Dwarf_Word $pool:struct obstack* process("/root/systemtap_write/install/bin/stap").function("emit_common_header@/root/systemtap_write/systemtap/translate.cxx:1034") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_compiled_printf_locals@/root/systemtap_write/systemtap/translate.cxx:1165") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_compiled_printfs@/root/systemtap_write/systemtap/translate.cxx:1231") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_declaration@/root/systemtap_write/systemtap/stapregex.cxx:96") $this:struct stapdfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_dyninst_probe_decl@/root/systemtap_write/systemtap/tapset-utrace.cxx:1081") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& $path:string const& $p:struct utrace_derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_final@/root/systemtap_write/systemtap/stapregex-dfa.cxx:593") $this:struct span const* const $o:class translator_output* $d:struct dfa const* process("/root/systemtap_write/install/bin/stap").function("emit_function@/root/systemtap_write/systemtap/translate.cxx:2353") $this:struct c_tmpcounter* const $fd:struct functiondecl* process("/root/systemtap_write/install/bin/stap").function("emit_function@/root/systemtap_write/systemtap/translate.cxx:2454") $this:struct c_unparser* const $v:struct functiondecl* process("/root/systemtap_write/install/bin/stap").function("emit_functionsig@/root/systemtap_write/systemtap/translate.cxx:1638") $this:struct c_unparser* const $v:struct functiondecl* process("/root/systemtap_write/install/bin/stap").function("emit_global@/root/systemtap_write/systemtap/translate.cxx:1565") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("emit_global_init@/root/systemtap_write/systemtap/translate.cxx:1604") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("emit_global_init_setters@/root/systemtap_write/systemtap/translate.cxx:1521") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_global_init_type@/root/systemtap_write/systemtap/translate.cxx:1627") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("emit_global_param@/root/systemtap_write/systemtap/translate.cxx:1484") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("emit_header@/root/systemtap_write/systemtap/loc2c.c:2445") process("/root/systemtap_write/install/bin/stap").function("emit_info@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:89") $this:struct dynprobe_derived_probe_group* const $s:struct systemtap_session& $tgt_idx:unsigned int $info:struct dynprobe_info* process("/root/systemtap_write/install/bin/stap").function("emit_interval@/root/systemtap_write/systemtap/tapset-timers.cxx:86") $this:struct timer_derived_probe_group* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_jump@/root/systemtap_write/systemtap/stapregex-dfa.cxx:572") $this:struct span const* const $o:class translator_output* $d:struct dfa const* process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_exit@/root/systemtap_write/systemtap/elaborate.h:260") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_exit@/root/systemtap_write/systemtap/tapset-procfs.cxx:178") $this:struct procfs_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_exit@/root/systemtap_write/systemtap/translate.cxx:1680") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_init@/root/systemtap_write/systemtap/elaborate.h:251") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_init@/root/systemtap_write/systemtap/tapset-procfs.cxx:169") $this:struct procfs_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_kernel_module_init@/root/systemtap_write/systemtap/translate.cxx:1646") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_linux_probe_decl@/root/systemtap_write/systemtap/tapset-utrace.cxx:738") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& $p:struct utrace_derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_loc_address@/root/systemtap_write/systemtap/loc2c.c:2485") $target:char const* $indent:int $loc:struct location* $out:FILE* process("/root/systemtap_write/install/bin/stap").function("emit_loc_register@/root/systemtap_write/systemtap/loc2c.c:2471") $target:char const* $indent:int $loc:struct location* $out:FILE* process("/root/systemtap_write/install/bin/stap").function("emit_loc_value@/root/systemtap_write/systemtap/loc2c.c:2512") $out:FILE* $loc:struct location* $indent:int $target:char const* $declare:_Bool $used_deref:_Bool* $max_stack:unsigned int* process("/root/systemtap_write/install/bin/stap").function("emit_lock_decls@/root/systemtap_write/systemtap/translate.cxx:2846") $this:struct c_unparser* const $vut:struct varuse_collecting_visitor const& process("/root/systemtap_write/install/bin/stap").function("emit_locks@/root/systemtap_write/systemtap/translate.cxx:2919") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_map_type_instantiations@/root/systemtap_write/systemtap/translate.cxx:3020") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_matchop_end@/root/systemtap_write/systemtap/stapregex.cxx:165") $this:struct stapdfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_matchop_start@/root/systemtap_write/systemtap/stapregex.cxx:159") $this:struct stapdfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-been.cxx:113") $this:struct be_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:116") $this:struct dynprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-itrace.cxx:181") $this:struct itrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-mark.cxx:482") $this:struct mark_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-netfilter.cxx:239") $this:struct netfilter_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-perfmon.cxx:108") $this:struct perf_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-procfs.cxx:192") $this:struct procfs_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-timers.cxx:246") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-timers.cxx:454") $this:struct profile_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-timers.cxx:98") $this:struct timer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapset-utrace.cxx:1195") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapsets.cxx:10071") $this:struct hwbkpt_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapsets.cxx:11064") $this:struct tracepoint_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapsets.cxx:5719") $this:struct generic_kprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/tapsets.cxx:9538") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_decls@/root/systemtap_write/systemtap/task_finder.cxx:42") $this:struct task_finder_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_decls@/root/systemtap_write/systemtap/tapset-utrace.cxx:1128") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_decls@/root/systemtap_write/systemtap/tapsets.cxx:9467") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_exit@/root/systemtap_write/systemtap/tapset-utrace.cxx:1268") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_exit@/root/systemtap_write/systemtap/tapsets.cxx:9527") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_init@/root/systemtap_write/systemtap/tapset-utrace.cxx:1228") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_dyninst_init@/root/systemtap_write/systemtap/tapsets.cxx:9516") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-been.cxx:172") $this:struct be_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:65") $this:struct dynprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-itrace.cxx:298") $this:struct itrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-mark.cxx:549") $this:struct mark_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-netfilter.cxx:406") $this:struct netfilter_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-perfmon.cxx:265") $this:struct perf_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-procfs.cxx:398") $this:struct procfs_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-timers.cxx:162") $this:struct timer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-timers.cxx:392") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-timers.cxx:541") $this:struct profile_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapset-utrace.cxx:1280") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapsets.cxx:10243") $this:struct hwbkpt_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapsets.cxx:11254") $this:struct tracepoint_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapsets.cxx:5951") $this:struct generic_kprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/tapsets.cxx:9579") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/task_finder.cxx:83") $this:struct task_finder_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_exit@/root/systemtap_write/systemtap/translate.cxx:2101") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-been.cxx:155") $this:struct be_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:63") $this:struct dynprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-itrace.cxx:265") $this:struct itrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-mark.cxx:527") $this:struct mark_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-netfilter.cxx:379") $this:struct netfilter_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-perfmon.cxx:255") $this:struct perf_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-procfs.cxx:367") $this:struct procfs_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-timers.cxx:141") $this:struct timer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-timers.cxx:315") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-timers.cxx:527") $this:struct profile_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapset-utrace.cxx:1240") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapsets.cxx:10178") $this:struct hwbkpt_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapsets.cxx:11227") $this:struct tracepoint_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapsets.cxx:5922") $this:struct generic_kprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/tapsets.cxx:9559") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/task_finder.cxx:53") $this:struct task_finder_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_init@/root/systemtap_write/systemtap/translate.cxx:1704") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_module_inode_decls@/root/systemtap_write/systemtap/tapsets.cxx:9290") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_inode_exit@/root/systemtap_write/systemtap/tapsets.cxx:9454") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_inode_init@/root/systemtap_write/systemtap/tapsets.cxx:9427") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_inode_refresh@/root/systemtap_write/systemtap/tapsets.cxx:9443") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_linux_decls@/root/systemtap_write/systemtap/tapset-utrace.cxx:826") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_linux_exit@/root/systemtap_write/systemtap/tapset-utrace.cxx:1250") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_linux_init@/root/systemtap_write/systemtap/tapset-utrace.cxx:1205") $this:struct utrace_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_maxuprobes@/root/systemtap_write/systemtap/tapsets.cxx:8899") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_perf_read_handlers@/root/systemtap_write/systemtap/tapsets.cxx:8922") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_post_init@/root/systemtap_write/systemtap/elaborate.h:285") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_post_init@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:64") $this:struct dynprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_post_init@/root/systemtap_write/systemtap/task_finder.cxx:75") $this:struct task_finder_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_refresh@/root/systemtap_write/systemtap/elaborate.h:289") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("emit_module_refresh@/root/systemtap_write/systemtap/tapset-timers.cxx:370") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_refresh@/root/systemtap_write/systemtap/tapsets.cxx:5938") $this:struct generic_kprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_refresh@/root/systemtap_write/systemtap/tapsets.cxx:9571") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_refresh@/root/systemtap_write/systemtap/translate.cxx:2033") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emit_module_utrace_decls@/root/systemtap_write/systemtap/tapsets.cxx:8974") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_utrace_exit@/root/systemtap_write/systemtap/tapsets.cxx:9215") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_module_utrace_init@/root/systemtap_write/systemtap/tapsets.cxx:9182") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_perf_read_handler@/root/systemtap_write/systemtap/tapsets.cxx:8835") $this:struct uprobe_derived_probe* const $s:struct systemtap_session& $idx:unsigned int process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/elaborate.cxx:180") $this:struct derived_probe* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapset-been.cxx:199") $this:struct never_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapset-been.cxx:56") $this:struct be_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapset-timers.cxx:213") $this:struct hrtimer_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapset-timers.cxx:42") $this:struct timer_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapset-utrace.cxx:220") $this:struct utrace_derived_probe* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapsets.cxx:5462") $this:struct dwarf_derived_probe* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_privilege_assertion@/root/systemtap_write/systemtap/tapsets.cxx:8826") $this:struct uprobe_derived_probe* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_probe@/root/systemtap_write/systemtap/translate.cxx:2591") $this:struct c_tmpcounter* const $dp:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_probe@/root/systemtap_write/systemtap/translate.cxx:2653") $this:struct c_unparser* const $v:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_probe_condition_update@/root/systemtap_write/systemtap/translate.cxx:2816") $this:struct c_unparser* const $v:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_probe_decl@/root/systemtap_write/systemtap/tapset-itrace.cxx:154") $this:struct itrace_derived_probe_group* const $s:struct systemtap_session& $p:struct itrace_derived_probe* process("/root/systemtap_write/install/bin/stap").function("emit_probe_local_init@/root/systemtap_write/systemtap/elaborate.h:204") $this:struct derived_probe* const process("/root/systemtap_write/install/bin/stap").function("emit_probe_local_init@/root/systemtap_write/systemtap/tapsets.cxx:5657") $this:struct dwarf_derived_probe* const $s:struct systemtap_session& $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_process_owner_assertion@/root/systemtap_write/systemtap/elaborate.cxx:194") $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("emit_symbol_data@/root/systemtap_write/systemtap/translate.cxx:7358") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_symbol_data_done@/root/systemtap_write/systemtap/translate.cxx:7486") $ctx:struct unwindsym_dump_context* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("emit_tagsave@/root/systemtap_write/systemtap/stapregex-dfa.cxx:665") $this:struct dfa const* const process("/root/systemtap_write/install/bin/stap").function("emit_unlocks@/root/systemtap_write/systemtap/translate.cxx:2928") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("emplace@/usr/include/c++/4.8.2/bits/vector.tcc:294") $this:class vector >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("emplace, std::allocator > >@/usr/include/c++/4.8.2/bits/vector.tcc:294") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__position:iterator process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/stl_list.h:1025") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/stl_list.h:1025") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator >&>@/usr/include/c++/4.8.2/bits/stl_list.h:1025") process("/root/systemtap_write/install/bin/stap").function("emplace_back&>@/usr/include/c++/4.8.2/bits/stl_list.h:1025") $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/deque.tcc:131") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/stl_list.h:1025") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator > >@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator >&, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back >@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back >@/usr/include/c++/4.8.2/bits/deque.tcc:131") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back >@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back >@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back >@/usr/include/c++/4.8.2/bits/deque.tcc:131") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator >, match_item*> >@/usr/include/c++/4.8.2/bits/deque.tcc:131") $this:class deque, std::allocator >, match_item*>, std::allocator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/bits/vector.tcc:91") process("/root/systemtap_write/install/bin/stap").function("emplace_back, std::allocator >, unsigned int> >@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector, std::allocator >, unsigned int>, std::allocator, std::allocator >, unsigned int> > >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/vector.tcc:91") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("emplace_back@/usr/include/c++/4.8.2/bits/deque.tcc:131") $this:class deque >* const process("/root/systemtap_write/install/bin/stap").function("emplace_front >@/usr/include/c++/4.8.2/bits/deque.tcc:115") $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("empty@/root/systemtap_write/systemtap/csclient.cxx:107") process("/root/systemtap_write/install/bin/stap").function("empty@/usr/include/c++/4.8.2/bits/basic_string.h:811") process("/root/systemtap_write/install/bin/stap").function("empty@/usr/include/c++/4.8.2/bits/stl_list.h:868") process("/root/systemtap_write/install/bin/stap").function("empty@/usr/include/c++/4.8.2/bits/stl_map.h:429") $this:class map, std::allocator >, functiondecl*, std::less, std::allocator > >, std::allocator, std::allocator >, functiondecl*> > > const* const process("/root/systemtap_write/install/bin/stap").function("empty@/usr/include/c++/4.8.2/bits/stl_tree.h:723") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, functiondecl*>, std::_Select1st, std::allocator >, functiondecl*> >, std::less, std::allocator > >, std::allocator, std::allocator >, functiondecl*> > > const* const process("/root/systemtap_write/install/bin/stap").function("enable_auto_server@/root/systemtap_write/systemtap/session.cxx:2636") $this:struct systemtap_session* const $message:string const& process("/root/systemtap_write/install/bin/stap").function("enable_dynprobes@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:172") process("/root/systemtap_write/install/bin/stap").function("enable_task_finder@/root/systemtap_write/systemtap/task_finder.cxx:100") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("enable_vma_tracker@/root/systemtap_write/systemtap/task_finder.cxx:112") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/basic_string.h:624") $this:class basic_string, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/basic_string.h:635") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_deque.h:1054") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_deque.h:1063") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_list.h:776") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_list.h:785") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_map.h:338") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_map.h:347") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_multimap.h:332") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_set.h:307") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_tree.h:696") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_tree.h:700") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/bits/stl_vector.h:556") process("/root/systemtap_write/install/bin/stap").function("end@/usr/include/c++/4.8.2/initializer_list:79") process("/root/systemtap_write/install/bin/stap").function("end_log@/root/systemtap_write/systemtap/nsscommon.cxx:141") process("/root/systemtap_write/install/bin/stap").function("endl >@/usr/include/c++/4.8.2/ostream:564") process("/root/systemtap_write/install/bin/stap").function("endswith@/root/systemtap_write/systemtap/util.h:326") process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapset-itrace.cxx:139") $this:struct itrace_derived_probe_group* const $p:struct itrace_derived_probe* process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapset-procfs.cxx:133") $this:struct procfs_derived_probe_group* const $p:struct procfs_derived_probe* process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapset-utrace.cxx:722") $this:struct utrace_derived_probe_group* const $p:struct utrace_derived_probe* process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapsets.cxx:10055") $this:struct hwbkpt_derived_probe_group* const $p:struct hwbkpt_derived_probe* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapsets.cxx:5708") $this:struct generic_kprobe_derived_probe_group* const $p:struct generic_kprobe_derived_probe* process("/root/systemtap_write/install/bin/stap").function("enroll@/root/systemtap_write/systemtap/tapsets.h:55") process("/root/systemtap_write/install/bin/stap").function("enter_element@/root/systemtap_write/systemtap/coveragedb.cxx:156") $db:sqlite3* $x:class coverage_element& process("/root/systemtap_write/install/bin/stap").function("enter_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2303") $this:struct functioncall_traversing_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("entry_op@/root/systemtap_write/systemtap/staptree.h:390") process("/root/systemtap_write/install/bin/stap").function("eof@/usr/include/c++/4.8.2/bits/basic_ios.h:184") process("/root/systemtap_write/install/bin/stap").function("equal<__gnu_cxx::__normal_iterator*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:1021") process("/root/systemtap_write/install/bin/stap").function("equal*, const std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:794") $__first2:class basic_string, std::allocator > const* $__first1:class basic_string, std::allocator > const* process("/root/systemtap_write/install/bin/stap").function("equal_range<__gnu_cxx::__normal_iterator >, Dwarf_Line_s*, lineno_comparator>@/usr/include/c++/4.8.2/bits/stl_algo.h:2636") process("/root/systemtap_write/install/bin/stap").function("equal_range@/usr/include/c++/4.8.2/bits/hashtable.h:1091") $__k:key_type const& process("/root/systemtap_write/install/bin/stap").function("equal_range@/usr/include/c++/4.8.2/bits/stl_multimap.h:821") process("/root/systemtap_write/install/bin/stap").function("equal_range@/usr/include/c++/4.8.2/bits/stl_tree.h:1202") process("/root/systemtap_write/install/bin/stap").function("equal_range@/usr/include/c++/4.8.2/bits/stl_tree.h:1233") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, std::basic_string, std::allocator > >, std::_Select1st, std::allocator >, std::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const* const $__k:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("equal_range@/usr/include/c++/4.8.2/bits/unordered_map.h:1232") process("/root/systemtap_write/install/bin/stap").function("erase@/root/systemtap_write/systemtap/util.cxx:621") $p:pid_t $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/basic_string.h:1362") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/hashtable.h:684") $__k:key_type const& $this:class _Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/list.tcc:108") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_list.h:1193") $__first:iterator process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_map.h:696") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_map.h:726") $__x:key_type const& $this:class map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_multimap.h:601") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_set.h:551") $this:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_set.h:581") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_tree.h:1766") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_tree.h:805") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_tree.h:816") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/stl_tree.h:840") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/unordered_map.h:1132") process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/vector.tcc:134") $__position:iterator process("/root/systemtap_write/install/bin/stap").function("erase@/usr/include/c++/4.8.2/bits/vector.tcc:146") process("/root/systemtap_write/install/bin/stap").function("errsrc_chain@/root/systemtap_write/systemtap/session.h:106") $this:struct parse_error const* const process("/root/systemtap_write/install/bin/stap").function("errsrc_chain@/root/systemtap_write/systemtap/staptree.h:72") $this:struct semantic_error const* const process("/root/systemtap_write/install/bin/stap").function("escape_glob_chars@/root/systemtap_write/systemtap/util.cxx:1022") $str:string const& process("/root/systemtap_write/install/bin/stap").function("escaped_indentifier_string@/root/systemtap_write/systemtap/util.cxx:1065") $str:string const& process("/root/systemtap_write/install/bin/stap").function("eval_comparison@/root/systemtap_write/systemtap/parse.cxx:360") $lhs:long int const& $op:struct token const* $rhs:long int const& process("/root/systemtap_write/install/bin/stap").function("eval_comparison >@/root/systemtap_write/systemtap/parse.cxx:360") $lhs:class basic_string, std::allocator > const& $op:struct token const* $rhs:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("eval_pp_conditional@/root/systemtap_write/systemtap/parse.cxx:811") $s:struct systemtap_session& $l:struct token const* $op:struct token const* $r:struct token const* process("/root/systemtap_write/install/bin/stap").function("execute_abrt_action_install_debuginfo_to_abrt_cache@/root/systemtap_write/systemtap/setupdwfl.cxx:650") $hex:string process("/root/systemtap_write/install/bin/stap").function("exists@/root/systemtap_write/systemtap/translate.cxx:726") $this:struct mapvar const* const $indices:class vector > const& process("/root/systemtap_write/install/bin/stap").function("exit_exception@/root/systemtap_write/systemtap/session.h:463") $this:struct exit_exception* const $rc:int process("/root/systemtap_write/install/bin/stap").function("exp_type_dwarf@/root/systemtap_write/systemtap/tapsets.cxx:4700") $this:struct exp_type_dwarf* const $dw:struct dwflpp* $die:Dwarf_Die* $userspace_p:bool $addressof:bool process("/root/systemtap_write/install/bin/stap").function("expand@/root/systemtap_write/systemtap/elaborate.cxx:5684") $this:struct exp_type_null* const process("/root/systemtap_write/install/bin/stap").function("expand@/root/systemtap_write/systemtap/tapsets.cxx:3117") $this:struct dwarf_pretty_print* const process("/root/systemtap_write/install/bin/stap").function("expand@/root/systemtap_write/systemtap/tapsets.cxx:4716") $this:struct exp_type_dwarf* const $e:struct autocast_op* $lvalue:bool process("/root/systemtap_write/install/bin/stap").function("expandable@/root/systemtap_write/systemtap/elaborate.cxx:5683") $this:struct exp_type_null const* const process("/root/systemtap_write/install/bin/stap").function("expandable@/root/systemtap_write/systemtap/tapsets.cxx:516") $this:struct exp_type_dwarf const* const process("/root/systemtap_write/install/bin/stap").function("expect@/root/systemtap_write/systemtap/stapregex-parse.cxx:320") $this:class regex_parser* const $expected:char process("/root/systemtap_write/install/bin/stap").function("expect_ident_or_atword@/root/systemtap_write/systemtap/parse.cxx:1350") $this:class parser* const $target:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("expect_ident_or_keyword@/root/systemtap_write/systemtap/parse.cxx:1367") process("/root/systemtap_write/install/bin/stap").function("expect_known@/root/systemtap_write/systemtap/parse.cxx:1237") $this:class parser* const $tt:enum token_type $expected:string const& process("/root/systemtap_write/install/bin/stap").function("expect_kw@/root/systemtap_write/systemtap/parse.cxx:1298") $this:class parser* const $expected:string const& process("/root/systemtap_write/install/bin/stap").function("expect_kw_token@/root/systemtap_write/systemtap/parse.cxx:1304") $this:class parser* const $expected:string const& process("/root/systemtap_write/install/bin/stap").function("expect_number@/root/systemtap_write/systemtap/parse.cxx:1313") $this:class parser* const $value:int64_t& process("/root/systemtap_write/install/bin/stap").function("expect_op@/root/systemtap_write/systemtap/parse.cxx:1269") $this:class parser* const $expected:string const& process("/root/systemtap_write/install/bin/stap").function("expect_op_any@/root/systemtap_write/systemtap/parse.cxx:1275") $this:class parser* const $expected:class initializer_list process("/root/systemtap_write/install/bin/stap").function("expect_unknown2@/root/systemtap_write/systemtap/parse.cxx:1258") $this:class parser* const $tt1:enum token_type $tt2:enum token_type $target:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("expect_unknown@/root/systemtap_write/systemtap/parse.cxx:1247") $this:class parser* const $tt:enum token_type $target:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("explain_auto_options@/root/systemtap_write/systemtap/session.cxx:2657") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("expr_statement@/root/systemtap_write/systemtap/staptree.h:722") process("/root/systemtap_write/install/bin/stap").function("express_as_string@/root/systemtap_write/systemtap/dwflpp.cxx:3795") $this:struct dwflpp* const $prelude:string $postlude:string $head:struct location* process("/root/systemtap_write/install/bin/stap").function("expression@/root/systemtap_write/systemtap/staptree.cxx:32") process("/root/systemtap_write/install/bin/stap").function("expression@/root/systemtap_write/systemtap/staptree.h:140") process("/root/systemtap_write/install/bin/stap").function("expression_build_no_more_visitor@/root/systemtap_write/systemtap/elaborate.cxx:1712") $this:struct expression_build_no_more_visitor* const process("/root/systemtap_write/install/bin/stap").function("expression_is_arrayindex@/root/systemtap_write/systemtap/translate.cxx:3910") $hist:struct arrayindex*& $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("expression_is_functioncall@/root/systemtap_write/systemtap/translate.cxx:3235") $this:struct expression_is_functioncall* const process("/root/systemtap_write/install/bin/stap").function("expression_visitor@/root/systemtap_write/systemtap/staptree.h:1019") $this:struct expression_visitor* const process("/root/systemtap_write/install/bin/stap").function("external_function_cu_callback@/root/systemtap_write/systemtap/dwflpp.cxx:2056") $cu:Dwarf_Die* $efq:struct external_function_query* process("/root/systemtap_write/install/bin/stap").function("external_function_func_callback@/root/systemtap_write/systemtap/dwflpp.cxx:2064") $func:Dwarf_Die* $efq:struct external_function_query* process("/root/systemtap_write/install/bin/stap").function("external_function_query@/root/systemtap_write/systemtap/dwflpp.cxx:2051") process("/root/systemtap_write/install/bin/stap").function("fail@/usr/include/c++/4.8.2/bits/basic_ios.h:195") process("/root/systemtap_write/install/bin/stap").function("fetch_existing_aggregate@/root/systemtap_write/systemtap/translate.cxx:713") $this:struct mapvar const* const process("/root/systemtap_write/install/bin/stap").function("fetch_tos_register@/root/systemtap_write/systemtap/loc2c.c:368") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $tailpiece:struct location** $piece_expr_start:size_t $piece_total_bytes:Dwarf_Word $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("fgets@/usr/include/bits/stdio2.h:253") process("/root/systemtap_write/install/bin/stap").function("file_exists@/root/systemtap_write/systemtap/util.cxx:93") $path:string const& process("/root/systemtap_write/install/bin/stap").function("fill@/usr/include/c++/4.8.2/bits/stl_algobase.h:721") process("/root/systemtap_write/install/bin/stap").function("fill@/usr/include/c++/4.8.2/bits/stl_algobase.h:721") process("/root/systemtap_write/install/bin/stap").function("fill*, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_algobase.h:721") $__value:class basic_string, std::allocator > const& $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("fill@/usr/include/c++/4.8.2/bits/basic_ios.h:364") process("/root/systemtap_write/install/bin/stap").function("fill@/usr/include/c++/4.8.2/bits/basic_ios.h:384") process("/root/systemtap_write/install/bin/stap").function("fill_n@/usr/include/c++/4.8.2/bits/stl_algobase.h:781") process("/root/systemtap_write/install/bin/stap").function("fill_n@/usr/include/c++/4.8.2/bits/stl_algobase.h:781") process("/root/systemtap_write/install/bin/stap").function("fill_n@/usr/include/c++/4.8.2/bits/stl_algobase.h:781") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("fill_n@/usr/include/c++/4.8.2/bits/stl_algobase.h:781") $__n:long unsigned int $__first:unsigned int* process("/root/systemtap_write/install/bin/stap").function("filter_special_modules@/root/systemtap_write/systemtap/tapsets.cxx:4588") $this:struct dwarf_cast_expanding_visitor* const $module:string& process("/root/systemtap_write/install/bin/stap").function("filtered_all@/root/systemtap_write/systemtap/tapsets.cxx:1688") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("final_function_name@/root/systemtap_write/systemtap/tapsets.cxx:1659") $this:struct dwarf_query* const $final_func:struct interned_string $final_file:struct interned_string $final_line:int process("/root/systemtap_write/install/bin/stap").function("find<__gnu_cxx::__normal_iterator >, compile_server_info>@/usr/include/c++/4.8.2/bits/stl_algo.h:4432") $__val:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("find<__gnu_cxx::__normal_iterator >, stapfile*>@/usr/include/c++/4.8.2/bits/stl_algo.h:4432") process("/root/systemtap_write/install/bin/stap").function("find<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_algo.h:4432") $__val:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("find, vardecl*>@/usr/include/c++/4.8.2/bits/stl_algo.h:4432") $__val:struct vardecl* const& process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/basic_string.h:1846") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/basic_string.h:1861") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/hashtable.h:1019") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_map.h:821") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_map.h:836") $__x:key_type const& process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_set.h:662") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_set.h:666") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_tree.h:1789") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/stl_tree.h:1802") process("/root/systemtap_write/install/bin/stap").function("find@/usr/include/c++/4.8.2/bits/unordered_map.h:542") process("/root/systemtap_write/install/bin/stap").function("find_and_build@/root/systemtap_write/systemtap/elaborate.cxx:437") $this:class match_node* const $s:struct systemtap_session& $p:struct probe* $loc:struct probe_point* $pos:unsigned int $results:class vector >& $builders:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("find_and_connect_to_server@/root/systemtap_write/systemtap/csclient.cxx:1156") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("find_debug_frame_offset@/root/systemtap_write/systemtap/translate.cxx:6323") $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("find_debug_rpms@/root/systemtap_write/systemtap/rpm_finder.cxx:238") $sess:struct systemtap_session& $filename:char const* process("/root/systemtap_write/install/bin/stap").function("find_devel_rpms@/root/systemtap_write/systemtap/rpm_finder.cxx:253") $sess:struct systemtap_session& $filename:char const* process("/root/systemtap_write/install/bin/stap").function("find_equivalent@/root/systemtap_write/systemtap/stapregex-dfa.cxx:389") $this:struct dfa* const $s:struct state* process("/root/systemtap_write/install/bin/stap").function("find_executable@/root/systemtap_write/systemtap/util.cxx:431") $name:string const& process("/root/systemtap_write/install/bin/stap").function("find_executable@/root/systemtap_write/systemtap/util.cxx:437") $name:string const& $sysroot:string const& $sysenv:class map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const& $env_path:string const& process("/root/systemtap_write/install/bin/stap").function("find_first_not_of@/usr/include/c++/4.8.2/bits/basic_string.h:2079") $__pos:size_type process("/root/systemtap_write/install/bin/stap").function("find_first_not_of@/usr/include/c++/4.8.2/bits/basic_string.h:2110") process("/root/systemtap_write/install/bin/stap").function("find_first_of@/usr/include/c++/4.8.2/bits/basic_string.h:1952") process("/root/systemtap_write/install/bin/stap").function("find_first_of@/usr/include/c++/4.8.2/bits/basic_string.h:1982") process("/root/systemtap_write/install/bin/stap").function("find_first_of@/usr/include/c++/4.8.2/bits/basic_string.h:2001") $__pos:size_type $__c:char $this:class basic_string, std::allocator > const* const process("/root/systemtap_write/install/bin/stap").function("find_functions@/root/systemtap_write/systemtap/elaborate.cxx:2755") $this:struct symresolution_info* const $name:string const& $arity:unsigned int $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("find_last_of@/usr/include/c++/4.8.2/bits/basic_string.h:2065") $__pos:size_type $__c:char $this:class basic_string, std::allocator > const* const process("/root/systemtap_write/install/bin/stap").function("find_script_hash@/root/systemtap_write/systemtap/hash.cxx:213") $s:struct systemtap_session& $script:string const& process("/root/systemtap_write/install/bin/stap").function("find_stapconf_hash@/root/systemtap_write/systemtap/hash.cxx:291") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("find_struct_member@/root/systemtap_write/systemtap/dwflpp.cxx:3362") $this:struct dwflpp* const $c:struct component const& $parentdie:Dwarf_Die* $memberdie:Dwarf_Die* $dies:class vector >& $locs:class vector >& process("/root/systemtap_write/install/bin/stap").function("find_tags_in_code@/root/systemtap_write/systemtap/staptree.cxx:604") $this:struct embedded_tags_visitor* const $s:string const& process("/root/systemtap_write/install/bin/stap").function("find_tracequery_hash@/root/systemtap_write/systemtap/hash.cxx:313") $s:struct systemtap_session& $header:string const& process("/root/systemtap_write/install/bin/stap").function("find_typequery_hash@/root/systemtap_write/systemtap/hash.cxx:337") $s:struct systemtap_session& $name:string const& process("/root/systemtap_write/install/bin/stap").function("find_uprobes_hash@/root/systemtap_write/systemtap/hash.cxx:363") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("find_var@/root/systemtap_write/systemtap/elaborate.cxx:2667") $this:struct symresolution_info* const $name:struct interned_string $arity:int $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("find_variable_and_frame_base@/root/systemtap_write/systemtap/dwflpp.cxx:2800") $this:struct dwflpp* const $scopes:class vector >& $pc:Dwarf_Addr $local:string const& $e:struct target_symbol const* $vardie:Dwarf_Die* $fb_attr_mem:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("find_vdso@/root/systemtap_write/systemtap/translate.cxx:7290") $path:char const* $type:int process("/root/systemtap_write/install/bin/stap").function("fini@/root/systemtap_write/systemtap/translate.cxx:517") process("/root/systemtap_write/install/bin/stap").function("fini@/root/systemtap_write/systemtap/translate.cxx:846") process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/loc2c.c:414") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:1095") $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:532") process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:635") process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:825") process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:901") process("/root/systemtap_write/install/bin/stap").function("finish@/root/systemtap_write/systemtap/remote.cxx:96") process("/root/systemtap_write/install/bin/stap").function("flags@/usr/include/c++/4.8.2/bits/ios_base.h:562") $this:class ios_base* const $__fmtfl:fmtflags process("/root/systemtap_write/install/bin/stap").function("flush >@/usr/include/c++/4.8.2/ostream:586") $__os:class basic_ostream >& process("/root/systemtap_write/install/bin/stap").function("flush_to_stream@/root/systemtap_write/systemtap/csclient.cxx:1621") $this:class compile_server_client* const $fname:string const& $o:ostream& process("/root/systemtap_write/install/bin/stap").function("focus_on_cu@/root/systemtap_write/systemtap/dwflpp.cxx:208") $this:struct dwflpp* const $c:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("focus_on_function@/root/systemtap_write/systemtap/dwflpp.cxx:229") $this:struct dwflpp* const $f:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("focus_on_module@/root/systemtap_write/systemtap/dwflpp.cxx:178") $this:struct dwflpp* const $m:Dwfl_Module* $mi:struct module_info* process("/root/systemtap_write/install/bin/stap").function("for_loop@/root/systemtap_write/systemtap/staptree.h:685") process("/root/systemtap_write/install/bin/stap").function("foreach_loop@/root/systemtap_write/systemtap/staptree.h:696") $this:struct foreach_loop* const process("/root/systemtap_write/install/bin/stap").function("forked_parse_pass@/root/systemtap_write/systemtap/interactive.cxx:1533") $s:struct systemtap_session& $script:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("forked_passes_0_4@/root/systemtap_write/systemtap/interactive.cxx:1495") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("forked_semantic_pass@/root/systemtap_write/systemtap/interactive.cxx:1580") $s:struct systemtap_session& $script:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("format_cert_validity_time@/root/systemtap_write/systemtap/nsscommon.cxx:1117") $vTime:SECItem& $timeString:char* $ts_size:size_t process("/root/systemtap_write/install/bin/stap").function("format_component@/root/systemtap_write/systemtap/staptree.h:476") process("/root/systemtap_write/install/bin/stap").function("format_component@/root/systemtap_write/systemtap/staptree.h:505") process("/root/systemtap_write/install/bin/stap").function("forward_as_tuple@/usr/include/c++/4.8.2/tuple:869") process("/root/systemtap_write/install/bin/stap").function("forward_as_tuple, std::allocator > >@/usr/include/c++/4.8.2/tuple:869") process("/root/systemtap_write/install/bin/stap").function("forward_as_tuple, std::allocator >, std::basic_string, std::allocator > > >@/usr/include/c++/4.8.2/tuple:869") process("/root/systemtap_write/install/bin/stap").function("fpos@/usr/include/c++/4.8.2/bits/postypes.h:123") process("/root/systemtap_write/install/bin/stap").function("fprintf@/usr/include/bits/stdio2.h:95") process("/root/systemtap_write/install/bin/stap").function("frame_dummy") process("/root/systemtap_write/install/bin/stap").function("fread@/usr/include/bits/stdio2.h:282") process("/root/systemtap_write/install/bin/stap").function("from_globby_comp@/root/systemtap_write/systemtap/staptree.cxx:113") $this:struct probe_point* const $comp:string const& process("/root/systemtap_write/install/bin/stap").function("front@/usr/include/c++/4.8.2/bits/stl_vector.h:839") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("fstat@/usr/include/sys/stat.h:468") process("/root/systemtap_write/install/bin/stap").function("full_match@/root/systemtap_write/systemtap/interactive.cxx:228") $this:struct match_item* const $text:string const& process("/root/systemtap_write/install/bin/stap").function("func_info@/root/systemtap_write/systemtap/dwflpp.h:158") process("/root/systemtap_write/install/bin/stap").function("func_info@/root/systemtap_write/systemtap/dwflpp.h:160") $this:struct func_info* const process("/root/systemtap_write/install/bin/stap").function("func_is_exported@/root/systemtap_write/systemtap/dwflpp.cxx:508") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("func_is_inline@/root/systemtap_write/systemtap/dwflpp.cxx:500") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("function_die@/root/systemtap_write/systemtap/dwflpp.cxx:2555") $this:struct dwflpp* const $d:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("function_entrypc@/root/systemtap_write/systemtap/dwflpp.cxx:2488") $this:struct dwflpp* const $addr:Dwarf_Addr* process("/root/systemtap_write/install/bin/stap").function("function_file@/root/systemtap_write/systemtap/dwflpp.cxx:2563") $this:struct dwflpp* const $c:char const** process("/root/systemtap_write/install/bin/stap").function("function_keysym@/root/systemtap_write/systemtap/translate.cxx:678") $this:struct mapvar const* const $fname:string const& $pre_agg:bool process("/root/systemtap_write/install/bin/stap").function("function_line@/root/systemtap_write/systemtap/dwflpp.cxx:2582") $this:struct dwflpp* const $linep:int* process("/root/systemtap_write/install/bin/stap").function("function_name_matches@/root/systemtap_write/systemtap/dwflpp.cxx:303") $this:struct dwflpp* const $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("function_name_matches_pattern@/root/systemtap_write/systemtap/dwflpp.cxx:293") $this:struct dwflpp* const $name:string const& $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("function_next_check@/root/systemtap_write/systemtap/elaborate.cxx:4674") process("/root/systemtap_write/install/bin/stap").function("function_scope_matches@/root/systemtap_write/systemtap/dwflpp.cxx:311") $this:struct dwflpp* const $scopes:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("functioncall@/root/systemtap_write/systemtap/staptree.cxx:77") $this:struct functioncall* const process("/root/systemtap_write/install/bin/stap").function("functioncall@/root/systemtap_write/systemtap/staptree.h:417") $this:struct functioncall* const process("/root/systemtap_write/install/bin/stap").function("functioncall_traversing_visitor@/root/systemtap_write/systemtap/staptree.h:1056") process("/root/systemtap_write/install/bin/stap").function("functioncall_traversing_visitor@/root/systemtap_write/systemtap/staptree.h:1061") process("/root/systemtap_write/install/bin/stap").function("functiondecl@/root/systemtap_write/systemtap/staptree.cxx:214") $this:struct functiondecl* const process("/root/systemtap_write/install/bin/stap").function("functions_have_lineno@/root/systemtap_write/systemtap/dwflpp.cxx:1714") $funcs:base_func_info_map_t& $lines:lines_t* $lineno:int process("/root/systemtap_write/install/bin/stap").function("gen_cert_db@/root/systemtap_write/systemtap/nsscommon.cxx:919") $db_path:string const& $extraDnsNames:string const& $use_password:bool process("/root/systemtap_write/install/bin/stap").function("gen_dfa_table@/root/systemtap_write/systemtap/elaborate.cxx:1678") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("gen_kretprobe_saved_return@/root/systemtap_write/systemtap/tapsets.cxx:4062") $this:struct dwarf_var_expanding_visitor* const $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("gen_mapped_saved_return@/root/systemtap_write/systemtap/tapsets.cxx:3803") $sess:struct systemtap_session& $e:struct expression* $name:string const& $add_block:struct block*& $add_block_tid:bool& $add_call_probe:struct block*& $add_call_probe_tid:bool& process("/root/systemtap_write/install/bin/stap").function("gen_mapped_saved_return@/root/systemtap_write/systemtap/tapsets.cxx:4052") $this:struct dwarf_var_expanding_visitor* const $e:struct expression* $name:string const& process("/root/systemtap_write/install/bin/stap").function("gen_monitor_data@/root/systemtap_write/systemtap/elaborate.cxx:2053") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("generate_cert_request@/root/systemtap_write/systemtap/nsscommon.cxx:459") $subject:CERTName* $pubk:SECKEYPublicKey* process("/root/systemtap_write/install/bin/stap").function("generate_private_key@/root/systemtap_write/systemtap/nsscommon.cxx:421") $pubkeyp:SECKEYPublicKey** $slot:PK11SlotInfo* $db_path:string const& process("/root/systemtap_write/install/bin/stap").function("generic_dpg@/root/systemtap_write/systemtap/tapsets.h:54") process("/root/systemtap_write/install/bin/stap").function("generic_kprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:412") $this:struct generic_kprobe_derived_probe* const $base:struct probe* $location:struct probe_point* $module:struct interned_string $section:struct interned_string $addr:Dwarf_Addr $has_return:bool $has_maxactive:bool $maxactive_val:int64_t $symbol_name:struct interned_string $offset:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("gensym@/root/systemtap_write/systemtap/translate.cxx:3514") process("/root/systemtap_write/install/bin/stap").function("gensym_aggregate@/root/systemtap_write/systemtap/translate.cxx:3520") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("get@/root/systemtap_write/systemtap/translate.cxx:737") $this:struct mapvar const* const $indices:class vector > const& $pre_agg:bool process("/root/systemtap_write/install/bin/stap").function("get_alias@/root/systemtap_write/systemtap/elaborate.cxx:812") $this:struct alias_derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("get_alias@/root/systemtap_write/systemtap/staptree.h:846") $this:struct probe const* const process("/root/systemtap_write/install/bin/stap").function("get_alias_loc@/root/systemtap_write/systemtap/elaborate.cxx:813") $this:struct alias_derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("get_alias_loc@/root/systemtap_write/systemtap/staptree.h:847") $this:struct probe const* const process("/root/systemtap_write/install/bin/stap").function("get_all_server_info@/root/systemtap_write/systemtap/csclient.cxx:2586") $s:struct systemtap_session& $servers:class vector >& process("/root/systemtap_write/install/bin/stap").function("get_assignment_symbol_within_expression@/root/systemtap_write/systemtap/elaborate.cxx:3129") $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("get_base_hash@/root/systemtap_write/systemtap/hash.cxx:134") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("get_bitfield@/root/systemtap_write/systemtap/loc2c.c:1840") $die:Dwarf_Die* $bit_offset:Dwarf_Word* $bit_size:Dwarf_Word* $loc:struct location* $attr_mem:Dwarf_Attribute process("/root/systemtap_write/install/bin/stap").function("get_blacklist_section@/root/systemtap_write/systemtap/dwflpp.cxx:4450") $this:struct dwflpp* const $addr:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("get_cached_uprobes@/root/systemtap_write/systemtap/buildrun.cxx:639") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("get_cert_list_from_db@/root/systemtap_write/systemtap/nsscommon.cxx:1087") $cert_nickname:string const& process("/root/systemtap_write/install/bin/stap").function("get_cert_serial_number@/root/systemtap_write/systemtap/cscommon.cxx:119") $cert:CERTCertificate const* process("/root/systemtap_write/install/bin/stap").function("get_cfa_ops@/root/systemtap_write/systemtap/dwflpp.cxx:4581") $this:struct dwflpp* const $pc:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("get_compiled_printf@/root/systemtap_write/systemtap/translate.cxx:1148") $this:struct c_unparser* const $print_to_stream:bool $format:string const& process("/root/systemtap_write/install/bin/stap").function("get_compiled_printf@/root/systemtap_write/systemtap/translate.cxx:1158") $this:struct c_tmpcounter* const $print_to_stream:bool $format:string const& process("/root/systemtap_write/install/bin/stap").function("get_cu_lines_sorted_by_lineno@/root/systemtap_write/systemtap/dwflpp.cxx:1545") $this:struct dwflpp* const $srcfile:char const* process("/root/systemtap_write/install/bin/stap").function("get_default_server_info@/root/systemtap_write/systemtap/csclient.cxx:2612") $s:struct systemtap_session& $servers:class vector >& process("/root/systemtap_write/install/bin/stap").function("get_die_parents@/root/systemtap_write/systemtap/dwflpp.cxx:661") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("get_file_size@/root/systemtap_write/systemtap/util.cxx:69") $path:string const& process("/root/systemtap_write/install/bin/stap").function("get_file_size@/root/systemtap_write/systemtap/util.cxx:81") $fd:int process("/root/systemtap_write/install/bin/stap").function("get_first_func@/root/systemtap_write/systemtap/tapsets.cxx:8579") $this:struct symbol_table* const process("/root/systemtap_write/install/bin/stap").function("get_foreach_loop_value@/root/systemtap_write/systemtap/translate.cxx:3979") $this:struct c_unparser* const $ai:struct arrayindex* $value:string& process("/root/systemtap_write/install/bin/stap").function("get_from_elf@/root/systemtap_write/systemtap/tapsets.cxx:8498") $this:struct symbol_table* const process("/root/systemtap_write/install/bin/stap").function("get_func_containing_address@/root/systemtap_write/systemtap/tapsets.cxx:8569") $this:struct symbol_table* const $addr:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("get_func_first_line@/root/systemtap_write/systemtap/dwflpp.cxx:1591") process("/root/systemtap_write/install/bin/stap").function("get_funcs_in_srcfile@/root/systemtap_write/systemtap/dwflpp.cxx:1804") $srcfile:char const* $funcs:base_func_info_map_t& process("/root/systemtap_write/install/bin/stap").function("get_functionsig@/root/systemtap_write/systemtap/elaborate.cxx:4797") process("/root/systemtap_write/install/bin/stap").function("get_gid@/root/systemtap_write/systemtap/util.cxx:232") $group_name:char const* process("/root/systemtap_write/install/bin/stap").function("get_hist@/root/systemtap_write/systemtap/translate.cxx:625") $this:struct aggvar const* const $index:class var& process("/root/systemtap_write/install/bin/stap").function("get_home_directory@/root/systemtap_write/systemtap/util.cxx:52") process("/root/systemtap_write/install/bin/stap").function("get_kern_dw@/root/systemtap_write/systemtap/tapsets.cxx:980") process("/root/systemtap_write/install/bin/stap").function("get_kernel_build_id@/root/systemtap_write/systemtap/setupdwfl.cxx:735") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("get_key@/root/systemtap_write/systemtap/translate.cxx:914") $this:class itervar const* const $mv:struct mapvar const& $ty:enum exp_type $i:unsigned int process("/root/systemtap_write/install/bin/stap").function("get_literal@/root/systemtap_write/systemtap/elaborate.cxx:4023") $this:struct const_folder* const $e:struct expression*& $n:struct literal_number*& $s:struct literal_string*& process("/root/systemtap_write/install/bin/stap").function("get_locals@/root/systemtap_write/systemtap/dwflpp.cxx:2757") process("/root/systemtap_write/install/bin/stap").function("get_locals_die@/root/systemtap_write/systemtap/dwflpp.cxx:2765") $this:struct dwflpp* const $die:Dwarf_Die& $locals:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("get_members@/root/systemtap_write/systemtap/dwflpp.cxx:3287") $this:struct dwflpp* const $typedie:Dwarf_Die* $members:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& $dupes:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("get_module_dwarf@/root/systemtap_write/systemtap/dwflpp.cxx:147") $this:struct dwflpp* const $required:bool $report:bool process("/root/systemtap_write/install/bin/stap").function("get_mok_info@/root/systemtap_write/systemtap/session.cxx:2597") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("get_nearest_lineno@/root/systemtap_write/systemtap/dwflpp.cxx:1752") $this:struct dwflpp* const $srcfile:char const* $lineno:int $funcs:base_func_info_map_t& process("/root/systemtap_write/install/bin/stap").function("get_nearest_linenos@/root/systemtap_write/systemtap/dwflpp.cxx:1730") $this:struct dwflpp* const $srcfile:char const* $lineno:int $funcs:base_func_info_map_t& process("/root/systemtap_write/install/bin/stap").function("get_number@/root/systemtap_write/systemtap/elaborate.cxx:4033") process("/root/systemtap_write/install/bin/stap").function("get_number_param@/root/systemtap_write/systemtap/tapsets.cxx:803") $params:literal_map_t const& $k:struct interned_string $v:int64_t& process("/root/systemtap_write/install/bin/stap").function("get_number_param@/root/systemtap_write/systemtap/tapsets.cxx:811") $params:literal_map_t const& $k:struct interned_string $v:Dwarf_Addr& process("/root/systemtap_write/install/bin/stap").function("get_or_keep_compatible_server_info@/root/systemtap_write/systemtap/csclient.cxx:3095") $s:struct systemtap_session& $servers:class vector >& $keep:bool process("/root/systemtap_write/install/bin/stap").function("get_or_keep_online_server_info@/root/systemtap_write/systemtap/csclient.cxx:3543") $s:struct systemtap_session& $servers:class vector >& $keep:bool process("/root/systemtap_write/install/bin/stap").function("get_or_keep_signing_server_info@/root/systemtap_write/systemtap/csclient.cxx:3049") $s:struct systemtap_session& $servers:class vector >& $keep:bool process("/root/systemtap_write/install/bin/stap").function("get_or_keep_trusted_server_info@/root/systemtap_write/systemtap/csclient.cxx:3000") $s:struct systemtap_session& $servers:class vector >& $keep:bool process("/root/systemtap_write/install/bin/stap").function("get_param@/root/systemtap_write/systemtap/elaborate.cxx:244") $params:literal_map_t const& $key:struct interned_string $value:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("get_param@/root/systemtap_write/systemtap/elaborate.cxx:260") $params:literal_map_t const& $key:struct interned_string $value:int64_t& process("/root/systemtap_write/install/bin/stap").function("get_parent_scope@/root/systemtap_write/systemtap/dwflpp.cxx:786") $this:struct dwflpp* const $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("get_parms@/root/systemtap_write/systemtap/hash.cxx:59") $this:class stap_hash* const process("/root/systemtap_write/install/bin/stap").function("get_privilege_credentials@/root/systemtap_write/systemtap/privilege.cxx:49") process("/root/systemtap_write/install/bin/stap").function("get_probe_dupe@/root/systemtap_write/systemtap/translate.cxx:996") $this:struct c_unparser* const $dp:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("get_reply@/root/systemtap_write/systemtap/remote.cxx:267") $this:class stapsh* const process("/root/systemtap_write/install/bin/stap").function("get_script_from_cache@/root/systemtap_write/systemtap/cache.cxx:141") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("get_section@/root/systemtap_write/systemtap/dwflpp.cxx:4493") $this:struct dwflpp* const $section_name:string $shdr_mem:GElf_Shdr* $elf_ret:Elf** process("/root/systemtap_write/install/bin/stap").function("get_self_path@/root/systemtap_write/systemtap/util.cxx:1180") process("/root/systemtap_write/install/bin/stap").function("get_server_info@/root/systemtap_write/systemtap/csclient.cxx:2538") $s:struct systemtap_session& $pmask:int $servers:class vector >& process("/root/systemtap_write/install/bin/stap").function("get_server_info_from_db@/root/systemtap_write/systemtap/csclient.cxx:1983") $s:struct systemtap_session& $servers:class vector >& $cert_db_path:string const& process("/root/systemtap_write/install/bin/stap").function("get_specified_server_info@/root/systemtap_write/systemtap/csclient.cxx:2870") $s:struct systemtap_session& $servers:class vector >& $no_default:bool process("/root/systemtap_write/install/bin/stap").function("get_stapconf_from_cache@/root/systemtap_write/systemtap/cache.cxx:106") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("get_string@/root/systemtap_write/systemtap/elaborate.cxx:4047") process("/root/systemtap_write/install/bin/stap").function("get_string_param@/root/systemtap_write/systemtap/tapsets.cxx:795") $params:literal_map_t const& $k:struct interned_string $v:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("get_symbol_within_expression@/root/systemtap_write/systemtap/elaborate.cxx:1147") $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("get_symbol_within_indexable@/root/systemtap_write/systemtap/elaborate.cxx:1156") $ix:struct indexable* process("/root/systemtap_write/install/bin/stap").function("get_symtab@/root/systemtap_write/systemtap/tapsets.cxx:8650") $this:struct module_info* const process("/root/systemtap_write/install/bin/stap").function("get_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:4558") process("/root/systemtap_write/install/bin/stap").function("get_target_symbol_argno_and_validate@/root/systemtap_write/systemtap/tapsets.cxx:6338") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("get_temporary_buffer@/usr/include/c++/4.8.2/bits/stl_tempbuf.h:85") $__len:ptrdiff_t process("/root/systemtap_write/install/bin/stap").function("get_tracequery_modules@/root/systemtap_write/systemtap/tapsets.cxx:11499") $this:struct tracepoint_builder* const $s:struct systemtap_session& $headers:class vector, std::allocator >, std::allocator, std::allocator > > > const& $modules:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("get_uname@/root/systemtap_write/systemtap/remote.cxx:1009") $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("get_unescaped@/root/systemtap_write/systemtap/stapregex-parse.cxx:199") $this:struct cursor* const process("/root/systemtap_write/install/bin/stap").function("get_unwind_data@/root/systemtap_write/systemtap/translate.cxx:6104") $session:struct systemtap_session& $eh_frame_hdr_addr:Dwarf_Addr* $debug_frame_off:Dwarf_Addr* $debug_frame_hdr_len:size_t* $debug_frame_hdr:void** $eh_frame_hdr_len:size_t* $eh_frame_hdr:void** $eh_addr:Dwarf_Addr* $eh_len:size_t* $debug_len:size_t* $eh_frame:void** $debug_frame:void** $m:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("get_user_dw@/root/systemtap_write/systemtap/tapsets.cxx:987") process("/root/systemtap_write/install/bin/stap").function("get_value@/root/systemtap_write/systemtap/translate.cxx:932") $this:class itervar const* const $mv:struct mapvar const& $ty:enum exp_type process("/root/systemtap_write/install/bin/stap").function("get_value_from_avahi_string_list@/root/systemtap_write/systemtap/csclient.cxx:3342") $strlst:AvahiStringList* $key:string const& process("/root/systemtap_write/install/bin/stap").function("get_values_from_avahi_string_list@/root/systemtap_write/systemtap/csclient.cxx:3368") $value_vector:class vector, std::allocator >, std::allocator, std::allocator > > >& $key:string const& $strlst:AvahiStringList* process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/elaborate.h:189") $this:struct derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/tapset-mark.cxx:457") $this:struct mark_derived_probe const* const $arg_set:class list, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/tapset-utrace.cxx:260") $this:struct utrace_derived_probe const* const $arg_set:class list, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/tapsets.cxx:10758") $this:struct tracepoint_derived_probe const* const $arg_set:class list, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/tapsets.cxx:5455") process("/root/systemtap_write/install/bin/stap").function("getargs@/root/systemtap_write/systemtap/tapsets.cxx:8810") $this:struct uprobe_derived_probe const* const $arg_set:class list, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("getcwd@/usr/include/bits/unistd.h:200") $__size:size_t $__buf:char* process("/root/systemtap_write/install/bin/stap").function("getgroups@/usr/include/bits/unistd.h:265") process("/root/systemtap_write/install/bin/stap").function("getiter@/root/systemtap_write/systemtap/translate.cxx:3560") process("/root/systemtap_write/install/bin/stap").function("getline, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2793") process("/root/systemtap_write/install/bin/stap").function("getline@/usr/include/c++/4.8.2/istream:427") $__n:streamsize $__s:char_type* $this:class basic_istream >* const process("/root/systemtap_write/install/bin/stap").function("getmap@/root/systemtap_write/systemtap/translate.cxx:3545") $this:struct c_unparser* const $v:struct vardecl* $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("getmemusage@/root/systemtap_write/systemtap/util.cxx:278") process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:709") $this:struct dwflpp* const $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:753") $this:struct dwflpp* const $pc:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/tapsets.cxx:4455") $this:struct dwarf_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("getscopes_die@/root/systemtap_write/systemtap/dwflpp.cxx:679") $this:struct dwflpp* const $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("getvar@/root/systemtap_write/systemtap/translate.cxx:3527") $this:struct c_unparser* const $v:struct vardecl* $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("glob_executable@/root/systemtap_write/systemtap/tapsets.cxx:7744") $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("global_alias_caching_callback@/root/systemtap_write/systemtap/dwflpp.cxx:863") $die:Dwarf_Die* $has_inner_types:bool $prefix:string const& $cache:cu_type_cache_t* process("/root/systemtap_write/install/bin/stap").function("global_alias_caching_callback_cus@/root/systemtap_write/systemtap/dwflpp.cxx:890") $die:Dwarf_Die* $dw:struct dwflpp* process("/root/systemtap_write/install/bin/stap").function("global_client_cert_db_path@/root/systemtap_write/systemtap/csclient.cxx:260") process("/root/systemtap_write/install/bin/stap").function("global_ssl_cert_db_path@/root/systemtap_write/systemtap/csclient.cxx:271") process("/root/systemtap_write/install/bin/stap").function("globmatch@/root/systemtap_write/systemtap/elaborate.cxx:372") $this:struct match_key const* const $other:struct match_key const& process("/root/systemtap_write/install/bin/stap").function("good@/usr/include/c++/4.8.2/bits/basic_ios.h:174") $this:class basic_ios > const* const process("/root/systemtap_write/install/bin/stap").function("guru_mode_opt@/root/systemtap_write/systemtap/interactive.cxx:960") $this:class guru_mode_opt* const process("/root/systemtap_write/install/bin/stap").function("handle_connection@/root/systemtap_write/systemtap/csclient.cxx:538") process("/root/systemtap_write/install/bin/stap").function("handle_interrupt@/root/systemtap_write/systemtap/main.cxx:260") process("/root/systemtap_write/install/bin/stap").function("handle_module_token@/root/systemtap_write/systemtap/tapsets.cxx:7859") $sess:struct systemtap_session& $module_token_val:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("handle_poll@/root/systemtap_write/systemtap/remote.cxx:150") $this:class stapsh* const $fds:class vector >& process("/root/systemtap_write/install/bin/stap").function("handle_poll@/root/systemtap_write/systemtap/remote.h:28") $this:class remote* const process("/root/systemtap_write/install/bin/stap").function("handle_probe_entry@/root/systemtap_write/systemtap/tapsets.cxx:7053") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("handle_query_cu@/root/systemtap_write/systemtap/tapsets.cxx:11397") $this:struct tracepoint_query* const $cudie:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("handle_query_func@/root/systemtap_write/systemtap/tapsets.cxx:11409") $this:struct tracepoint_query* const $func:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("handle_query_module@/root/systemtap_write/systemtap/tapsets.cxx:11375") $this:struct tracepoint_query* const process("/root/systemtap_write/install/bin/stap").function("handle_query_module@/root/systemtap_write/systemtap/tapsets.cxx:1200") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("handle_query_module@/root/systemtap_write/systemtap/tapsets.cxx:4511") $this:struct dwarf_cast_query* const process("/root/systemtap_write/install/bin/stap").function("handle_query_module@/root/systemtap_write/systemtap/tapsets.cxx:4860") $this:struct dwarf_atvar_query* const process("/root/systemtap_write/install/bin/stap").function("handle_query_module@/root/systemtap_write/systemtap/tapsets.cxx:7153") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1006") $this:class panic_warnings_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1026") $this:class timing_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1046") $this:class unoptimized_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1066") $this:class target_pid_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1103") $this:class cmd_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:1146") $this:class auto_analyze_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:278") $this:class help_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:295") $this:class help2_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:311") $this:class list_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:365") $this:class set_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:404") $this:class show_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:453") $this:class quit_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:469") $this:class add_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:541") $this:class delete_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:652") $this:class load_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:695") $this:class save_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:730") $this:class run_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:775") $this:class edit_cmd* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:881") $this:class keep_tmpdir_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:901") $this:class last_pass_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:931") $this:class verbose_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:965") $this:class guru_mode_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("handler@/root/systemtap_write/systemtap/interactive.cxx:985") $this:class suppress_warnings_opt* const $s:struct systemtap_session& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $input:string& process("/root/systemtap_write/install/bin/stap").function("has@/root/systemtap_write/systemtap/stapregex-parse.cxx:186") $this:struct cursor* const $n:unsigned int process("/root/systemtap_write/install/bin/stap").function("has_gnu_debugdata@/root/systemtap_write/systemtap/dwflpp.cxx:4739") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("has_index@/root/systemtap_write/systemtap/coveragedb.cxx:119") $db:sqlite3* $index:char const* process("/root/systemtap_write/install/bin/stap").function("has_null_param@/root/systemtap_write/systemtap/elaborate.cxx:278") $params:literal_map_t const& $key:struct interned_string process("/root/systemtap_write/install/bin/stap").function("has_null_param@/root/systemtap_write/systemtap/tapsets.cxx:787") $params:literal_map_t const& $k:struct interned_string process("/root/systemtap_write/install/bin/stap").function("has_only_decl_members@/root/systemtap_write/systemtap/dwflpp.cxx:833") $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("has_param@/root/systemtap_write/systemtap/elaborate.cxx:286") $params:literal_map_t const& $key:struct interned_string process("/root/systemtap_write/install/bin/stap").function("has_table@/root/systemtap_write/systemtap/coveragedb.cxx:96") $db:sqlite3* $table:char const* process("/root/systemtap_write/install/bin/stap").function("has_valid_locs@/root/systemtap_write/systemtap/dwflpp.cxx:4819") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("has_version@/root/systemtap_write/systemtap/parse.cxx:1483") process("/root/systemtap_write/install/bin/stap").function("hash@/usr/include/c++/4.8.2/bits/functional_hash.h:129") process("/root/systemtap_write/install/bin/stap").function("have_debuginfo_uprobe@/root/systemtap_write/systemtap/tapsets.cxx:7015") process("/root/systemtap_write/install/bin/stap").function("have_debuginfoless_uprobe@/root/systemtap_write/systemtap/tapsets.cxx:7019") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("have_uprobe@/root/systemtap_write/systemtap/tapsets.cxx:7014") process("/root/systemtap_write/install/bin/stap").function("header_exists@/root/systemtap_write/systemtap/tapsets.cxx:10787") $s:struct systemtap_session& $header:string const& process("/root/systemtap_write/install/bin/stap").function("help2_cmd@/root/systemtap_write/systemtap/interactive.cxx:290") $this:class help2_cmd* const process("/root/systemtap_write/install/bin/stap").function("help_cmd@/root/systemtap_write/systemtap/interactive.cxx:273") $this:class help_cmd* const process("/root/systemtap_write/install/bin/stap").function("help_text@/root/systemtap_write/systemtap/interactive.cxx:154") $this:class cmdopt const* const $indent:size_t process("/root/systemtap_write/install/bin/stap").function("help_text@/root/systemtap_write/systemtap/interactive.cxx:341") $this:class set_cmd const* const $indent:size_t process("/root/systemtap_write/install/bin/stap").function("hex@/usr/include/c++/4.8.2/bits/ios_base.h:941") process("/root/systemtap_write/install/bin/stap").function("hex_dump@/root/systemtap_write/systemtap/util.h:216") process("/root/systemtap_write/install/bin/stap").function("hex_dump@/root/systemtap_write/systemtap/util.h:216") process("/root/systemtap_write/install/bin/stap").function("hist@/root/systemtap_write/systemtap/translate.cxx:448") $this:class var const* const process("/root/systemtap_write/install/bin/stap").function("hist@/root/systemtap_write/systemtap/translate.cxx:791") $this:struct mapvar const* const process("/root/systemtap_write/install/bin/stap").function("hist_op@/root/systemtap_write/systemtap/staptree.h:557") $this:struct hist_op* const process("/root/systemtap_write/install/bin/stap").function("histogram_index_check@/root/systemtap_write/systemtap/translate.cxx:5223") $this:struct c_unparser const* const $base:class var& $idx:struct tmpvar& process("/root/systemtap_write/install/bin/stap").function("hrtimer_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:195") process("/root/systemtap_write/install/bin/stap").function("hwbkpt_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:9994") $this:struct hwbkpt_derived_probe* const $base:struct probe* $location:struct probe_point* $addr:uint64_t $symname:string $len:unsigned int $has_only_read_access:bool $has_only_write_access:bool process("/root/systemtap_write/install/bin/stap").function("id@/root/systemtap_write/systemtap/elaborate.cxx:5682") $this:struct exp_type_null const* const process("/root/systemtap_write/install/bin/stap").function("id@/root/systemtap_write/systemtap/tapsets.cxx:515") $this:struct exp_type_dwarf const* const process("/root/systemtap_write/install/bin/stap").function("id@/usr/include/c++/4.8.2/thread:73") $this:class id* const process("/root/systemtap_write/install/bin/stap").function("identifier_string_needs_escape@/root/systemtap_write/systemtap/util.cxx:1053") $str:string const& process("/root/systemtap_write/install/bin/stap").function("if_statement@/root/systemtap_write/systemtap/staptree.h:730") process("/root/systemtap_write/install/bin/stap").function("in_group_id@/root/systemtap_write/systemtap/util.cxx:245") $target_gid:gid_t process("/root/systemtap_write/install/bin/stap").function("in_kprobes_function@/root/systemtap_write/systemtap/dwflpp.cxx:4161") $addr:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("include_file_or_directory@/root/systemtap_write/systemtap/csclient.cxx:1029") $this:class compile_server_client* const $subdir:string const& $path:string const& process("/root/systemtap_write/install/bin/stap").function("increment_element@/root/systemtap_write/systemtap/coveragedb.cxx:171") $db:sqlite3* $x:class coverage_element& process("/root/systemtap_write/install/bin/stap").function("indent@/root/systemtap_write/systemtap/translator-output.cxx:57") $this:class translator_output* const $indent:int process("/root/systemtap_write/install/bin/stap").function("indexable@/root/systemtap_write/systemtap/staptree.h:276") process("/root/systemtap_write/install/bin/stap").function("init@/root/systemtap_write/systemtap/translate.cxx:462") $this:class var const* const process("/root/systemtap_write/install/bin/stap").function("init@/root/systemtap_write/systemtap/translate.cxx:805") $this:struct mapvar const* const process("/root/systemtap_write/install/bin/stap").function("init_dw@/root/systemtap_write/systemtap/tapsets.cxx:11636") $this:struct tracepoint_builder* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("init_password@/root/systemtap_write/systemtap/nsscommon.cxx:366") $use_password:bool $db_path:string const& $slot:PK11SlotInfo* process("/root/systemtap_write/install/bin/stap").function("init_probe_scn@/root/systemtap_write/systemtap/tapsets.cxx:7190") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("init_try_server@/root/systemtap_write/systemtap/session.cxx:2005") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("init_ts@/root/systemtap_write/systemtap/tapsets.cxx:3100") $this:struct dwarf_pretty_print* const $e:struct target_symbol const& process("/root/systemtap_write/install/bin/stap").function("initial_typeres_pass@/root/systemtap_write/systemtap/elaborate.cxx:5420") process("/root/systemtap_write/install/bin/stap").function("initial_typeresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:5407") process("/root/systemtap_write/install/bin/stap").function("initialize@/root/systemtap_write/systemtap/csclient.cxx:867") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("initialize_probe_context_vars@/root/systemtap_write/systemtap/elaborate.h:200") $this:struct derived_probe* const process("/root/systemtap_write/install/bin/stap").function("initialize_probe_context_vars@/root/systemtap_write/systemtap/tapset-mark.cxx:417") $this:struct mark_derived_probe* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("inline_instance_info@/root/systemtap_write/systemtap/dwflpp.h:168") process("/root/systemtap_write/install/bin/stap").function("inline_instance_info@/root/systemtap_write/systemtap/dwflpp.h:170") $this:struct inline_instance_info* const process("/root/systemtap_write/install/bin/stap").function("inner_die_containing_pc@/root/systemtap_write/systemtap/dwflpp.cxx:2607") $this:struct dwflpp* const $scope:Dwarf_Die& $addr:Dwarf_Addr $result:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("input_get@/root/systemtap_write/systemtap/parse.cxx:1491") process("/root/systemtap_write/install/bin/stap").function("input_peek@/root/systemtap_write/systemtap/parse.cxx:1474") process("/root/systemtap_write/install/bin/stap").function("input_put@/root/systemtap_write/systemtap/parse.cxx:1526") $this:class lexer* const $chars:string const& $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("ins_size@/root/systemtap_write/systemtap/stapregex-tree.h:107") process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") $__last:class __normal_iterator > > $__first:class __normal_iterator > > $__position:iterator $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") $__last:class __normal_iterator > > $__first:class __normal_iterator > > $__position:iterator $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") $__last:class __normal_iterator > > $__first:class __normal_iterator > > $__position:iterator $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator*, std::vector > >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") $__last:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__first:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > $__position:iterator $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("insert<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_set.h:517") $__last:class __normal_iterator > > $__first:class __normal_iterator > > $this:class set, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("insert*, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:1044") process("/root/systemtap_write/install/bin/stap").function("insert, const std::pair&, const std::pair*>, void>@/usr/include/c++/4.8.2/bits/stl_deque.h:1536") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/stl_list.h:1149") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("insert >, void>@/usr/include/c++/4.8.2/bits/stl_list.h:1149") process("/root/systemtap_write/install/bin/stap").function("insert >, void>@/usr/include/c++/4.8.2/bits/stl_list.h:1149") $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("insert >@/usr/include/c++/4.8.2/bits/stl_set.h:517") process("/root/systemtap_write/install/bin/stap").function("insert >@/usr/include/c++/4.8.2/bits/stl_set.h:517") $this:class set, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("insert > >@/usr/include/c++/4.8.2/bits/stl_set.h:517") $this:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("insert >@/usr/include/c++/4.8.2/bits/stl_set.h:517") process("/root/systemtap_write/install/bin/stap").function("insert, false, true> >@/usr/include/c++/4.8.2/bits/hashtable_policy.h:626") $this:struct _Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >* const $__first:struct _Node_iterator, false, true> $__last:struct _Node_iterator, false, true> process("/root/systemtap_write/install/bin/stap").function("insert, false, true> >@/usr/include/c++/4.8.2/bits/unordered_map.h:1081") $this:class unordered_multimap, std::equal_to, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:766") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/unordered_map.h:1034") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:766") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/unordered_map.h:1034") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:766") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/unordered_map.h:1034") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/stl_map.h:602") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:766") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/unordered_map.h:1034") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/stl_multimap.h:509") $this:class multimap, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/stl_map.h:602") process("/root/systemtap_write/install/bin/stap").function("insert, derived_probe*>, void>@/usr/include/c++/4.8.2/bits/stl_map.h:602") process("/root/systemtap_write/install/bin/stap").function("insert, std::basic_string >, void>@/usr/include/c++/4.8.2/bits/stl_multimap.h:509") $__x:struct pair, std::allocator >, std::basic_string, std::allocator > >&& $this:class multimap, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > >* const process("/root/systemtap_write/install/bin/stap").function("insert >, void>@/usr/include/c++/4.8.2/bits/stl_multimap.h:509") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/hashtable_policy.h:766") process("/root/systemtap_write/install/bin/stap").function("insert, void>@/usr/include/c++/4.8.2/bits/unordered_map.h:369") process("/root/systemtap_write/install/bin/stap").function("insert@/root/systemtap_write/systemtap/util.cxx:611") $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/basic_string.h:1233") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/basic_string.h:1255") $__pos2:size_type process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/basic_string.h:1296") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/deque.tcc:148") $__x:value_type const& $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/hashtable_policy.h:686") $__v:value_type&& process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_set.h:460") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_set.h:469") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_set.h:497") $__x:value_type const& $__position:const_iterator $this:class set, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_vector.h:1005") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_vector.h:1023") $__x:value_type const& $__n:size_type $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/stl_vector.h:988") process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/unordered_set.h:348") $__x:value_type&& process("/root/systemtap_write/install/bin/stap").function("insert@/usr/include/c++/4.8.2/bits/vector.tcc:107") process("/root/systemtap_write/install/bin/stap").function("insert_iterator@/usr/include/c++/4.8.2/bits/stl_iterator.h:587") process("/root/systemtap_write/install/bin/stap").function("insert_iterator@/usr/include/c++/4.8.2/bits/stl_iterator.h:602") process("/root/systemtap_write/install/bin/stap").function("insert_loaded_modules@/root/systemtap_write/systemtap/session.cxx:2028") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("inserter >, std::_Deque_iterator, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/stl_iterator.h:683") process("/root/systemtap_write/install/bin/stap").function("interactive_completion@/root/systemtap_write/systemtap/interactive.cxx:1364") $text:char const* $start:int $end:int process("/root/systemtap_write/install/bin/stap").function("interactive_mode@/root/systemtap_write/systemtap/interactive.cxx:1621") $s:struct systemtap_session& $targets:class vector > process("/root/systemtap_write/install/bin/stap").function("interactive_usage@/root/systemtap_write/systemtap/interactive.cxx:1159") process("/root/systemtap_write/install/bin/stap").function("internal_find_debuginfo@/root/systemtap_write/systemtap/setupdwfl.cxx:540") $mod:Dwfl_Module* $userdata:void** $modname:char const* $base:GElf_Addr $file_name:char const* $debuglink_file:char const* $debuglink_crc:GElf_Word $debuginfo_file_name:char** process("/root/systemtap_write/install/bin/stap").function("interned_string@/root/systemtap_write/systemtap/stringtable.h:133") process("/root/systemtap_write/install/bin/stap").function("interned_string@/root/systemtap_write/systemtap/stringtable.h:134") process("/root/systemtap_write/install/bin/stap").function("interned_string@/root/systemtap_write/systemtap/stringtable.h:135") process("/root/systemtap_write/install/bin/stap").function("interned_string@/root/systemtap_write/systemtap/stringtable.h:136") process("/root/systemtap_write/install/bin/stap").function("interrupt_exception@/root/systemtap_write/systemtap/session.h:475") $this:struct interrupt_exception* const process("/root/systemtap_write/install/bin/stap").function("invalid@/root/systemtap_write/systemtap/elaborate.cxx:6909") $this:struct typeresolution_info* const $tok:struct token const* $pe:enum exp_type process("/root/systemtap_write/install/bin/stap").function("isCertSerialNumber@/root/systemtap_write/systemtap/csclient.cxx:2817") $server_info:struct compile_server_info& $server:string const& process("/root/systemtap_write/install/bin/stap").function("isComplete@/root/systemtap_write/systemtap/csclient.cxx:124") $this:struct compile_server_info const* const process("/root/systemtap_write/install/bin/stap").function("isDomain@/root/systemtap_write/systemtap/csclient.cxx:2844") $server_info:struct compile_server_info& $server:string const& process("/root/systemtap_write/install/bin/stap").function("isIPv4@/root/systemtap_write/systemtap/csclient.cxx:2759") $server_info:struct compile_server_info& $server:string const& process("/root/systemtap_write/install/bin/stap").function("isIPv6@/root/systemtap_write/systemtap/csclient.cxx:2659") process("/root/systemtap_write/install/bin/stap").function("isIPv6LinkLocal@/root/systemtap_write/systemtap/csclient.cxx:702") $address:PRNetAddr const& process("/root/systemtap_write/install/bin/stap").function("isPort@/root/systemtap_write/systemtap/csclient.cxx:2643") $pstr:char const* process("/root/systemtap_write/install/bin/stap").function("is_active_lvalue@/root/systemtap_write/systemtap/staptree.cxx:1788") process("/root/systemtap_write/install/bin/stap").function("is_alias@/root/systemtap_write/systemtap/elaborate.h:340") $this:struct derived_probe_builder const* const process("/root/systemtap_write/install/bin/stap").function("is_alias@/root/systemtap_write/systemtap/elaborate.h:430") $this:struct alias_expansion_builder const* const process("/root/systemtap_write/install/bin/stap").function("is_closure@/root/systemtap_write/systemtap/parse.cxx:98") $this:struct pp_macrodecl* const process("/root/systemtap_write/install/bin/stap").function("is_closure@/root/systemtap_write/systemtap/parse.h:94") $this:struct macrodecl* const process("/root/systemtap_write/install/bin/stap").function("is_comma_dash@/root/systemtap_write/systemtap/setupdwfl.cxx:98") $c:char const process("/root/systemtap_write/install/bin/stap").function("is_empty@/root/systemtap_write/systemtap/staptree.h:486") $this:struct format_component const* const process("/root/systemtap_write/install/bin/stap").function("is_filtered_func_exists@/root/systemtap_write/systemtap/tapsets.cxx:2146") process("/root/systemtap_write/install/bin/stap").function("is_fully_resolved@/root/systemtap_write/systemtap/util.cxx:498") $path:string const& $sysroot:string const& $sysenv:class map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const& $env_path:string const& process("/root/systemtap_write/install/bin/stap").function("is_fully_specified_function@/root/systemtap_write/systemtap/tapsets.cxx:1674") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("is_gcc_producer@/root/systemtap_write/systemtap/dwflpp.cxx:4763") $cudie:Dwarf_Die* $producer:string& $version:string& process("/root/systemtap_write/install/bin/stap").function("is_hist_op@/root/systemtap_write/systemtap/staptree.cxx:1750") $this:struct indexable* const $hist_out:struct hist_op*& process("/root/systemtap_write/install/bin/stap").function("is_hist_op@/root/systemtap_write/systemtap/staptree.cxx:1764") $this:struct hist_op* const $hist_out:struct hist_op*& process("/root/systemtap_write/install/bin/stap").function("is_local@/root/systemtap_write/systemtap/translate.cxx:3475") $this:struct c_unparser* const $r:struct vardecl const* $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("is_open@/usr/include/c++/4.8.2/fstream:227") $this:class basic_filebuf > const* const process("/root/systemtap_write/install/bin/stap").function("is_open@/usr/include/c++/4.8.2/fstream:517") $this:class basic_ifstream >* const process("/root/systemtap_write/install/bin/stap").function("is_open@/usr/include/c++/4.8.2/fstream:692") $this:class basic_ofstream >* const process("/root/systemtap_write/install/bin/stap").function("is_primary_probe@/root/systemtap_write/systemtap/session.cxx:2687") $this:struct systemtap_session* const $dp:struct derived_probe* process("/root/systemtap_write/install/bin/stap").function("is_symbol@/root/systemtap_write/systemtap/staptree.cxx:1736") $this:struct expression* const $sym_out:struct symbol*& process("/root/systemtap_write/install/bin/stap").function("is_symbol@/root/systemtap_write/systemtap/staptree.cxx:1743") $this:struct indexable* const $sym_out:struct symbol*& process("/root/systemtap_write/install/bin/stap").function("is_symbol@/root/systemtap_write/systemtap/staptree.cxx:1757") $this:struct symbol* const $sym_out:struct symbol*& process("/root/systemtap_write/install/bin/stap").function("is_unmodified_string_fnarg@/root/systemtap_write/systemtap/translate.cxx:977") $sess:struct systemtap_session* $fd:struct functiondecl* $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("is_user_file@/root/systemtap_write/systemtap/session.cxx:2677") $this:struct systemtap_session* const $name:string const& process("/root/systemtap_write/install/bin/stap").function("is_user_module@/root/systemtap_write/systemtap/setupdwfl.cxx:534") $m:string const& process("/root/systemtap_write/install/bin/stap").function("is_valid_data_cmd@/root/systemtap_write/systemtap/remote.cxx:373") $cmd:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("is_valid_pid@/root/systemtap_write/systemtap/util.cxx:1196") $pid:pid_t $err_msg:string& process("/root/systemtap_write/install/bin/stap").function("isdoubleglob@/root/systemtap_write/systemtap/elaborate.cxx:366") $str:struct interned_string process("/root/systemtap_write/install/bin/stap").function("isglob@/root/systemtap_write/systemtap/elaborate.cxx:360") $str:struct interned_string process("/root/systemtap_write/install/bin/stap").function("isspecial@/root/systemtap_write/systemtap/stapregex-parse.cxx:312") $this:class regex_parser* const $c:char process("/root/systemtap_write/install/bin/stap").function("iter_swap<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:119") process("/root/systemtap_write/install/bin/stap").function("iter_swap<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:119") process("/root/systemtap_write/install/bin/stap").function("iter_swap<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:119") process("/root/systemtap_write/install/bin/stap").function("iter_swap<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:119") process("/root/systemtap_write/install/bin/stap").function("iter_swap<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:119") process("/root/systemtap_write/install/bin/stap").function("iterate_over_callees@/root/systemtap_write/systemtap/dwflpp.h:391") process("/root/systemtap_write/install/bin/stap").function("iterate_over_callees@/root/systemtap_write/systemtap/dwflpp.cxx:2080") $this:struct dwflpp* const $begin_die:Dwarf_Die* $sym:string const& $recursion_depth:int64_t $data:void* $callback:void (*) (struct base_func_info&, struct base_func_info&, class stack > >*, void*) $caller:struct base_func_info& $callers:class stack > >* process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.h:254") $want_types:bool $data:struct dwarf_atvar_query* $callback:int (*) (Dwarf_Die*, struct dwarf_atvar_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.h:254") $want_types:bool $data:struct dwarf_query* $callback:int (*) (Dwarf_Die*, struct dwarf_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.h:254") $want_types:bool $callback:int (*) (Dwarf_Die*, struct dwflpp*) process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.h:254") $want_types:bool $data:struct external_function_query* $callback:int (*) (Dwarf_Die*, struct external_function_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus >@/root/systemtap_write/systemtap/dwflpp.h:254") process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.h:254") $want_types:bool $data:struct tracepoint_query* $callback:int (*) (Dwarf_Die*, struct tracepoint_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_cus@/root/systemtap_write/systemtap/dwflpp.cxx:437") $this:struct dwflpp* const $callback:int (*) (Dwarf_Die*, void*) $data:void* $want_types:bool process("/root/systemtap_write/install/bin/stap").function("iterate_over_functions@/root/systemtap_write/systemtap/dwflpp.h:286") $function:string const& $data:struct dwarf_query* $callback:int (*) (Dwarf_Die*, struct dwarf_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_functions@/root/systemtap_write/systemtap/dwflpp.h:286") $function:string const& $data:struct external_function_query* $callback:int (*) (Dwarf_Die*, struct external_function_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_functions@/root/systemtap_write/systemtap/dwflpp.h:286") $function:string const& $data:struct tracepoint_query* $callback:int (*) (Dwarf_Die*, struct tracepoint_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_functions@/root/systemtap_write/systemtap/dwflpp.cxx:981") $this:struct dwflpp* const $callback:int (*) (Dwarf_Die*, void*) $data:void* $function:string const& process("/root/systemtap_write/install/bin/stap").function("iterate_over_globals, Dwarf_Die> >@/root/systemtap_write/systemtap/dwflpp.h:532") process("/root/systemtap_write/install/bin/stap").function("iterate_over_globals@/root/systemtap_write/systemtap/dwflpp.cxx:1119") $cu_die:Dwarf_Die* $callback:int (*) (Dwarf_Die*, bool, string const&, void*) $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_over_inline_instances@/root/systemtap_write/systemtap/dwflpp.h:269") $data:struct dwarf_query* $callback:int (*) (Dwarf_Die*, struct dwarf_query*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_inline_instances@/root/systemtap_write/systemtap/dwflpp.cxx:587") $this:struct dwflpp* const $callback:int (*) (Dwarf_Die*, void*) $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_over_labels@/root/systemtap_write/systemtap/dwflpp.h:360") process("/root/systemtap_write/install/bin/stap").function("iterate_over_labels@/root/systemtap_write/systemtap/dwflpp.cxx:1946") $this:struct dwflpp* const $begin_die:Dwarf_Die* $sym:string const& $function:struct base_func_info const& $linenos:class vector > const& $lineno_type:enum lineno_t $data:void* $callback:void (*) (struct base_func_info const&, char const*, char const*, int, Dwarf_Die*, Dwarf_Addr, void*) process("/root/systemtap_write/install/bin/stap").function("iterate_over_libraries@/root/systemtap_write/systemtap/dwflpp.h:320") $data:struct base_query* $callback:void (*) (struct base_query*, char const*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_libraries > >@/root/systemtap_write/systemtap/dwflpp.h:320") $data:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >* $callback:void (*) (class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >*, char const*) $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_libraries@/root/systemtap_write/systemtap/dwflpp.cxx:1254") $this:struct dwflpp* const $callback:void (*) (void*, char const*) $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_over_modules@/root/systemtap_write/systemtap/dwflpp.h:231") process("/root/systemtap_write/install/bin/stap").function("iterate_over_modules@/root/systemtap_write/systemtap/dwflpp.h:231") process("/root/systemtap_write/install/bin/stap").function("iterate_over_modules@/root/systemtap_write/systemtap/dwflpp.cxx:416") $this:struct dwflpp* const $callback:int (*) (Dwfl_Module*, void**, char const*, Dwarf_Addr, void*) $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_over_notes@/root/systemtap_write/systemtap/dwflpp.h:304") $callback:void (*) (struct sdt_query*, string const&, string const&, int, char const*, size_t) $object:struct sdt_query* $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_notes@/root/systemtap_write/systemtap/dwflpp.cxx:1195") $this:struct dwflpp* const $object:void* $callback:void (*) (void*, string const&, string const&, int, char const*, size_t) process("/root/systemtap_write/install/bin/stap").function("iterate_over_plt@/root/systemtap_write/systemtap/dwflpp.h:329") $callback:void (*) (struct base_query*, char const*, size_t) $object:struct base_query* $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_plt@/root/systemtap_write/systemtap/dwflpp.cxx:1376") $this:struct dwflpp* const $object:void* $callback:void (*) (void*, char const*, size_t) process("/root/systemtap_write/install/bin/stap").function("iterate_over_probe_entries@/root/systemtap_write/systemtap/tapsets.cxx:7329") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("iterate_over_srcfile_lines@/root/systemtap_write/systemtap/dwflpp.h:339") process("/root/systemtap_write/install/bin/stap").function("iterate_over_srcfile_lines@/root/systemtap_write/systemtap/dwflpp.cxx:1815") $this:struct dwflpp* const $srcfile:char const* $linenos:class vector > const& $lineno_type:enum lineno_t $funcs:base_func_info_map_t& $callback:void (*) (Dwarf_Addr, int, void*) $has_nearest:bool $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_over_types, Dwarf_Die> >@/root/systemtap_write/systemtap/dwflpp.h:549") process("/root/systemtap_write/install/bin/stap").function("iterate_over_types@/root/systemtap_write/systemtap/dwflpp.cxx:1143") $top_die:Dwarf_Die* $has_inner_types:bool $prefix:string const& $callback:int (*) (Dwarf_Die*, bool, string const&, void*) $data:void* process("/root/systemtap_write/install/bin/stap").function("iterate_single_function@/root/systemtap_write/systemtap/dwflpp.h:295") process("/root/systemtap_write/install/bin/stap").function("iterate_single_function@/root/systemtap_write/systemtap/dwflpp.cxx:1066") $this:struct dwflpp* const $callback:int (*) (Dwarf_Die*, void*) $data:void* $function:string const& process("/root/systemtap_write/install/bin/stap").function("itervar@/root/systemtap_write/systemtap/translate.cxx:866") process("/root/systemtap_write/install/bin/stap").function("itrace_derived_probe@/root/systemtap_write/systemtap/tapset-itrace.cxx:70") $this:struct itrace_derived_probe* const $s:struct systemtap_session& $p:struct probe* $l:struct probe_point* $hp:bool $pn:struct interned_string $pd:int64_t $ss:int process("/root/systemtap_write/install/bin/stap").function("java_details_inspection@/root/systemtap_write/systemtap/tapset-method.cxx:50") $this:struct java_details_inspection* const process("/root/systemtap_write/install/bin/stap").function("join@/root/systemtap_write/systemtap/staptree.cxx:221") $this:struct functiondecl* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join@/root/systemtap_write/systemtap/util.cxx:567") $vec:class vector, std::allocator >, std::allocator, std::allocator > > > const& $delim:string const& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/elaborate.cxx:810") $this:struct alias_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-been.cxx:103") $this:struct be_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-been.cxx:198") $this:struct never_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-itrace.cxx:83") $this:struct itrace_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-mark.cxx:386") $this:struct mark_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-netfilter.cxx:229") $this:struct netfilter_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-perfmon.cxx:95") $this:struct perf_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-procfs.cxx:108") $this:struct procfs_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-timers.cxx:236") $this:struct hrtimer_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-timers.cxx:437") $this:struct profile_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-timers.cxx:76") $this:struct timer_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapset-utrace.cxx:203") $this:struct utrace_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapsets.cxx:10047") $this:struct hwbkpt_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapsets.cxx:10766") $this:struct tracepoint_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapsets.cxx:4957") $this:struct dwarf_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapsets.cxx:8790") $this:struct uprobe_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("join_group@/root/systemtap_write/systemtap/tapsets.cxx:9754") $this:struct kprobe_derived_probe* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("junk_message@/root/systemtap_write/systemtap/parse.cxx:1864") $this:struct token const* const $session:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("keep_common_server_info@/root/systemtap_write/systemtap/csclient.cxx:3704") $info_to_keep:struct compile_server_info const& $filtered_info:class vector >& process("/root/systemtap_write/install/bin/stap").function("keep_common_server_info@/root/systemtap_write/systemtap/csclient.cxx:3735") $info_to_keep:class vector > const& $filtered_info:class vector >& process("/root/systemtap_write/install/bin/stap").function("keep_server_info_with_cert_and_port@/root/systemtap_write/systemtap/csclient.cxx:3184") $servers:class vector >& $server:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("keep_tmpdir_opt@/root/systemtap_write/systemtap/interactive.cxx:876") $this:class keep_tmpdir_opt* const process("/root/systemtap_write/install/bin/stap").function("kernel_built_uprobes@/root/systemtap_write/systemtap/buildrun.cxx:570") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("kernel_point@/root/systemtap_write/systemtap/stapregex-dfa.h:79") process("/root/systemtap_write/install/bin/stap").function("kernel_release_from_build_tree@/root/systemtap_write/systemtap/util.cxx:1140") $kernel_build_tree:string const& $verbose:int process("/root/systemtap_write/install/bin/stap").function("kernel_supports_inode_uprobes@/root/systemtap_write/systemtap/tapsets.cxx:4973") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("kernel_supports_inode_uretprobes@/root/systemtap_write/systemtap/tapsets.cxx:4984") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("key_typename@/root/systemtap_write/systemtap/translate.cxx:2965") $e:enum exp_type process("/root/systemtap_write/install/bin/stap").function("keysym@/root/systemtap_write/systemtap/translate.cxx:652") process("/root/systemtap_write/install/bin/stap").function("kill_stap_spawn@/root/systemtap_write/systemtap/util.cxx:932") $sig:int process("/root/systemtap_write/install/bin/stap").function("killall@/root/systemtap_write/systemtap/util.cxx:629") $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("kprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:9643") $this:struct kprobe_derived_probe* const $sess:struct systemtap_session& $results:class vector >& $base:struct probe* $location:struct probe_point* $module:struct interned_string $name:struct interned_string $stmt_addr:int64_t $has_call:bool $has_return:bool $has_statement:bool $has_maxactive:bool $has_path:bool $has_library:bool $maxactive_val:int64_t $path:string const& $library:string const& process("/root/systemtap_write/install/bin/stap").function("kprobe_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:9634") $has_return:bool $sess:struct systemtap_session& $this:struct kprobe_var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("last_pass_opt@/root/systemtap_write/systemtap/interactive.cxx:896") $this:class last_pass_opt* const process("/root/systemtap_write/install/bin/stap").function("left@/usr/include/c++/4.8.2/bits/ios_base.h:916") $__base:class ios_base& process("/root/systemtap_write/install/bin/stap").function("length@/usr/include/c++/4.8.2/bits/basic_string.h:721") process("/root/systemtap_write/install/bin/stap").function("length@/usr/include/c++/4.8.2/bits/char_traits.h:258") process("/root/systemtap_write/install/bin/stap").function("level_check@/root/systemtap_write/systemtap/elaborate.cxx:4908") $s:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& $this:struct level_check* const process("/root/systemtap_write/install/bin/stap").function("levenshtein@/root/systemtap_write/systemtap/util.cxx:1218") $a:string const& $b:string const& process("/root/systemtap_write/install/bin/stap").function("levenshtein_suggest@/root/systemtap_write/systemtap/util.cxx:1254") $target:string const& $elems:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $max:unsigned int $threshold:unsigned int process("/root/systemtap_write/install/bin/stap").function("levenshtein_suggest@/root/systemtap_write/systemtap/util.cxx:1325") $target:string const& $elems:class set, std::allocator > const& $max:unsigned int $threshold:unsigned int process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct arrayindex const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:enum exp_type const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:165") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct interned_string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:166") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:166") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct probe_point const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:164") $in:short int const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:186") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct source_loc const& process("/root/systemtap_write/install/bin/stap").function("lex_cast >@/root/systemtap_write/systemtap/util.h:136") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:136") $in:struct token const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:194") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:165") process("/root/systemtap_write/install/bin/stap").function("lex_cast@/root/systemtap_write/systemtap/util.h:174") $in:string const& process("/root/systemtap_write/install/bin/stap").function("lex_cast_hex@/root/systemtap_write/systemtap/util.h:205") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") $in:char[]& process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") $in:struct probe_point const& process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring >@/root/systemtap_write/systemtap/util.h:248") process("/root/systemtap_write/install/bin/stap").function("lex_cast_qstring@/root/systemtap_write/systemtap/util.h:237") $in:struct token const& process("/root/systemtap_write/install/bin/stap").function("lexer@/root/systemtap_write/systemtap/parse.cxx:1388") $this:class lexer* const $input:istream& $in:string const& $s:struct systemtap_session& $cc:bool process("/root/systemtap_write/install/bin/stap").function("lexicographical_compare<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:1084") process("/root/systemtap_write/install/bin/stap").function("libvirt_stapsh@/root/systemtap_write/systemtap/remote.cxx:726") $this:class libvirt_stapsh* const $s:struct systemtap_session& $ud:class uri_decoder const& process("/root/systemtap_write/install/bin/stap").function("line@/root/systemtap_write/systemtap/translator-output.cxx:66") $this:class translator_output* const process("/root/systemtap_write/install/bin/stap").function("lineno_equal_range@/root/systemtap_write/systemtap/dwflpp.cxx:1537") $v:lines_t* $lineno:int process("/root/systemtap_write/install/bin/stap").function("list, void>@/usr/include/c++/4.8.2/bits/stl_list.h:624") $this:class list >* const process("/root/systemtap_write/install/bin/stap").function("list >, void>@/usr/include/c++/4.8.2/bits/stl_list.h:624") process("/root/systemtap_write/install/bin/stap").function("list >, void>@/usr/include/c++/4.8.2/bits/stl_list.h:624") $this:class list, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("list@/usr/include/c++/4.8.2/bits/stl_list.h:523") process("/root/systemtap_write/install/bin/stap").function("list@/usr/include/c++/4.8.2/bits/stl_list.h:582") process("/root/systemtap_write/install/bin/stap").function("list_cmd@/root/systemtap_write/systemtap/interactive.cxx:306") $this:class list_cmd* const process("/root/systemtap_write/install/bin/stap").function("literal@/root/systemtap_write/systemtap/staptree.h:155") process("/root/systemtap_write/install/bin/stap").function("literal_number@/root/systemtap_write/systemtap/staptree.cxx:232") $this:struct literal_number* const $v:int64_t $hex:bool process("/root/systemtap_write/install/bin/stap").function("literal_number@/root/systemtap_write/systemtap/staptree.h:169") process("/root/systemtap_write/install/bin/stap").function("literal_stmt_for_local@/root/systemtap_write/systemtap/dwflpp.cxx:3871") $this:struct dwflpp* const $scopes:class vector >& $pc:Dwarf_Addr $local:string const& $e:struct target_symbol const* $lvalue:bool $die_mem:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("literal_stmt_for_pointer@/root/systemtap_write/systemtap/dwflpp.cxx:4068") $this:struct dwflpp* const $start_typedie:Dwarf_Die* $e:struct target_symbol const* $lvalue:bool $die_mem:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("literal_stmt_for_return@/root/systemtap_write/systemtap/dwflpp.cxx:3988") $this:struct dwflpp* const $scope_die:Dwarf_Die* $pc:Dwarf_Addr $e:struct target_symbol const* $lvalue:bool $die_mem:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("literal_string@/root/systemtap_write/systemtap/staptree.cxx:240") $this:struct literal_string* const $v:struct interned_string process("/root/systemtap_write/install/bin/stap").function("literal_string@/root/systemtap_write/systemtap/staptree.h:160") process("/root/systemtap_write/install/bin/stap").function("load_aggregate@/root/systemtap_write/systemtap/translate.cxx:5181") $this:struct c_unparser* const $e:struct expression* $agg:struct aggvar& process("/root/systemtap_write/install/bin/stap").function("load_cmd@/root/systemtap_write/systemtap/interactive.cxx:646") $this:class load_cmd* const process("/root/systemtap_write/install/bin/stap").function("load_map_indices@/root/systemtap_write/systemtap/translate.cxx:5141") $this:struct c_unparser* const $e:struct arrayindex* $idx:class vector >& process("/root/systemtap_write/install/bin/stap").function("loc2c_context@/root/systemtap_write/systemtap/dwflpp.h:183") $this:struct loc2c_context* const process("/root/systemtap_write/install/bin/stap").function("loc2c_emit_address@/root/systemtap_write/systemtap/dwflpp.cxx:2749") $arg:void* $pool:struct obstack* $address:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("loc2c_error@/root/systemtap_write/systemtap/dwflpp.cxx:2661") $arg:void* $fmt:char const* process("/root/systemtap_write/install/bin/stap").function("local_client_cert_db_path@/root/systemtap_write/systemtap/nsscommon.cxx:85") process("/root/systemtap_write/install/bin/stap").function("localization_variables@/root/systemtap_write/systemtap/util.cxx:818") process("/root/systemtap_write/install/bin/stap").function("location_from_address@/root/systemtap_write/systemtap/loc2c.c:908") $ctx:struct location_context* $indent:int $expr:Dwarf_Op const* $len:size_t $input:struct location** $need_fb:_Bool $loser:size_t process("/root/systemtap_write/install/bin/stap").function("location_from_attr@/root/systemtap_write/systemtap/loc2c.c:995") $ctx:struct location_context* $indent:int $attr:Dwarf_Attribute* $expr:Dwarf_Op* $len:size_t $input:struct location* process("/root/systemtap_write/install/bin/stap").function("location_relative@/root/systemtap_write/systemtap/loc2c.c:1125") $input:struct location** $len:size_t $expr:Dwarf_Op const* $indent:int process("/root/systemtap_write/install/bin/stap").function("lock@/root/systemtap_write/systemtap/util.cxx:590") $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("lock@/usr/include/c++/4.8.2/mutex:132") process("/root/systemtap_write/install/bin/stap").function("lock@/usr/include/c++/4.8.2/mutex:503") process("/root/systemtap_write/install/bin/stap").function("log@/root/systemtap_write/systemtap/nsscommon.cxx:125") $msg:string const& process("/root/systemtap_write/install/bin/stap").function("log_ok@/root/systemtap_write/systemtap/nsscommon.cxx:119") process("/root/systemtap_write/install/bin/stap").function("logical_and_expr@/root/systemtap_write/systemtap/staptree.h:225") process("/root/systemtap_write/install/bin/stap").function("logical_or_expr@/root/systemtap_write/systemtap/staptree.h:219") process("/root/systemtap_write/install/bin/stap").function("lookup_symbol@/root/systemtap_write/systemtap/tapsets.cxx:8588") $this:struct symbol_table* const $name:struct interned_string process("/root/systemtap_write/install/bin/stap").function("lookup_symbol_address@/root/systemtap_write/systemtap/tapsets.cxx:2511") $m:Dwfl_Module* $wanted:char const* process("/root/systemtap_write/install/bin/stap").function("lookup_symbol_address@/root/systemtap_write/systemtap/tapsets.cxx:8601") $this:struct symbol_table* const $name:struct interned_string process("/root/systemtap_write/install/bin/stap").function("lose@/root/systemtap_write/systemtap/loc2c.c:306") $lexpr:Dwarf_Op const* $len:size_t $failure:char const* $i:size_t $loc:struct location* process("/root/systemtap_write/install/bin/stap").function("lower_bound<__gnu_cxx::__normal_iterator >, Dwarf_Line_s*, lineno_comparator>@/usr/include/c++/4.8.2/bits/stl_algo.h:2425") process("/root/systemtap_write/install/bin/stap").function("lower_bound<__gnu_cxx::__normal_iterator >, functiondecl*, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2425") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__val:struct functiondecl* const& process("/root/systemtap_write/install/bin/stap").function("lower_bound<__gnu_cxx::__normal_iterator >, int>@/usr/include/c++/4.8.2/bits/stl_algobase.h:943") $__val:int const& $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("lower_bound<__gnu_cxx::__normal_iterator >, long unsigned int>@/usr/include/c++/4.8.2/bits/stl_algobase.h:943") $__val:long unsigned int const& $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("lower_bound@/usr/include/c++/4.8.2/bits/stl_map.h:863") process("/root/systemtap_write/install/bin/stap").function("lower_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:878") process("/root/systemtap_write/install/bin/stap").function("macrodecl@/root/systemtap_write/systemtap/parse.h:96") process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") $argc:int $argv:char* const* process("/root/systemtap_write/install/bin/stap").function("make_alt@/root/systemtap_write/systemtap/stapregex-tree.cxx:472") $a:struct regexp* $b:struct regexp* process("/root/systemtap_write/install/bin/stap").function("make_any_make_cmd@/root/systemtap_write/systemtap/buildrun.cxx:94") $s:struct systemtap_session& $dir:string const& $target:string const& process("/root/systemtap_write/install/bin/stap").function("make_dot@/root/systemtap_write/systemtap/stapregex-tree.cxx:522") $allow_zero:bool process("/root/systemtap_write/install/bin/stap").function("make_dyninst_run_command@/root/systemtap_write/systemtap/buildrun.cxx:714") $remotedir:string const& $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("make_heap<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:426") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("make_heap<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:426") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("make_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:386") $__last:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("make_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:386") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("make_junk@/root/systemtap_write/systemtap/parse.cxx:1855") $this:struct token* const $junk:enum token_junk_type process("/root/systemtap_write/install/bin/stap").function("make_kernel@/root/systemtap_write/systemtap/stapregex-dfa.cxx:188") $i:union ins* process("/root/systemtap_write/install/bin/stap").function("make_make_cmd@/root/systemtap_write/systemtap/buildrun.cxx:133") $s:struct systemtap_session& $dir:string const& process("/root/systemtap_write/install/bin/stap").function("make_make_objs_cmd@/root/systemtap_write/systemtap/buildrun.cxx:139") $dir:string const& $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("make_pair&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__x:bool& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__x:char const*& $__y:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair&, const std::basic_string&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:class basic_string, std::allocator > const& $__x:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("make_pair&, match_item* const&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:struct match_item* const& $__x:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:Dwarf_Die& $__x:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__x:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:struct functiondecl*& $__x:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:struct generic_kprobe_derived_probe*& process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:struct interned_string& $__x:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("make_pair&, std::basic_string&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair&, unsigned int&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair, derived_probe*&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:struct derived_probe*& $__x:class basic_string, std::allocator >&& process("/root/systemtap_write/install/bin/stap").function("make_pair, match_item*&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair&, exp_type&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__y:enum exp_type& $__x:class vector >& process("/root/systemtap_write/install/bin/stap").function("make_pair&>@/usr/include/c++/4.8.2/bits/stl_pair.h:276") process("/root/systemtap_write/install/bin/stap").function("make_pair@/usr/include/c++/4.8.2/bits/stl_pair.h:276") $__x:void*& $__y:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("make_pbm_key@/root/systemtap_write/systemtap/tapsets.cxx:8746") $this:struct uprobe_derived_probe_group* const $p:struct uprobe_derived_probe* process("/root/systemtap_write/install/bin/stap").function("make_run_command@/root/systemtap_write/systemtap/buildrun.cxx:751") $s:struct systemtap_session& $remotedir:string const& $version:string const& process("/root/systemtap_write/install/bin/stap").function("make_shared@/usr/include/c++/4.8.2/bits/shared_ptr.h:610") process("/root/systemtap_write/install/bin/stap").function("make_shared@/usr/include/c++/4.8.2/bits/shared_ptr.h:610") process("/root/systemtap_write/install/bin/stap").function("make_shared@/usr/include/c++/4.8.2/bits/shared_ptr.h:610") process("/root/systemtap_write/install/bin/stap").function("make_shared >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/shared_ptr.h:610") process("/root/systemtap_write/install/bin/stap").function("make_tracequeries@/root/systemtap_write/systemtap/buildrun.cxx:832") $s:struct systemtap_session& $contents:class map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator >, std::basic_string, std::allocator > > > > const& process("/root/systemtap_write/install/bin/stap").function("make_typequery@/root/systemtap_write/systemtap/buildrun.cxx:993") $s:struct systemtap_session& $module:string& process("/root/systemtap_write/install/bin/stap").function("make_typequery_kmod@/root/systemtap_write/systemtap/buildrun.cxx:908") $s:struct systemtap_session& $headers:class vector, std::allocator >, std::allocator, std::allocator > > > const& $name:string& process("/root/systemtap_write/install/bin/stap").function("make_typequery_umod@/root/systemtap_write/systemtap/buildrun.cxx:964") $name:string& $headers:class vector, std::allocator >, std::allocator, std::allocator > > > const& $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("make_uprobes@/root/systemtap_write/systemtap/buildrun.cxx:581") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("manage_server_trust@/root/systemtap_write/systemtap/csclient.cxx:2379") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("map@/usr/include/c++/4.8.2/bits/stl_map.h:160") process("/root/systemtap_write/install/bin/stap").function("map@/usr/include/c++/4.8.2/bits/stl_map.h:180") process("/root/systemtap_write/install/bin/stap").function("map_keytypes@/root/systemtap_write/systemtap/translate.cxx:2993") $this:struct c_unparser* const $v:struct vardecl* process("/root/systemtap_write/install/bin/stap").function("mapvar@/root/systemtap_write/systemtap/translate.cxx:637") process("/root/systemtap_write/install/bin/stap").function("mark@/root/systemtap_write/systemtap/stapregex-tree.h:84") $i:union ins* process("/root/systemtap_write/install/bin/stap").function("mark_arg@/root/systemtap_write/systemtap/tapset-mark.cxx:38") process("/root/systemtap_write/install/bin/stap").function("mark_derived_probe@/root/systemtap_write/systemtap/tapset-mark.cxx:202") $this:struct mark_derived_probe* const $s:struct systemtap_session& $p_n:string const& $p_f:string const& $base:struct probe* $loc:struct probe_point* process("/root/systemtap_write/install/bin/stap").function("mark_param@/root/systemtap_write/systemtap/tapset-method.cxx:89") $this:struct java_builder* const $i:int process("/root/systemtap_write/install/bin/stap").function("mark_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-mark.cxx:77") process("/root/systemtap_write/install/bin/stap").function("marked@/root/systemtap_write/systemtap/stapregex-tree.h:83") $i:union ins* process("/root/systemtap_write/install/bin/stap").function("match_char@/root/systemtap_write/systemtap/stapregex-tree.cxx:445") $c:char process("/root/systemtap_write/install/bin/stap").function("match_item@/root/systemtap_write/systemtap/interactive.cxx:188") process("/root/systemtap_write/install/bin/stap").function("match_key@/root/systemtap_write/systemtap/elaborate.cxx:295") $this:struct match_key* const $n:struct interned_string process("/root/systemtap_write/install/bin/stap").function("match_key@/root/systemtap_write/systemtap/elaborate.cxx:302") $this:struct match_key* const $c:struct component const& process("/root/systemtap_write/install/bin/stap").function("match_key@/root/systemtap_write/systemtap/elaborate.h:355") process("/root/systemtap_write/install/bin/stap").function("match_node@/root/systemtap_write/systemtap/elaborate.cxx:386") $this:class match_node* const process("/root/systemtap_write/install/bin/stap").function("match_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:289") $this:struct match_op* const $ran:struct range* process("/root/systemtap_write/install/bin/stap").function("max@/usr/include/c++/4.8.2/bits/stl_algobase.h:216") $__b:long int const& $__a:long int const& process("/root/systemtap_write/install/bin/stap").function("max@/usr/include/c++/4.8.2/bits/stl_algobase.h:216") process("/root/systemtap_write/install/bin/stap").function("max_action_info@/root/systemtap_write/systemtap/translate.cxx:2300") process("/root/systemtap_write/install/bin/stap").function("max_action_info@/root/systemtap_write/systemtap/translate.cxx:2302") process("/root/systemtap_write/install/bin/stap").function("max_fetch_size@/root/systemtap_write/systemtap/loc2c.c:1936") $die:Dwarf_Die* $loc:struct location* $cu_mem:Dwarf_Die $address_size:uint8_t process("/root/systemtap_write/install/bin/stap").function("mdfour64@/root/systemtap_write/systemtap/mdfour.c:41") $m:struct mdfour* $M:uint32_t* $A:uint32_t process("/root/systemtap_write/install/bin/stap").function("mdfour@/root/systemtap_write/systemtap/mdfour.c:204") $out:unsigned char* $in:unsigned char const* $n:int $md:struct mdfour process("/root/systemtap_write/install/bin/stap").function("mdfour_begin@/root/systemtap_write/systemtap/mdfour.c:106") process("/root/systemtap_write/install/bin/stap").function("mdfour_result@/root/systemtap_write/systemtap/mdfour.c:194") $md:struct mdfour* $out:unsigned char* process("/root/systemtap_write/install/bin/stap").function("mdfour_tail@/root/systemtap_write/systemtap/mdfour.c:118") process("/root/systemtap_write/install/bin/stap").function("mdfour_update@/root/systemtap_write/systemtap/mdfour.c:149") $md:struct mdfour* $in:unsigned char const* $n:int $M:uint32_t[] process("/root/systemtap_write/install/bin/stap").function("memchr@/usr/include/string.h:85") $__n:size_t $__c:int $__s:void const* process("/root/systemtap_write/install/bin/stap").function("memcpy@/usr/include/bits/string3.h:48") process("/root/systemtap_write/install/bin/stap").function("memmove@/usr/include/bits/string3.h:55") $__len:size_t $__src:void const* $__dest:void* process("/root/systemtap_write/install/bin/stap").function("memset@/usr/include/bits/string3.h:76") process("/root/systemtap_write/install/bin/stap").function("merge, std::pair&, std::pair*>, std::_Deque_iterator, std::pair&, std::pair*>, std::insert_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5526") $__first1:struct _Deque_iterator, std::pair&, std::pair*> $__last1:struct _Deque_iterator, std::pair&, std::pair*> $__first2:struct _Deque_iterator, std::pair&, std::pair*> $__last2:struct _Deque_iterator, std::pair&, std::pair*> $__result:class insert_iterator, std::allocator > > > process("/root/systemtap_write/install/bin/stap").function("merge_server_info@/root/systemtap_write/systemtap/csclient.cxx:3770") $source:struct compile_server_info const& $target:struct compile_server_info& process("/root/systemtap_write/install/bin/stap").function("min@/usr/include/c++/4.8.2/bits/stl_algobase.h:193") process("/root/systemtap_write/install/bin/stap").function("min@/usr/include/c++/4.8.2/bits/stl_algobase.h:193") $__b:long unsigned int const& process("/root/systemtap_write/install/bin/stap").function("mismatch@/root/systemtap_write/systemtap/elaborate.cxx:6925") $this:struct typeresolution_info* const $e:struct binary_expression const* process("/root/systemtap_write/install/bin/stap").function("mismatch@/root/systemtap_write/systemtap/elaborate.cxx:6945") $this:struct typeresolution_info* const $tok:struct token const* $t1:enum exp_type $t2:enum exp_type process("/root/systemtap_write/install/bin/stap").function("mismatch@/root/systemtap_write/systemtap/elaborate.cxx:6967") $this:struct typeresolution_info* const $tok:struct token const* $type:enum exp_type $decl:struct symboldecl const* $index:int process("/root/systemtap_write/install/bin/stap").function("missing_rpm_enlist@/root/systemtap_write/systemtap/rpm_finder.cxx:50") $sess:struct systemtap_session& $filename:char const* $rpm_type:char const* process("/root/systemtap_write/install/bin/stap").function("missing_rpm_list_print@/root/systemtap_write/systemtap/rpm_finder.cxx:206") $sess:struct systemtap_session& $rpm_type:char const* process("/root/systemtap_write/install/bin/stap").function("mod_function_caching_callback@/root/systemtap_write/systemtap/dwflpp.cxx:971") $cu:Dwarf_Die* $v:cu_function_cache_t* process("/root/systemtap_write/install/bin/stap").function("modname_from_path@/root/systemtap_write/systemtap/setupdwfl.cxx:115") $path:string const& process("/root/systemtap_write/install/bin/stap").function("module_filename@/root/systemtap_write/systemtap/session.cxx:412") $this:struct systemtap_session const* const process("/root/systemtap_write/install/bin/stap").function("module_info@/root/systemtap_write/systemtap/dwflpp.h:118") process("/root/systemtap_write/install/bin/stap").function("module_name_final_match@/root/systemtap_write/systemtap/dwflpp.cxx:283") $this:struct dwflpp* const $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("module_name_matches@/root/systemtap_write/systemtap/dwflpp.cxx:259") $this:struct dwflpp* const $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("modules_must_be_signed@/root/systemtap_write/systemtap/session.cxx:2576") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("monitor_mode_read@/root/systemtap_write/systemtap/elaborate.cxx:2124") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("monitor_mode_write@/root/systemtap_write/systemtap/elaborate.cxx:2214") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("more_ops@/root/systemtap_write/systemtap/loc2c.c:496") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $tailpiece:struct location** $piece_expr_start:size_t $piece_total_bytes:Dwarf_Word $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("mount_well_formed_probe_point@/root/systemtap_write/systemtap/tapsets.cxx:1520") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("move<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("move<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") process("/root/systemtap_write/install/bin/stap").function("move<__gnu_cxx::__normal_iterator >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") process("/root/systemtap_write/install/bin/stap").function("move<__gnu_cxx::__normal_iterator*, std::vector > >, __gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") process("/root/systemtap_write/install/bin/stap").function("move<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") $__result:class __normal_iterator > > $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("move > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") process("/root/systemtap_write/install/bin/stap").function("move >@/usr/include/c++/4.8.2/bits/deque.tcc:1004") $__first:struct _Deque_iterator, const std::pair&, const std::pair*> process("/root/systemtap_write/install/bin/stap").function("move >@/usr/include/c++/4.8.2/bits/stl_deque.h:403") process("/root/systemtap_write/install/bin/stap").function("move*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:483") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") process("/root/systemtap_write/install/bin/stap").function("move_backward >@/usr/include/c++/4.8.2/bits/deque.tcc:1027") $__first:struct _Deque_iterator, const std::pair&, const std::pair*> $__result:struct _Deque_iterator, std::pair&, std::pair*> process("/root/systemtap_write/install/bin/stap").function("move_backward >@/usr/include/c++/4.8.2/bits/stl_deque.h:418") process("/root/systemtap_write/install/bin/stap").function("move_backward*, std::pair*>@/usr/include/c++/4.8.2/bits/stl_algobase.h:655") $__result:struct pair* $__last:struct pair* $__first:struct pair* process("/root/systemtap_write/install/bin/stap").function("move_iterator@/usr/include/c++/4.8.2/bits/stl_iterator.h:930") process("/root/systemtap_write/install/bin/stap").function("multimap@/usr/include/c++/4.8.2/bits/stl_multimap.h:157") process("/root/systemtap_write/install/bin/stap").function("mutated_var_collector@/root/systemtap_write/systemtap/elaborate.cxx:1172") process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/elaborate.h:431") $this:struct alias_expansion_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/staptree.cxx:145") $this:struct probe const* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-been.cxx:216") $this:struct never_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-been.cxx:98") $this:struct be_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-itrace.cxx:134") $this:struct itrace_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-mark.cxx:594") $this:struct mark_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-method.cxx:85") $this:struct java_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-netfilter.cxx:486") $this:struct netfilter_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-perfmon.cxx:283") $this:struct perf_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-procfs.cxx:542") $this:struct procfs_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-timers.cxx:568") $this:struct timer_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapset-utrace.cxx:717") $this:struct utrace_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapsets.cxx:1018") $this:struct dwarf_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapsets.cxx:10263") $this:struct hwbkpt_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapsets.cxx:11489") $this:struct tracepoint_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapsets.cxx:8894") $this:struct uprobe_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/root/systemtap_write/systemtap/tapsets.cxx:9774") $this:struct kprobe_builder* const process("/root/systemtap_write/install/bin/stap").function("name@/usr/include/c++/4.8.2/typeinfo:99") process("/root/systemtap_write/install/bin/stap").function("name_has_wildcard@/root/systemtap_write/systemtap/dwflpp.cxx:274") $pattern:string const& process("/root/systemtap_write/install/bin/stap").function("named_char_class@/root/systemtap_write/systemtap/stapregex-parse.cxx:625") $name:string const& process("/root/systemtap_write/install/bin/stap").function("needs_global_locks@/root/systemtap_write/systemtap/elaborate.h:224") $this:struct derived_probe* const process("/root/systemtap_write/install/bin/stap").function("needs_global_locks@/root/systemtap_write/systemtap/tapset-been.cxx:60") $this:struct be_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("netfilter_derived_probe@/root/systemtap_write/systemtap/tapset-netfilter.cxx:65") $this:struct netfilter_derived_probe* const $s:struct systemtap_session& $p:struct probe* $l:struct probe_point* $h:string $protof:string $pri:string process("/root/systemtap_write/install/bin/stap").function("netfilter_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-netfilter.cxx:419") $this:struct netfilter_var_expanding_visitor* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("never_derived_probe@/root/systemtap_write/systemtap/tapset-been.cxx:197") process("/root/systemtap_write/install/bin/stap").function("new_context@/root/systemtap_write/systemtap/loc2c.c:135") $pool:struct obstack* $fail:void ( volatile*) (void*, char const*, ...) $fail_arg:void* $emit_address:void (*) (void*, struct obstack*, Dwarf_Addr) $dwbias:Dwarf_Addr $pc_address:Dwarf_Addr $attr:Dwarf_Attribute* $fb_attr:Dwarf_Attribute* $cfa_ops:Dwarf_Op const* process("/root/systemtap_write/install/bin/stap").function("new_synthetic_loc@/root/systemtap_write/systemtap/loc2c.c:275") $origin:struct location* $deref:_Bool process("/root/systemtap_write/install/bin/stap").function("newline@/root/systemtap_write/systemtap/translator-output.cxx:43") $this:class translator_output* const $indent:int process("/root/systemtap_write/install/bin/stap").function("next@/root/systemtap_write/systemtap/parse.cxx:1192") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("next@/root/systemtap_write/systemtap/stapregex-parse.cxx:159") $this:struct cursor* const process("/root/systemtap_write/install/bin/stap").function("next@/root/systemtap_write/systemtap/translate.cxx:891") $this:class itervar const* const $mv:struct mapvar const& process("/root/systemtap_write/install/bin/stap").function("next_pp1@/root/systemtap_write/systemtap/parse.cxx:422") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("next_statement@/root/systemtap_write/systemtap/staptree.h:768") process("/root/systemtap_write/install/bin/stap").function("no_var_mutation_during_iteration_check@/root/systemtap_write/systemtap/elaborate.cxx:1209") process("/root/systemtap_write/install/bin/stap").function("nop_visitor@/root/systemtap_write/systemtap/staptree.h:922") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("normalize_machine@/root/systemtap_write/systemtap/util.cxx:1088") $machine:string const& process("/root/systemtap_write/install/bin/stap").function("noshowbase@/usr/include/c++/4.8.2/bits/ios_base.h:819") process("/root/systemtap_write/install/bin/stap").function("note_recursive_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2326") $this:struct functioncall_traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("note_recursive_functioncall@/root/systemtap_write/systemtap/translate.cxx:2342") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("nssCleanup@/root/systemtap_write/systemtap/nsscommon.cxx:196") $db_path:char const* process("/root/systemtap_write/install/bin/stap").function("nssError@/root/systemtap_write/systemtap/nsscommon.cxx:151") process("/root/systemtap_write/install/bin/stap").function("nssInit@/root/systemtap_write/systemtap/nsscommon.cxx:177") $db_path:char const* $readWrite:int $issueMessage:int process("/root/systemtap_write/install/bin/stap").function("nssPasswordCallback@/root/systemtap_write/systemtap/nsscommon.cxx:268") $info:PK11SlotInfo* $retry:PRBool $arg:void* process("/root/systemtap_write/install/bin/stap").function("nsscommon_error@/root/systemtap_write/systemtap/csclient.cxx:85") $msg:char const* $logit:int process("/root/systemtap_write/install/bin/stap").function("nsscommon_error@/root/systemtap_write/systemtap/nsscommon.cxx:98") $msg:string const& $logit:int process("/root/systemtap_write/install/bin/stap").function("null_child_fd@/root/systemtap_write/systemtap/util.cxx:688") $childfd:int $fa:posix_spawn_file_actions_t* process("/root/systemtap_write/install/bin/stap").function("null_die@/root/systemtap_write/systemtap/tapsets.cxx:499") $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("null_op@/root/systemtap_write/systemtap/stapregex-tree.h:127") process("/root/systemtap_write/install/bin/stap").function("null_statement@/root/systemtap_write/systemtap/staptree.cxx:55") $this:struct null_statement* const $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("null_statement@/root/systemtap_write/systemtap/staptree.h:714") process("/root/systemtap_write/install/bin/stap").function("num_errors@/root/systemtap_write/systemtap/session.h:409") process("/root/systemtap_write/install/bin/stap").function("num_states@/root/systemtap_write/systemtap/stapregex.cxx:84") $this:struct stapdfa const* const process("/root/systemtap_write/install/bin/stap").function("num_tags@/root/systemtap_write/systemtap/stapregex.cxx:90") $this:struct stapdfa const* const process("/root/systemtap_write/install/bin/stap").function("obstack_printf@/usr/include/bits/stdio2.h:191") process("/root/systemtap_write/install/bin/stap").function("obstack_tracker@/root/systemtap_write/systemtap/dwflpp.cxx:82") $p:struct obstack* $this:struct obstack_tracker* const process("/root/systemtap_write/install/bin/stap").function("octCh@/root/systemtap_write/systemtap/stapregex-parse.cxx:77") $c:unsigned int process("/root/systemtap_write/install/bin/stap").function("offline_search_names_find@/root/systemtap_write/systemtap/setupdwfl.cxx:135") $modpath:string const& process("/root/systemtap_write/install/bin/stap").function("op_create_auxiliary@/root/systemtap_write/systemtap/session.cxx:2466") $this:struct systemtap_session* const $trailer_p:bool process("/root/systemtap_write/install/bin/stap").function("open64@/usr/include/bits/fcntl2.h:73") $__oflag:int $__path:char const* process("/root/systemtap_write/install/bin/stap").function("open@/usr/include/bits/fcntl2.h:41") $__oflag:int $__path:char const* process("/root/systemtap_write/install/bin/stap").function("open@/usr/include/c++/4.8.2/fstream:538") $__mode:openmode $__s:char const* $this:class basic_ifstream >* const process("/root/systemtap_write/install/bin/stap").function("open@/usr/include/c++/4.8.2/fstream:713") $__mode:openmode $__s:char const* $this:class basic_ofstream >* const process("/root/systemtap_write/install/bin/stap").function("open_control_master@/root/systemtap_write/systemtap/remote.cxx:961") $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("operator bool@/usr/include/c++/4.8.2/bits/stl_bvector.h:80") process("/root/systemtap_write/install/bin/stap").function("operator void*@/usr/include/c++/4.8.2/bits/basic_ios.h:115") process("/root/systemtap_write/install/bin/stap").function("operator!=, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2532") process("/root/systemtap_write/install/bin/stap").function("operator!=, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2556") process("/root/systemtap_write/install/bin/stap").function("operator!=*, std::vector > >@/usr/include/c++/4.8.2/bits/stl_iterator.h:823") $__rhs:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > const& $__lhs:class __normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > const& process("/root/systemtap_write/install/bin/stap").function("operator!=, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1428") $__y:class vector, std::allocator >, std::allocator, std::allocator > > > const& $__x:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("operator!=@/root/systemtap_write/systemtap/csclient.cxx:2223") $x:PRNetAddr const& $y:PRNetAddr const& process("/root/systemtap_write/install/bin/stap").function("operator!=@/root/systemtap_write/systemtap/staptree.h:120") $other:struct exp_type_details const& $this:struct exp_type_details const* const process("/root/systemtap_write/install/bin/stap").function("operator!=@/usr/include/c++/4.8.2/bits/stl_tree.h:302") process("/root/systemtap_write/install/bin/stap").function("operator!@/usr/include/c++/4.8.2/bits/basic_ios.h:119") process("/root/systemtap_write/install/bin/stap").function("operator&=@/usr/include/c++/4.8.2/bits/ios_base.h:95") process("/root/systemtap_write/install/bin/stap").function("operator&@/usr/include/c++/4.8.2/bits/ios_base.h:153") process("/root/systemtap_write/install/bin/stap").function("operator&@/usr/include/c++/4.8.2/bits/ios_base.h:75") process("/root/systemtap_write/install/bin/stap").function("operator()@/root/systemtap_write/systemtap/dwflpp.cxx:1524") process("/root/systemtap_write/install/bin/stap").function("operator()@/root/systemtap_write/systemtap/stringtable.h:161") process("/root/systemtap_write/install/bin/stap").function("operator()@/root/systemtap_write/systemtap/util.h:381") process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/bits/basic_string.h:3048") process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/bits/hashtable_policy.h:344") process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/bits/stl_function.h:207") process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/bits/stl_function.h:234") process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/bits/unique_ptr.h:63") $__ptr:class ssh_remote* process("/root/systemtap_write/install/bin/stap").function("operator()@/usr/include/c++/4.8.2/functional:1717") $this:struct _Bind_simple* const process("/root/systemtap_write/install/bin/stap").function("operator*@/usr/include/c++/4.8.2/bits/stl_bvector.h:226") process("/root/systemtap_write/install/bin/stap").function("operator*@/usr/include/c++/4.8.2/bits/stl_iterator.h:160") $this:class reverse_iterator, std::allocator >, match_item*> > > const* const process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_deque.h:148") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_deque.h:160") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_iterator.h:181") $this:class reverse_iterator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_iterator.h:193") $this:class reverse_iterator<__gnu_cxx::__normal_iterator > > >* const process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_iterator.h:746") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_iterator.h:753") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_iterator.h:970") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_list.h:153") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_list.h:160") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_list.h:233") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_list.h:240") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_tree.h:187") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_tree.h:194") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_tree.h:268") process("/root/systemtap_write/install/bin/stap").function("operator++@/usr/include/c++/4.8.2/bits/stl_tree.h:275") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2365") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2402") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2418") $__rhs:char $__lhs:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2430") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2436") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2442") $__rhs:class basic_string, std::allocator >&& $__lhs:class basic_string, std::allocator >&& process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2454") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2466") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2472") process("/root/systemtap_write/install/bin/stap").function("operator+, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.tcc:692") process("/root/systemtap_write/install/bin/stap").function("operator+=@/usr/include/c++/4.8.2/bits/basic_string.h:932") process("/root/systemtap_write/install/bin/stap").function("operator+=@/usr/include/c++/4.8.2/bits/basic_string.h:941") process("/root/systemtap_write/install/bin/stap").function("operator+=@/usr/include/c++/4.8.2/bits/basic_string.h:950") process("/root/systemtap_write/install/bin/stap").function("operator+=@/usr/include/c++/4.8.2/bits/stl_deque.h:188") process("/root/systemtap_write/install/bin/stap").function("operator+=@/usr/include/c++/4.8.2/bits/stl_iterator.h:774") process("/root/systemtap_write/install/bin/stap").function("operator+@/usr/include/c++/4.8.2/bits/stl_deque.h:207") process("/root/systemtap_write/install/bin/stap").function("operator+@/usr/include/c++/4.8.2/bits/stl_iterator.h:778") process("/root/systemtap_write/install/bin/stap").function("operator--@/usr/include/c++/4.8.2/bits/stl_deque.h:168") process("/root/systemtap_write/install/bin/stap").function("operator--@/usr/include/c++/4.8.2/bits/stl_iterator.h:758") process("/root/systemtap_write/install/bin/stap").function("operator--@/usr/include/c++/4.8.2/bits/stl_tree.h:202") process("/root/systemtap_write/install/bin/stap").function("operator--@/usr/include/c++/4.8.2/bits/stl_tree.h:283") $this:struct _Rb_tree_const_iterator, std::allocator >, match_item*> >* const process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__lhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- > >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator-@/usr/include/c++/4.8.2/bits/stl_deque.h:331") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:884") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__rhs:class __normal_iterator > > const& $__lhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__lhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator-@/usr/include/c++/4.8.2/bits/stl_deque.h:331") process("/root/systemtap_write/install/bin/stap").function("operator-@/usr/include/c++/4.8.2/bits/stl_deque.h:331") $__y:struct _Deque_iterator const& $__x:struct _Deque_iterator const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__rhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__rhs:class __normal_iterator > > const& $__lhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") $__rhs:class __normal_iterator > > const& process("/root/systemtap_write/install/bin/stap").function("operator- >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator-*, std::vector > >@/usr/include/c++/4.8.2/bits/stl_iterator.h:896") process("/root/systemtap_write/install/bin/stap").function("operator-, const std::pair&, const std::pair*>@/usr/include/c++/4.8.2/bits/stl_deque.h:331") process("/root/systemtap_write/install/bin/stap").function("operator-, std::pair&, std::pair*>@/usr/include/c++/4.8.2/bits/stl_deque.h:331") process("/root/systemtap_write/install/bin/stap").function("operator-=@/usr/include/c++/4.8.2/bits/stl_deque.h:214") process("/root/systemtap_write/install/bin/stap").function("operator->@/usr/include/c++/4.8.2/bits/stl_iterator.h:172") $this:class reverse_iterator, std::allocator >, match_item*> > > const* const process("/root/systemtap_write/install/bin/stap").function("operator-@/usr/include/c++/4.8.2/bits/stl_deque.h:218") $__n:difference_type process("/root/systemtap_write/install/bin/stap").function("operator-@/usr/include/c++/4.8.2/bits/stl_iterator.h:786") process("/root/systemtap_write/install/bin/stap").function("operator< >@/usr/include/c++/4.8.2/bits/stl_pair.h:220") process("/root/systemtap_write/install/bin/stap").function("operator< @/usr/include/c++/4.8.2/bits/stl_pair.h:220") $__y:struct pair const& $__x:struct pair const& process("/root/systemtap_write/install/bin/stap").function("operator< , std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2569") process("/root/systemtap_write/install/bin/stap").function("operator< >@/usr/include/c++/4.8.2/bits/stl_vector.h:1421") process("/root/systemtap_write/install/bin/stap").function("operator< @/usr/include/c++/4.8.2/bits/stl_pair.h:220") process("/root/systemtap_write/install/bin/stap").function("operator< , std::basic_string >@/usr/include/c++/4.8.2/bits/stl_pair.h:220") process("/root/systemtap_write/install/bin/stap").function("operator< , exp_type>@/usr/include/c++/4.8.2/bits/stl_pair.h:220") process("/root/systemtap_write/install/bin/stap").function("operator< @/usr/include/c++/4.8.2/bits/stl_pair.h:220") $__y:struct pair const& $__x:struct pair const& process("/root/systemtap_write/install/bin/stap").function("operator<< >@/usr/include/c++/4.8.2/iomanip:175") process("/root/systemtap_write/install/bin/stap").function("operator<< >@/usr/include/c++/4.8.2/iomanip:235") process("/root/systemtap_write/install/bin/stap").function("operator<< , std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2753") process("/root/systemtap_write/install/bin/stap").function("operator<< >@/usr/include/c++/4.8.2/ostream:482") process("/root/systemtap_write/install/bin/stap").function("operator<< >@/usr/include/c++/4.8.2/ostream:530") process("/root/systemtap_write/install/bin/stap").function("operator<< >@/usr/include/c++/4.8.2/ostream:548") $__s:unsigned char const* $__out:class basic_ostream >& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/csclient.cxx:2091") $s:ostream& $i:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/csclient.cxx:2165") $s:ostream& $v:class vector > const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/parse.cxx:316") $o:ostream& $loc:struct source_loc const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/parse.cxx:326") $o:ostream& $t:struct token const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-dfa.cxx:674") $o:ostream& $a:tdfa_action const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-dfa.cxx:693") $o:ostream& $p:arc_priority const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-dfa.cxx:752") process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-dfa.cxx:759") $o:ostream& $d:struct dfa const* process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-tree.cxx:221") process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-tree.cxx:228") $o:ostream& $re:struct regexp const* process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-tree.cxx:89") $o:ostream& $ran:struct range const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex-tree.cxx:96") $o:ostream& $ran:struct range const* process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/stapregex.cxx:185") $o:ostream& $d:struct stapdfa const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:1137") $k:struct statement const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:1436") $o:ostream& $k:struct probe_point const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:1443") process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:248") $o:ostream& $e:enum exp_type const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:349") process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/staptree.cxx:459") $o:ostream& $c:struct component const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/translate.cxx:537") $o:ostream& $v:class var const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/translate.cxx:601") $o:ostream& $v:struct tmpvar const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/root/systemtap_write/systemtap/translate.cxx:952") $o:ostream& $v:class itervar const& process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:108") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:127") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:166") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:170") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:174") $__n:bool process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:181") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:192") process("/root/systemtap_write/install/bin/stap").function("operator<<@/usr/include/c++/4.8.2/ostream:205") $__n:long long unsigned int process("/root/systemtap_write/install/bin/stap").function("operator<=, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2643") $__rhs:class basic_string, std::allocator > const& $__lhs:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("operator<@/root/systemtap_write/systemtap/cache.cxx:417") $this:struct cache_ent_info const* const $other:struct cache_ent_info const& process("/root/systemtap_write/install/bin/stap").function("operator<@/root/systemtap_write/systemtap/csclient.cxx:169") process("/root/systemtap_write/install/bin/stap").function("operator<@/root/systemtap_write/systemtap/cscommon.cxx:48") $this:struct cs_protocol_version const* const $that:struct cs_protocol_version const& process("/root/systemtap_write/install/bin/stap").function("operator<@/root/systemtap_write/systemtap/elaborate.cxx:340") $this:struct match_key const* const $other:struct match_key const& process("/root/systemtap_write/install/bin/stap").function("operator<@/root/systemtap_write/systemtap/tapsets.cxx:2092") $this:struct inline_instance_info const* const $other:struct inline_instance_info const& process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/shared_ptr.h:297") $this:class shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:866") $this:class __shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_pair.h:186") $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_pair.h:186") $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("operator==, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2507") $__rhs:class basic_string, std::allocator > const& $__lhs:char const* process("/root/systemtap_write/install/bin/stap").function("operator==, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2519") process("/root/systemtap_write/install/bin/stap").function("operator==@/usr/include/c++/4.8.2/bits/basic_string.h:2493") process("/root/systemtap_write/install/bin/stap").function("operator== >@/usr/include/c++/4.8.2/bits/stl_list.h:1602") $__y:class list > const& process("/root/systemtap_write/install/bin/stap").function("operator==, std::allocator > >@/usr/include/c++/4.8.2/bits/stl_vector.h:1404") $__y:class vector, std::allocator >, std::allocator, std::allocator > > > const& $__x:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("operator==@/root/systemtap_write/systemtap/csclient.cxx:129") $this:struct compile_server_info const* const $that:struct compile_server_info const& process("/root/systemtap_write/install/bin/stap").function("operator==@/root/systemtap_write/systemtap/csclient.cxx:2200") $x:PRNetAddr const& $y:PRNetAddr const& process("/root/systemtap_write/install/bin/stap").function("operator==@/root/systemtap_write/systemtap/session.h:81") $other:struct statistic_decl const& $this:struct statistic_decl* const process("/root/systemtap_write/install/bin/stap").function("operator==@/root/systemtap_write/systemtap/staptree.h:118") $other:struct exp_type_details const& $this:struct exp_type_details const* const process("/root/systemtap_write/install/bin/stap").function("operator==@/usr/include/c++/4.8.2/bits/stl_tree.h:298") process("/root/systemtap_write/install/bin/stap").function("operator==@/usr/include/c++/4.8.2/typeinfo:120") $this:class type_info const* const $__arg:class type_info const& process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/csclient.cxx:91") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/cscommon.cxx:39") $this:struct cs_protocol_version* const $v:char const* process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/stapregex-dfa.h:41") $this:struct tdfa_insn* const process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/stapregex-dfa.h:79") $this:struct kernel_point* const process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/staptree.h:140") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/staptree.h:317") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/staptree.h:406") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/staptree.h:476") $this:struct format_component* const process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/stringtable.h:133") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/translate.cxx:345") process("/root/systemtap_write/install/bin/stap").function("operator=@/root/systemtap_write/systemtap/translate.cxx:564") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/basic_string.h:546") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/basic_string.h:554") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/basic_string.h:565") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/basic_string.h:580") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/deque.tcc:92") $this:class deque, std::allocator > >* const $__x:class deque, std::allocator > > const& process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/list.tcc:184") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/shared_ptr.h:93") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:557") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:728") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_bvector.h:84") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_iterator.h:638") $__value:value_type const& process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_map.h:264") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_pair.h:158") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_pair.h:166") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_set.h:233") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_tree.h:987") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_vector.h:439") process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/stl_vector.h:461") $__l:class initializer_list, std::allocator > > $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("operator=@/usr/include/c++/4.8.2/bits/vector.tcc:160") process("/root/systemtap_write/install/bin/stap").function("operator>, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2606") $__rhs:class basic_string, std::allocator > const& $__lhs:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("operator>=, std::allocator >@/usr/include/c++/4.8.2/bits/basic_string.h:2680") $__rhs:class basic_string, std::allocator > const& $__lhs:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("operator>>@/usr/include/c++/4.8.2/istream:131") $this:class basic_istream >* const process("/root/systemtap_write/install/bin/stap").function("operator>>@/usr/include/c++/4.8.2/istream:175") $__n:short unsigned int& $this:class basic_istream >* const process("/root/systemtap_write/install/bin/stap").function("operator>>@/usr/include/c++/4.8.2/istream:182") $__n:unsigned int& $this:class basic_istream >* const process("/root/systemtap_write/install/bin/stap").function("operator>>@/usr/include/c++/4.8.2/istream:186") process("/root/systemtap_write/install/bin/stap").function("operator>>@/usr/include/c++/4.8.2/istream:190") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/basic_string.h:826") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/basic_string.h:843") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/hashtable_policy.h:482") $__k:key_type const& process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/hashtable_policy.h:508") $__k:key_type&& process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_bvector.h:762") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_deque.h:1244") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_deque.h:1259") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_deque.h:225") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_map.h:456") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_map.h:476") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_vector.h:770") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/stl_vector.h:785") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/unordered_map.h:595") process("/root/systemtap_write/install/bin/stap").function("operator[]@/usr/include/c++/4.8.2/bits/unordered_map.h:599") process("/root/systemtap_write/install/bin/stap").function("operator|=@/usr/include/c++/4.8.2/bits/ios_base.h:91") process("/root/systemtap_write/install/bin/stap").function("operator|@/usr/include/c++/4.8.2/bits/ios_base.h:157") $__b:enum _Ios_Iostate process("/root/systemtap_write/install/bin/stap").function("operator|@/usr/include/c++/4.8.2/bits/ios_base.h:79") process("/root/systemtap_write/install/bin/stap").function("option_generator@/root/systemtap_write/systemtap/interactive.cxx:1214") $text:char const* $state:int process("/root/systemtap_write/install/bin/stap").function("otf_safe_context@/root/systemtap_write/systemtap/elaborate.h:313") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("otf_safe_context@/root/systemtap_write/systemtap/tapset-timers.cxx:230") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("otf_safe_context@/root/systemtap_write/systemtap/tapsets.cxx:652") $this:struct generic_kprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("otf_safe_context@/root/systemtap_write/systemtap/tapsets.cxx:8784") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("otf_supported@/root/systemtap_write/systemtap/elaborate.h:310") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("otf_supported@/root/systemtap_write/systemtap/tapset-timers.cxx:226") $this:struct hrtimer_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("otf_supported@/root/systemtap_write/systemtap/tapsets.cxx:649") $this:struct generic_kprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("otf_supported@/root/systemtap_write/systemtap/tapsets.cxx:8779") $this:struct uprobe_derived_probe_group* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("output_autoconf@/root/systemtap_write/systemtap/buildrun.cxx:154") $o:ofstream& $autoconf_c:char const* $deftrue:char const* $s:struct systemtap_session& $deffalse:char const* process("/root/systemtap_write/install/bin/stap").function("output_dual_exportconf@/root/systemtap_write/systemtap/buildrun.cxx:184") $s:struct systemtap_session& $o:ofstream& $symbol1:char const* $symbol2:char const* $deftrue:char const* process("/root/systemtap_write/install/bin/stap").function("output_either_exportconf@/root/systemtap_write/systemtap/buildrun.cxx:198") $s:struct systemtap_session& $o:ofstream& $symbol1:char const* $symbol2:char const* $deftrue:char const* process("/root/systemtap_write/install/bin/stap").function("output_exportconf@/root/systemtap_write/systemtap/buildrun.cxx:172") $s:struct systemtap_session& $o:ofstream& $symbol:char const* $deftrue:char const* process("/root/systemtap_write/install/bin/stap").function("override@/root/systemtap_write/systemtap/translate.cxx:581") $value:string const& $this:struct tmpvar* const process("/root/systemtap_write/install/bin/stap").function("package_request@/root/systemtap_write/systemtap/csclient.cxx:1144") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") $__tuple2:class tuple<>& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:133") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:Dwarf_Die& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >&, 0ul>@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >&>@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator > >&, 0ul>@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator > >&>@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") $__tuple2:class tuple<>& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:Dwarf_Die& $__x:struct interned_string& $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__x:struct interned_string& $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:struct functiondecl*& $__x:struct interned_string& $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:struct generic_kprobe_derived_probe*& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:struct interned_string& $__x:struct interned_string& $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $__p:struct pair&& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $__p:struct pair&& $this:struct pair, std::allocator >, std::basic_string, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:138") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator& process("/root/systemtap_write/install/bin/stap").function("pair&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator& process("/root/systemtap_write/install/bin/stap").function("pair&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator& process("/root/systemtap_write/install/bin/stap").function("pair&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator& process("/root/systemtap_write/install/bin/stap").function("pair >&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator, std::allocator > >& process("/root/systemtap_write/install/bin/stap").function("pair&, bool&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:bool& $__x:struct _Rb_tree_iterator& process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >&&, 0ul>@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >&&>@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair&, std::basic_string&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") process("/root/systemtap_write/install/bin/stap").function("pair&, unsigned int&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") process("/root/systemtap_write/install/bin/stap").function("pair, derived_probe*&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:struct derived_probe*& $__x:class basic_string, std::allocator >&& $this:struct pair, std::allocator >, derived_probe*>* const process("/root/systemtap_write/install/bin/stap").function("pair, derived_probe*, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair, match_item*&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") process("/root/systemtap_write/install/bin/stap").function("pair, std::basic_string, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >, std::basic_string, std::allocator > >&&, 0ul>@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair, std::allocator >, std::basic_string, std::allocator > >&&>@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair&, exp_type&, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:enum exp_type& $__x:class vector >& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:133") process("/root/systemtap_write/install/bin/stap").function("pair, void>@/usr/include/c++/4.8.2/bits/stl_pair.h:150") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") $__tuple2:class tuple<>& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1086") $__tuple2:class tuple<>& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/tuple:1074") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:144") $__y:Dwarf_Die& $this:struct pair* const process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:150") $__p:struct pair&& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:108") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:112") $__a:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:127") process("/root/systemtap_write/install/bin/stap").function("pair@/usr/include/c++/4.8.2/bits/stl_pair.h:128") process("/root/systemtap_write/install/bin/stap").function("panic_warnings_opt@/root/systemtap_write/systemtap/interactive.cxx:1001") $this:class panic_warnings_opt* const process("/root/systemtap_write/install/bin/stap").function("parse@/root/systemtap_write/systemtap/parse.cxx:1889") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse@/root/systemtap_write/systemtap/parse.cxx:238") $s:struct systemtap_session& $n:string const& $i:istream& $flags:unsigned int process("/root/systemtap_write/install/bin/stap").function("parse@/root/systemtap_write/systemtap/parse.cxx:245") $s:struct systemtap_session& $name:string const& $flags:unsigned int process("/root/systemtap_write/install/bin/stap").function("parse@/root/systemtap_write/systemtap/stapregex-parse.cxx:283") $this:class regex_parser* const $do_tag:bool process("/root/systemtap_write/install/bin/stap").function("parse_additive@/root/systemtap_write/systemtap/parse.cxx:3539") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_array_in@/root/systemtap_write/systemtap/parse.cxx:3380") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_assignment@/root/systemtap_write/systemtap/parse.cxx:3206") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_atvar_op@/root/systemtap_write/systemtap/parse.cxx:4060") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_boolean_and@/root/systemtap_write/systemtap/parse.cxx:3358") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_boolean_or@/root/systemtap_write/systemtap/parse.cxx:3314") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_boolean_xor@/root/systemtap_write/systemtap/parse.cxx:3336") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_break_statement@/root/systemtap_write/systemtap/parse.cxx:2875") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_cast_op@/root/systemtap_write/systemtap/parse.cxx:4032") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_char_range@/root/systemtap_write/systemtap/stapregex-parse.cxx:551") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("parse_cmdline@/root/systemtap_write/systemtap/session.cxx:693") $this:struct systemtap_session* const $argc:int $argv:char* const* process("/root/systemtap_write/install/bin/stap").function("parse_cmdline_runtime@/root/systemtap_write/systemtap/session.cxx:1542") $this:struct systemtap_session* const $opt_runtime:string const& process("/root/systemtap_write/install/bin/stap").function("parse_comparison_or_regex_query@/root/systemtap_write/systemtap/parse.cxx:3450") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_component@/root/systemtap_write/systemtap/parse.cxx:2600") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_components@/root/systemtap_write/systemtap/parse.cxx:2505") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_concatenation@/root/systemtap_write/systemtap/parse.cxx:3515") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_const_op@/root/systemtap_write/systemtap/parse.cxx:4103") $this:class parser* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_continue_statement@/root/systemtap_write/systemtap/parse.cxx:2887") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_crement@/root/systemtap_write/systemtap/parse.cxx:3608") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_defined_op@/root/systemtap_write/systemtap/parse.cxx:4091") $this:class parser* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_delete_statement@/root/systemtap_write/systemtap/parse.cxx:2850") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_dwarf_value@/root/systemtap_write/systemtap/parse.cxx:3648") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_embeddedcode@/root/systemtap_write/systemtap/parse.cxx:2095") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_entry_op@/root/systemtap_write/systemtap/parse.cxx:4123") $this:class parser* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/session.h:101") process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/session.h:103") $this:struct parse_error* const $src:string const& $msg:string const& $skip:bool process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/session.h:92") process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/session.h:99") $this:struct parse_error* const $src:string const& $msg:string const& process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/stapregex-parse.cxx:334") $this:class regex_parser* const $msg:string const& $pos:unsigned int process("/root/systemtap_write/install/bin/stap").function("parse_error@/root/systemtap_write/systemtap/stapregex-parse.cxx:340") $this:class regex_parser* const $msg:string const& process("/root/systemtap_write/install/bin/stap").function("parse_expr@/root/systemtap_write/systemtap/stapregex-parse.cxx:348") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("parse_expr_statement@/root/systemtap_write/systemtap/parse.cxx:2821") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_expression@/root/systemtap_write/systemtap/parse.cxx:3199") process("/root/systemtap_write/install/bin/stap").function("parse_factor@/root/systemtap_write/systemtap/stapregex-parse.cxx:381") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("parse_for_loop@/root/systemtap_write/systemtap/parse.cxx:2899") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_foreach_loop@/root/systemtap_write/systemtap/parse.cxx:3002") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_function_spec@/root/systemtap_write/systemtap/tapsets.cxx:1231") $this:struct dwarf_query* const $spec:string const& process("/root/systemtap_write/install/bin/stap").function("parse_functiondecl@/root/systemtap_write/systemtap/parse.cxx:2348") $this:class parser* const $functions:class vector >& $fname:string const& process("/root/systemtap_write/install/bin/stap").function("parse_global@/root/systemtap_write/systemtap/parse.cxx:2257") $this:class parser* const $globals:class vector >& $probes:class vector >& $fname:string const& process("/root/systemtap_write/install/bin/stap").function("parse_hist_op_or_bare_name@/root/systemtap_write/systemtap/parse.cxx:3732") $this:class parser* const $hop:struct hist_op*& $name:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("parse_if_statement@/root/systemtap_write/systemtap/parse.cxx:2785") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_indexable@/root/systemtap_write/systemtap/parse.cxx:3763") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_kernel_config@/root/systemtap_write/systemtap/session.cxx:1816") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("parse_kernel_exports@/root/systemtap_write/systemtap/session.cxx:1854") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("parse_kernel_functions@/root/systemtap_write/systemtap/session.cxx:1893") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("parse_library_macros@/root/systemtap_write/systemtap/parse.cxx:262") $s:struct systemtap_session& $name:string const& process("/root/systemtap_write/install/bin/stap").function("parse_library_macros@/root/systemtap_write/systemtap/parse.cxx:730") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_literal@/root/systemtap_write/systemtap/parse.cxx:2734") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_literal_string@/root/systemtap_write/systemtap/parse.cxx:2719") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_logical_and@/root/systemtap_write/systemtap/parse.cxx:3292") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_logical_or@/root/systemtap_write/systemtap/parse.cxx:3270") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_multiplicative@/root/systemtap_write/systemtap/parse.cxx:3562") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_next_statement@/root/systemtap_write/systemtap/parse.cxx:2863") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_number@/root/systemtap_write/systemtap/stapregex-parse.cxx:594") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("parse_out_arg_precision@/root/systemtap_write/systemtap/tapsets.cxx:6372") $this:struct sdt_uprobe_var_expanding_visitor* const $asmarg:string& process("/root/systemtap_write/install/bin/stap").function("parse_perf_op@/root/systemtap_write/systemtap/parse.cxx:4135") $this:class parser* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_private@/root/systemtap_write/systemtap/parse.cxx:2222") $this:class parser* const $globals:class vector >& $probes:class vector >& $fname:string const& $functions:class vector >& process("/root/systemtap_write/install/bin/stap").function("parse_probe@/root/systemtap_write/systemtap/parse.cxx:2022") $this:class parser* const $probe_ret:class vector >& $alias_ret:class vector >& process("/root/systemtap_write/install/bin/stap").function("parse_probe_format@/root/systemtap_write/systemtap/tapset-mark.cxx:253") $this:struct mark_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("parse_probe_points@/root/systemtap_write/systemtap/parse.cxx:2479") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_return_statement@/root/systemtap_write/systemtap/parse.cxx:2835") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_shift@/root/systemtap_write/systemtap/parse.cxx:3492") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_stap_color@/root/systemtap_write/systemtap/session.cxx:2532") $this:struct systemtap_session* const $type:string const& process("/root/systemtap_write/install/bin/stap").function("parse_statement@/root/systemtap_write/systemtap/parse.cxx:2173") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_stmt_block@/root/systemtap_write/systemtap/parse.cxx:2113") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_symbol@/root/systemtap_write/systemtap/parse.cxx:3782") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_synthetic_probe@/root/systemtap_write/systemtap/parse.cxx:1990") $this:class parser* const $chain:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_synthetic_probe@/root/systemtap_write/systemtap/parse.cxx:279") $s:struct systemtap_session& $i:istream& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("parse_target_symbol@/root/systemtap_write/systemtap/parse.cxx:4015") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_target_symbol_components@/root/systemtap_write/systemtap/parse.cxx:4159") $this:class parser* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("parse_term@/root/systemtap_write/systemtap/stapregex-parse.cxx:365") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("parse_ternary@/root/systemtap_write/systemtap/parse.cxx:3243") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_try_block@/root/systemtap_write/systemtap/parse.cxx:2139") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_unary@/root/systemtap_write/systemtap/parse.cxx:3585") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_value@/root/systemtap_write/systemtap/parse.cxx:3695") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parse_while_loop@/root/systemtap_write/systemtap/parse.cxx:2969") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("parser@/root/systemtap_write/systemtap/parse.cxx:287") $this:class parser* const $s:struct systemtap_session& $n:string const& $i:istream& $flags:unsigned int process("/root/systemtap_write/install/bin/stap").function("partial_match@/root/systemtap_write/systemtap/interactive.cxx:249") $this:struct match_item* const $text:string const& process("/root/systemtap_write/install/bin/stap").function("partial_sort<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:5333") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__middle:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("partial_sort<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:5333") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__middle:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("partial_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5294") $__middle:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("partial_sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5294") $__middle:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("pass_5@/root/systemtap_write/systemtap/main.cxx:1084") $s:struct systemtap_session& $targets:class vector > process("/root/systemtap_write/install/bin/stap").function("passes_0_4@/root/systemtap_write/systemtap/csclient.cxx:765") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("passes_0_4@/root/systemtap_write/systemtap/main.cxx:400") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("passes_0_4_again_with_server@/root/systemtap_write/systemtap/main.cxx:1143") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("path_insert_sysroot@/root/systemtap_write/systemtap/setupdwfl.cxx:322") $sysroot:string $path:string process("/root/systemtap_write/install/bin/stap").function("path_remove_sysroot@/root/systemtap_write/systemtap/tapsets.cxx:1384") $sess:struct systemtap_session const& $path:string const& process("/root/systemtap_write/install/bin/stap").function("pc_die_line_string@/root/systemtap_write/systemtap/dwflpp.cxx:3029") $this:struct dwflpp* const $pc:Dwarf_Addr $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("pc_line@/root/systemtap_write/systemtap/dwflpp.cxx:3008") $this:struct dwflpp* const $pc:Dwarf_Addr $lineno:int* $colno:int* process("/root/systemtap_write/install/bin/stap").function("pc_location_as_function_string@/root/systemtap_write/systemtap/dwflpp.cxx:3115") $this:struct dwflpp* const $pc:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("peek@/root/systemtap_write/systemtap/parse.cxx:1207") process("/root/systemtap_write/install/bin/stap").function("peek@/root/systemtap_write/systemtap/stapregex-parse.cxx:174") process("/root/systemtap_write/install/bin/stap").function("peek_kw@/root/systemtap_write/systemtap/parse.cxx:1381") $this:class parser* const $kw:string const& process("/root/systemtap_write/install/bin/stap").function("peek_op@/root/systemtap_write/systemtap/parse.cxx:1374") $this:class parser* const $op:string const& process("/root/systemtap_write/install/bin/stap").function("peek_target_symbol_components@/root/systemtap_write/systemtap/parse.cxx:4149") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("perf_derived_probe@/root/systemtap_write/systemtap/tapset-perfmon.cxx:66") $this:struct perf_derived_probe* const $p:struct probe* $l:struct probe_point* $type:int64_t $config:int64_t $i:int64_t $process_p:bool $counter_p:bool $freq:bool $process_n:string $counter:string process("/root/systemtap_write/install/bin/stap").function("perf_op@/root/systemtap_write/systemtap/staptree.h:398") process("/root/systemtap_write/install/bin/stap").function("pieces_small_enough@/root/systemtap_write/systemtap/loc2c.c:1642") process("/root/systemtap_write/install/bin/stap").function("pipe_child_fd@/root/systemtap_write/systemtap/util.cxx:671") $fa:posix_spawn_file_actions_t* $pipefd:int* $childfd:int process("/root/systemtap_write/install/bin/stap").function("plt_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:2702") $entry:string const& $this:struct plt_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("pointer_stride@/root/systemtap_write/systemtap/loc2c.c:2259") $typedie:Dwarf_Die* $origin:struct location* $attr_mem:Dwarf_Attribute $die_mem:Dwarf_Die process("/root/systemtap_write/install/bin/stap").function("pop@/usr/include/c++/4.8.2/bits/stl_queue.h:238") process("/root/systemtap_write/install/bin/stap").function("pop@/usr/include/c++/4.8.2/bits/stl_stack.h:212") process("/root/systemtap_write/install/bin/stap").function("pop_active_lvalue@/root/systemtap_write/systemtap/staptree.cxx:1805") $this:struct visitor* const process("/root/systemtap_write/install/bin/stap").function("pop_back@/usr/include/c++/4.8.2/bits/stl_deque.h:1442") process("/root/systemtap_write/install/bin/stap").function("pop_back@/usr/include/c++/4.8.2/bits/stl_vector.h:937") process("/root/systemtap_write/install/bin/stap").function("pop_front@/usr/include/c++/4.8.2/bits/stl_deque.h:1421") process("/root/systemtap_write/install/bin/stap").function("post_crement@/root/systemtap_write/systemtap/staptree.h:212") process("/root/systemtap_write/install/bin/stap").function("pp1_activation@/root/systemtap_write/systemtap/parse.cxx:119") $curr_macro:struct macrodecl* $tok:struct token const* $this:struct pp1_activation* const process("/root/systemtap_write/install/bin/stap").function("pp_macrodecl@/root/systemtap_write/systemtap/parse.cxx:99") process("/root/systemtap_write/install/bin/stap").function("ppoll@/usr/include/bits/poll2.h:65") $__ss:__sigset_t const* $__timeout:struct timespec const* $__nfds:nfds_t $__fds:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("pr15123_retry_addr@/root/systemtap_write/systemtap/dwflpp.cxx:4677") $this:struct dwflpp* const $pc:Dwarf_Addr $die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("pr_contains@/root/systemtap_write/systemtap/privilege.cxx:42") $actual:privilege_t $required:privilege_t process("/root/systemtap_write/install/bin/stap").function("pr_name@/root/systemtap_write/systemtap/privilege.cxx:28") $p:privilege_t process("/root/systemtap_write/install/bin/stap").function("pre_crement@/root/systemtap_write/systemtap/staptree.h:206") process("/root/systemtap_write/install/bin/stap").function("precision_to_function@/root/systemtap_write/systemtap/tapsets.cxx:6507") $precision:long int process("/root/systemtap_write/install/bin/stap").function("preferred_order@/root/systemtap_write/systemtap/csclient.cxx:182") $servers:class vector >& process("/root/systemtap_write/install/bin/stap").function("prepare@/root/systemtap_write/systemtap/remote.cxx:444") $this:class stapsh* const process("/root/systemtap_write/install/bin/stap").function("prepare@/root/systemtap_write/systemtap/remote.h:23") $this:class remote* const process("/root/systemtap_write/install/bin/stap").function("prepare_poll@/root/systemtap_write/systemtap/remote.cxx:134") $this:class stapsh* const $fds:class vector >& process("/root/systemtap_write/install/bin/stap").function("prepare_poll@/root/systemtap_write/systemtap/remote.h:27") $this:class remote* const process("/root/systemtap_write/install/bin/stap").function("prepare_rvalue@/root/systemtap_write/systemtap/translate.cxx:5050") $this:struct c_unparser_assignment* const $op:struct interned_string $rval:struct tmpvar& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("prepare_section_rejection@/root/systemtap_write/systemtap/tapsets.cxx:8446") $this:struct symbol_table* const $mod:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("prepare_symbol_data@/root/systemtap_write/systemtap/translate.cxx:7346") process("/root/systemtap_write/install/bin/stap").function("prepare_translate_pass@/root/systemtap_write/systemtap/translate.cxx:7587") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("preprocess_print_format@/root/systemtap_write/systemtap/translate.cxx:5580") process("/root/systemtap_write/install/bin/stap").function("pretty_print_depth@/root/systemtap_write/systemtap/staptree.cxx:291") process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-dfa.cxx:700") $this:struct state const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-dfa.cxx:734") $this:struct dfa const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-dfa.cxx:740") $this:struct dfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.cxx:55") $this:struct range const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:132") $this:struct null_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:145") $this:struct anchor_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:157") $this:struct tag_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:168") $this:struct match_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:180") $this:struct alt_op const* const $o:ostream& $priority:unsigned int process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:197") $this:struct cat_op const* const $o:ostream& $priority:unsigned int process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:213") $this:struct close_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:227") $this:struct closev_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex-tree.h:243") $this:struct rule_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex.cxx:171") $this:struct stapdfa const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/stapregex.cxx:177") $this:struct stapdfa const* const $o:class translator_output* process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1059") $this:struct print_format const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1078") $this:struct stat_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1112") $this:struct hist_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1144") $this:struct embeddedcode const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1151") $this:struct block const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1168") $this:struct try_block const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1180") $this:struct for_loop const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1193") $this:struct foreach_loop const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1250") $this:struct null_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1256") $this:struct expr_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1262") $this:struct return_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1268") $this:struct delete_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1273") $this:struct next_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1278") $this:struct break_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1283") $this:struct continue_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1288") $this:struct if_statement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1297") $this:struct stapfile const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1331") $this:struct probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:1375") $this:struct probe_point const* const $o:ostream& $print_extras:bool process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:356") $this:struct literal_string const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:368") $this:struct literal_number const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:378") $this:struct embedded_expr const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:384") $this:struct binary_expression const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:391") $this:struct regex_query const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:401") $this:struct unary_expression const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:406") $this:struct array_in const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:421") $this:struct post_crement const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:427") $this:struct ternary_expression const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:435") $this:struct symbol const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:441") $this:struct component const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:466") $this:struct target_symbol const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:476") $this:struct atvar_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:486") $this:struct cast_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:500") $this:struct autocast_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:510") $this:struct defined_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:516") $this:struct entry_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:522") $this:struct perf_op const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:528") $this:struct vardecl const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:563") $this:struct functiondecl const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:637") $this:struct arrayindex const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print@/root/systemtap_write/systemtap/staptree.cxx:653") $this:struct functioncall const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_chars@/root/systemtap_write/systemtap/tapsets.cxx:3531") $this:struct dwarf_pretty_print* const $start_type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* process("/root/systemtap_write/install/bin/stap").function("print_coverage_info@/root/systemtap_write/systemtap/coveragedb.cxx:25") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/elaborate.h:195") $this:struct derived_probe* const process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-been.cxx:200") $this:struct never_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-been.cxx:58") $this:struct be_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-mark.cxx:408") $this:struct mark_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-timers.cxx:214") $this:struct hrtimer_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-timers.cxx:43") $this:struct timer_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapset-utrace.cxx:240") $this:struct utrace_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapsets.cxx:10776") $this:struct tracepoint_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapsets.cxx:5479") $this:struct dwarf_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp@/root/systemtap_write/systemtap/tapsets.cxx:629") $this:struct uprobe_derived_probe* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp_unprivileged@/root/systemtap_write/systemtap/elaborate.cxx:213") $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_dupe_stamp_unprivileged_process_owner@/root/systemtap_write/systemtap/elaborate.cxx:219") $o:ostream& process("/root/systemtap_write/install/bin/stap").function("print_error@/root/systemtap_write/systemtap/parse.cxx:349") $this:class parser* const $pe:struct parse_error const& $errs_as_warnings:bool process("/root/systemtap_write/install/bin/stap").function("print_error@/root/systemtap_write/systemtap/session.cxx:2166") $this:struct systemtap_session* const $se:struct semantic_error const& process("/root/systemtap_write/install/bin/stap").function("print_error@/root/systemtap_write/systemtap/session.cxx:2326") $this:struct systemtap_session* const $pe:struct parse_error const& $tok:struct token const* $input_name:string const& $is_warningerr:bool process("/root/systemtap_write/install/bin/stap").function("print_error_details@/root/systemtap_write/systemtap/session.cxx:2296") $this:struct systemtap_session* const $message:ostream& $align:string& $e:struct semantic_error const& process("/root/systemtap_write/install/bin/stap").function("print_error_source@/root/systemtap_write/systemtap/session.cxx:2222") $this:struct systemtap_session* const $message:ostream& $align:string& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("print_escaped@/root/systemtap_write/systemtap/stapregex-parse.cxx:141") $o:ostream& $c:char process("/root/systemtap_write/install/bin/stap").function("print_format@/root/systemtap_write/systemtap/staptree.h:428") $this:struct print_format* const process("/root/systemtap_write/install/bin/stap").function("print_format@/root/systemtap_write/systemtap/staptree.h:525") $type:struct interned_string $_char:bool $newline:bool $delim:bool $format:bool $stream:bool $this:struct print_format* const process("/root/systemtap_write/install/bin/stap").function("print_token@/root/systemtap_write/systemtap/session.cxx:2136") $this:struct systemtap_session* const $o:ostream& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("print_warning@/root/systemtap_write/systemtap/session.cxx:2305") $this:struct systemtap_session* const $message_str:string const& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("printf@/usr/include/bits/stdio2.h:102") process("/root/systemtap_write/install/bin/stap").function("printout@/root/systemtap_write/systemtap/remote.cxx:387") $this:class stapsh* const $buf:char const* $size:size_t process("/root/systemtap_write/install/bin/stap").function("printscript@/root/systemtap_write/systemtap/main.cxx:71") $s:struct systemtap_session& $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/elaborate.cxx:83") $this:struct derived_probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/staptree.cxx:1339") $this:struct probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/staptree.cxx:1420") $this:struct probe_alias const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/staptree.cxx:545") $this:struct vardecl const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/staptree.cxx:573") $this:struct functiondecl const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/tapsets.cxx:10041") $this:struct hwbkpt_derived_probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/tapsets.cxx:4940") $this:struct dwarf_derived_probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig@/root/systemtap_write/systemtap/tapsets.cxx:9747") $this:struct kprobe_derived_probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsig_nested@/root/systemtap_write/systemtap/elaborate.cxx:90") $this:struct derived_probe const* const $o:ostream& process("/root/systemtap_write/install/bin/stap").function("printsigtags@/root/systemtap_write/systemtap/staptree.cxx:622") $this:struct functiondecl const* const $o:ostream& $all_tags:bool process("/root/systemtap_write/install/bin/stap").function("private_ssl_cert_db_path@/root/systemtap_write/systemtap/csclient.cxx:265") process("/root/systemtap_write/install/bin/stap").function("probe@/root/systemtap_write/systemtap/staptree.cxx:124") process("/root/systemtap_write/install/bin/stap").function("probe@/root/systemtap_write/systemtap/staptree.cxx:134") $this:struct probe* const $p:struct probe* $l:struct probe_point* process("/root/systemtap_write/install/bin/stap").function("probe_alias@/root/systemtap_write/systemtap/staptree.cxx:1415") $this:struct probe_alias* const $aliases:class vector > const& process("/root/systemtap_write/install/bin/stap").function("probe_generator@/root/systemtap_write/systemtap/interactive.cxx:1278") $text:char const* $state:int process("/root/systemtap_write/install/bin/stap").function("probe_point@/root/systemtap_write/systemtap/staptree.cxx:100") $this:struct probe_point* const $pp:struct probe_point const& process("/root/systemtap_write/install/bin/stap").function("probe_point@/root/systemtap_write/systemtap/staptree.cxx:107") $this:struct probe_point* const process("/root/systemtap_write/install/bin/stap").function("probe_point@/root/systemtap_write/systemtap/staptree.cxx:93") $this:struct probe_point* const $comps:class vector > const& process("/root/systemtap_write/install/bin/stap").function("process_probe_list@/root/systemtap_write/systemtap/interactive.cxx:1428") $probe_stream:istream& $handle_regexps:bool process("/root/systemtap_write/install/bin/stap").function("process_response@/root/systemtap_write/systemtap/csclient.cxx:1467") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("procfs_derived_probe@/root/systemtap_write/systemtap/tapset-procfs.cxx:94") $this:struct procfs_derived_probe* const $s:struct systemtap_session& $p:struct probe* $l:struct probe_point* $ps:string $w:bool $m:int64_t $umask:int64_t process("/root/systemtap_write/install/bin/stap").function("procfs_probe_set@/root/systemtap_write/systemtap/tapset-procfs.cxx:55") process("/root/systemtap_write/install/bin/stap").function("procfs_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-procfs.cxx:411") $this:struct procfs_var_expanding_visitor* const $s:struct systemtap_session& $path:string $write_probe:bool process("/root/systemtap_write/install/bin/stap").function("profile_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:430") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct atvar_op* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct autocast_op* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct block* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct cast_op* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct expression* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") $src:struct statement* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide@/root/systemtap_write/systemtap/staptree.h:1195") process("/root/systemtap_write/install/bin/stap").function("provide_lvalue_call@/root/systemtap_write/systemtap/tapsets.cxx:2852") $this:struct var_expanding_visitor* const $fcall:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("prtCh@/root/systemtap_write/systemtap/stapregex-parse.cxx:82") $o:ostream& $c:unsigned int process("/root/systemtap_write/install/bin/stap").function("pubsetbuf@/usr/include/c++/4.8.2/streambuf:239") $__n:streamsize $__s:char_type* $this:class basic_streambuf >* const process("/root/systemtap_write/install/bin/stap").function("purge_syscall_stubs@/root/systemtap_write/systemtap/tapsets.cxx:8621") $this:struct symbol_table* const process("/root/systemtap_write/install/bin/stap").function("push@/usr/include/c++/4.8.2/bits/stl_queue.h:212") process("/root/systemtap_write/install/bin/stap").function("push@/usr/include/c++/4.8.2/bits/stl_stack.h:186") process("/root/systemtap_write/install/bin/stap").function("push@/usr/include/c++/4.8.2/bits/stl_stack.h:191") process("/root/systemtap_write/install/bin/stap").function("push_active_lvalue@/root/systemtap_write/systemtap/staptree.cxx:1799") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/basic_string.h:1052") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_deque.h:1390") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_deque.h:1404") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_list.h:1015") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_list.h:1020") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_vector.h:901") process("/root/systemtap_write/install/bin/stap").function("push_back@/usr/include/c++/4.8.2/bits/stl_vector.h:919") process("/root/systemtap_write/install/bin/stap").function("push_deref@/root/systemtap_write/systemtap/tapsets.cxx:3726") $this:struct dwarf_pretty_print* const $pf:struct print_format* $fmt:string const& $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("push_front@/usr/include/c++/4.8.2/bits/stl_deque.h:1359") $__x:value_type const& $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("push_front@/usr/include/c++/4.8.2/bits/stl_deque.h:1372") $__x:value_type&& $this:class deque, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("qpencode@/root/systemtap_write/systemtap/remote.cxx:361") process("/root/systemtap_write/install/bin/stap").function("query@/root/systemtap_write/systemtap/interactive.cxx:60") $prompt:char const* $qdefault:enum query_default process("/root/systemtap_write/install/bin/stap").function("query_addr@/root/systemtap_write/systemtap/tapsets.cxx:1751") $addr:Dwarf_Addr $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_callee@/root/systemtap_write/systemtap/tapsets.cxx:1941") $callee:struct base_func_info& $caller:struct base_func_info& $callers:class stack > >* $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_cu@/root/systemtap_write/systemtap/tapsets.cxx:2256") $cudie:Dwarf_Die* $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_cu_containing_address@/root/systemtap_write/systemtap/dwflpp.cxx:245") $this:struct dwflpp* const $a:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("query_dwarf_func@/root/systemtap_write/systemtap/tapsets.cxx:2158") $func:Dwarf_Die* $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_dwarf_inline_instance@/root/systemtap_write/systemtap/tapsets.cxx:2109") $die:Dwarf_Die* $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_func_info@/root/systemtap_write/systemtap/tapsets.cxx:2004") $entrypc:Dwarf_Addr $fi:struct func_info& $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_inline_instance_info@/root/systemtap_write/systemtap/tapsets.cxx:1973") $q:struct dwarf_query* $ii:struct inline_instance_info& process("/root/systemtap_write/install/bin/stap").function("query_label@/root/systemtap_write/systemtap/tapsets.cxx:1912") $func:struct base_func_info const& $label:char const* $file:char const* $line:int $scope_die:Dwarf_Die* $stmt_addr:Dwarf_Addr $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_library@/root/systemtap_write/systemtap/tapsets.cxx:11280") $this:struct tracepoint_query* const process("/root/systemtap_write/install/bin/stap").function("query_library@/root/systemtap_write/systemtap/tapsets.cxx:2693") $this:struct dwarf_query* const $library:char const* process("/root/systemtap_write/install/bin/stap").function("query_library@/root/systemtap_write/systemtap/tapsets.cxx:4505") $this:struct dwarf_cast_query* const process("/root/systemtap_write/install/bin/stap").function("query_library@/root/systemtap_write/systemtap/tapsets.cxx:4794") $this:struct dwarf_atvar_query* const process("/root/systemtap_write/install/bin/stap").function("query_library@/root/systemtap_write/systemtap/tapsets.cxx:7562") $this:struct sdt_query* const $library:char const* process("/root/systemtap_write/install/bin/stap").function("query_library_callback@/root/systemtap_write/systemtap/tapsets.cxx:2631") $me:struct base_query* $data:char const* process("/root/systemtap_write/install/bin/stap").function("query_module@/root/systemtap_write/systemtap/tapsets.cxx:2529") $mod:Dwfl_Module* $name:char const* $addr:Dwarf_Addr $q:struct base_query* process("/root/systemtap_write/install/bin/stap").function("query_module@/root/systemtap_write/systemtap/translate.cxx:7254") $mod:Dwfl_Module* $dwflpp:struct dwflpp* process("/root/systemtap_write/install/bin/stap").function("query_module_dwarf@/root/systemtap_write/systemtap/tapsets.cxx:1089") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("query_module_functions@/root/systemtap_write/systemtap/tapsets.cxx:2384") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("query_module_symtab@/root/systemtap_write/systemtap/tapsets.cxx:1150") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("query_one_library@/root/systemtap_write/systemtap/tapsets.cxx:2666") $library:char const* $dw:struct dwflpp& $user_lib:string const $base_probe:struct probe* $base_loc:struct probe_point* $results:class vector >& process("/root/systemtap_write/install/bin/stap").function("query_one_plt@/root/systemtap_write/systemtap/tapsets.cxx:2722") $entry:char const* $addr:long int $dw:struct dwflpp& $base_probe:struct probe* $base_loc:struct probe_point* $results:class vector >& $q:struct base_query* process("/root/systemtap_write/install/bin/stap").function("query_plt@/root/systemtap_write/systemtap/tapsets.cxx:11281") $this:struct tracepoint_query* const process("/root/systemtap_write/install/bin/stap").function("query_plt@/root/systemtap_write/systemtap/tapsets.cxx:2778") $this:struct dwarf_query* const $entry:char const* $address:size_t process("/root/systemtap_write/install/bin/stap").function("query_plt@/root/systemtap_write/systemtap/tapsets.cxx:4506") $this:struct dwarf_cast_query* const process("/root/systemtap_write/install/bin/stap").function("query_plt@/root/systemtap_write/systemtap/tapsets.cxx:4795") $this:struct dwarf_atvar_query* const process("/root/systemtap_write/install/bin/stap").function("query_plt@/root/systemtap_write/systemtap/tapsets.cxx:6968") $this:struct sdt_query* const process("/root/systemtap_write/install/bin/stap").function("query_plt_callback@/root/systemtap_write/systemtap/tapsets.cxx:2713") $me:struct base_query* $entry:char const* $address:size_t process("/root/systemtap_write/install/bin/stap").function("query_plt_statement@/root/systemtap_write/systemtap/tapsets.cxx:1877") $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_server_status@/root/systemtap_write/systemtap/csclient.cxx:2318") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("query_server_status@/root/systemtap_write/systemtap/csclient.cxx:2326") process("/root/systemtap_write/install/bin/stap").function("query_srcfile_line@/root/systemtap_write/systemtap/tapsets.cxx:2044") $addr:Dwarf_Addr $lineno:int $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_statement@/root/systemtap_write/systemtap/tapsets.cxx:1732") $func:struct interned_string $file:struct interned_string $line:int $scope_die:Dwarf_Die* $stmt_addr:Dwarf_Addr $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("query_symtab_func_info@/root/systemtap_write/systemtap/tapsets.cxx:1130") $fi:struct func_info& $q:struct dwarf_query* process("/root/systemtap_write/install/bin/stap").function("queue@/usr/include/c++/4.8.2/bits/stl_queue.h:142") process("/root/systemtap_write/install/bin/stap").function("quit_cmd@/root/systemtap_write/systemtap/interactive.cxx:448") $this:class quit_cmd* const process("/root/systemtap_write/install/bin/stap").function("range@/root/systemtap_write/systemtap/stapregex-tree.cxx:29") $this:struct range* const $lb:char $ub:char process("/root/systemtap_write/install/bin/stap").function("range@/root/systemtap_write/systemtap/stapregex-tree.cxx:34") $this:struct range* const $str:string const& process("/root/systemtap_write/install/bin/stap").function("range@/root/systemtap_write/systemtap/stapregex-tree.h:29") process("/root/systemtap_write/install/bin/stap").function("range@/root/systemtap_write/systemtap/stapregex-tree.h:32") process("/root/systemtap_write/install/bin/stap").function("range_invert@/root/systemtap_write/systemtap/stapregex-tree.cxx:142") $old_ran:struct range* process("/root/systemtap_write/install/bin/stap").function("range_union@/root/systemtap_write/systemtap/stapregex-tree.cxx:108") $old_a:struct range* $old_b:struct range* process("/root/systemtap_write/install/bin/stap").function("rbegin@/usr/include/c++/4.8.2/bits/stl_map.h:356") $this:class map, std::allocator >, match_item*, std::less, std::allocator > >, std::allocator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("rbegin@/usr/include/c++/4.8.2/bits/stl_tree.h:707") $this:class _Rb_tree, std::allocator >, std::pair, std::allocator >, match_item*>, std::_Select1st, std::allocator >, match_item*> >, std::less, std::allocator > >, std::allocator, std::allocator >, match_item*> > >* const process("/root/systemtap_write/install/bin/stap").function("rbegin@/usr/include/c++/4.8.2/bits/stl_vector.h:574") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("read@/usr/include/bits/unistd.h:34") $__nbytes:size_t $__buf:void* $__fd:int process("/root/systemtap_write/install/bin/stap").function("read_cert_info_from_file@/root/systemtap_write/systemtap/nsscommon.cxx:1398") $certPath:string const& $fingerprint:string& process("/root/systemtap_write/install/bin/stap").function("read_from_file@/root/systemtap_write/systemtap/csclient.cxx:1552") $this:class compile_server_client* const $fname:string const& $data:int& process("/root/systemtap_write/install/bin/stap").function("read_from_file@/root/systemtap_write/systemtap/cscommon.cxx:83") $fname:string const& $data:struct cs_protocol_version& process("/root/systemtap_write/install/bin/stap").function("readlink@/usr/include/bits/unistd.h:139") $__len:size_t $__path:char const* process("/root/systemtap_write/install/bin/stap").function("realpath@/usr/include/bits/stdlib.h:37") $__resolved:char* $__name:char const* process("/root/systemtap_write/install/bin/stap").function("record_actions@/root/systemtap_write/systemtap/translate.cxx:3570") $this:struct c_unparser* const $actions:unsigned int $tok:struct token const* $update:bool process("/root/systemtap_write/install/bin/stap").function("record_semaphore@/root/systemtap_write/systemtap/tapsets.cxx:7394") $this:struct sdt_query* const $results:class vector >& $start:unsigned int process("/root/systemtap_write/install/bin/stap").function("recurse@/root/systemtap_write/systemtap/tapsets.cxx:3207") $this:struct dwarf_pretty_print* const $start_type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* $top:bool process("/root/systemtap_write/install/bin/stap").function("recurse_array@/root/systemtap_write/systemtap/tapsets.cxx:3345") $this:struct dwarf_pretty_print* const $type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* $top:bool process("/root/systemtap_write/install/bin/stap").function("recurse_base@/root/systemtap_write/systemtap/tapsets.cxx:3307") $this:struct dwarf_pretty_print* const $type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* process("/root/systemtap_write/install/bin/stap").function("recurse_bitfield@/root/systemtap_write/systemtap/tapsets.cxx:3262") $this:struct dwarf_pretty_print* const $start_type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* process("/root/systemtap_write/install/bin/stap").function("recurse_pointer@/root/systemtap_write/systemtap/tapsets.cxx:3382") $this:struct dwarf_pretty_print* const $type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* $top:bool process("/root/systemtap_write/install/bin/stap").function("recurse_struct@/root/systemtap_write/systemtap/tapsets.cxx:3415") $this:struct dwarf_pretty_print* const $type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* $top:bool process("/root/systemtap_write/install/bin/stap").function("recurse_struct_members@/root/systemtap_write/systemtap/tapsets.cxx:3442") $this:struct dwarf_pretty_print* const $type:Dwarf_Die* $e:struct target_symbol* $pf:struct print_format* $count:int& process("/root/systemtap_write/install/bin/stap").function("recursion_info@/root/systemtap_write/systemtap/translate.cxx:7529") $s:struct systemtap_session& $this:struct recursion_info* const process("/root/systemtap_write/install/bin/stap").function("recursive_expansion_error@/root/systemtap_write/systemtap/elaborate.h:33") $this:struct recursive_expansion_error* const $msg:string const& $t1:struct token const* process("/root/systemtap_write/install/bin/stap").function("reduce_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:3885") $this:struct void_statement_reducer* const $e:struct target_symbol* $operand:struct expression* process("/root/systemtap_write/install/bin/stap").function("refine_higher@/root/systemtap_write/systemtap/stapregex-dfa.cxx:124") process("/root/systemtap_write/install/bin/stap").function("refine_lower@/root/systemtap_write/systemtap/stapregex-dfa.cxx:130") process("/root/systemtap_write/install/bin/stap").function("regex_collecting_visitor@/root/systemtap_write/systemtap/elaborate.cxx:1667") process("/root/systemtap_write/install/bin/stap").function("regex_error@/root/systemtap_write/systemtap/stapregex-tree.h:262") $msg:string const& $this:struct regex_error* const process("/root/systemtap_write/install/bin/stap").function("regex_error@/root/systemtap_write/systemtap/stapregex-tree.h:264") process("/root/systemtap_write/install/bin/stap").function("regex_parser@/root/systemtap_write/systemtap/stapregex-parse.h:50") $do_unescape:bool $input:string const& $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("regex_query@/root/systemtap_write/systemtap/staptree.h:239") process("/root/systemtap_write/install/bin/stap").function("regex_to_stapdfa@/root/systemtap_write/systemtap/stapregex.cxx:37") $s:struct systemtap_session* $input:string const& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("regexp@/root/systemtap_write/systemtap/stapregex-tree.h:96") process("/root/systemtap_write/install/bin/stap").function("regexp_match@/root/systemtap_write/systemtap/util.cxx:964") $value:string const& $re:string const& $matches:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("register_function_and_statement_variants@/root/systemtap_write/systemtap/tapsets.cxx:5534") $s:struct systemtap_session& $root:class match_node* $dw:struct dwarf_builder* $privilege:privilege_t process("/root/systemtap_write/install/bin/stap").function("register_function_variants@/root/systemtap_write/systemtap/tapsets.cxx:5508") $root:class match_node* $dw:struct dwarf_builder* $privilege:privilege_t process("/root/systemtap_write/install/bin/stap").function("register_library_aliases@/root/systemtap_write/systemtap/session.cxx:2090") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("register_patterns@/root/systemtap_write/systemtap/tapsets.cxx:5625") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_plt_variants@/root/systemtap_write/systemtap/tapsets.cxx:5603") $root:class match_node* $dw:struct dwarf_builder* process("/root/systemtap_write/install/bin/stap").function("register_sdt_variants@/root/systemtap_write/systemtap/tapsets.cxx:5590") $root:class match_node* $dw:struct dwarf_builder* process("/root/systemtap_write/install/bin/stap").function("register_standard_tapsets@/root/systemtap_write/systemtap/tapsets.cxx:11826") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_statement_variants@/root/systemtap_write/systemtap/tapsets.cxx:5495") $root:class match_node* $dw:struct dwarf_builder* $privilege:privilege_t process("/root/systemtap_write/install/bin/stap").function("register_tapset_been@/root/systemtap_write/systemtap/tapset-been.cxx:226") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_itrace@/root/systemtap_write/systemtap/tapset-itrace.cxx:307") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_java@/root/systemtap_write/systemtap/tapset-method.cxx:363") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_mark@/root/systemtap_write/systemtap/tapset-mark.cxx:746") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_netfilter@/root/systemtap_write/systemtap/tapset-netfilter.cxx:513") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_perf@/root/systemtap_write/systemtap/tapset-perfmon.cxx:388") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_procfs@/root/systemtap_write/systemtap/tapset-procfs.cxx:630") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_timers@/root/systemtap_write/systemtap/tapset-timers.cxx:665") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tapset_utrace@/root/systemtap_write/systemtap/tapset-utrace.cxx:1290") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("register_tm_clones") process("/root/systemtap_write/install/bin/stap").function("reject_section@/root/systemtap_write/systemtap/tapsets.cxx:8490") $this:struct symbol_table* const $section:GElf_Word process("/root/systemtap_write/install/bin/stap").function("relocate_address@/root/systemtap_write/systemtap/dwflpp.cxx:4550") $this:struct dwflpp* const $dw_addr:Dwarf_Addr $reloc_section:struct interned_string& process("/root/systemtap_write/install/bin/stap").function("remote@/root/systemtap_write/systemtap/remote.h:35") process("/root/systemtap_write/install/bin/stap").function("remove_file_or_dir@/root/systemtap_write/systemtap/util.cxx:213") $name:char const* process("/root/systemtap_write/install/bin/stap").function("remove_prefix@/root/systemtap_write/systemtap/stringtable.h:138") $n:size_t $this:struct interned_string* const process("/root/systemtap_write/install/bin/stap").function("remove_probe_point_component@/root/systemtap_write/systemtap/tapsets.cxx:1605") $this:struct dwarf_query* const $functor:struct interned_string process("/root/systemtap_write/install/bin/stap").function("remove_tmp_dir@/root/systemtap_write/systemtap/session.cxx:2436") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") $clearok:bool process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") $clearok:bool $src:struct hist_op*& $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") $clearok:bool process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") $clearok:bool process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") process("/root/systemtap_write/install/bin/stap").function("replace@/root/systemtap_write/systemtap/staptree.h:1200") process("/root/systemtap_write/install/bin/stap").function("replace@/usr/include/c++/4.8.2/bits/basic_string.h:1429") $__str:class basic_string, std::allocator > const& $__n:size_type $this:class basic_string, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("replace@/usr/include/c++/4.8.2/bits/basic_string.h:1496") process("/root/systemtap_write/install/bin/stap").function("replace_if<__gnu_cxx::__normal_iterator >, bool (*)(char), char>@/usr/include/c++/4.8.2/bits/stl_algo.h:5016") $__last:class __normal_iterator, std::allocator > > $__first:class __normal_iterator, std::allocator > > process("/root/systemtap_write/install/bin/stap").function("replace_probe_point_component_arg@/root/systemtap_write/systemtap/tapsets.cxx:1559") $this:struct dwarf_query* const $functor:struct interned_string $new_functor:struct interned_string $new_arg:int64_t $hex:bool process("/root/systemtap_write/install/bin/stap").function("replace_probe_point_component_arg@/root/systemtap_write/systemtap/tapsets.cxx:1575") $this:struct dwarf_query* const $functor:struct interned_string $new_arg:int64_t $hex:bool process("/root/systemtap_write/install/bin/stap").function("replace_probe_point_component_arg@/root/systemtap_write/systemtap/tapsets.cxx:1583") $this:struct dwarf_query* const $functor:struct interned_string $new_functor:struct interned_string $new_arg:struct interned_string process("/root/systemtap_write/install/bin/stap").function("replace_probe_point_component_arg@/root/systemtap_write/systemtap/tapsets.cxx:1598") $this:struct dwarf_query* const $functor:struct interned_string $new_arg:struct interned_string process("/root/systemtap_write/install/bin/stap").function("report_suppression@/root/systemtap_write/systemtap/session.cxx:2394") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $clearok:bool $src:struct arrayindex* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $this:struct update_visitor* const $src:struct expr_statement* $clearok:bool process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $this:struct update_visitor* const $src:struct expression* $clearok:bool process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $clearok:bool $src:struct hist_op* $this:struct update_visitor* const process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $this:struct update_visitor* const $src:struct indexable* $clearok:bool process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $this:struct update_visitor* const $src:struct literal_string* $clearok:bool process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") $this:struct update_visitor* const $src:struct statement* $clearok:bool process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") process("/root/systemtap_write/install/bin/stap").function("require@/root/systemtap_write/systemtap/staptree.h:1175") process("/root/systemtap_write/install/bin/stap").function("reset@/root/systemtap_write/systemtap/loc2c.c:382") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("reset@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:881") process("/root/systemtap_write/install/bin/stap").function("reset_tmp_dir@/root/systemtap_write/systemtap/session.cxx:2460") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("resize@/usr/include/c++/4.8.2/bits/basic_string.h:753") $__n:size_type $this:class basic_string, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("resize@/usr/include/c++/4.8.2/bits/stl_vector.h:664") $__new_size:size_type $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("resolve_2types@/root/systemtap_write/systemtap/elaborate.cxx:6027") $referrer:struct arrayindex* $referent:struct vardecl* $r:struct typeresolution_info* $t:enum exp_type $accept_unknown:bool process("/root/systemtap_write/install/bin/stap").function("resolve_2types@/root/systemtap_write/systemtap/elaborate.cxx:6027") $accept_unknown:bool $t:enum exp_type $r:struct typeresolution_info* $referent:struct functiondecl* $referrer:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("resolve_2types@/root/systemtap_write/systemtap/elaborate.cxx:6027") $referrer:struct symbol* $referent:struct vardecl* $r:struct typeresolution_info* $t:enum exp_type $accept_unknown:bool process("/root/systemtap_write/install/bin/stap").function("resolve_callback@/root/systemtap_write/systemtap/csclient.cxx:3393") $r:AvahiServiceResolver* $interface:AvahiIfIndex $protocol:AvahiProtocol $event:AvahiResolverEvent $name:char const* $type:char const* $domain:char const* $host_name:char const* $address:AvahiAddress const* $port:uint16_t $txt:AvahiStringList* $userdata:void* process("/root/systemtap_write/install/bin/stap").function("resolve_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:5326") $this:struct autocast_expanding_visitor* const $fc:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("resolve_host@/root/systemtap_write/systemtap/csclient.cxx:3224") process("/root/systemtap_write/install/bin/stap").function("resolve_library_by_path@/root/systemtap_write/systemtap/tapsets.cxx:7780") $q:struct base_query& $visited_libraries:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $base:struct probe* $location:struct probe_point* $parameters:literal_map_t const& $finished_results:class vector >& process("/root/systemtap_write/install/bin/stap").function("resolve_path@/root/systemtap_write/systemtap/util.h:360") $path:string const& process("/root/systemtap_write/install/bin/stap").function("resolve_pointer_type@/root/systemtap_write/systemtap/tapsets.cxx:10635") $die:Dwarf_Die& $isptr:bool& process("/root/systemtap_write/install/bin/stap").function("resolve_prologue_endings@/root/systemtap_write/systemtap/dwflpp.cxx:2287") $this:struct dwflpp* const $funcs:func_info_map_t& process("/root/systemtap_write/install/bin/stap").function("resolve_tracepoint_arg_type@/root/systemtap_write/systemtap/tapsets.cxx:10697") $arg:struct tracepoint_arg& process("/root/systemtap_write/install/bin/stap").function("resolve_unqualified_inner_typedie@/root/systemtap_write/systemtap/dwflpp.cxx:3619") $this:struct dwflpp* const $typedie:Dwarf_Die* $innerdie:Dwarf_Die* $e:struct target_symbol const* process("/root/systemtap_write/install/bin/stap").function("resolved@/root/systemtap_write/systemtap/elaborate.cxx:7041") process("/root/systemtap_write/install/bin/stap").function("resolved_details@/root/systemtap_write/systemtap/elaborate.cxx:7070") process("/root/systemtap_write/install/bin/stap").function("resolved_host@/root/systemtap_write/systemtap/csclient.cxx:193") process("/root/systemtap_write/install/bin/stap").function("resolved_host@/root/systemtap_write/systemtap/csclient.cxx:197") $caddress:PRNetAddr process("/root/systemtap_write/install/bin/stap").function("resolved_type@/root/systemtap_write/systemtap/elaborate.h:89") $cindex:int $cdecl:struct symboldecl const* $ct:struct token const* $this:struct resolved_type* const process("/root/systemtap_write/install/bin/stap").function("result@/root/systemtap_write/systemtap/hash.cxx:102") $this:class stap_hash* const $r:string& process("/root/systemtap_write/install/bin/stap").function("retrieve_trace_system@/root/systemtap_write/systemtap/tapsets.cxx:11335") $this:struct tracepoint_query* const process("/root/systemtap_write/install/bin/stap").function("return_statement@/root/systemtap_write/systemtap/staptree.h:740") process("/root/systemtap_write/install/bin/stap").function("return_temporary_buffer@/usr/include/c++/4.8.2/bits/stl_tempbuf.h:112") $__p:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("revoke_server_trust@/root/systemtap_write/systemtap/csclient.cxx:1837") $s:struct systemtap_session& $cert_db_path:string const& $server_list:class vector > const& process("/root/systemtap_write/install/bin/stap").function("rewrite_lvalue@/root/systemtap_write/systemtap/tapsets.cxx:2862") $this:struct var_expanding_visitor* const $tok:struct token const* $eop:struct interned_string& $lvalue:struct expression*& $rvalue:struct expression*& process("/root/systemtap_write/install/bin/stap").function("rfind@/usr/include/c++/4.8.2/bits/basic_string.h:1921") process("/root/systemtap_write/install/bin/stap").function("right@/usr/include/c++/4.8.2/bits/ios_base.h:924") process("/root/systemtap_write/install/bin/stap").function("rotate<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:1675") process("/root/systemtap_write/install/bin/stap").function("rule_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:425") $this:struct rule_op* const $re:struct regexp* $outcome:unsigned int process("/root/systemtap_write/install/bin/stap").function("run@/root/systemtap_write/systemtap/remote.cxx:1223") $remotes:class vector > const& process("/root/systemtap_write/install/bin/stap").function("run_cmd@/root/systemtap_write/systemtap/interactive.cxx:725") $this:class run_cmd* const process("/root/systemtap_write/install/bin/stap").function("run_make_cmd@/root/systemtap_write/systemtap/buildrun.cxx:43") $s:struct systemtap_session& $make_cmd:class vector, std::allocator >, std::allocator, std::allocator > > >& $null_out:bool $null_err:bool process("/root/systemtap_write/install/bin/stap").function("run_sdt_benchmark@/root/systemtap_write/systemtap/main.cxx:319") process("/root/systemtap_write/install/bin/stap").function("runtime_error@/usr/include/c++/4.8.2/stdexcept:112") process("/root/systemtap_write/install/bin/stap").function("safe_dwarf_lineaddr@/root/systemtap_write/systemtap/dwarf_wrappers.h:94") process("/root/systemtap_write/install/bin/stap").function("safe_dwarf_lineno@/root/systemtap_write/systemtap/dwarf_wrappers.h:80") process("/root/systemtap_write/install/bin/stap").function("safe_dwarf_lineprologueend@/root/systemtap_write/systemtap/dwarf_wrappers.h:127") process("/root/systemtap_write/install/bin/stap").function("safe_dwarf_linesrc@/root/systemtap_write/systemtap/dwarf_wrappers.h:112") process("/root/systemtap_write/install/bin/stap").function("save_and_restore@/root/systemtap_write/systemtap/util.h:299") $ptr_in:bool* $this:class save_and_restore* const process("/root/systemtap_write/install/bin/stap").function("save_cmd@/root/systemtap_write/systemtap/interactive.cxx:689") $this:class save_cmd* const process("/root/systemtap_write/install/bin/stap").function("saveargs@/root/systemtap_write/systemtap/tapsets.cxx:5339") $this:struct dwarf_derived_probe* const $q:struct dwarf_query& $scope_die:Dwarf_Die* $dwfl_addr:Dwarf_Addr process("/root/systemtap_write/install/bin/stap").function("saveargs@/root/systemtap_write/systemtap/tapsets.cxx:8818") $this:struct uprobe_derived_probe* const $nargs:int process("/root/systemtap_write/install/bin/stap").function("scan@/root/systemtap_write/systemtap/parse.cxx:1542") $this:class lexer* const process("/root/systemtap_write/install/bin/stap").function("scan_pp1@/root/systemtap_write/systemtap/parse.cxx:442") $this:class parser* const $ignore_macros:bool process("/root/systemtap_write/install/bin/stap").function("scan_pp@/root/systemtap_write/systemtap/parse.cxx:1044") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("script_location@/root/systemtap_write/systemtap/elaborate.cxx:162") $this:struct derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("sdt_benchmark_thread@/root/systemtap_write/systemtap/main.cxx:309") $i:long unsigned int process("/root/systemtap_write/install/bin/stap").function("sdt_query@/root/systemtap_write/systemtap/tapsets.cxx:7023") $this:struct sdt_query* const $base_probe:struct probe* $base_loc:struct probe_point* $dw:struct dwflpp& $params:literal_map_t const& $results:class vector >& $user_lib:string const process("/root/systemtap_write/install/bin/stap").function("sdt_uprobe_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:5998") process("/root/systemtap_write/install/bin/stap").function("sdt_v3_tokenize@/root/systemtap_write/systemtap/tapsets.cxx:5964") $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $str:string const& process("/root/systemtap_write/install/bin/stap").function("seekp@/root/systemtap_write/systemtap/translator-output.h:40") process("/root/systemtap_write/install/bin/stap").function("self_unwind_declarations@/root/systemtap_write/systemtap/translate.cxx:7459") $ctx:struct unwindsym_dump_context* process("/root/systemtap_write/install/bin/stap").function("semantic_error@/root/systemtap_write/systemtap/staptree.h:52") process("/root/systemtap_write/install/bin/stap").function("semantic_error@/root/systemtap_write/systemtap/staptree.h:55") process("/root/systemtap_write/install/bin/stap").function("semantic_error@/root/systemtap_write/systemtap/staptree.h:64") process("/root/systemtap_write/install/bin/stap").function("semantic_pass@/root/systemtap_write/systemtap/elaborate.cxx:2349") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_conditions@/root/systemtap_write/systemtap/elaborate.cxx:1466") $sess:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_const_fold@/root/systemtap_write/systemtap/elaborate.cxx:4587") process("/root/systemtap_write/install/bin/stap").function("semantic_pass_dead_control@/root/systemtap_write/systemtap/elaborate.cxx:4653") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt1@/root/systemtap_write/systemtap/elaborate.cxx:2877") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt2@/root/systemtap_write/systemtap/elaborate.cxx:2916") $s:struct systemtap_session& $relaxed_p:bool& $iterations:unsigned int process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt3@/root/systemtap_write/systemtap/elaborate.cxx:3216") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt4@/root/systemtap_write/systemtap/elaborate.cxx:3467") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt5@/root/systemtap_write/systemtap/elaborate.cxx:3967") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt6@/root/systemtap_write/systemtap/elaborate.cxx:4816") $s:struct systemtap_session& $relaxed_p:bool& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_opt7@/root/systemtap_write/systemtap/elaborate.cxx:5177") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_optimize1@/root/systemtap_write/systemtap/elaborate.cxx:5219") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_optimize2@/root/systemtap_write/systemtap/elaborate.cxx:5278") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_overload@/root/systemtap_write/systemtap/elaborate.cxx:4735") process("/root/systemtap_write/install/bin/stap").function("semantic_pass_stats@/root/systemtap_write/systemtap/elaborate.cxx:1351") $sess:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_symbols@/root/systemtap_write/systemtap/elaborate.cxx:1748") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_types@/root/systemtap_write/systemtap/elaborate.cxx:5496") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("semantic_pass_vars@/root/systemtap_write/systemtap/elaborate.cxx:1384") process("/root/systemtap_write/install/bin/stap").function("send_command@/root/systemtap_write/systemtap/remote.cxx:292") $this:class stapsh* const process("/root/systemtap_write/install/bin/stap").function("send_file@/root/systemtap_write/systemtap/remote.cxx:302") $this:class stapsh* const $filename:string const& $dest:string const& process("/root/systemtap_write/install/bin/stap").function("server_cert_db_path@/root/systemtap_write/systemtap/nsscommon.cxx:73") process("/root/systemtap_write/install/bin/stap").function("server_cert_nickname@/root/systemtap_write/systemtap/nsscommon.cxx:56") process("/root/systemtap_write/install/bin/stap").function("server_spec_to_pmask@/root/systemtap_write/systemtap/csclient.cxx:2258") $server_spec:string const& process("/root/systemtap_write/install/bin/stap").function("set<__gnu_cxx::__normal_iterator*, std::vector > > >@/usr/include/c++/4.8.2/bits/stl_set.h:163") process("/root/systemtap_write/install/bin/stap").function("set@/root/systemtap_write/systemtap/translate.cxx:769") $this:struct mapvar const* const $indices:class vector > const& $val:struct tmpvar const& process("/root/systemtap_write/install/bin/stap").function("set@/usr/include/c++/4.8.2/bits/stl_set.h:139") process("/root/systemtap_write/install/bin/stap").function("set@/usr/include/c++/4.8.2/bits/stl_set.h:193") process("/root/systemtap_write/install/bin/stap").function("setAddressPort@/root/systemtap_write/systemtap/csclient.cxx:115") $port:short unsigned int process("/root/systemtap_write/install/bin/stap").function("set_arity@/root/systemtap_write/systemtap/staptree.cxx:172") $this:struct vardecl* const $a:int $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("set_cached_uprobes@/root/systemtap_write/systemtap/buildrun.cxx:668") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("set_chain@/root/systemtap_write/systemtap/staptree.h:77") $this:struct semantic_error* const $new_chain:struct semantic_error const& process("/root/systemtap_write/install/bin/stap").function("set_child_fds@/root/systemtap_write/systemtap/remote.cxx:538") $this:class stapsh* const $in:int $out:int process("/root/systemtap_write/install/bin/stap").function("set_cmd@/root/systemtap_write/systemtap/interactive.cxx:335") $this:class set_cmd* const process("/root/systemtap_write/install/bin/stap").function("set_current_file@/root/systemtap_write/systemtap/parse.cxx:1457") $this:class lexer* const $f:struct stapfile* process("/root/systemtap_write/install/bin/stap").function("set_current_token_chain@/root/systemtap_write/systemtap/parse.cxx:1468") $this:class lexer* const $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("set_flag@/root/systemtap_write/systemtap/staptree.h:506") $f:enum format_flag $this:struct format_component* const process("/root/systemtap_write/install/bin/stap").function("set_intersection, std::_Rb_tree_const_iterator, std::insert_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5872") process("/root/systemtap_write/install/bin/stap").function("set_try_server@/root/systemtap_write/systemtap/session.cxx:2021") $this:struct systemtap_session* const $t:int process("/root/systemtap_write/install/bin/stap").function("setf@/usr/include/c++/4.8.2/bits/ios_base.h:578") $__fmtfl:fmtflags $this:class ios_base* const process("/root/systemtap_write/install/bin/stap").function("setf@/usr/include/c++/4.8.2/bits/ios_base.h:595") process("/root/systemtap_write/install/bin/stap").function("setg@/usr/include/c++/4.8.2/streambuf:509") $__gend:char_type* $__gnext:char_type* $__gbeg:char_type* $this:class basic_streambuf >* const process("/root/systemtap_write/install/bin/stap").function("setp@/usr/include/c++/4.8.2/streambuf:555") $__pend:char_type* $__pbeg:char_type* $this:class basic_streambuf >* const process("/root/systemtap_write/install/bin/stap").function("setstate@/usr/include/c++/4.8.2/bits/basic_ios.h:151") process("/root/systemtap_write/install/bin/stap").function("setupSSLSocket@/root/systemtap_write/systemtap/csclient.cxx:467") process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_kernel@/root/systemtap_write/systemtap/setupdwfl.cxx:347") $modules_found:unsigned int* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_kernel@/root/systemtap_write/systemtap/setupdwfl.cxx:430") $name:string const& $found:unsigned int* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_kernel@/root/systemtap_write/systemtap/setupdwfl.cxx:453") $names:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $found:unsigned int* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_report_kernel_p@/root/systemtap_write/systemtap/setupdwfl.cxx:245") $modname:char const* $filename:char const* process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_user@/root/systemtap_write/systemtap/setupdwfl.cxx:465") $name:string const& process("/root/systemtap_write/install/bin/stap").function("setup_dwfl_user@/root/systemtap_write/systemtap/setupdwfl.cxx:485") $begin:const_iterator& $end:const_iterator const& $all_needed:bool $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("setup_kernel@/root/systemtap_write/systemtap/dwflpp.cxx:338") $this:struct dwflpp* const $name:string const& $s:struct systemtap_session& $debuginfo_needed:bool process("/root/systemtap_write/install/bin/stap").function("setup_kernel@/root/systemtap_write/systemtap/dwflpp.cxx:373") $this:struct dwflpp* const $names:class vector, std::allocator >, std::allocator, std::allocator > > > const& $debuginfo_needed:bool process("/root/systemtap_write/install/bin/stap").function("setup_kernel_release@/root/systemtap_write/systemtap/session.cxx:2044") $this:struct systemtap_session* const $kstr:char const* process("/root/systemtap_write/install/bin/stap").function("setup_mod_deps@/root/systemtap_write/systemtap/setupdwfl.cxx:146") process("/root/systemtap_write/install/bin/stap").function("setup_note_probe_entry@/root/systemtap_write/systemtap/tapsets.cxx:7230") $this:struct sdt_query* const $scn_name:string const& $note_name:string const& $type:int $data:char const* $len:size_t process("/root/systemtap_write/install/bin/stap").function("setup_note_probe_entry_callback@/root/systemtap_write/systemtap/tapsets.cxx:7220") $me:struct sdt_query* $scn_name:string const& $note_name:string const& $type:int $data:char const* $len:size_t process("/root/systemtap_write/install/bin/stap").function("setup_signals@/root/systemtap_write/systemtap/main.cxx:281") $handler:sighandler_t process("/root/systemtap_write/install/bin/stap").function("setup_timeout@/root/systemtap_write/systemtap/elaborate.cxx:2324") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("setup_user@/root/systemtap_write/systemtap/dwflpp.cxx:400") $this:struct dwflpp* const $modules:class vector, std::allocator >, std::allocator, std::allocator > > > const& $debuginfo_needed:bool process("/root/systemtap_write/install/bin/stap").function("shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr.h:236") $this:class shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("shared_ptr, dwflpp*, Dwarf_Die*&, bool&, bool&>@/usr/include/c++/4.8.2/bits/shared_ptr.h:314") process("/root/systemtap_write/install/bin/stap").function("shared_ptr, dwflpp*, Dwarf_Die*, bool, bool>@/usr/include/c++/4.8.2/bits/shared_ptr.h:314") process("/root/systemtap_write/install/bin/stap").function("shared_ptr >@/usr/include/c++/4.8.2/bits/shared_ptr.h:314") process("/root/systemtap_write/install/bin/stap").function("shared_ptr > >, std::_Bind_simple >@/usr/include/c++/4.8.2/bits/shared_ptr.h:314") process("/root/systemtap_write/install/bin/stap").function("shared_ptr >, void>@/usr/include/c++/4.8.2/bits/shared_ptr.h:236") $this:class shared_ptr* const process("/root/systemtap_write/install/bin/stap").function("shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr.h:103") process("/root/systemtap_write/install/bin/stap").function("shortname@/root/systemtap_write/systemtap/translate.cxx:2979") $e:enum exp_type process("/root/systemtap_write/install/bin/stap").function("show_cmd@/root/systemtap_write/systemtap/interactive.cxx:398") $this:class show_cmd* const process("/root/systemtap_write/install/bin/stap").function("show_ins@/root/systemtap_write/systemtap/stapregex-tree.cxx:165") $o:ostream& $i:union ins const* $base:union ins const* process("/root/systemtap_write/install/bin/stap").function("show_server_compatibility@/root/systemtap_write/systemtap/csclient.cxx:1659") $this:class compile_server_client const* const process("/root/systemtap_write/install/bin/stap").function("showbase@/usr/include/c++/4.8.2/bits/ios_base.h:811") $__base:class ios_base& process("/root/systemtap_write/install/bin/stap").function("side_effect_free@/root/systemtap_write/systemtap/staptree.cxx:2821") $this:struct varuse_collecting_visitor* const process("/root/systemtap_write/install/bin/stap").function("side_effect_free_wrt@/root/systemtap_write/systemtap/staptree.cxx:2828") $this:struct varuse_collecting_visitor* const $vars:class set, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("sign_cert@/root/systemtap_write/systemtap/nsscommon.cxx:641") $privKey:SECKEYPrivateKey* $cert:CERTCertificate* process("/root/systemtap_write/install/bin/stap").function("sign_file@/root/systemtap_write/systemtap/nsscommon.cxx:1250") $db_path:string const& $nss_cert_name:string const& $inputName:string const& $outputName:string const& process("/root/systemtap_write/install/bin/stap").function("signing_cert_db_path@/root/systemtap_write/systemtap/csclient.cxx:277") process("/root/systemtap_write/install/bin/stap").function("size@/usr/include/c++/4.8.2/bits/basic_string.h:715") process("/root/systemtap_write/install/bin/stap").function("size@/usr/include/c++/4.8.2/bits/stl_deque.h:1142") process("/root/systemtap_write/install/bin/stap").function("size@/usr/include/c++/4.8.2/bits/stl_list.h:873") process("/root/systemtap_write/install/bin/stap").function("size@/usr/include/c++/4.8.2/bits/stl_stack.h:151") process("/root/systemtap_write/install/bin/stap").function("size@/usr/include/c++/4.8.2/bits/stl_vector.h:645") process("/root/systemtap_write/install/bin/stap").function("skip_atoi@/root/systemtap_write/systemtap/tapset-mark.cxx:243") process("/root/systemtap_write/install/bin/stap").function("skip_pp@/root/systemtap_write/systemtap/parse.cxx:1161") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("skippable_arch_symbol@/root/systemtap_write/systemtap/translate.cxx:6506") process("/root/systemtap_write/install/bin/stap").function("slurp_pp1_body@/root/systemtap_write/systemtap/parse.cxx:706") $this:class parser* const $body:class vector >& process("/root/systemtap_write/install/bin/stap").function("slurp_pp1_param@/root/systemtap_write/systemtap/parse.cxx:679") $this:class parser* const $param:class vector >& process("/root/systemtap_write/install/bin/stap").function("snprintf@/usr/include/bits/stdio2.h:61") process("/root/systemtap_write/install/bin/stap").function("sole_location@/root/systemtap_write/systemtap/elaborate.cxx:150") $this:struct derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("sole_location@/root/systemtap_write/systemtap/elaborate.cxx:848") $this:struct alias_derived_probe const* const process("/root/systemtap_write/install/bin/stap").function("sort<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:5483") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_algo.h:5483") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5447") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algo.h:5447") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort_heap<__gnu_cxx::__normal_iterator >, bool (*)(Dwarf_Line_s*, Dwarf_Line_s*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:494") $__comp:bool (*) (struct Dwarf_Line_s*, struct Dwarf_Line_s*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort_heap<__gnu_cxx::__normal_iterator > >, bool (*)(const be_derived_probe*, const be_derived_probe*)>@/usr/include/c++/4.8.2/bits/stl_heap.h:494") $__comp:bool (*) (struct be_derived_probe const*, struct be_derived_probe const*) $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:465") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sort_heap<__gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_heap.h:465") $__last:class __normal_iterator > > $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("source_loc@/root/systemtap_write/systemtap/parse.h:31") $this:struct source_loc* const process("/root/systemtap_write/install/bin/stap").function("span@/root/systemtap_write/systemtap/stapregex-dfa.h:89") process("/root/systemtap_write/install/bin/stap").function("spawned_pids_t@/root/systemtap_write/systemtap/util.cxx:582") $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("splice@/usr/include/c++/4.8.2/bits/stl_list.h:1248") process("/root/systemtap_write/install/bin/stap").function("splice@/usr/include/c++/4.8.2/bits/stl_list.h:1263") $__position:iterator process("/root/systemtap_write/install/bin/stap").function("split_lines@/root/systemtap_write/systemtap/util.cxx:404") $buf:char const* $n:size_t process("/root/systemtap_write/install/bin/stap").function("sprintf@/usr/include/bits/stdio2.h:31") process("/root/systemtap_write/install/bin/stap").function("sql_stmt@/root/systemtap_write/systemtap/coveragedb.cxx:141") $db:sqlite3* $stmt:char const* process("/root/systemtap_write/install/bin/stap").function("sql_update_unused_functions@/root/systemtap_write/systemtap/coveragedb.cxx:280") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("sql_update_unused_globals@/root/systemtap_write/systemtap/coveragedb.cxx:312") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("sql_update_unused_probes@/root/systemtap_write/systemtap/coveragedb.cxx:239") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("sql_update_used_functions@/root/systemtap_write/systemtap/coveragedb.cxx:263") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("sql_update_used_globals@/root/systemtap_write/systemtap/coveragedb.cxx:296") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("sql_update_used_probes@/root/systemtap_write/systemtap/coveragedb.cxx:196") $db:sqlite3* $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("ssh_command@/root/systemtap_write/systemtap/remote.cxx:947") $ilist:class initializer_list, std::allocator > > $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("ssh_legacy_remote@/root/systemtap_write/systemtap/remote.cxx:932") process("/root/systemtap_write/install/bin/stap").function("ssh_remote@/root/systemtap_write/systemtap/remote.cxx:847") process("/root/systemtap_write/install/bin/stap").function("stable_analysis@/root/systemtap_write/systemtap/elaborate.cxx:4866") process("/root/systemtap_write/install/bin/stap").function("stable_finder@/root/systemtap_write/systemtap/elaborate.cxx:4891") $s:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > >& $this:struct stable_finder* const process("/root/systemtap_write/install/bin/stap").function("stable_functioncall_visitor@/root/systemtap_write/systemtap/elaborate.cxx:4973") process("/root/systemtap_write/install/bin/stap").function("stable_sort<__gnu_cxx::__normal_iterator >, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:5691") process("/root/systemtap_write/install/bin/stap").function("stack@/usr/include/c++/4.8.2/bits/stl_stack.h:138") process("/root/systemtap_write/install/bin/stap").function("stack@/usr/include/c++/4.8.2/bits/stl_stack.h:96") $this:class stack > >* const process("/root/systemtap_write/install/bin/stap").function("stap_fork_read@/root/systemtap_write/systemtap/util.cxx:889") $verbose:int $out:ostream& process("/root/systemtap_write/install/bin/stap").function("stap_hash@/root/systemtap_write/systemtap/hash.cxx:47") process("/root/systemtap_write/install/bin/stap").function("stap_sigmasker@/root/systemtap_write/systemtap/util.h:338") process("/root/systemtap_write/install/bin/stap").function("stap_spawn@/root/systemtap_write/systemtap/util.cxx:696") $verbose:int $args:class vector, std::allocator >, std::allocator, std::allocator > > > const& $fa:posix_spawn_file_actions_t* $envVec:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("stap_spawn@/root/systemtap_write/systemtap/util.cxx:754") $verbose:int $args:class vector, std::allocator >, std::allocator, std::allocator > > > const& process("/root/systemtap_write/install/bin/stap").function("stap_spawn_piped@/root/systemtap_write/systemtap/util.cxx:760") $verbose:int $args:class vector, std::allocator >, std::allocator, std::allocator > > > const& $child_in:int* $child_out:int* $child_err:int* process("/root/systemtap_write/install/bin/stap").function("stap_system@/root/systemtap_write/systemtap/util.cxx:838") $verbose:int $description:string const& $args:class vector, std::allocator >, std::allocator, std::allocator > > > const& $null_out:bool $null_err:bool process("/root/systemtap_write/install/bin/stap").function("stap_system@/root/systemtap_write/systemtap/util.h:111") process("/root/systemtap_write/install/bin/stap").function("stap_system_read@/root/systemtap_write/systemtap/util.cxx:873") $verbose:int $args:class vector, std::allocator >, std::allocator, std::allocator > > > const& $out:ostream& process("/root/systemtap_write/install/bin/stap").function("stap_waitpid@/root/systemtap_write/systemtap/util.cxx:647") $verbose:int $pid:pid_t process("/root/systemtap_write/install/bin/stap").function("stapdfa@/root/systemtap_write/systemtap/stapregex.cxx:57") $this:struct stapdfa* const $func_name:string const& $re:string const& $tok:struct token const* $do_unescape:bool $do_tag:bool process("/root/systemtap_write/install/bin/stap").function("stapfile@/root/systemtap_write/systemtap/staptree.h:790") process("/root/systemtap_write/install/bin/stap").function("stapregex_compile@/root/systemtap_write/systemtap/stapregex-dfa.cxx:45") $re:struct regexp* $match_snippet:string const& $fail_snippet:string const& process("/root/systemtap_write/install/bin/stap").function("stapregex_getrange@/root/systemtap_write/systemtap/stapregex-parse.cxx:655") $cur:struct cursor& process("/root/systemtap_write/install/bin/stap").function("stapsh@/root/systemtap_write/systemtap/remote.cxx:435") process("/root/systemtap_write/install/bin/stap").function("start@/root/systemtap_write/systemtap/hash.cxx:64") $this:class stap_hash* const process("/root/systemtap_write/install/bin/stap").function("start@/root/systemtap_write/systemtap/remote.cxx:1025") $this:class ssh_legacy_remote* const process("/root/systemtap_write/install/bin/stap").function("start@/root/systemtap_write/systemtap/remote.cxx:471") $this:class stapsh* const process("/root/systemtap_write/install/bin/stap").function("start@/root/systemtap_write/systemtap/remote.cxx:84") $this:class direct* const process("/root/systemtap_write/install/bin/stap").function("start@/root/systemtap_write/systemtap/translate.cxx:878") $this:class itervar const* const $mv:struct mapvar const& process("/root/systemtap_write/install/bin/stap").function("start_compound_statement@/root/systemtap_write/systemtap/translate.cxx:239") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("start_compound_statement@/root/systemtap_write/systemtap/translate.cxx:3795") $this:struct c_tmpcounter* const $tag:char const* $s:struct statement* process("/root/systemtap_write/install/bin/stap").function("start_log@/root/systemtap_write/systemtap/nsscommon.cxx:108") $arg:char const* process("/root/systemtap_write/install/bin/stap").function("start_struct_def@/root/systemtap_write/systemtap/translate.cxx:3765") $this:struct c_tmpcounter* const $before:pos_type& $after:pos_type& $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("starts_with@/root/systemtap_write/systemtap/stringtable.h:143") process("/root/systemtap_write/install/bin/stap").function("startswith@/root/systemtap_write/systemtap/util.h:313") process("/root/systemtap_write/install/bin/stap").function("startswith@/root/systemtap_write/systemtap/util.h:319") $prefix:string const& $s:string const& process("/root/systemtap_write/install/bin/stap").function("stat@/usr/include/sys/stat.h:454") process("/root/systemtap_write/install/bin/stap").function("stat_decl_collector@/root/systemtap_write/systemtap/elaborate.cxx:1284") $sess:struct systemtap_session& $this:struct stat_decl_collector* const process("/root/systemtap_write/install/bin/stap").function("stat_op@/root/systemtap_write/systemtap/staptree.h:543") process("/root/systemtap_write/install/bin/stap").function("state@/root/systemtap_write/systemtap/stapregex-dfa.cxx:151") process("/root/systemtap_write/install/bin/stap").function("statement@/root/systemtap_write/systemtap/staptree.cxx:43") process("/root/systemtap_write/install/bin/stap").function("statement@/root/systemtap_write/systemtap/staptree.cxx:49") process("/root/systemtap_write/install/bin/stap").function("statement@/root/systemtap_write/systemtap/staptree.h:642") process("/root/systemtap_write/install/bin/stap").function("statistic_decl@/root/systemtap_write/systemtap/session.h:73") process("/root/systemtap_write/install/bin/stap").function("stdio_filebuf@/usr/include/c++/4.8.2/ext/stdio_filebuf.h:127") $this:class stdio_filebuf >* const $__fd:int $__mode:openmode $__size:size_t process("/root/systemtap_write/install/bin/stap").function("stmt_expr@/root/systemtap_write/systemtap/translate.cxx:552") process("/root/systemtap_write/install/bin/stap").function("str@/root/systemtap_write/systemtap/elaborate.cxx:326") $this:struct match_key const* const process("/root/systemtap_write/install/bin/stap").function("str@/root/systemtap_write/systemtap/staptree.cxx:1407") $this:struct probe_point const* const $print_extras:bool process("/root/systemtap_write/install/bin/stap").function("str@/usr/include/c++/4.8.2/sstream:126") process("/root/systemtap_write/install/bin/stap").function("str@/usr/include/c++/4.8.2/sstream:471") process("/root/systemtap_write/install/bin/stap").function("str@/usr/include/c++/4.8.2/sstream:583") process("/root/systemtap_write/install/bin/stap").function("str_to_re@/root/systemtap_write/systemtap/stapregex-tree.cxx:451") $str:string const& process("/root/systemtap_write/install/bin/stap").function("strchr@/usr/include/string.h:225") process("/root/systemtap_write/install/bin/stap").function("strcpy@/usr/include/bits/string3.h:102") $__src:char const* $__dest:char* process("/root/systemtap_write/install/bin/stap").function("string_to_components@/root/systemtap_write/systemtap/staptree.cxx:830") $str:string const& process("/root/systemtap_write/install/bin/stap").function("strpbrk@/usr/include/string.h:304") $__accept:char const* $__s:char const* process("/root/systemtap_write/install/bin/stap").function("strrchr@/usr/include/string.h:246") $__c:int $__s:char* process("/root/systemtap_write/install/bin/stap").function("strrchr@/usr/include/string.h:252") $__c:int $__s:char const* process("/root/systemtap_write/install/bin/stap").function("substr@/root/systemtap_write/systemtap/stringtable.h:139") process("/root/systemtap_write/install/bin/stap").function("substr@/usr/include/c++/4.8.2/bits/basic_string.h:2206") process("/root/systemtap_write/install/bin/stap").function("suggest_alternative_linenos@/root/systemtap_write/systemtap/dwflpp.cxx:1777") $this:struct dwflpp* const $srcfile:char const* $lineno:int $funcs:base_func_info_map_t& process("/root/systemtap_write/install/bin/stap").function("suggest_dwarf_functions@/root/systemtap_write/systemtap/tapsets.cxx:7678") $sess:struct systemtap_session& $modules:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $func:string process("/root/systemtap_write/install/bin/stap").function("suggest_functors@/root/systemtap_write/systemtap/elaborate.cxx:670") $this:class match_node* const $s:struct systemtap_session& $functor:string process("/root/systemtap_write/install/bin/stap").function("suggest_kernel_functions@/root/systemtap_write/systemtap/tapsets.cxx:9779") $session:struct systemtap_session const& $function:struct interned_string process("/root/systemtap_write/install/bin/stap").function("suggest_marks@/root/systemtap_write/systemtap/tapset-mark.cxx:599") $this:struct mark_builder* const $sess:struct systemtap_session& $mark:string const& process("/root/systemtap_write/install/bin/stap").function("suggest_marks@/root/systemtap_write/systemtap/tapsets.cxx:7570") $sess:struct systemtap_session& $modules:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $mark:string const& $provider:string const& process("/root/systemtap_write/install/bin/stap").function("suggest_plt_functions@/root/systemtap_write/systemtap/tapsets.cxx:7636") $sess:struct systemtap_session& $modules:class set, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > > > const& $func:string const& process("/root/systemtap_write/install/bin/stap").function("suggested_locations_string@/root/systemtap_write/systemtap/dwflpp.cxx:2929") $attr:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("suppress_warnings_opt@/root/systemtap_write/systemtap/interactive.cxx:980") $this:class suppress_warnings_opt* const process("/root/systemtap_write/install/bin/stap").function("swallow@/root/systemtap_write/systemtap/parse.cxx:1219") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") $__b:struct exp_type_details*& process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") $__a:struct functiondecl*& process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") $__b:int& $__a:int& process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") $__b:long unsigned int**& $__a:long unsigned int**& process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap, match_item*>, std::pair, match_item*>&, std::pair, match_item*>*> >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap >@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap*>@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap**>@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap, match_item*>**>@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") $__b:class id& $__a:class id& process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/move.h:166") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:934") process("/root/systemtap_write/install/bin/stap").function("swap@/usr/include/c++/4.8.2/thread:157") $__t:class thread& $this:class thread* const process("/root/systemtap_write/install/bin/stap").function("swap_ranges<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator > >@/usr/include/c++/4.8.2/bits/stl_algobase.h:165") $__first2:class __normal_iterator > > $__first1:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("sym_name@/root/systemtap_write/systemtap/staptree.cxx:331") $this:struct target_symbol* const process("/root/systemtap_write/install/bin/stap").function("sym_name@/root/systemtap_write/systemtap/staptree.cxx:337") $this:struct atvar_op* const process("/root/systemtap_write/install/bin/stap").function("symbol@/root/systemtap_write/systemtap/staptree.cxx:66") $this:struct symbol* const process("/root/systemtap_write/install/bin/stap").function("symbol@/root/systemtap_write/systemtap/staptree.h:295") process("/root/systemtap_write/install/bin/stap").function("symbol_fetcher@/root/systemtap_write/systemtap/elaborate.cxx:1127") process("/root/systemtap_write/install/bin/stap").function("symbol_table@/root/systemtap_write/systemtap/tapsets.cxx:495") process("/root/systemtap_write/install/bin/stap").function("symboldecl@/root/systemtap_write/systemtap/staptree.cxx:82") process("/root/systemtap_write/install/bin/stap").function("symresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:2414") process("/root/systemtap_write/install/bin/stap").function("synthetic_embedded_deref_call@/root/systemtap_write/systemtap/tapsets.cxx:3604") $dw:struct dwflpp& $function_type:Dwarf_Die* $function_name:string const& $function_code:string const& $userspace_p:bool $lvalue_p:bool $e:struct target_symbol* $pointer:struct expression* process("/root/systemtap_write/install/bin/stap").function("systemtap_session@/root/systemtap_write/systemtap/session.cxx:252") $this:struct systemtap_session* const $other:struct systemtap_session const& $arch:string const& $kern:string const& process("/root/systemtap_write/install/bin/stap").function("systemtap_session@/root/systemtap_write/systemtap/session.cxx:66") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("tag_op@/root/systemtap_write/systemtap/stapregex-tree.cxx:274") $this:struct tag_op* const $id:unsigned int process("/root/systemtap_write/install/bin/stap").function("tagged_p@/root/systemtap_write/systemtap/staptree.cxx:599") process("/root/systemtap_write/install/bin/stap").function("target_pid_opt@/root/systemtap_write/systemtap/interactive.cxx:1061") $this:class target_pid_opt* const process("/root/systemtap_write/install/bin/stap").function("target_symbol@/root/systemtap_write/systemtap/staptree.h:307") $this:struct target_symbol* const process("/root/systemtap_write/install/bin/stap").function("target_symbol@/root/systemtap_write/systemtap/staptree.h:343") process("/root/systemtap_write/install/bin/stap").function("te_closure@/root/systemtap_write/systemtap/stapregex-dfa.cxx:199") $start:state_kernel* $ntags:int $is_initial:bool process("/root/systemtap_write/install/bin/stap").function("tellp@/root/systemtap_write/systemtap/translator-output.h:39") process("/root/systemtap_write/install/bin/stap").function("ternary_expression@/root/systemtap_write/systemtap/staptree.h:260") process("/root/systemtap_write/install/bin/stap").function("test_flag@/root/systemtap_write/systemtap/staptree.h:507") $f:enum format_flag $this:struct format_component const* const process("/root/systemtap_write/install/bin/stap").function("thread@/usr/include/c++/4.8.2/thread:133") process("/root/systemtap_write/install/bin/stap").function("thread@/usr/include/c++/4.8.2/thread:128") $__t:class thread&& $this:class thread* const process("/root/systemtap_write/install/bin/stap").function("throwing_visitor@/root/systemtap_write/systemtap/staptree.cxx:2852") $this:struct throwing_visitor* const $m:string const& process("/root/systemtap_write/install/bin/stap").function("throwing_visitor@/root/systemtap_write/systemtap/staptree.cxx:2853") $this:struct throwing_visitor* const process("/root/systemtap_write/install/bin/stap").function("throwone@/root/systemtap_write/systemtap/elaborate.cxx:1140") $this:struct symbol_fetcher* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("throwone@/root/systemtap_write/systemtap/elaborate.cxx:3117") $this:struct assignment_symbol_fetcher* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("throwone@/root/systemtap_write/systemtap/staptree.cxx:2857") $this:struct throwing_visitor* const $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("timeout_callback@/root/systemtap_write/systemtap/csclient.cxx:3535") $e:AvahiTimeout* $userdata:void* process("/root/systemtap_write/install/bin/stap").function("timer_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:57") $this:struct timer_derived_probe* const $p:struct probe* $l:struct probe_point* $i:int64_t $r:int64_t $ms:bool process("/root/systemtap_write/install/bin/stap").function("timing_opt@/root/systemtap_write/systemtap/interactive.cxx:1021") $this:class timing_opt* const process("/root/systemtap_write/install/bin/stap").function("tmpvar@/root/systemtap_write/systemtap/translate.cxx:564") process("/root/systemtap_write/install/bin/stap").function("tmpvar@/root/systemtap_write/systemtap/translate.cxx:572") process("/root/systemtap_write/install/bin/stap").function("tmpvar@/root/systemtap_write/systemtap/translate.cxx:577") $source:class var const& $this:struct tmpvar* const process("/root/systemtap_write/install/bin/stap").function("to_string@/root/systemtap_write/systemtap/stringtable.h:137") process("/root/systemtap_write/install/bin/stap").function("to_string@/usr/include/c++/4.8.2/bits/basic_string.h:2864") process("/root/systemtap_write/install/bin/stap").function("to_string@/usr/include/c++/4.8.2/bits/basic_string.h:2869") process("/root/systemtap_write/install/bin/stap").function("to_string@/usr/include/c++/4.8.2/bits/basic_string.h:2875") process("/root/systemtap_write/install/bin/stap").function("to_string@/usr/include/c++/4.8.2/bits/basic_string.h:2880") process("/root/systemtap_write/install/bin/stap").function("tok_is@/root/systemtap_write/systemtap/parse.cxx:1230") $expected:string const& $tt:enum token_type $t:struct token const* process("/root/systemtap_write/install/bin/stap").function("token@/root/systemtap_write/systemtap/parse.h:73") process("/root/systemtap_write/install/bin/stap").function("token@/root/systemtap_write/systemtap/parse.h:74") process("/root/systemtap_write/install/bin/stap").function("tokenize@/root/systemtap_write/systemtap/util.cxx:308") $str:string const& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $delimiters:string const& process("/root/systemtap_write/install/bin/stap").function("tokenize_cxx@/root/systemtap_write/systemtap/util.cxx:373") $str:string const& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("tokenize_full@/root/systemtap_write/systemtap/util.cxx:330") $str:string const& $tokens:class vector, std::allocator >, std::allocator, std::allocator > > >& $delimiters:string const& process("/root/systemtap_write/install/bin/stap").function("top@/usr/include/c++/4.8.2/bits/stl_stack.h:159") process("/root/systemtap_write/install/bin/stap").function("tracepoint_arg@/root/systemtap_write/systemtap/tapsets.cxx:10331") process("/root/systemtap_write/install/bin/stap").function("tracepoint_arg@/root/systemtap_write/systemtap/tapsets.cxx:10716") $this:struct tracepoint_arg* const $tracepoint_name:string const& $arg:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("tracepoint_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:10567") $this:struct tracepoint_derived_probe* const $s:struct systemtap_session& $dw:struct dwflpp& $func_die:Dwarf_Die& $tracepoint_system:string const& $tracepoint_name:string const& $base:struct probe* $loc:struct probe_point* process("/root/systemtap_write/install/bin/stap").function("tracepoint_extra_decls@/root/systemtap_write/systemtap/tapsets.cxx:10797") $s:struct systemtap_session& $header:string const& $tracequery:bool const process("/root/systemtap_write/install/bin/stap").function("tracepoint_query@/root/systemtap_write/systemtap/tapsets.cxx:11286") process("/root/systemtap_write/install/bin/stap").function("tracepoint_query_cu@/root/systemtap_write/systemtap/tapsets.cxx:11445") $cudie:Dwarf_Die* $q:struct tracepoint_query* process("/root/systemtap_write/install/bin/stap").function("tracepoint_query_func@/root/systemtap_write/systemtap/tapsets.cxx:11453") $func:Dwarf_Die* $q:struct tracepoint_query* process("/root/systemtap_write/install/bin/stap").function("tracepoint_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:10368") $args:class vector >& $dw:struct dwflpp& $this:struct tracepoint_var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("transform<__gnu_cxx::__normal_iterator >, __gnu_cxx::__normal_iterator >, int (*)(int)throw ()>@/usr/include/c++/4.8.2/bits/stl_algo.h:4915") $__result:class __normal_iterator, std::allocator > > $__last:class __normal_iterator, std::allocator > > $__first:class __normal_iterator, std::allocator > > process("/root/systemtap_write/install/bin/stap").function("translate@/root/systemtap_write/systemtap/loc2c.c:332") $len:size_t const $input:struct location* $need_fb:_Bool* $loc:struct location* $pieces:struct location* $__PRETTY_FUNCTION__:char[] const $expr:Dwarf_Op const* $max_stack:unsigned int $i:size_t $tos_value:_Bool $loser:size_t* $implicit_value:Dwarf_Block $implicit_pointer:Dwarf_Op const* $stack_depth:unsigned int $ctx:struct location_context* $indent:int $tos_register:int $used_deref:_Bool process("/root/systemtap_write/install/bin/stap").function("translate_array@/root/systemtap_write/systemtap/loc2c.c:2319") $pool:struct obstack* $indent:int $anydie:Dwarf_Die* $stride:Dwarf_Word $input:struct location** $idx:char const* $const_idx:Dwarf_Word process("/root/systemtap_write/install/bin/stap").function("translate_base_fetch@/root/systemtap_write/systemtap/loc2c.c:1854") $pool:struct obstack* $indent:int $byte_size:Dwarf_Word $signed_p:_Bool $input:struct location** $target:char const* $depth:int process("/root/systemtap_write/install/bin/stap").function("translate_base_store@/root/systemtap_write/systemtap/loc2c.c:2007") $pool:struct obstack* $indent:int $byte_size:Dwarf_Word $input:struct location** $store_loc:struct location* $rvalue:char const* $depth:int process("/root/systemtap_write/install/bin/stap").function("translate_components@/root/systemtap_write/systemtap/dwflpp.cxx:3458") $this:struct dwflpp* const $pool:struct obstack* $tail:struct location** $pc:Dwarf_Addr $e:struct target_symbol const* $vardie:Dwarf_Die* $typedie:Dwarf_Die* $first:unsigned int process("/root/systemtap_write/install/bin/stap").function("translate_constant@/root/systemtap_write/systemtap/loc2c.c:162") $ctx:struct location_context* $indent:int $attr:Dwarf_Attribute* process("/root/systemtap_write/install/bin/stap").function("translate_final_fetch_or_store@/root/systemtap_write/systemtap/dwflpp.cxx:3638") $this:struct dwflpp* const $pool:struct obstack* $tail:struct location** $vardie:Dwarf_Die* $start_typedie:Dwarf_Die* $lvalue:bool $e:struct target_symbol const* $postlude:string& $typedie:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("translate_location@/root/systemtap_write/systemtap/dwflpp.cxx:3194") $this:struct dwflpp* const $pool:struct obstack* $attr:Dwarf_Attribute* $die:Dwarf_Die* $pc:Dwarf_Addr $fb_attr:Dwarf_Attribute* $tail:struct location** $e:struct target_symbol const* process("/root/systemtap_write/install/bin/stap").function("translate_offset@/root/systemtap_write/systemtap/loc2c.c:1024") $indent:int $expr:Dwarf_Op const* $len:size_t $i:size_t $input:struct location** $offset:Dwarf_Word $__PRETTY_FUNCTION__:char[] const process("/root/systemtap_write/install/bin/stap").function("translate_pass@/root/systemtap_write/systemtap/translate.cxx:7605") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("translate_runtime@/root/systemtap_write/systemtap/translate.cxx:7571") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("translator_output@/root/systemtap_write/systemtap/translator-output.cxx:17") $this:class translator_output* const $f:ostream& process("/root/systemtap_write/install/bin/stap").function("translator_output@/root/systemtap_write/systemtap/translator-output.cxx:23") $this:class translator_output* const $filename:string const& $bufsize:size_t process("/root/systemtap_write/install/bin/stap").function("traversing_visitor@/root/systemtap_write/systemtap/staptree.h:972") process("/root/systemtap_write/install/bin/stap").function("trustNewServer@/root/systemtap_write/systemtap/csclient.cxx:307") $serverCert:CERTCertificate* process("/root/systemtap_write/install/bin/stap").function("trust_already_in_place@/root/systemtap_write/systemtap/csclient.cxx:1671") $server:struct compile_server_info const& $server_list:class vector > const& $cert_db_path:string const $revoking:bool process("/root/systemtap_write/install/bin/stap").function("try_block@/root/systemtap_write/systemtap/staptree.h:674") process("/root/systemtap_write/install/bin/stap").function("try_parse_arg_effective_addr@/root/systemtap_write/systemtap/tapsets.cxx:6600") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* $asmarg:string const& $precision:long int process("/root/systemtap_write/install/bin/stap").function("try_parse_arg_literal@/root/systemtap_write/systemtap/tapsets.cxx:6393") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* $asmarg:string const& $precision:long int process("/root/systemtap_write/install/bin/stap").function("try_parse_arg_offset_register@/root/systemtap_write/systemtap/tapsets.cxx:6529") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* $asmarg:string const& $precision:long int process("/root/systemtap_write/install/bin/stap").function("try_parse_arg_register@/root/systemtap_write/systemtap/tapsets.cxx:6447") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* $asmarg:string const& $precision:long int process("/root/systemtap_write/install/bin/stap").function("try_parse_arg_varname@/root/systemtap_write/systemtap/tapsets.cxx:6675") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* $asmarg:string const& $precision:long int process("/root/systemtap_write/install/bin/stap").function("try_suffix_expansion@/root/systemtap_write/systemtap/elaborate.cxx:698") $this:class match_node* const $s:struct systemtap_session& $p:struct probe* $loc:struct probe_point* $pos:unsigned int $results:class vector >& process("/root/systemtap_write/install/bin/stap").function("tt2str@/root/systemtap_write/systemtap/parse.cxx:300") $tt:enum token_type process("/root/systemtap_write/install/bin/stap").function("tuple@/usr/include/c++/4.8.2/tuple:406") $this:class tuple* const process("/root/systemtap_write/install/bin/stap").function("tuple, std::allocator >, void>@/usr/include/c++/4.8.2/tuple:406") $this:class tuple, std::allocator >&&>* const process("/root/systemtap_write/install/bin/stap").function("tuple, std::allocator >, std::basic_string, std::allocator > >, void>@/usr/include/c++/4.8.2/tuple:406") $this:class tuple, std::allocator >, std::basic_string, std::allocator > >&&>* const process("/root/systemtap_write/install/bin/stap").function("tuple@/usr/include/c++/4.8.2/tuple:399") process("/root/systemtap_write/install/bin/stap").function("tuple@/usr/include/c++/4.8.2/tuple:411") process("/root/systemtap_write/install/bin/stap").function("tuple@/usr/include/c++/4.8.2/tuple:544") process("/root/systemtap_write/install/bin/stap").function("type_die_for_local@/root/systemtap_write/systemtap/dwflpp.cxx:3968") $this:struct dwflpp* const $scopes:class vector >& $pc:Dwarf_Addr $local:string const& $e:struct target_symbol const* $typedie:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("type_die_for_pointer@/root/systemtap_write/systemtap/dwflpp.cxx:4134") $this:struct dwflpp* const $start_typedie:Dwarf_Die* $e:struct target_symbol const* $typedie:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("type_die_for_return@/root/systemtap_write/systemtap/dwflpp.cxx:4051") $this:struct dwflpp* const $scope_die:Dwarf_Die* $pc:Dwarf_Addr $e:struct target_symbol const* $typedie:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:128") $this:struct null_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:140") $this:struct anchor_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:153") $this:struct tag_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:165") $this:struct match_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:175") $this:struct alt_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:190") $this:struct cat_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:208") $this:struct close_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:222") $this:struct closev_op const* const process("/root/systemtap_write/install/bin/stap").function("type_of@/root/systemtap_write/systemtap/stapregex-tree.h:238") $this:struct rule_op const* const process("/root/systemtap_write/install/bin/stap").function("typeresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:5687") $this:struct typeresolution_info* const $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("udpg_entryfn_prologue_declaration_callback@/root/systemtap_write/systemtap/tapsets.cxx:8935") $s:struct systemtap_session& $data:void* process("/root/systemtap_write/install/bin/stap").function("udpg_entryfn_prologue_pre_context_callback@/root/systemtap_write/systemtap/tapsets.cxx:8952") $s:struct systemtap_session& $data:void* process("/root/systemtap_write/install/bin/stap").function("unary_expression@/root/systemtap_write/systemtap/staptree.h:197") process("/root/systemtap_write/install/bin/stap").function("unescape_glob_chars@/root/systemtap_write/systemtap/util.cxx:1035") $str:string const& process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:Dwarf_Die* $__first:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, compile_server_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, exp_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, print_format::format_component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct format_component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, target_symbol::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, expression**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, long int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, remote**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct stapfile** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct statement** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator*, std::vector > >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy<__gnu_cxx::__normal_iterator >, symbol**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct expression** $__first:struct expression** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct functiondecl** $__first:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct format_component* $__last:struct format_component* $__first:struct format_component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct probe_point** $__first:struct probe_point** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct component** $__first:struct component** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct semantic_error* $__last:struct semantic_error* $__first:struct semantic_error* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct statement** $__first:struct statement** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, std::_Deque_iterator >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, const std::pair&, const std::pair*>, std::_Deque_iterator, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy >, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class basic_string, std::allocator >* $__last:class basic_string, std::allocator >* $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, Dwarf_Attribute*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, Dwarf_Die*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, Dwarf_Line_s**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct Dwarf_Line_s** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, base_func_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct base_func_info* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, be_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct be_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, cmdopt**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class cmdopt** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, compile_server_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, const cache_ent_info**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct cache_ent_info const** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, const token**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct token const** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, const tracepoint_arg**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct tracepoint_arg const** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, derived_probe_builder**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct derived_probe_builder** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, derived_probe_group**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct derived_probe_group** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, dynprobe_info**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct dynprobe_info** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, embeddedcode**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct embeddedcode** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, exp_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:enum exp_type* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, expression**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct expression** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, func_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct func_info* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, functiondecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct functiondecl** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, hrtimer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct hrtimer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, hwbkpt_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct hwbkpt_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, inline_instance_info*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct inline_instance_info* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:int* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, interned_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, itrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct itrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, long int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:long int* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, long unsigned int*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:long unsigned int* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, mark_arg**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct mark_arg** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, mark_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct mark_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, match_node**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class match_node** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, netfilter_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct netfilter_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, parser::pp1_activation**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct pp1_activation** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, perf_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct perf_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, pollfd*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct pollfd* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, print_format::format_component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct format_component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, probe_alias**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct probe_alias** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, probe_point**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, probe_point::component**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, profile_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct profile_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, remote**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class remote** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, resolved_host*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct resolved_host* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, stapfile**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, statement**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, std::pair&, std::pair*> >, std::_Deque_iterator, std::pair&, std::pair*> >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*>, std::basic_string*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy*>, std::pair*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, std::basic_string >*>, std::pair, std::basic_string >*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, unsigned int>*>, std::pair, unsigned int>*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, std::thread*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, symbol**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct symbol** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, target_symbol::component*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, timer_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct timer_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, tmpvar**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct tmpvar** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, tracepoint_arg*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct tracepoint_arg* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, tracepoint_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct tracepoint_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, translator_output**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:class translator_output** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, typeresolution_info::resolved_type*>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, update_visitor**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct update_visitor** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, uprobe_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct uprobe_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, utrace_derived_probe**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct utrace_derived_probe** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy, vardecl**>@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct vardecl** process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct component* $__last:struct component* $__first:struct component* process("/root/systemtap_write/install/bin/stap").function("uninitialized_copy@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:107") $__result:struct tmpvar* $__last:struct tmpvar* $__first:struct tmpvar* process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:164") process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:218") process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:218") $__x:struct func_info const& $__n:long unsigned int $__first:struct func_info* process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:218") $__n:long unsigned int process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill_n*, long unsigned int, std::basic_string >@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:218") $__x:class basic_string, std::allocator > const& $__n:long unsigned int $__first:class basic_string, std::allocator >* process("/root/systemtap_write/install/bin/stap").function("uninitialized_fill_n@/usr/include/c++/4.8.2/bits/stl_uninitialized.h:218") $__n:long unsigned int $__first:unsigned int* process("/root/systemtap_write/install/bin/stap").function("uniq_list@/root/systemtap_write/systemtap/main.cxx:59") $l:class list, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("unique_lock@/usr/include/c++/4.8.2/mutex:440") $__m:mutex_type& $this:class unique_lock* const process("/root/systemtap_write/install/bin/stap").function("unix_stapsh@/root/systemtap_write/systemtap/remote.cxx:657") $this:class unix_stapsh* const $s:struct systemtap_session& $ud:class uri_decoder const& process("/root/systemtap_write/install/bin/stap").function("unlink@/root/systemtap_write/systemtap/cache.cxx:433") $this:struct cache_ent_info const* const process("/root/systemtap_write/install/bin/stap").function("unlock@/usr/include/c++/4.8.2/mutex:149") $this:class mutex* const process("/root/systemtap_write/install/bin/stap").function("unlock@/usr/include/c++/4.8.2/mutex:561") $this:class unique_lock* const process("/root/systemtap_write/install/bin/stap").function("unmark@/root/systemtap_write/systemtap/stapregex-tree.h:85") $i:union ins* process("/root/systemtap_write/install/bin/stap").function("unmodified_fnargs_checker@/root/systemtap_write/systemtap/translate.cxx:966") $this:struct unmodified_fnargs_checker* const process("/root/systemtap_write/install/bin/stap").function("unmount_well_formed_probe_point@/root/systemtap_write/systemtap/tapsets.cxx:1548") $this:struct dwarf_query* const process("/root/systemtap_write/install/bin/stap").function("unoptimized_opt@/root/systemtap_write/systemtap/interactive.cxx:1041") $this:class unoptimized_opt* const process("/root/systemtap_write/install/bin/stap").function("unordered_map@/usr/include/c++/4.8.2/bits/unordered_map.h:138") process("/root/systemtap_write/install/bin/stap").function("unordered_multimap@/usr/include/c++/4.8.2/bits/unordered_map.h:819") process("/root/systemtap_write/install/bin/stap").function("unordered_set@/usr/include/c++/4.8.2/bits/unordered_set.h:132") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("unpack_response@/root/systemtap_write/systemtap/csclient.cxx:1379") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("unresolved@/root/systemtap_write/systemtap/elaborate.cxx:6895") $this:struct typeresolution_info* const $tok:struct token const* process("/root/systemtap_write/install/bin/stap").function("unsetf@/usr/include/c++/4.8.2/bits/ios_base.h:610") process("/root/systemtap_write/install/bin/stap").function("upchuck@/root/systemtap_write/systemtap/elaborate.cxx:804") $this:struct alias_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("update_coverage_db@/root/systemtap_write/systemtap/coveragedb.cxx:326") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("update_symtab@/root/systemtap_write/systemtap/tapsets.cxx:8683") $this:struct module_info* const $funcs:cu_function_cache_t* process("/root/systemtap_write/install/bin/stap").function("update_visitor@/root/systemtap_write/systemtap/staptree.h:1173") process("/root/systemtap_write/install/bin/stap").function("upper_bound<__gnu_cxx::__normal_iterator >, Dwarf_Line_s*, lineno_comparator>@/usr/include/c++/4.8.2/bits/stl_algo.h:2521") $__comp:struct lineno_comparator $__first:class __normal_iterator > > process("/root/systemtap_write/install/bin/stap").function("upper_bound<__gnu_cxx::__normal_iterator >, functiondecl*, function_priority_order>@/usr/include/c++/4.8.2/bits/stl_algo.h:2521") $__first:class __normal_iterator > > $__last:class __normal_iterator > > $__val:struct functiondecl* const& process("/root/systemtap_write/install/bin/stap").function("upper_bound@/usr/include/c++/4.8.2/bits/stl_multimap.h:794") $__x:key_type const& $this:class multimap, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("upper_bound@/usr/include/c++/4.8.2/bits/stl_tree.h:886") $__k:key_type const& $this:class _Rb_tree, std::_Select1st >, std::less, std::allocator > >* const process("/root/systemtap_write/install/bin/stap").function("uprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:618") process("/root/systemtap_write/install/bin/stap").function("uprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:951") $this:struct uprobe_derived_probe* const $function:struct interned_string $filename:struct interned_string $line:int $module:struct interned_string $section:struct interned_string $dwfl_addr:Dwarf_Addr $addr:Dwarf_Addr $q:struct dwarf_query& $scope_die:Dwarf_Die* process("/root/systemtap_write/install/bin/stap").function("uprobes_pass@/root/systemtap_write/systemtap/buildrun.cxx:683") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("uri_decoder@/root/systemtap_write/systemtap/remote.cxx:42") $uri:string const& $this:class uri_decoder* const process("/root/systemtap_write/install/bin/stap").function("usage@/root/systemtap_write/systemtap/session.cxx:511") $this:struct systemtap_session* const $exitcode:int process("/root/systemtap_write/install/bin/stap").function("utrace_derived_probe@/root/systemtap_write/systemtap/tapset-utrace.cxx:128") $this:struct utrace_derived_probe* const $s:struct systemtap_session& $p:struct probe* $l:struct probe_point* $hp:bool $pn:struct interned_string $pd:int64_t $f:enum utrace_derived_probe_flags process("/root/systemtap_write/install/bin/stap").function("utrace_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-utrace.cxx:107") $f:enum utrace_derived_probe_flags $l:struct probe_point* $s:struct systemtap_session& $this:struct utrace_var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("validate_module_elf@/root/systemtap_write/systemtap/tapsets.cxx:2432") $q:struct base_query* $name:char const* $mod:Dwfl_Module* process("/root/systemtap_write/install/bin/stap").function("value@/root/systemtap_write/systemtap/translate.cxx:434") $this:class var const* const process("/root/systemtap_write/install/bin/stap").function("value@/root/systemtap_write/systemtap/translate.cxx:592") process("/root/systemtap_write/install/bin/stap").function("value_typename@/root/systemtap_write/systemtap/translate.cxx:2949") $e:enum exp_type process("/root/systemtap_write/install/bin/stap").function("var@/root/systemtap_write/systemtap/translate.cxx:345") process("/root/systemtap_write/install/bin/stap").function("var@/root/systemtap_write/systemtap/translate.cxx:363") process("/root/systemtap_write/install/bin/stap").function("var@/root/systemtap_write/systemtap/translate.cxx:369") $name:string const& $ty:enum exp_type $local:bool $u:struct c_unparser* $this:class var* const process("/root/systemtap_write/install/bin/stap").function("var@/root/systemtap_write/systemtap/translate.cxx:374") $do_mangle:bool $name:string const& $ty:enum exp_type $local:bool $u:struct c_unparser* $this:class var* const process("/root/systemtap_write/install/bin/stap").function("var@/root/systemtap_write/systemtap/translate.cxx:380") process("/root/systemtap_write/install/bin/stap").function("var_declare@/root/systemtap_write/systemtap/translate.cxx:104") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("var_declare@/root/systemtap_write/systemtap/translate.cxx:543") $this:struct c_tmpcounter* const $name:string const& $v:class var const& process("/root/systemtap_write/install/bin/stap").function("var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:2838") $this:struct var_expanding_visitor* const process("/root/systemtap_write/install/bin/stap").function("vardecl@/root/systemtap_write/systemtap/staptree.cxx:164") $this:struct vardecl* const process("/root/systemtap_write/install/bin/stap").function("vardie_from_symtable@/root/systemtap_write/systemtap/dwflpp.cxx:3835") $this:struct dwflpp* const $vardie:Dwarf_Die* $addr:Dwarf_Addr* process("/root/systemtap_write/install/bin/stap").function("varuse_collecting_visitor@/root/systemtap_write/systemtap/staptree.h:1082") process("/root/systemtap_write/install/bin/stap").function("vasprintf@/usr/include/bits/stdio2.h:207") $__ap:__gnuc_va_list process("/root/systemtap_write/install/bin/stap").function("vector<__gnu_cxx::__normal_iterator >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:392") process("/root/systemtap_write/install/bin/stap").function("vector >, void>@/usr/include/c++/4.8.2/bits/stl_vector.h:392") $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const $__first:struct _Rb_tree_const_iterator, std::allocator > > $__last:struct _Rb_tree_const_iterator, std::allocator > > $__a:allocator_type const& process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_bvector.h:563") $__n:size_type $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:248") process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:269") $__n:size_type process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:281") process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:310") process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:327") process("/root/systemtap_write/install/bin/stap").function("vector@/usr/include/c++/4.8.2/bits/stl_vector.h:364") $__l:class initializer_list, std::allocator > > $this:class vector, std::allocator >, std::allocator, std::allocator > > >* const process("/root/systemtap_write/install/bin/stap").function("vector_has >@/root/systemtap_write/systemtap/util.h:306") $item:class basic_string, std::allocator > $v:class vector, std::allocator >, std::allocator, std::allocator > > >& process("/root/systemtap_write/install/bin/stap").function("verbose_opt@/root/systemtap_write/systemtap/interactive.cxx:926") $this:class verbose_opt* const process("/root/systemtap_write/install/bin/stap").function("version@/root/systemtap_write/systemtap/session.cxx:461") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("version_string@/root/systemtap_write/systemtap/session.cxx:446") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1456") $this:struct block* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1463") $this:struct try_block* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1470") $this:struct embeddedcode* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1477") $this:struct for_loop* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1483") $this:struct foreach_loop* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1489") $this:struct null_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1495") $this:struct expr_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1501") $this:struct return_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1507") $this:struct delete_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1515") $this:struct if_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1521") $this:struct next_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1527") $this:struct break_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1533") $this:struct continue_statement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1539") $this:struct literal_string* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1545") $this:struct literal_number* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1551") $this:struct binary_expression* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1557") $this:struct embedded_expr* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1563") $this:struct unary_expression* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1569") $this:struct pre_crement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1577") $this:struct post_crement* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1585") $this:struct logical_or_expr* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1591") $this:struct logical_and_expr* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1597") $this:struct array_in* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1603") $this:struct regex_query* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1609") $this:struct comparison* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1615") $this:struct concatenation* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1621") $this:struct ternary_expression* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1627") $this:struct assignment* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1635") $this:struct symbol* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1641") $this:struct target_symbol* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1663") $this:struct cast_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1670") $this:struct autocast_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1677") $this:struct atvar_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1684") $this:struct defined_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1691") $this:struct entry_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1698") $this:struct perf_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1705") $this:struct arrayindex* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1711") $this:struct functioncall* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1717") $this:struct print_format* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1723") $this:struct stat_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit@/root/systemtap_write/systemtap/staptree.cxx:1729") $this:struct hist_op* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/elaborate.cxx:2618") $this:struct symresolution_info* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/elaborate.cxx:3585") $this:struct void_statement_reducer* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/elaborate.cxx:6646") $this:struct typeresolution_info* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.cxx:1967") process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.cxx:2162") $this:struct expression_visitor* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.cxx:2997") $this:struct throwing_visitor* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.cxx:3280") $this:struct update_visitor* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.cxx:3562") $this:struct deep_copy_visitor* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/staptree.h:947") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_array_in@/root/systemtap_write/systemtap/translate.cxx:4736") $this:struct c_unparser* const $e:struct array_in* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:1135") $this:struct symbol_fetcher* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:1187") $this:struct mutated_var_collector* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:1215") $this:struct no_var_mutation_during_iteration_check* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:2503") $this:struct delete_statement_symresolution_info* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:2566") $this:struct symresolution_info* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:2572") $this:struct symresolution_info* const $e:struct arrayindex* $wildcard_ok:bool process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:3586") $this:struct void_statement_reducer* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:6251") $this:struct typeresolution_info* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/elaborate.cxx:6604") $this:struct delete_statement_typeresolution_info* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:2060") $this:struct traversing_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:2218") $this:struct expression_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:2686") $this:struct varuse_collecting_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:3083") $this:struct throwing_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:3385") $this:struct update_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.cxx:3649") $this:struct deep_copy_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/staptree.h:955") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/translate.cxx:3902") $this:struct arrayindex_downcaster* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/translate.cxx:4368") $this:struct delete_statement_operand_visitor* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/translate.cxx:5231") $this:struct c_unparser* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_arrayindex@/root/systemtap_write/systemtap/translate.cxx:5332") $this:struct c_unparser_assignment* const $e:struct arrayindex* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/elaborate.cxx:1176") $this:struct mutated_var_collector* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/elaborate.cxx:1295") $this:struct stat_decl_collector* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/elaborate.cxx:3139") $this:struct dead_assignment_remover* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/elaborate.cxx:3595") $this:struct void_statement_reducer* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/elaborate.cxx:5797") $this:struct typeresolution_info* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:2002") $this:struct traversing_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:2197") $this:struct expression_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:2613") $this:struct varuse_collecting_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:3027") $this:struct throwing_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:3320") $this:struct update_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.cxx:3592") $this:struct deep_copy_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/staptree.h:952") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/tapsets.cxx:2929") $this:struct var_expanding_visitor* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_assignment@/root/systemtap_write/systemtap/translate.cxx:4961") $this:struct c_unparser* const $e:struct assignment* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/elaborate.cxx:3102") $this:struct assignment_symbol_fetcher* const process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/elaborate.cxx:3920") $this:struct void_statement_reducer* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/elaborate.cxx:5414") $this:struct initial_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/elaborate.cxx:6142") $this:struct typeresolution_info* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:2034") process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:2267") $this:struct expression_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:2537") $this:struct varuse_collecting_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:3045") $this:struct throwing_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:3357") $this:struct update_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.cxx:3625") $this:struct deep_copy_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/staptree.h:962") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/tapsets.cxx:4264") $this:struct dwarf_var_expanding_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/tapsets.cxx:4868") $this:struct dwarf_atvar_expanding_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/tapsets.cxx:6908") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_atvar_op@/root/systemtap_write/systemtap/translate.cxx:5099") $this:struct c_unparser* const $e:struct atvar_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/elaborate.cxx:3112") $this:struct assignment_symbol_fetcher* const process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/elaborate.cxx:3944") $this:struct void_statement_reducer* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/elaborate.cxx:5380") $this:struct autocast_expanding_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/elaborate.cxx:6214") $this:struct typeresolution_info* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:2027") $this:struct traversing_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:2260") $this:struct expression_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:2560") $this:struct varuse_collecting_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:3057") $this:struct throwing_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:3349") $this:struct update_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.cxx:3619") $this:struct deep_copy_visitor* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/staptree.h:961") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_autocast_op@/root/systemtap_write/systemtap/translate.cxx:5113") $this:struct c_unparser* const $e:struct autocast_op* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/elaborate.cxx:3726") $this:struct void_statement_reducer* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/elaborate.cxx:4133") $this:struct const_folder* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/elaborate.cxx:5926") $this:struct typeresolution_info* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.cxx:1927") $this:struct traversing_visitor* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.cxx:2120") $this:struct expression_visitor* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.cxx:2960") $this:struct throwing_visitor* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.cxx:3234") $this:struct update_visitor* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.cxx:3525") $this:struct deep_copy_visitor* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/staptree.h:941") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_binary_expression@/root/systemtap_write/systemtap/translate.cxx:4616") $this:struct c_unparser* const $e:struct binary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:2421") $this:struct symresolution_info* const $e:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:3274") $this:struct dead_stmtexpr_remover* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:4633") $this:struct dead_control_remover* const $b:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:4918") $this:struct level_check* const process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:5017") $this:struct stable_functioncall_visitor* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/elaborate.cxx:6376") $this:struct typeresolution_info* const $e:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/staptree.cxx:1816") $this:struct traversing_visitor* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/staptree.cxx:2863") $this:struct throwing_visitor* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/staptree.cxx:3117") $this:struct update_visitor* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/staptree.cxx:3429") $this:struct deep_copy_visitor* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/staptree.h:925") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_block@/root/systemtap_write/systemtap/translate.cxx:3598") $this:struct c_unparser* const $s:struct block* process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/elaborate.cxx:4628") $this:struct dead_control_remover* const $s:struct break_statement* process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/elaborate.cxx:6634") $this:struct typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/staptree.cxx:1902") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/staptree.cxx:2930") $this:struct throwing_visitor* const $s:struct break_statement* process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/staptree.cxx:3204") process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/staptree.cxx:3495") $this:struct deep_copy_visitor* const $s:struct break_statement* process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/staptree.h:936") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/translate.cxx:2348") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_break_statement@/root/systemtap_write/systemtap/translate.cxx:4507") $this:struct c_unparser* const $s:struct break_statement* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/elaborate.cxx:3107") $this:struct assignment_symbol_fetcher* const process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/elaborate.cxx:3936") $this:struct void_statement_reducer* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/elaborate.cxx:5417") $this:struct initial_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/elaborate.cxx:6200") $this:struct typeresolution_info* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:2020") $this:struct traversing_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:2253") $this:struct expression_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:2549") $this:struct varuse_collecting_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:3051") $this:struct throwing_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:3341") $this:struct update_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.cxx:3613") $this:struct deep_copy_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/staptree.h:960") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/tapsets.cxx:4389") $this:struct dwarf_var_expanding_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/tapsets.cxx:4635") $this:struct dwarf_cast_expanding_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/tapsets.cxx:6921") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_cast_op@/root/systemtap_write/systemtap/translate.cxx:5106") $this:struct c_unparser* const $e:struct cast_op* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/elaborate.cxx:3789") $this:struct void_statement_reducer* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/elaborate.cxx:4385") $this:struct const_folder* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/elaborate.cxx:5753") $this:struct typeresolution_info* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.cxx:1980") $this:struct traversing_visitor* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.cxx:2176") $this:struct expression_visitor* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.cxx:3009") $this:struct throwing_visitor* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.cxx:3295") $this:struct update_visitor* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.cxx:3574") $this:struct deep_copy_visitor* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/staptree.h:949") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_comparison@/root/systemtap_write/systemtap/translate.cxx:4877") $this:struct c_unparser* const $e:struct comparison* process("/root/systemtap_write/install/bin/stap").function("visit_components@/root/systemtap_write/systemtap/staptree.cxx:1647") $this:struct target_symbol* const $u:struct visitor* process("/root/systemtap_write/install/bin/stap").function("visit_components@/root/systemtap_write/systemtap/staptree.cxx:1655") $this:struct target_symbol* const $u:struct update_visitor* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/elaborate.cxx:3795") $this:struct void_statement_reducer* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/elaborate.cxx:4462") $this:struct const_folder* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/elaborate.cxx:5778") $this:struct typeresolution_info* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.cxx:1987") $this:struct traversing_visitor* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.cxx:2183") $this:struct expression_visitor* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.cxx:3015") $this:struct throwing_visitor* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.cxx:3303") $this:struct update_visitor* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.cxx:3580") $this:struct deep_copy_visitor* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/staptree.h:950") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_concatenation@/root/systemtap_write/systemtap/translate.cxx:4917") $this:struct c_unparser* const $e:struct concatenation* process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/elaborate.cxx:4629") $this:struct dead_control_remover* const $s:struct continue_statement* process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/elaborate.cxx:6640") $this:struct typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/staptree.cxx:1907") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/staptree.cxx:2936") $this:struct throwing_visitor* const $s:struct continue_statement* process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/staptree.cxx:3210") process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/staptree.cxx:3501") $this:struct deep_copy_visitor* const $s:struct continue_statement* process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/staptree.h:937") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/translate.cxx:2349") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_continue_statement@/root/systemtap_write/systemtap/translate.cxx:4518") $this:struct c_unparser* const $s:struct continue_statement* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/elaborate.cxx:3953") $this:struct void_statement_reducer* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/elaborate.cxx:4513") $this:struct const_folder* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/elaborate.cxx:5415") $this:struct initial_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/elaborate.cxx:6178") $this:struct typeresolution_info* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:2040") process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:2274") $this:struct expression_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:2571") $this:struct varuse_collecting_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:3063") $this:struct throwing_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:3364") $this:struct update_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.cxx:3631") $this:struct deep_copy_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/staptree.h:963") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/tapsets.cxx:2966") $this:struct var_expanding_visitor* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_defined_op@/root/systemtap_write/systemtap/translate.cxx:5120") $this:struct c_unparser* const $e:struct defined_op* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/elaborate.cxx:2527") $this:struct symresolution_info* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/elaborate.cxx:3592") $this:struct void_statement_reducer* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/elaborate.cxx:6619") $this:struct typeresolution_info* const $e:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.cxx:1891") process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.cxx:2804") $this:struct varuse_collecting_visitor* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.cxx:2918") $this:struct throwing_visitor* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.cxx:3191") $this:struct update_visitor* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.cxx:3483") $this:struct deep_copy_visitor* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/staptree.h:934") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/tapsets.cxx:2955") $this:struct var_expanding_visitor* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/translate.cxx:2346") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_delete_statement@/root/systemtap_write/systemtap/translate.cxx:4498") $this:struct c_unparser* const $s:struct delete_statement* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/elaborate.cxx:5911") $this:struct typeresolution_info* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:1922") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:2113") $this:struct expression_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:2466") $this:struct varuse_collecting_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:2954") $this:struct throwing_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:3228") $this:struct update_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:3519") $this:struct deep_copy_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.cxx:617") $this:struct embedded_tags_visitor* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/staptree.h:940") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_embedded_expr@/root/systemtap_write/systemtap/translate.cxx:4563") $this:struct c_unparser* const $e:struct embedded_expr* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/elaborate.cxx:1601") $this:struct embeddedcode_info* const $c:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/elaborate.cxx:4682") $this:struct function_next_check* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/elaborate.cxx:4872") $this:struct stable_analysis* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/elaborate.cxx:6402") $this:struct typeresolution_info* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:1834") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:2403") $this:struct varuse_collecting_visitor* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:2876") $this:struct throwing_visitor* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:3134") $this:struct update_visitor* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:3441") $this:struct deep_copy_visitor* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.cxx:612") $this:struct embedded_tags_visitor* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/staptree.h:927") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/translate.cxx:3683") $this:struct c_unparser* const $s:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_embeddedcode@/root/systemtap_write/systemtap/translate.cxx:968") $this:struct unmodified_fnargs_checker* const $e:struct embeddedcode* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/elaborate.cxx:5416") $this:struct initial_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/elaborate.cxx:6193") $this:struct typeresolution_info* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:2046") process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:2281") $this:struct expression_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:2578") $this:struct varuse_collecting_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:3069") $this:struct throwing_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:3371") $this:struct update_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.cxx:3637") $this:struct deep_copy_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/staptree.h:964") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/tapsets.cxx:4400") $this:struct dwarf_var_expanding_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/tapsets.cxx:9933") $this:struct kprobe_var_expanding_visitor* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_entry_op@/root/systemtap_write/systemtap/translate.cxx:5127") $this:struct c_unparser* const $e:struct entry_op* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/elaborate.cxx:3430") $this:struct dead_stmtexpr_remover* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/elaborate.cxx:3603") $this:struct void_statement_reducer* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/elaborate.cxx:6588") $this:struct typeresolution_info* const $e:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/staptree.cxx:1844") $this:struct traversing_visitor* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/staptree.cxx:2888") $this:struct throwing_visitor* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/staptree.cxx:3146") $this:struct update_visitor* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/staptree.cxx:3453") $this:struct deep_copy_visitor* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/staptree.h:929") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/translate.cxx:2317") $this:struct max_action_info* const $stmt:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expr_statement@/root/systemtap_write/systemtap/translate.cxx:3729") $this:struct c_unparser* const $s:struct expr_statement* process("/root/systemtap_write/install/bin/stap").function("visit_expression@/root/systemtap_write/systemtap/elaborate.cxx:1717") $this:struct expression_build_no_more_visitor* const $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:3400") $this:struct dead_stmtexpr_remover* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:3623") $this:struct void_statement_reducer* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:4086") $this:struct const_folder* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:4933") $this:struct level_check* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:5065") $this:struct stable_functioncall_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/elaborate.cxx:6452") $this:struct typeresolution_info* const $e:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.cxx:1859") $this:struct traversing_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.cxx:2345") $this:struct varuse_collecting_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.cxx:2900") $this:struct throwing_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.cxx:3162") $this:struct update_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.cxx:3465") $this:struct deep_copy_visitor* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/staptree.h:931") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/translate.cxx:2315") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_for_loop@/root/systemtap_write/systemtap/translate.cxx:3843") $this:struct c_unparser* const $s:struct for_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:1262") $this:struct no_var_mutation_during_iteration_check* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:2438") $this:struct symresolution_info* const $e:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:3384") $this:struct dead_stmtexpr_remover* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:3631") $this:struct void_statement_reducer* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:4110") $this:struct const_folder* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:4940") $this:struct level_check* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:5077") $this:struct stable_functioncall_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/elaborate.cxx:6466") $this:struct typeresolution_info* const $e:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.cxx:1868") $this:struct traversing_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.cxx:2745") $this:struct varuse_collecting_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.cxx:2906") $this:struct throwing_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.cxx:3172") $this:struct update_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.cxx:3471") $this:struct deep_copy_visitor* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/staptree.h:932") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/translate.cxx:2316") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop@/root/systemtap_write/systemtap/translate.cxx:3992") $this:struct c_unparser* const $s:struct foreach_loop* process("/root/systemtap_write/install/bin/stap").function("visit_foreach_loop_value@/root/systemtap_write/systemtap/translate.cxx:3927") $this:struct c_unparser* const $s:struct foreach_loop* $value:string const& process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:1237") $this:struct no_var_mutation_during_iteration_check* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:2508") $this:struct delete_statement_symresolution_info* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:2625") $this:struct symresolution_info* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:3801") $this:struct void_statement_reducer* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:4701") $this:struct dead_overload_remover* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:4774") $this:struct duplicate_function_remover* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:4882") $this:struct stable_analysis* const process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:4895") $this:struct stable_finder* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:4954") $this:struct level_check* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:5091") $this:struct stable_functioncall_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/elaborate.cxx:6323") $this:struct typeresolution_info* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2070") $this:struct traversing_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2225") $this:struct expression_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2296") $this:struct functioncall_traversing_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:2373") $this:struct varuse_collecting_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:3089") $this:struct throwing_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:3394") $this:struct update_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.cxx:3655") $this:struct deep_copy_visitor* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/staptree.h:956") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/tapset-method.cxx:56") $this:struct java_details_inspection* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/translate.cxx:3238") $this:struct expression_is_functioncall* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/translate.cxx:5418") $this:struct c_unparser* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_functioncall@/root/systemtap_write/systemtap/translate.cxx:7535") $this:struct recursion_info* const $e:struct functioncall* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/elaborate.cxx:1307") $this:struct stat_decl_collector* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/elaborate.cxx:3588") $this:struct void_statement_reducer* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/elaborate.cxx:6844") $this:struct typeresolution_info* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.cxx:2092") process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.cxx:2246") $this:struct expression_visitor* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.cxx:3107") $this:struct throwing_visitor* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.cxx:3418") $this:struct update_visitor* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.cxx:3675") $this:struct deep_copy_visitor* const $e:struct hist_op* process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/staptree.h:959") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_hist_op@/root/systemtap_write/systemtap/translate.cxx:5938") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:3331") $this:struct dead_stmtexpr_remover* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:3614") $this:struct void_statement_reducer* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:4061") $this:struct const_folder* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:4928") $this:struct level_check* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:5046") $this:struct stable_functioncall_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/elaborate.cxx:6435") $this:struct typeresolution_info* const $e:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.cxx:1850") $this:struct traversing_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.cxx:2331") $this:struct varuse_collecting_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.cxx:2894") $this:struct throwing_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.cxx:3153") $this:struct update_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.cxx:3459") $this:struct deep_copy_visitor* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/staptree.h:930") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/translate.cxx:2322") $this:struct max_action_info* const $stmt:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_if_statement@/root/systemtap_write/systemtap/translate.cxx:3814") $this:struct c_unparser* const $s:struct if_statement* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/elaborate.cxx:4040") $this:struct const_folder* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/elaborate.cxx:5698") $this:struct typeresolution_info* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.cxx:1917") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.cxx:2106") $this:struct expression_visitor* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.cxx:2948") $this:struct throwing_visitor* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.cxx:3222") process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.cxx:3513") $this:struct deep_copy_visitor* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/staptree.h:939") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_literal_number@/root/systemtap_write/systemtap/translate.cxx:4550") $this:struct c_unparser* const $e:struct literal_number* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/elaborate.cxx:4054") $this:struct const_folder* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/elaborate.cxx:5709") $this:struct typeresolution_info* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.cxx:1912") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.cxx:2099") $this:struct expression_visitor* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.cxx:2942") $this:struct throwing_visitor* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.cxx:3216") $this:struct update_visitor* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.cxx:3507") $this:struct deep_copy_visitor* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/staptree.h:938") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_literal_string@/root/systemtap_write/systemtap/translate.cxx:4530") $this:struct c_unparser* const $e:struct literal_string* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/elaborate.cxx:3670") $this:struct void_statement_reducer* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/elaborate.cxx:4338") $this:struct const_folder* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/elaborate.cxx:5727") $this:struct typeresolution_info* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.cxx:1960") $this:struct traversing_visitor* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.cxx:2155") $this:struct expression_visitor* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.cxx:2991") $this:struct throwing_visitor* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.cxx:3272") $this:struct update_visitor* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.cxx:3556") $this:struct deep_copy_visitor* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/staptree.h:946") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_logical_and_expr@/root/systemtap_write/systemtap/translate.cxx:4720") $this:struct c_unparser* const $e:struct logical_and_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/elaborate.cxx:3639") $this:struct void_statement_reducer* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/elaborate.cxx:4291") $this:struct const_folder* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/elaborate.cxx:5720") $this:struct typeresolution_info* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.cxx:1953") $this:struct traversing_visitor* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.cxx:2148") $this:struct expression_visitor* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.cxx:2985") $this:struct throwing_visitor* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.cxx:3264") $this:struct update_visitor* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.cxx:3550") $this:struct deep_copy_visitor* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/staptree.h:945") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_logical_or_expr@/root/systemtap_write/systemtap/translate.cxx:4704") $this:struct c_unparser* const $e:struct logical_or_expr* process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/elaborate.cxx:4627") $this:struct dead_control_remover* const $s:struct next_statement* process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/elaborate.cxx:4677") $this:struct function_next_check* const process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/elaborate.cxx:6628") $this:struct typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/staptree.cxx:1897") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/staptree.cxx:2924") $this:struct throwing_visitor* const $s:struct next_statement* process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/staptree.cxx:3198") process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/staptree.cxx:3489") $this:struct deep_copy_visitor* const $s:struct next_statement* process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/staptree.h:935") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/translate.cxx:2347") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_next_statement@/root/systemtap_write/systemtap/translate.cxx:4305") $this:struct c_unparser* const $s:struct next_statement* process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/elaborate.cxx:3263") $this:struct dead_stmtexpr_remover* const $s:struct null_statement* process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/elaborate.cxx:6582") $this:struct typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/staptree.cxx:1839") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/staptree.cxx:2882") $this:struct throwing_visitor* const $s:struct null_statement* process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/staptree.cxx:3140") process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/staptree.cxx:3447") $this:struct deep_copy_visitor* const $s:struct null_statement* process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/staptree.h:928") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/translate.cxx:2344") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_null_statement@/root/systemtap_write/systemtap/translate.cxx:3722") $this:struct c_unparser* const process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/elaborate.cxx:6234") $this:struct typeresolution_info* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:2053") process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:2288") $this:struct expression_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:2586") $this:struct varuse_collecting_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:3076") $this:struct throwing_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:3378") $this:struct update_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.cxx:3643") $this:struct deep_copy_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/staptree.h:965") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/tapsets.cxx:4420") $this:struct dwarf_var_expanding_visitor* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_perf_op@/root/systemtap_write/systemtap/translate.cxx:5134") $this:struct c_unparser* const $e:struct perf_op* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/elaborate.cxx:3594") $this:struct void_statement_reducer* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/elaborate.cxx:5957") $this:struct typeresolution_info* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:1946") process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:2141") $this:struct expression_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:2736") $this:struct varuse_collecting_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:2978") $this:struct throwing_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:3256") $this:struct update_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.cxx:3543") $this:struct deep_copy_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/staptree.h:944") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/tapsets.cxx:2946") $this:struct var_expanding_visitor* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_post_crement@/root/systemtap_write/systemtap/translate.cxx:5001") $this:struct c_unparser* const $e:struct post_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/elaborate.cxx:3593") $this:struct void_statement_reducer* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/elaborate.cxx:5950") $this:struct typeresolution_info* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:1940") process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:2134") $this:struct expression_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:2727") $this:struct varuse_collecting_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:2972") $this:struct throwing_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:3249") $this:struct update_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.cxx:3537") $this:struct deep_copy_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/staptree.h:943") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/tapsets.cxx:2937") $this:struct var_expanding_visitor* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_pre_crement@/root/systemtap_write/systemtap/translate.cxx:4989") $this:struct c_unparser* const $e:struct pre_crement* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/elaborate.cxx:3853") $this:struct void_statement_reducer* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/elaborate.cxx:6706") $this:struct typeresolution_info* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:2077") $this:struct traversing_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:2232") $this:struct expression_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:2593") $this:struct varuse_collecting_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:3095") $this:struct throwing_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:3402") $this:struct update_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.cxx:3663") $this:struct deep_copy_visitor* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/staptree.h:957") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_print_format@/root/systemtap_write/systemtap/translate.cxx:5661") $this:struct c_unparser* const $e:struct print_format* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/elaborate.cxx:1669") $this:struct regex_collecting_visitor* const $q:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/elaborate.cxx:3767") $this:struct void_statement_reducer* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/elaborate.cxx:5733") $this:struct typeresolution_info* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.cxx:1973") $this:struct traversing_visitor* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.cxx:2169") $this:struct expression_visitor* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.cxx:3003") $this:struct throwing_visitor* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.cxx:3287") $this:struct update_visitor* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.cxx:3568") $this:struct deep_copy_visitor* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/staptree.h:948") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_regex_query@/root/systemtap_write/systemtap/translate.cxx:4863") $this:struct c_unparser* const $e:struct regex_query* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/elaborate.cxx:3591") $this:struct void_statement_reducer* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/elaborate.cxx:4626") $this:struct dead_control_remover* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/elaborate.cxx:6666") $this:struct typeresolution_info* const $e:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.cxx:1885") process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.cxx:2393") $this:struct varuse_collecting_visitor* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.cxx:2912") $this:struct throwing_visitor* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.cxx:3184") $this:struct update_visitor* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.cxx:3477") $this:struct deep_copy_visitor* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/staptree.h:933") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/translate.cxx:2345") $this:struct max_action_info* const process("/root/systemtap_write/install/bin/stap").function("visit_return_statement@/root/systemtap_write/systemtap/translate.cxx:4289") $this:struct c_unparser* const $s:struct return_statement* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/elaborate.cxx:1288") $this:struct stat_decl_collector* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/elaborate.cxx:3587") $this:struct void_statement_reducer* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/elaborate.cxx:6830") $this:struct typeresolution_info* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.cxx:2086") process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.cxx:2239") $this:struct expression_visitor* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.cxx:3101") $this:struct throwing_visitor* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.cxx:3411") $this:struct update_visitor* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.cxx:3669") $this:struct deep_copy_visitor* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/staptree.h:958") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_stat_op@/root/systemtap_write/systemtap/translate.cxx:5863") $this:struct c_unparser* const $e:struct stat_op* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/elaborate.cxx:1130") $this:struct symbol_fetcher* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/elaborate.cxx:2513") $this:struct delete_statement_symresolution_info* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/elaborate.cxx:2535") $this:struct symresolution_info* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/elaborate.cxx:6071") $this:struct typeresolution_info* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/elaborate.cxx:6609") $this:struct delete_statement_typeresolution_info* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:2009") $this:struct traversing_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:2204") $this:struct expression_visitor* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:2649") $this:struct varuse_collecting_visitor* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:3033") $this:struct throwing_visitor* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:3328") process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.cxx:3598") $this:struct deep_copy_visitor* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/staptree.h:953") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/translate.cxx:4329") $this:struct delete_statement_operand_visitor* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/translate.cxx:5013") $this:struct c_unparser* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_symbol@/root/systemtap_write/systemtap/translate.cxx:5068") $this:struct c_unparser_assignment* const $e:struct symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:3097") $this:struct assignment_symbol_fetcher* const process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:3928") $this:struct void_statement_reducer* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:4565") $this:struct const_folder* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:5413") $this:struct initial_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/elaborate.cxx:6098") $this:struct typeresolution_info* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:2014") process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:2211") $this:struct expression_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:2522") $this:struct varuse_collecting_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:3039") $this:struct throwing_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:3334") $this:struct update_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.cxx:3606") $this:struct deep_copy_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/staptree.h:954") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapset-mark.cxx:176") $this:struct mark_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapset-netfilter.cxx:426") $this:struct netfilter_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapset-procfs.cxx:423") $this:struct procfs_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapset-utrace.cxx:616") $this:struct utrace_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapsets.cxx:10547") $this:struct tracepoint_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapsets.cxx:4283") $this:struct dwarf_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapsets.cxx:6887") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/tapsets.cxx:6932") $this:struct plt_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol@/root/systemtap_write/systemtap/translate.cxx:5092") $this:struct c_unparser* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_arg@/root/systemtap_write/systemtap/tapset-mark.cxx:92") $this:struct mark_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_arg@/root/systemtap_write/systemtap/tapset-utrace.cxx:481") $this:struct utrace_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_arg@/root/systemtap_write/systemtap/tapsets.cxx:10381") $this:struct tracepoint_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_arg@/root/systemtap_write/systemtap/tapsets.cxx:6783") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_cached@/root/systemtap_write/systemtap/tapset-utrace.cxx:272") $this:struct utrace_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_context@/root/systemtap_write/systemtap/tapset-mark.cxx:116") $this:struct mark_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_context@/root/systemtap_write/systemtap/tapset-utrace.cxx:560") $this:struct utrace_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_context@/root/systemtap_write/systemtap/tapsets.cxx:10478") $this:struct tracepoint_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_context@/root/systemtap_write/systemtap/tapsets.cxx:4130") $this:struct dwarf_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_context@/root/systemtap_write/systemtap/tapsets.cxx:6283") $this:struct sdt_uprobe_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_target_symbol_saved_return@/root/systemtap_write/systemtap/tapsets.cxx:3746") $this:struct dwarf_var_expanding_visitor* const $e:struct target_symbol* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/elaborate.cxx:3696") $this:struct void_statement_reducer* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/elaborate.cxx:4491") $this:struct const_folder* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/elaborate.cxx:5981") $this:struct typeresolution_info* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:1994") $this:struct traversing_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:2190") $this:struct expression_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:2635") $this:struct varuse_collecting_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:3021") $this:struct throwing_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:3311") $this:struct update_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.cxx:3586") $this:struct deep_copy_visitor* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/staptree.h:951") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_ternary_expression@/root/systemtap_write/systemtap/translate.cxx:4940") $this:struct c_unparser* const $e:struct ternary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/elaborate.cxx:3192") $this:struct dead_assignment_remover* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/elaborate.cxx:3316") $this:struct dead_stmtexpr_remover* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/elaborate.cxx:4922") $this:struct level_check* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/elaborate.cxx:5034") $this:struct stable_functioncall_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/elaborate.cxx:6387") $this:struct typeresolution_info* const $e:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.cxx:1823") $this:struct traversing_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.cxx:2359") $this:struct varuse_collecting_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.cxx:2869") $this:struct throwing_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.cxx:3125") $this:struct update_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.cxx:3435") $this:struct deep_copy_visitor* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/staptree.h:926") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_try_block@/root/systemtap_write/systemtap/translate.cxx:3627") $this:struct c_unparser* const $s:struct try_block* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/elaborate.cxx:3754") $this:struct void_statement_reducer* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/elaborate.cxx:4263") $this:struct const_folder* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/elaborate.cxx:5964") $this:struct typeresolution_info* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.cxx:1934") process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.cxx:2127") $this:struct expression_visitor* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.cxx:2966") $this:struct throwing_visitor* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.cxx:3242") $this:struct update_visitor* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.cxx:3531") $this:struct deep_copy_visitor* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/staptree.h:942") $this:struct nop_visitor* const process("/root/systemtap_write/install/bin/stap").function("visit_unary_expression@/root/systemtap_write/systemtap/translate.cxx:4676") $this:struct c_unparser* const $e:struct unary_expression* process("/root/systemtap_write/install/bin/stap").function("visitor@/root/systemtap_write/systemtap/staptree.h:867") process("/root/systemtap_write/install/bin/stap").function("vma_tracker_enabled@/root/systemtap_write/systemtap/task_finder.cxx:120") $s:struct systemtap_session& process("/root/systemtap_write/install/bin/stap").function("void_statement_reducer@/root/systemtap_write/systemtap/elaborate.cxx:3553") process("/root/systemtap_write/install/bin/stap").function("widen@/usr/include/c++/4.8.2/bits/basic_ios.h:443") $__c:char process("/root/systemtap_write/install/bin/stap").function("widen@/usr/include/c++/4.8.2/bits/locale_facets.h:865") process("/root/systemtap_write/install/bin/stap").function("width@/usr/include/c++/4.8.2/bits/ios_base.h:653") process("/root/systemtap_write/install/bin/stap").function("with_number@/root/systemtap_write/systemtap/elaborate.cxx:310") $this:struct match_key* const process("/root/systemtap_write/install/bin/stap").function("with_string@/root/systemtap_write/systemtap/elaborate.cxx:318") $this:struct match_key* const process("/root/systemtap_write/install/bin/stap").function("wrap_compound_visit@/root/systemtap_write/systemtap/translate.cxx:243") $this:struct c_unparser* const $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("wrap_compound_visit@/root/systemtap_write/systemtap/translate.cxx:244") $this:struct c_unparser* const $s:struct statement* process("/root/systemtap_write/install/bin/stap").function("wrap_compound_visit@/root/systemtap_write/systemtap/translate.cxx:3739") $this:struct c_tmpcounter* const $s:struct statement* process("/root/systemtap_write/install/bin/stap").function("wrap_compound_visit@/root/systemtap_write/systemtap/translate.cxx:3752") $this:struct c_tmpcounter* const $e:struct expression* process("/root/systemtap_write/install/bin/stap").function("write_to_file@/root/systemtap_write/systemtap/csclient.cxx:1587") $this:class compile_server_client* const $fname:string const& $data:char[]& process("/root/systemtap_write/install/bin/stap").function("write_to_file >@/root/systemtap_write/systemtap/csclient.cxx:1587") $this:class compile_server_client* const $fname:string const& $data:class basic_string, std::allocator > const& process("/root/systemtap_write/install/bin/stap").function("~Array2D@/root/systemtap_write/systemtap/util.h:383") $this:class Array2D* const process("/root/systemtap_write/install/bin/stap").function("~_Bvector_base@/usr/include/c++/4.8.2/bits/stl_bvector.h:465") $this:struct _Bvector_base >* const process("/root/systemtap_write/install/bin/stap").function("~_Deque_base@/usr/include/c++/4.8.2/bits/stl_deque.h:560") process("/root/systemtap_write/install/bin/stap").function("~_Hash_node@/usr/include/c++/4.8.2/bits/hashtable_policy.h:170") process("/root/systemtap_write/install/bin/stap").function("~_Hashtable@/usr/include/c++/4.8.2/bits/hashtable.h:954") process("/root/systemtap_write/install/bin/stap").function("~_Impl@/usr/include/c++/4.8.2/thread:107") process("/root/systemtap_write/install/bin/stap").function("~_Impl_base@/usr/include/c++/4.8.2/thread:97") process("/root/systemtap_write/install/bin/stap").function("~_List_base@/usr/include/c++/4.8.2/bits/stl_list.h:377") process("/root/systemtap_write/install/bin/stap").function("~_List_node@/usr/include/c++/4.8.2/bits/stl_list.h:106") process("/root/systemtap_write/install/bin/stap").function("~_Rb_tree@/usr/include/c++/4.8.2/bits/stl_tree.h:670") process("/root/systemtap_write/install/bin/stap").function("~_Rb_tree_node@/usr/include/c++/4.8.2/bits/stl_tree.h:131") process("/root/systemtap_write/install/bin/stap").function("~_Sp_counted_base@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:113") process("/root/systemtap_write/install/bin/stap").function("~_Sp_counted_ptr_inplace@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:403") process("/root/systemtap_write/install/bin/stap").function("~_Temporary_buffer@/usr/include/c++/4.8.2/bits/stl_tempbuf.h:165") $this:class _Temporary_buffer<__gnu_cxx::__normal_iterator > >, functiondecl*>* const process("/root/systemtap_write/install/bin/stap").function("~_Vector_base@/usr/include/c++/4.8.2/bits/stl_vector.h:159") process("/root/systemtap_write/install/bin/stap").function("~__shared_count@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:543") process("/root/systemtap_write/install/bin/stap").function("~__shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr_base.h:781") process("/root/systemtap_write/install/bin/stap").function("~add_cmd@/root/systemtap_write/systemtap/interactive.cxx:461") process("/root/systemtap_write/install/bin/stap").function("~aggvar@/root/systemtap_write/systemtap/translate.cxx:606") $this:struct aggvar* const process("/root/systemtap_write/install/bin/stap").function("~alias_derived_probe@/root/systemtap_write/systemtap/elaborate.cxx:841") $this:struct alias_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~alias_expansion_builder@/root/systemtap_write/systemtap/elaborate.h:408") $this:struct alias_expansion_builder* const process("/root/systemtap_write/install/bin/stap").function("~alt_op@/root/systemtap_write/systemtap/stapregex-tree.h:171") process("/root/systemtap_write/install/bin/stap").function("~anchor_op@/root/systemtap_write/systemtap/stapregex-tree.h:137") process("/root/systemtap_write/install/bin/stap").function("~array_in@/root/systemtap_write/systemtap/staptree.h:232") process("/root/systemtap_write/install/bin/stap").function("~arrayindex@/root/systemtap_write/systemtap/staptree.h:406") process("/root/systemtap_write/install/bin/stap").function("~arrayindex_downcaster@/root/systemtap_write/systemtap/translate.cxx:3893") process("/root/systemtap_write/install/bin/stap").function("~assignment@/root/systemtap_write/systemtap/staptree.h:270") process("/root/systemtap_write/install/bin/stap").function("~assignment_symbol_fetcher@/root/systemtap_write/systemtap/elaborate.cxx:3091") process("/root/systemtap_write/install/bin/stap").function("~atvar_op@/root/systemtap_write/systemtap/staptree.h:375") process("/root/systemtap_write/install/bin/stap").function("~auto_analyze_opt@/root/systemtap_write/systemtap/interactive.cxx:1138") process("/root/systemtap_write/install/bin/stap").function("~autocast_expanding_visitor@/root/systemtap_write/systemtap/elaborate.cxx:5321") process("/root/systemtap_write/install/bin/stap").function("~autocast_op@/root/systemtap_write/systemtap/staptree.h:368") process("/root/systemtap_write/install/bin/stap").function("~base_func_info@/root/systemtap_write/systemtap/dwflpp.h:144") process("/root/systemtap_write/install/bin/stap").function("~base_query@/root/systemtap_write/systemtap/tapsets.cxx:660") process("/root/systemtap_write/install/bin/stap").function("~basic_filebuf@/usr/include/c++/4.8.2/fstream:219") process("/root/systemtap_write/install/bin/stap").function("~basic_ifstream@/usr/include/c++/4.8.2/fstream:498") $this:class basic_ifstream >* const process("/root/systemtap_write/install/bin/stap").function("~basic_ios@/usr/include/c++/4.8.2/bits/basic_ios.h:276") process("/root/systemtap_write/install/bin/stap").function("~basic_iostream@/usr/include/c++/4.8.2/istream:827") process("/root/systemtap_write/install/bin/stap").function("~basic_istream@/usr/include/c++/4.8.2/istream:103") process("/root/systemtap_write/install/bin/stap").function("~basic_istringstream@/usr/include/c++/4.8.2/sstream:337") process("/root/systemtap_write/install/bin/stap").function("~basic_ofstream@/usr/include/c++/4.8.2/fstream:673") process("/root/systemtap_write/install/bin/stap").function("~basic_ostream@/usr/include/c++/4.8.2/ostream:93") process("/root/systemtap_write/install/bin/stap").function("~basic_ostringstream@/usr/include/c++/4.8.2/sstream:452") process("/root/systemtap_write/install/bin/stap").function("~basic_streambuf@/usr/include/c++/4.8.2/streambuf:197") process("/root/systemtap_write/install/bin/stap").function("~basic_string@/usr/include/c++/4.8.2/bits/basic_string.h:538") process("/root/systemtap_write/install/bin/stap").function("~basic_stringbuf@/usr/include/c++/4.8.2/sstream:64") process("/root/systemtap_write/install/bin/stap").function("~basic_stringstream@/usr/include/c++/4.8.2/sstream:564") $this:class basic_stringstream, std::allocator >* const process("/root/systemtap_write/install/bin/stap").function("~be_builder@/root/systemtap_write/systemtap/tapset-been.cxx:74") $this:struct be_builder* const process("/root/systemtap_write/install/bin/stap").function("~be_derived_probe@/root/systemtap_write/systemtap/tapset-been.cxx:35") process("/root/systemtap_write/install/bin/stap").function("~be_derived_probe_group@/root/systemtap_write/systemtap/tapset-been.cxx:66") $this:struct be_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~binary_expression@/root/systemtap_write/systemtap/staptree.h:187") process("/root/systemtap_write/install/bin/stap").function("~block@/root/systemtap_write/systemtap/staptree.h:670") $this:struct block* const process("/root/systemtap_write/install/bin/stap").function("~break_statement@/root/systemtap_write/systemtap/staptree.h:754") $this:struct break_statement* const process("/root/systemtap_write/install/bin/stap").function("~c_tmpcounter@/root/systemtap_write/systemtap/translate.cxx:250") process("/root/systemtap_write/install/bin/stap").function("~c_unparser@/root/systemtap_write/systemtap/translate.cxx:100") process("/root/systemtap_write/install/bin/stap").function("~c_unparser_assignment@/root/systemtap_write/systemtap/translate.cxx:281") process("/root/systemtap_write/install/bin/stap").function("~cache_ent_info@/root/systemtap_write/systemtap/cache.cxx:41") process("/root/systemtap_write/install/bin/stap").function("~cast_op@/root/systemtap_write/systemtap/staptree.h:358") process("/root/systemtap_write/install/bin/stap").function("~cat_op@/root/systemtap_write/systemtap/stapregex-tree.h:187") process("/root/systemtap_write/install/bin/stap").function("~close_op@/root/systemtap_write/systemtap/stapregex-tree.h:204") process("/root/systemtap_write/install/bin/stap").function("~closev_op@/root/systemtap_write/systemtap/stapregex-tree.h:218") process("/root/systemtap_write/install/bin/stap").function("~cmd_opt@/root/systemtap_write/systemtap/interactive.cxx:1095") process("/root/systemtap_write/install/bin/stap").function("~cmdopt@/root/systemtap_write/systemtap/interactive.cxx:149") process("/root/systemtap_write/install/bin/stap").function("~comparison@/root/systemtap_write/systemtap/staptree.h:248") process("/root/systemtap_write/install/bin/stap").function("~compile_server_client@/root/systemtap_write/systemtap/csclient.h:16") $this:class compile_server_client* const process("/root/systemtap_write/install/bin/stap").function("~compile_server_info@/root/systemtap_write/systemtap/csclient.cxx:91") process("/root/systemtap_write/install/bin/stap").function("~component@/root/systemtap_write/systemtap/staptree.h:317") process("/root/systemtap_write/install/bin/stap").function("~component@/root/systemtap_write/systemtap/staptree.h:798") $this:struct component* const process("/root/systemtap_write/install/bin/stap").function("~concatenation@/root/systemtap_write/systemtap/staptree.h:254") process("/root/systemtap_write/install/bin/stap").function("~const_folder@/root/systemtap_write/systemtap/elaborate.cxx:3984") process("/root/systemtap_write/install/bin/stap").function("~continue_statement@/root/systemtap_write/systemtap/staptree.h:761") $this:struct continue_statement* const process("/root/systemtap_write/install/bin/stap").function("~coverage_element@/root/systemtap_write/systemtap/coveragedb.h:55") process("/root/systemtap_write/install/bin/stap").function("~cs_protocol_version@/root/systemtap_write/systemtap/cscommon.cxx:32") $this:struct cs_protocol_version* const process("/root/systemtap_write/install/bin/stap").function("~dead_assignment_remover@/root/systemtap_write/systemtap/elaborate.cxx:3075") process("/root/systemtap_write/install/bin/stap").function("~dead_control_remover@/root/systemtap_write/systemtap/elaborate.cxx:4614") process("/root/systemtap_write/install/bin/stap").function("~dead_overload_remover@/root/systemtap_write/systemtap/elaborate.cxx:4689") process("/root/systemtap_write/install/bin/stap").function("~dead_stmtexpr_remover@/root/systemtap_write/systemtap/elaborate.cxx:3241") process("/root/systemtap_write/install/bin/stap").function("~deep_copy_visitor@/root/systemtap_write/systemtap/staptree.h:1259") process("/root/systemtap_write/install/bin/stap").function("~defined_op@/root/systemtap_write/systemtap/staptree.h:383") process("/root/systemtap_write/install/bin/stap").function("~delete_cmd@/root/systemtap_write/systemtap/interactive.cxx:532") process("/root/systemtap_write/install/bin/stap").function("~delete_statement@/root/systemtap_write/systemtap/staptree.h:747") $this:struct delete_statement* const process("/root/systemtap_write/install/bin/stap").function("~delete_statement_operand_visitor@/root/systemtap_write/systemtap/translate.cxx:4316") $this:struct delete_statement_operand_visitor* const process("/root/systemtap_write/install/bin/stap").function("~delete_statement_symresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:2494") $this:struct delete_statement_symresolution_info* const process("/root/systemtap_write/install/bin/stap").function("~delete_statement_typeresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:6595") $this:struct delete_statement_typeresolution_info* const process("/root/systemtap_write/install/bin/stap").function("~deque@/usr/include/c++/4.8.2/bits/stl_deque.h:917") process("/root/systemtap_write/install/bin/stap").function("~derived_probe@/root/systemtap_write/systemtap/elaborate.h:183") process("/root/systemtap_write/install/bin/stap").function("~derived_probe_builder@/root/systemtap_write/systemtap/elaborate.h:338") $this:struct derived_probe_builder* const process("/root/systemtap_write/install/bin/stap").function("~derived_probe_group@/root/systemtap_write/systemtap/elaborate.h:249") $this:struct derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~dfa@/root/systemtap_write/systemtap/stapregex-dfa.cxx:555") $this:struct dfa* const process("/root/systemtap_write/install/bin/stap").function("~direct@/root/systemtap_write/systemtap/remote.cxx:116") process("/root/systemtap_write/install/bin/stap").function("~direct_stapsh@/root/systemtap_write/systemtap/remote.cxx:649") process("/root/systemtap_write/install/bin/stap").function("~duplicate_function_remover@/root/systemtap_write/systemtap/elaborate.cxx:4761") process("/root/systemtap_write/install/bin/stap").function("~dwarf_atvar_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:4766") process("/root/systemtap_write/install/bin/stap").function("~dwarf_atvar_query@/root/systemtap_write/systemtap/tapsets.cxx:4777") process("/root/systemtap_write/install/bin/stap").function("~dwarf_builder@/root/systemtap_write/systemtap/tapsets.cxx:1007") process("/root/systemtap_write/install/bin/stap").function("~dwarf_cast_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:4479") process("/root/systemtap_write/install/bin/stap").function("~dwarf_cast_query@/root/systemtap_write/systemtap/tapsets.cxx:4492") process("/root/systemtap_write/install/bin/stap").function("~dwarf_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:538") process("/root/systemtap_write/install/bin/stap").function("~dwarf_pretty_print@/root/systemtap_write/systemtap/tapsets.cxx:3060") $this:struct dwarf_pretty_print* const process("/root/systemtap_write/install/bin/stap").function("~dwarf_query@/root/systemtap_write/systemtap/tapsets.cxx:821") process("/root/systemtap_write/install/bin/stap").function("~dwarf_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:2799") process("/root/systemtap_write/install/bin/stap").function("~dwflpp@/root/systemtap_write/systemtap/dwflpp.cxx:119") $this:struct dwflpp* const process("/root/systemtap_write/install/bin/stap").function("~dynprobe_derived_probe_group@/root/systemtap_write/systemtap/tapset-dynprobe.cxx:51") process("/root/systemtap_write/install/bin/stap").function("~edit_cmd@/root/systemtap_write/systemtap/interactive.cxx:767") process("/root/systemtap_write/install/bin/stap").function("~embedded_expr@/root/systemtap_write/systemtap/staptree.h:179") process("/root/systemtap_write/install/bin/stap").function("~embedded_tags_visitor@/root/systemtap_write/systemtap/staptree.h:1310") process("/root/systemtap_write/install/bin/stap").function("~embeddedcode@/root/systemtap_write/systemtap/staptree.h:655") $this:struct embeddedcode* const process("/root/systemtap_write/install/bin/stap").function("~embeddedcode_info@/root/systemtap_write/systemtap/elaborate.cxx:1593") process("/root/systemtap_write/install/bin/stap").function("~entry_op@/root/systemtap_write/systemtap/staptree.h:390") process("/root/systemtap_write/install/bin/stap").function("~exit_exception@/root/systemtap_write/systemtap/session.h:460") process("/root/systemtap_write/install/bin/stap").function("~exp_type_details@/root/systemtap_write/systemtap/staptree.h:114") $this:struct exp_type_details* const process("/root/systemtap_write/install/bin/stap").function("~exp_type_dwarf@/root/systemtap_write/systemtap/tapsets.cxx:505") $this:struct exp_type_dwarf* const process("/root/systemtap_write/install/bin/stap").function("~exp_type_null@/root/systemtap_write/systemtap/elaborate.cxx:5680") $this:struct exp_type_null* const process("/root/systemtap_write/install/bin/stap").function("~expr_statement@/root/systemtap_write/systemtap/staptree.h:722") $this:struct expr_statement* const process("/root/systemtap_write/install/bin/stap").function("~expression@/root/systemtap_write/systemtap/staptree.cxx:38") process("/root/systemtap_write/install/bin/stap").function("~expression_build_no_more_visitor@/root/systemtap_write/systemtap/elaborate.cxx:1712") process("/root/systemtap_write/install/bin/stap").function("~expression_is_functioncall@/root/systemtap_write/systemtap/translate.cxx:3232") $this:struct expression_is_functioncall* const process("/root/systemtap_write/install/bin/stap").function("~expression_visitor@/root/systemtap_write/systemtap/staptree.h:1019") process("/root/systemtap_write/install/bin/stap").function("~external_function_query@/root/systemtap_write/systemtap/dwflpp.cxx:2045") process("/root/systemtap_write/install/bin/stap").function("~for_loop@/root/systemtap_write/systemtap/staptree.h:685") $this:struct for_loop* const process("/root/systemtap_write/install/bin/stap").function("~foreach_loop@/root/systemtap_write/systemtap/staptree.h:696") $this:struct foreach_loop* const process("/root/systemtap_write/install/bin/stap").function("~format_component@/root/systemtap_write/systemtap/staptree.h:476") process("/root/systemtap_write/install/bin/stap").function("~func_info@/root/systemtap_write/systemtap/dwflpp.h:158") process("/root/systemtap_write/install/bin/stap").function("~function_next_check@/root/systemtap_write/systemtap/elaborate.cxx:4670") $this:struct function_next_check* const process("/root/systemtap_write/install/bin/stap").function("~functioncall@/root/systemtap_write/systemtap/staptree.h:417") $this:struct functioncall* const process("/root/systemtap_write/install/bin/stap").function("~functioncall_traversing_visitor@/root/systemtap_write/systemtap/staptree.h:1056") process("/root/systemtap_write/install/bin/stap").function("~functiondecl@/root/systemtap_write/systemtap/staptree.h:613") $this:struct functiondecl* const process("/root/systemtap_write/install/bin/stap").function("~generic_dpg@/root/systemtap_write/systemtap/tapsets.h:49") process("/root/systemtap_write/install/bin/stap").function("~generic_kprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:379") process("/root/systemtap_write/install/bin/stap").function("~generic_kprobe_derived_probe_group@/root/systemtap_write/systemtap/tapsets.cxx:637") process("/root/systemtap_write/install/bin/stap").function("~guru_mode_opt@/root/systemtap_write/systemtap/interactive.cxx:957") process("/root/systemtap_write/install/bin/stap").function("~help2_cmd@/root/systemtap_write/systemtap/interactive.cxx:287") process("/root/systemtap_write/install/bin/stap").function("~help_cmd@/root/systemtap_write/systemtap/interactive.cxx:270") process("/root/systemtap_write/install/bin/stap").function("~hist_op@/root/systemtap_write/systemtap/staptree.h:557") process("/root/systemtap_write/install/bin/stap").function("~hrtimer_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:185") process("/root/systemtap_write/install/bin/stap").function("~hrtimer_derived_probe_group@/root/systemtap_write/systemtap/tapset-timers.cxx:218") $this:struct hrtimer_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~hwbkpt_builder@/root/systemtap_write/systemtap/tapsets.cxx:10254") $this:struct hwbkpt_builder* const process("/root/systemtap_write/install/bin/stap").function("~hwbkpt_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:9963") $this:struct hwbkpt_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~hwbkpt_derived_probe_group@/root/systemtap_write/systemtap/tapsets.cxx:9982") $this:struct hwbkpt_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~if_statement@/root/systemtap_write/systemtap/staptree.h:730") $this:struct if_statement* const process("/root/systemtap_write/install/bin/stap").function("~indexable@/root/systemtap_write/systemtap/staptree.h:283") process("/root/systemtap_write/install/bin/stap").function("~initial_typeresolution_info@/root/systemtap_write/systemtap/elaborate.cxx:5405") process("/root/systemtap_write/install/bin/stap").function("~inline_instance_info@/root/systemtap_write/systemtap/dwflpp.h:168") process("/root/systemtap_write/install/bin/stap").function("~interned_string@/root/systemtap_write/systemtap/stringtable.h:133") process("/root/systemtap_write/install/bin/stap").function("~interrupt_exception@/root/systemtap_write/systemtap/session.h:473") process("/root/systemtap_write/install/bin/stap").function("~itervar@/root/systemtap_write/systemtap/translate.cxx:861") $this:class itervar* const process("/root/systemtap_write/install/bin/stap").function("~itrace_builder@/root/systemtap_write/systemtap/tapset-itrace.cxx:94") $this:struct itrace_builder* const process("/root/systemtap_write/install/bin/stap").function("~itrace_derived_probe@/root/systemtap_write/systemtap/tapset-itrace.cxx:35") $this:struct itrace_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~itrace_derived_probe_group@/root/systemtap_write/systemtap/tapset-itrace.cxx:49") process("/root/systemtap_write/install/bin/stap").function("~java_builder@/root/systemtap_write/systemtap/tapset-method.cxx:66") process("/root/systemtap_write/install/bin/stap").function("~java_details_inspection@/root/systemtap_write/systemtap/tapset-method.cxx:46") process("/root/systemtap_write/install/bin/stap").function("~keep_tmpdir_opt@/root/systemtap_write/systemtap/interactive.cxx:873") process("/root/systemtap_write/install/bin/stap").function("~kernel_point@/root/systemtap_write/systemtap/stapregex-dfa.h:79") process("/root/systemtap_write/install/bin/stap").function("~kprobe_builder@/root/systemtap_write/systemtap/tapsets.cxx:9762") $this:struct kprobe_builder* const process("/root/systemtap_write/install/bin/stap").function("~kprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:9596") process("/root/systemtap_write/install/bin/stap").function("~kprobe_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:9626") process("/root/systemtap_write/install/bin/stap").function("~last_pass_opt@/root/systemtap_write/systemtap/interactive.cxx:893") process("/root/systemtap_write/install/bin/stap").function("~level_check@/root/systemtap_write/systemtap/elaborate.cxx:4904") $this:struct level_check* const process("/root/systemtap_write/install/bin/stap").function("~lexer@/root/systemtap_write/systemtap/parse.cxx:40") $this:class lexer* const process("/root/systemtap_write/install/bin/stap").function("~libvirt_stapsh@/root/systemtap_write/systemtap/remote.cxx:839") process("/root/systemtap_write/install/bin/stap").function("~list@/usr/include/c++/4.8.2/bits/stl_list.h:438") process("/root/systemtap_write/install/bin/stap").function("~list_cmd@/root/systemtap_write/systemtap/interactive.cxx:303") process("/root/systemtap_write/install/bin/stap").function("~literal@/root/systemtap_write/systemtap/staptree.h:155") process("/root/systemtap_write/install/bin/stap").function("~literal_number@/root/systemtap_write/systemtap/staptree.h:169") process("/root/systemtap_write/install/bin/stap").function("~literal_string@/root/systemtap_write/systemtap/staptree.h:160") process("/root/systemtap_write/install/bin/stap").function("~load_cmd@/root/systemtap_write/systemtap/interactive.cxx:643") process("/root/systemtap_write/install/bin/stap").function("~logical_and_expr@/root/systemtap_write/systemtap/staptree.h:225") process("/root/systemtap_write/install/bin/stap").function("~logical_or_expr@/root/systemtap_write/systemtap/staptree.h:219") process("/root/systemtap_write/install/bin/stap").function("~macrodecl@/root/systemtap_write/systemtap/parse.cxx:403") $this:struct macrodecl* const process("/root/systemtap_write/install/bin/stap").function("~map@/usr/include/c++/4.8.2/bits/stl_map.h:96") process("/root/systemtap_write/install/bin/stap").function("~mapvar@/root/systemtap_write/systemtap/translate.cxx:631") $this:struct mapvar* const process("/root/systemtap_write/install/bin/stap").function("~mark_builder@/root/systemtap_write/systemtap/tapset-mark.cxx:562") process("/root/systemtap_write/install/bin/stap").function("~mark_derived_probe@/root/systemtap_write/systemtap/tapset-mark.cxx:46") $this:struct mark_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~mark_derived_probe_group@/root/systemtap_write/systemtap/tapset-mark.cxx:66") $this:struct mark_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~mark_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-mark.cxx:75") process("/root/systemtap_write/install/bin/stap").function("~match_item@/root/systemtap_write/systemtap/interactive.cxx:212") $this:struct match_item* const process("/root/systemtap_write/install/bin/stap").function("~match_key@/root/systemtap_write/systemtap/elaborate.h:355") process("/root/systemtap_write/install/bin/stap").function("~match_node@/root/systemtap_write/systemtap/elaborate.h:373") $this:class match_node* const process("/root/systemtap_write/install/bin/stap").function("~match_op@/root/systemtap_write/systemtap/stapregex-tree.h:162") process("/root/systemtap_write/install/bin/stap").function("~max_action_info@/root/systemtap_write/systemtap/translate.cxx:2300") process("/root/systemtap_write/install/bin/stap").function("~module_cache@/root/systemtap_write/systemtap/dwflpp.cxx:140") $this:struct module_cache* const process("/root/systemtap_write/install/bin/stap").function("~module_info@/root/systemtap_write/systemtap/tapsets.cxx:8732") $this:struct module_info* const process("/root/systemtap_write/install/bin/stap").function("~multimap@/usr/include/c++/4.8.2/bits/stl_multimap.h:95") process("/root/systemtap_write/install/bin/stap").function("~mutated_var_collector@/root/systemtap_write/systemtap/elaborate.cxx:1167") process("/root/systemtap_write/install/bin/stap").function("~netfilter_builder@/root/systemtap_write/systemtap/tapset-netfilter.cxx:477") $this:struct netfilter_builder* const process("/root/systemtap_write/install/bin/stap").function("~netfilter_derived_probe@/root/systemtap_write/systemtap/tapset-netfilter.cxx:31") process("/root/systemtap_write/install/bin/stap").function("~netfilter_derived_probe_group@/root/systemtap_write/systemtap/tapset-netfilter.cxx:47") $this:struct netfilter_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~netfilter_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-netfilter.cxx:55") process("/root/systemtap_write/install/bin/stap").function("~never_builder@/root/systemtap_write/systemtap/tapset-been.cxx:204") $this:struct never_builder* const process("/root/systemtap_write/install/bin/stap").function("~never_derived_probe@/root/systemtap_write/systemtap/tapset-been.cxx:195") process("/root/systemtap_write/install/bin/stap").function("~next_statement@/root/systemtap_write/systemtap/staptree.h:768") $this:struct next_statement* const process("/root/systemtap_write/install/bin/stap").function("~no_var_mutation_during_iteration_check@/root/systemtap_write/systemtap/elaborate.cxx:1202") process("/root/systemtap_write/install/bin/stap").function("~nop_visitor@/root/systemtap_write/systemtap/staptree.h:924") process("/root/systemtap_write/install/bin/stap").function("~null_op@/root/systemtap_write/systemtap/stapregex-tree.h:127") process("/root/systemtap_write/install/bin/stap").function("~null_statement@/root/systemtap_write/systemtap/staptree.h:714") $this:struct null_statement* const process("/root/systemtap_write/install/bin/stap").function("~obstack_tracker@/root/systemtap_write/systemtap/dwflpp.cxx:85") $this:struct obstack_tracker* const process("/root/systemtap_write/install/bin/stap").function("~pair@/usr/include/c++/4.8.2/bits/stl_pair.h:96") process("/root/systemtap_write/install/bin/stap").function("~panic_warnings_opt@/root/systemtap_write/systemtap/interactive.cxx:998") process("/root/systemtap_write/install/bin/stap").function("~parse_error@/root/systemtap_write/systemtap/session.h:98") $this:struct parse_error* const process("/root/systemtap_write/install/bin/stap").function("~parser@/root/systemtap_write/systemtap/parse.cxx:295") $this:class parser* const process("/root/systemtap_write/install/bin/stap").function("~perf_builder@/root/systemtap_write/systemtap/tapset-perfmon.cxx:274") $this:struct perf_builder* const process("/root/systemtap_write/install/bin/stap").function("~perf_derived_probe@/root/systemtap_write/systemtap/tapset-perfmon.cxx:42") process("/root/systemtap_write/install/bin/stap").function("~perf_derived_probe_group@/root/systemtap_write/systemtap/tapset-perfmon.cxx:58") $this:struct perf_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~perf_op@/root/systemtap_write/systemtap/staptree.h:398") process("/root/systemtap_write/install/bin/stap").function("~plt_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:2700") process("/root/systemtap_write/install/bin/stap").function("~post_crement@/root/systemtap_write/systemtap/staptree.h:212") process("/root/systemtap_write/install/bin/stap").function("~pp1_activation@/root/systemtap_write/systemtap/parse.cxx:411") $this:struct pp1_activation* const process("/root/systemtap_write/install/bin/stap").function("~pp_macrodecl@/root/systemtap_write/systemtap/parse.cxx:96") process("/root/systemtap_write/install/bin/stap").function("~pre_crement@/root/systemtap_write/systemtap/staptree.h:206") process("/root/systemtap_write/install/bin/stap").function("~print_format@/root/systemtap_write/systemtap/staptree.h:428") process("/root/systemtap_write/install/bin/stap").function("~probe@/root/systemtap_write/systemtap/staptree.h:848") $this:struct probe* const process("/root/systemtap_write/install/bin/stap").function("~probe_alias@/root/systemtap_write/systemtap/staptree.h:856") $this:struct probe_alias* const process("/root/systemtap_write/install/bin/stap").function("~probe_point@/root/systemtap_write/systemtap/staptree.h:796") process("/root/systemtap_write/install/bin/stap").function("~procfs_builder@/root/systemtap_write/systemtap/tapset-procfs.cxx:533") $this:struct procfs_builder* const process("/root/systemtap_write/install/bin/stap").function("~procfs_derived_probe@/root/systemtap_write/systemtap/tapset-procfs.cxx:36") $this:struct procfs_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~procfs_derived_probe_group@/root/systemtap_write/systemtap/tapset-procfs.cxx:59") process("/root/systemtap_write/install/bin/stap").function("~procfs_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-procfs.cxx:80") process("/root/systemtap_write/install/bin/stap").function("~profile_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:414") process("/root/systemtap_write/install/bin/stap").function("~profile_derived_probe_group@/root/systemtap_write/systemtap/tapset-timers.cxx:421") $this:struct profile_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~queue@/usr/include/c++/4.8.2/bits/stl_queue.h:93") process("/root/systemtap_write/install/bin/stap").function("~quit_cmd@/root/systemtap_write/systemtap/interactive.cxx:445") process("/root/systemtap_write/install/bin/stap").function("~range@/root/systemtap_write/systemtap/stapregex-tree.h:29") $this:struct range* const process("/root/systemtap_write/install/bin/stap").function("~recursion_info@/root/systemtap_write/systemtap/translate.cxx:7527") $this:struct recursion_info* const process("/root/systemtap_write/install/bin/stap").function("~recursive_expansion_error@/root/systemtap_write/systemtap/elaborate.h:32") process("/root/systemtap_write/install/bin/stap").function("~regex_collecting_visitor@/root/systemtap_write/systemtap/elaborate.cxx:1661") process("/root/systemtap_write/install/bin/stap").function("~regex_error@/root/systemtap_write/systemtap/stapregex-tree.h:266") process("/root/systemtap_write/install/bin/stap").function("~regex_parser@/root/systemtap_write/systemtap/stapregex-parse.h:48") $this:class regex_parser* const process("/root/systemtap_write/install/bin/stap").function("~regex_query@/root/systemtap_write/systemtap/staptree.h:239") process("/root/systemtap_write/install/bin/stap").function("~regexp@/root/systemtap_write/systemtap/stapregex-tree.h:97") process("/root/systemtap_write/install/bin/stap").function("~remote@/root/systemtap_write/systemtap/remote.h:43") process("/root/systemtap_write/install/bin/stap").function("~resolved_host@/root/systemtap_write/systemtap/csclient.cxx:193") process("/root/systemtap_write/install/bin/stap").function("~return_statement@/root/systemtap_write/systemtap/staptree.h:740") $this:struct return_statement* const process("/root/systemtap_write/install/bin/stap").function("~rule_op@/root/systemtap_write/systemtap/stapregex-tree.h:234") process("/root/systemtap_write/install/bin/stap").function("~run_cmd@/root/systemtap_write/systemtap/interactive.cxx:722") process("/root/systemtap_write/install/bin/stap").function("~save_and_restore@/root/systemtap_write/systemtap/util.h:302") $this:class save_and_restore* const process("/root/systemtap_write/install/bin/stap").function("~save_cmd@/root/systemtap_write/systemtap/interactive.cxx:686") process("/root/systemtap_write/install/bin/stap").function("~sdt_query@/root/systemtap_write/systemtap/tapsets.cxx:6958") process("/root/systemtap_write/install/bin/stap").function("~sdt_uprobe_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:5995") process("/root/systemtap_write/install/bin/stap").function("~semantic_error@/root/systemtap_write/systemtap/staptree.h:46") process("/root/systemtap_write/install/bin/stap").function("~set@/usr/include/c++/4.8.2/bits/stl_set.h:90") process("/root/systemtap_write/install/bin/stap").function("~set_cmd@/root/systemtap_write/systemtap/interactive.cxx:332") process("/root/systemtap_write/install/bin/stap").function("~shared_ptr@/usr/include/c++/4.8.2/bits/shared_ptr.h:93") process("/root/systemtap_write/install/bin/stap").function("~show_cmd@/root/systemtap_write/systemtap/interactive.cxx:395") process("/root/systemtap_write/install/bin/stap").function("~span@/root/systemtap_write/systemtap/stapregex-dfa.h:89") $this:struct span* const process("/root/systemtap_write/install/bin/stap").function("~spawned_pids_t@/root/systemtap_write/systemtap/util.cxx:582") $this:class spawned_pids_t* const process("/root/systemtap_write/install/bin/stap").function("~ssh_legacy_remote@/root/systemtap_write/systemtap/remote.cxx:1127") process("/root/systemtap_write/install/bin/stap").function("~ssh_remote@/root/systemtap_write/systemtap/remote.cxx:917") process("/root/systemtap_write/install/bin/stap").function("~stable_analysis@/root/systemtap_write/systemtap/elaborate.cxx:4863") process("/root/systemtap_write/install/bin/stap").function("~stable_finder@/root/systemtap_write/systemtap/elaborate.cxx:4887") $this:struct stable_finder* const process("/root/systemtap_write/install/bin/stap").function("~stable_functioncall_visitor@/root/systemtap_write/systemtap/elaborate.cxx:4961") $this:struct stable_functioncall_visitor* const process("/root/systemtap_write/install/bin/stap").function("~stack@/usr/include/c++/4.8.2/bits/stl_stack.h:96") process("/root/systemtap_write/install/bin/stap").function("~stap_hash@/root/systemtap_write/systemtap/hash.cxx:39") $this:class stap_hash* const process("/root/systemtap_write/install/bin/stap").function("~stap_sigmasker@/root/systemtap_write/systemtap/util.h:352") $this:struct stap_sigmasker* const process("/root/systemtap_write/install/bin/stap").function("~stapdfa@/root/systemtap_write/systemtap/stapregex.cxx:77") $this:struct stapdfa* const process("/root/systemtap_write/install/bin/stap").function("~stapfile@/root/systemtap_write/systemtap/staptree.h:779") process("/root/systemtap_write/install/bin/stap").function("~stapsh@/root/systemtap_write/systemtap/remote.cxx:594") process("/root/systemtap_write/install/bin/stap").function("~stat_decl_collector@/root/systemtap_write/systemtap/elaborate.cxx:1279") process("/root/systemtap_write/install/bin/stap").function("~stat_op@/root/systemtap_write/systemtap/staptree.h:543") process("/root/systemtap_write/install/bin/stap").function("~state@/root/systemtap_write/systemtap/stapregex-dfa.h:100") process("/root/systemtap_write/install/bin/stap").function("~statement@/root/systemtap_write/systemtap/staptree.cxx:61") $this:struct statement* const process("/root/systemtap_write/install/bin/stap").function("~stdio_filebuf@/usr/include/c++/4.8.2/ext/stdio_filebuf.h:123") process("/root/systemtap_write/install/bin/stap").function("~stmt_expr@/root/systemtap_write/systemtap/translate.cxx:557") $this:struct stmt_expr* const process("/root/systemtap_write/install/bin/stap").function("~suppress_warnings_opt@/root/systemtap_write/systemtap/interactive.cxx:977") process("/root/systemtap_write/install/bin/stap").function("~symbol@/root/systemtap_write/systemtap/staptree.h:295") process("/root/systemtap_write/install/bin/stap").function("~symbol_fetcher@/root/systemtap_write/systemtap/elaborate.cxx:1122") process("/root/systemtap_write/install/bin/stap").function("~symbol_table@/root/systemtap_write/systemtap/tapsets.cxx:8405") $this:struct symbol_table* const process("/root/systemtap_write/install/bin/stap").function("~symboldecl@/root/systemtap_write/systemtap/staptree.cxx:89") $this:struct symboldecl* const process("/root/systemtap_write/install/bin/stap").function("~symresolution_info@/root/systemtap_write/systemtap/elaborate.h:46") process("/root/systemtap_write/install/bin/stap").function("~systemtap_session@/root/systemtap_write/systemtap/session.cxx:404") $this:struct systemtap_session* const process("/root/systemtap_write/install/bin/stap").function("~tag_op@/root/systemtap_write/systemtap/stapregex-tree.h:150") process("/root/systemtap_write/install/bin/stap").function("~target_pid_opt@/root/systemtap_write/systemtap/interactive.cxx:1058") process("/root/systemtap_write/install/bin/stap").function("~target_symbol@/root/systemtap_write/systemtap/staptree.h:307") process("/root/systemtap_write/install/bin/stap").function("~task_finder_derived_probe_group@/root/systemtap_write/systemtap/task_finder.cxx:39") $this:struct task_finder_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~ternary_expression@/root/systemtap_write/systemtap/staptree.h:260") process("/root/systemtap_write/install/bin/stap").function("~thread@/usr/include/c++/4.8.2/thread:140") process("/root/systemtap_write/install/bin/stap").function("~throwing_visitor@/root/systemtap_write/systemtap/staptree.h:1119") process("/root/systemtap_write/install/bin/stap").function("~timer_builder@/root/systemtap_write/systemtap/tapset-timers.cxx:559") $this:struct timer_builder* const process("/root/systemtap_write/install/bin/stap").function("~timer_derived_probe@/root/systemtap_write/systemtap/tapset-timers.cxx:32") process("/root/systemtap_write/install/bin/stap").function("~timer_derived_probe_group@/root/systemtap_write/systemtap/tapset-timers.cxx:47") $this:struct timer_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~timing_opt@/root/systemtap_write/systemtap/interactive.cxx:1018") process("/root/systemtap_write/install/bin/stap").function("~tmpvar@/root/systemtap_write/systemtap/translate.cxx:564") process("/root/systemtap_write/install/bin/stap").function("~token@/root/systemtap_write/systemtap/parse.h:59") process("/root/systemtap_write/install/bin/stap").function("~tracepoint_arg@/root/systemtap_write/systemtap/tapsets.cxx:10331") process("/root/systemtap_write/install/bin/stap").function("~tracepoint_builder@/root/systemtap_write/systemtap/tapsets.cxx:11472") process("/root/systemtap_write/install/bin/stap").function("~tracepoint_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:10339") $this:struct tracepoint_derived_probe* const process("/root/systemtap_write/install/bin/stap").function("~tracepoint_derived_probe_group@/root/systemtap_write/systemtap/tapsets.cxx:10358") $this:struct tracepoint_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~tracepoint_query@/root/systemtap_write/systemtap/tapsets.cxx:11270") process("/root/systemtap_write/install/bin/stap").function("~tracepoint_var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.cxx:10366") process("/root/systemtap_write/install/bin/stap").function("~translator_output@/root/systemtap_write/systemtap/translator-output.cxx:35") $this:class translator_output* const process("/root/systemtap_write/install/bin/stap").function("~traversing_visitor@/root/systemtap_write/systemtap/staptree.h:972") process("/root/systemtap_write/install/bin/stap").function("~try_block@/root/systemtap_write/systemtap/staptree.h:674") $this:struct try_block* const process("/root/systemtap_write/install/bin/stap").function("~typeresolution_info@/root/systemtap_write/systemtap/elaborate.h:71") process("/root/systemtap_write/install/bin/stap").function("~unary_expression@/root/systemtap_write/systemtap/staptree.h:197") process("/root/systemtap_write/install/bin/stap").function("~unique_lock@/usr/include/c++/4.8.2/mutex:473") process("/root/systemtap_write/install/bin/stap").function("~unique_ptr@/usr/include/c++/4.8.2/bits/unique_ptr.h:180") $this:class unique_ptr >* const process("/root/systemtap_write/install/bin/stap").function("~unix_stapsh@/root/systemtap_write/systemtap/remote.cxx:718") process("/root/systemtap_write/install/bin/stap").function("~unmodified_fnargs_checker@/root/systemtap_write/systemtap/translate.cxx:963") process("/root/systemtap_write/install/bin/stap").function("~unoptimized_opt@/root/systemtap_write/systemtap/interactive.cxx:1038") process("/root/systemtap_write/install/bin/stap").function("~unordered_map@/usr/include/c++/4.8.2/bits/unordered_map.h:97") process("/root/systemtap_write/install/bin/stap").function("~unordered_multimap@/usr/include/c++/4.8.2/bits/unordered_map.h:778") process("/root/systemtap_write/install/bin/stap").function("~unordered_set@/usr/include/c++/4.8.2/bits/unordered_set.h:93") process("/root/systemtap_write/install/bin/stap").function("~unparser@/root/systemtap_write/systemtap/translate.h:25") $this:struct unparser* const process("/root/systemtap_write/install/bin/stap").function("~unwindsym_dump_context@/root/systemtap_write/systemtap/translate.cxx:5960") $this:struct unwindsym_dump_context* const process("/root/systemtap_write/install/bin/stap").function("~update_visitor@/root/systemtap_write/systemtap/staptree.h:1205") process("/root/systemtap_write/install/bin/stap").function("~uprobe_builder@/root/systemtap_write/systemtap/tapsets.cxx:8870") $this:struct uprobe_builder* const process("/root/systemtap_write/install/bin/stap").function("~uprobe_derived_probe@/root/systemtap_write/systemtap/tapsets.cxx:603") process("/root/systemtap_write/install/bin/stap").function("~uprobe_derived_probe_group@/root/systemtap_write/systemtap/tapsets.cxx:8743") $this:struct uprobe_derived_probe_group* const process("/root/systemtap_write/install/bin/stap").function("~uri_decoder@/root/systemtap_write/systemtap/remote.cxx:36") $this:class uri_decoder* const process("/root/systemtap_write/install/bin/stap").function("~utrace_builder@/root/systemtap_write/systemtap/tapset-utrace.cxx:648") $this:struct utrace_builder* const process("/root/systemtap_write/install/bin/stap").function("~utrace_derived_probe@/root/systemtap_write/systemtap/tapset-utrace.cxx:51") process("/root/systemtap_write/install/bin/stap").function("~utrace_derived_probe_group@/root/systemtap_write/systemtap/tapset-utrace.cxx:72") process("/root/systemtap_write/install/bin/stap").function("~utrace_var_expanding_visitor@/root/systemtap_write/systemtap/tapset-utrace.cxx:105") process("/root/systemtap_write/install/bin/stap").function("~var@/root/systemtap_write/systemtap/translate.cxx:385") process("/root/systemtap_write/install/bin/stap").function("~var_expanding_visitor@/root/systemtap_write/systemtap/tapsets.h:62") process("/root/systemtap_write/install/bin/stap").function("~vardecl@/root/systemtap_write/systemtap/staptree.h:590") $this:struct vardecl* const process("/root/systemtap_write/install/bin/stap").function("~varuse_collecting_visitor@/root/systemtap_write/systemtap/staptree.h:1072") process("/root/systemtap_write/install/bin/stap").function("~vector@/usr/include/c++/4.8.2/bits/stl_bvector.h:621") $this:class vector >* const process("/root/systemtap_write/install/bin/stap").function("~vector@/usr/include/c++/4.8.2/bits/stl_vector.h:414") process("/root/systemtap_write/install/bin/stap").function("~verbose_opt@/root/systemtap_write/systemtap/interactive.cxx:923") process("/root/systemtap_write/install/bin/stap").function("~visitable@/root/systemtap_write/systemtap/staptree.cxx:27") $this:struct visitable* const process("/root/systemtap_write/install/bin/stap").function("~visitor@/root/systemtap_write/systemtap/staptree.h:875") process("/root/systemtap_write/install/bin/stap").function("~void_statement_reducer@/root/systemtap_write/systemtap/elaborate.cxx:3547") PASS: prcwildcard function spawn stap -L process("/root/systemtap_write/install/bin/stap").mark("*") process("/root/systemtap_write/install/bin/stap").mark("benchmark") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("benchmark__end") process("/root/systemtap_write/install/bin/stap").mark("benchmark__start") process("/root/systemtap_write/install/bin/stap").mark("benchmark__thread__end") process("/root/systemtap_write/install/bin/stap").mark("benchmark__thread__start") process("/root/systemtap_write/install/bin/stap").mark("cache__add__module") $arg1:long $arg2:long process("/root/systemtap_write/install/bin/stap").mark("cache__add__source") $arg1:long $arg2:long process("/root/systemtap_write/install/bin/stap").mark("cache__clean") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("cache__get") $arg1:long $arg2:long process("/root/systemtap_write/install/bin/stap").mark("client__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("client__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass0__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass0__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass1__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass1a__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass1b__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass2__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass2__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass3__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass3__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass4__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass4__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass5__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass5__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass6__end") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("pass6__start") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("stap_system__complete") $arg1:long $arg2:long process("/root/systemtap_write/install/bin/stap").mark("stap_system__fork") $arg1:long process("/root/systemtap_write/install/bin/stap").mark("stap_system__spawn") $arg1:long $arg2:long process("/root/systemtap_write/install/bin/stap").mark("stap_system__start") $arg1:long PASS: prcwildcard mark testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/prcwildcard.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/prepost_optim.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/prepost_optim.stp 5 7 7 5 PASS: prepost_optim (1) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/prepost_optim.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/preprocessor.exp ... spawn stap -w -p2 -e probe never {} %( kernel_v == "4.8.0" %? %: ERROR %) %( kernel_v == "[234]?[0-9]*" %? %: ERROR %) %( kernel_v == "?noSuchKernel*" %? ERROR %: %) %( kernel_v != "4.8.0" %? ERROR %: %) %( kernel_v != "[234]?[0-9]*" %? ERROR %: %) %( kernel_v != "?noSuchKernel*" %? %: ERROR %) %( kernel_v < "9.9999" %? %: ERROR %) %( kernel_v <= "9.9999" %? %: ERROR %) %( kernel_v > "9.9999" %? ERROR %: %) %( kernel_v >= "9.9999" %? ERROR %: %) %( kernel_vr == "4.8.0-rc1uprobes+" %? %: ERROR %) %( kernel_vr == "[234]?[0-9]*" %? %: ERROR %) %( kernel_vr == "?noSuchKernel*" %? ERROR %: %) %( kernel_vr != "4.8.0-rc1uprobes+" %? ERROR %: %) %( kernel_vr != "[234]?[0-9]*" %? ERROR %: %) %( kernel_vr != "?noSuchKernel*" %? %: ERROR %) %( kernel_vr < "9.9999" %? %: ERROR %) %( kernel_vr <= "9.9999" %? %: ERROR %) %( kernel_vr > "9.9999" %? ERROR %: %) %( kernel_vr >= "9.9999" %? ERROR %: %) %( arch == "arm64" %? %: ERROR %) %( arch == "?rm6?" %? %: ERROR %) %( arch == "?noSuchArch?" %? ERROR %: %) %( arch != "arm64" %? ERROR %: %) %( arch != "?rm6?" %? ERROR %: %) %( arch != "?noSuchArch?" %? %: ERROR %) %( runtime == "kernel" %? %: ERROR %) %( runtime != "kernel" %? ERROR %: %) %( runtime == "noSuchRuntime" %? ERROR %: %) %( runtime != "noSuchRuntime" %? %: ERROR %) # functions error:unknown (msg:string) # probes never /* <- never */ timer.s(900) /* <- timer.s(900) */ PASS: preprocessor basic ops testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/preprocessor.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/print.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/print.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/print.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 3 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapDOnl1w/stap_51081a4069904ec0e2631dae4a27be1e_2231_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_51081a4069904ec0e2631dae4a27be1e_2231.ko" in 0usr/3520sys/3574real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/print.stp startup PASS: systemtap.base/print.stp load generation Executing: kill -INT -2563 systemtap ending probe systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success PASS: systemtap.base/print.stp shutdown and output Pass 5: run completed in 0usr/70sys/987real ms. metric: systemtap.base/print.stp 0 400 403 0 10 9 0 10 2 0 3520 3574 0 70 987 Executing: kill -INT -2563 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/print.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/private.exp ... spawn stap --runtime=kernel -I . -e probe oneshot {println(gtest1_getter(), ",", gtest2_getter())} 3,7 PASS: private private-variable-basic spawn stap --runtime=kernel -I . -e probe oneshot {println(gtest1)} WARNING: never-assigned local variable 'gtest1': identifier 'gtest1' at :1:24 source: probe oneshot {println(gtest1)} ^ semantic error: unresolved type : identifier 'gtest1' at :1:24 source: probe oneshot {println(gtest1)} ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. PASS: private private-variable-illegal-access spawn stap --runtime=kernel -I . -e probe oneshot {println(getthree())} 3 PASS: private private-function-basic spawn stap --runtime=kernel -I . -e probe oneshot {println(three())} semantic error: unresolved function (similar: three, getthree, target, HZ, ctime): identifier 'three' at :1:24 source: probe oneshot {println(three())} ^ Pass 2: analysis failed. [man error::pass2] PASS: private private-function-illegal-access spawn stap --runtime=kernel -I . -e probe oneshot {println(myglobal)} 11 PASS: private global-variable-access spawn stap --runtime=kernel -G myglobal=12 -I . -e probe oneshot {println(myglobal)} 12 PASS: private global-variable-access-override spawn stap --runtime=kernel -G pt=12 -e private pt=13; probe oneshot {println(pt)} 13 PASS: private private-variable-override-denied spawn stap --runtime=kernel -e private function foo() { println(42) } probe oneshot { foo() } 42 PASS: private private-function-in-user-script spawn stap --runtime=kernel -e private varA = 41, varB = 42 probe oneshot { println(varA, varB) } 4142 PASS: private multiple-private-global-var-decl spawn stap --runtime=kernel -e private addr probe begin{addr[AF_INET()]="addr" exit()} addr[2]="addr" PASS: private PR13721-workaround-test spawn stap --runtime=kernel -I . -e probe foo {println(f) exit()} 7 PASS: private PR20307-private-variable-in-tapset-probe-alias spawn stap --runtime=kernel -I . -e probe bar {println(g) exit()} 3 PASS: private private-function-in-tapset-probe-alias testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/private.exp completed in 47 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/probe_list.exp ... spawn stap -l begin { if (a) next }# begin PASS: probe list is correct testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/probe_list.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/probefunc.exp ... executing: stap -v -g -e { global funcname probe kernel.statement(0xfffffc0008103924).absolute { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } } spawn stap -v -g -e global funcname probe kernel.statement(0xfffffc0008103924).absolute { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } Pass 1: parsed user script and 115 library scripts using 54144virt/45248res/5888shr/37696data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 4 probes, 9 functions, 4 embeds, 1 global using 55936virt/49088res/7552shr/39488data kb, in 0usr/1480sys/1513real ms. Pass 3: translated to C into "/tmp/stapipfBDP/stap_9620505132b4af1a6780e9ad7b05a79e_4310_src.c" using 61312virt/54592res/7680shr/44864data kb, in 0usr/460sys/463real ms. Pass 4: compiled C into "stap_9620505132b4af1a6780e9ad7b05a79e_4310.ko" in 0usr/7820sys/7924real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe scheduler_tick PASS: probefunc:.statement.(0xaddr).absolute startup PASS: probefunc:.statement.(0xaddr).absolute load generation Executing: kill -INT -5113 PASS: probefunc:.statement.(0xaddr).absolute shutdown and output Pass 5: run completed in 0usr/110sys/1124real ms. metric: probefunc:.statement.(0xaddr).absolute 0 390 399 0 1480 1513 0 460 463 0 7820 7924 0 110 1124 Executing: kill -INT -5113 executing: stap -v -e { global funcname probe kernel.function("scheduler_tick") { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } } spawn stap -v -e global funcname probe kernel.function("scheduler_tick") { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 4 probes, 9 functions, 4 embeds, 1 global using 95488virt/88768res/7552shr/79040data kb, in 0usr/2650sys/2698real ms. Pass 3: translated to C into "/tmp/stapmNHiee/stap_cbb6c7996b94f5bd872fd65412874d64_4335_src.c" using 95488virt/88896res/7680shr/79040data kb, in 0usr/460sys/462real ms. Pass 4: compiled C into "stap_cbb6c7996b94f5bd872fd65412874d64_4335.ko" in 0usr/7790sys/7875real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe scheduler_tick PASS: probefunc:kernel.function("scheduler_tick") startup PASS: probefunc:kernel.function("scheduler_tick") load generation Executing: kill -INT -5374 PASS: probefunc:kernel.function("scheduler_tick") shutdown and output Pass 5: run completed in 0usr/100sys/946real ms. metric: probefunc:kernel.function("scheduler_tick") 0 400 404 0 2650 2698 0 460 462 0 7790 7875 0 100 946 Executing: kill -INT -5374 executing: stap -v -e { global funcname probe kernel.function("context_switch").inline ?, kernel.function("should_resched").inline ? { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } } --compatible=1.8 spawn stap -v -e global funcname probe kernel.function("context_switch").inline ?, kernel.function("should_resched").inline ? { funcname = probefunc() exit() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%s\n", funcname) } --compatible=1.8 Pass 1: parsed user script and 115 library scripts using 54336virt/43520res/5888shr/37888data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 7 probes, 4 functions, 1 embed, 1 global using 95232virt/88192res/7296shr/78784data kb, in 0usr/1190sys/1207real ms. Pass 3: translated to C into "/tmp/stapqvZDEJ/stap_e77baa3910c92ad031b6fe629d80a2ac_4346_src.c" using 95232virt/88512res/7488shr/78784data kb, in 0usr/460sys/461real ms. Pass 4: compiled C into "stap_e77baa3910c92ad031b6fe629d80a2ac_4346.ko" in 0usr/6520sys/6603real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe context_switch PASS: probefunc:kernel.function("context_switch").inline startup PASS: probefunc:kernel.function("context_switch").inline load generation Executing: kill -INT -5635 PASS: probefunc:kernel.function("context_switch").inline shutdown and output Pass 5: run completed in 0usr/80sys/974real ms. metric: probefunc:kernel.function("context_switch").inline 0 410 409 0 1190 1207 0 460 461 0 6520 6603 0 80 974 Executing: kill -INT -5635 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/probefunc.exp completed in 37 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o ./proc_by_pid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o ./proc_by_pid PASS: proc_by_pid - compiled successfully running test program spawn ./proc_by_pid executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.stp -x 5900 proc_by_pid spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.stp -x 5900 proc_by_pid Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 8 probes, 2 functions, 0 embeds, 2 globals using 54848virt/47808res/7232shr/38400data kb, in 0usr/20sys/11real ms. Pass 3: translated to C into "/tmp/stapAtb4f2/stap_b882a66484c0d7412035ee06f04c4394_3402_src.c" using 54976virt/48192res/7488shr/38528data kb, in 0usr/1450sys/1480real ms. Pass 4: compiled C into "stap_b882a66484c0d7412035ee06f04c4394_3402.ko" in 0usr/4830sys/4895real ms. Pass 5: starting run. systemtap starting probe PASS: proc_by_pid startup PASS: proc_by_pid load generation Executing: kill -INT -5916 systemtap ending probe Encountered 0 functions, and 0 marks PASS: proc_by_pid shutdown and output Pass 5: run completed in 0usr/90sys/1066real ms. metric: proc_by_pid 0 400 407 0 20 11 0 1450 1480 0 4830 4895 0 90 1066 Executing: kill -INT -5916 Executing: kill -INT -5900 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_by_pid.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_exec.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_fork_exec.c -lm -o /root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_fork_exec.c -lm -o /root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407 executing: stap -v -e { global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } } spawn stap -v -e global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } Pass 1: parsed user script and 115 library scripts using 54080virt/45184res/5888shr/37632data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 9 probes, 4 functions, 4 embeds, 3 globals using 55488virt/48640res/7488shr/39040data kb, in 0usr/1470sys/1501real ms. Pass 3: translated to C into "/tmp/stapH6FDIA/stap_85073c59be8f025c738ca5935367f50c_4621_src.c" using 55552virt/48960res/7680shr/39104data kb, in 0usr/1460sys/1484real ms. Pass 4: compiled C into "stap_85073c59be8f025c738ca5935367f50c_4621.ko" in 0usr/4980sys/5045real ms. Pass 5: starting run. systemtap starting probe PASS: PROC_EXEC_01 startup spawn /root/systemtap_write/systemtap/testsuite/proc_fork_exec_5407 /root/systemtap_write/systemtap/testsuite/sleep_5407 PASS: PROC_EXEC_01 load generation Executing: kill -INT -6204 systemtap ending probe exe(6452) begin exe(6457) begin exe(6457) end sleep(6457) begin sleep(6457) end exe(6452) end time slept: OK PASS: PROC_EXEC_01 shutdown and output Pass 5: run completed in 0usr/90sys/6044real ms. metric: PROC_EXEC_01 0 400 402 0 1470 1501 0 1460 1484 0 4980 5045 0 90 6044 Executing: kill -INT -6204 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_exec.c -lm -o /root/systemtap_write/systemtap/testsuite/proc_exec_5407 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_exec.c -lm -o /root/systemtap_write/systemtap/testsuite/proc_exec_5407 executing: stap -v -e { global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } } spawn stap -v -e global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } Pass 1: parsed user script and 115 library scripts using 54080virt/45248res/5888shr/37632data kb, in 0usr/390sys/404real ms. Pass 2: analyzed script: 9 probes, 4 functions, 4 embeds, 3 globals using 55488virt/48640res/7488shr/39040data kb, in 0usr/1480sys/1504real ms. Pass 3: translated to C into "/tmp/stapLRM07Q/stap_b238a4a7dee7cfd12f0a40325acef6de_4576_src.c" using 55552virt/48960res/7680shr/39104data kb, in 0usr/1460sys/1489real ms. Pass 4: compiled C into "stap_b238a4a7dee7cfd12f0a40325acef6de_4576.ko" in 0usr/4980sys/5038real ms. Pass 5: starting run. systemtap starting probe PASS: PROC_EXEC_02 startup spawn /root/systemtap_write/systemtap/testsuite/proc_exec_5407 /root/systemtap_write/systemtap/testsuite/sleep_5407 PASS: PROC_EXEC_02 load generation Executing: kill -INT -6491 systemtap ending probe exe(6739) begin exe(6739) end sleep(6739) begin sleep(6739) end time slept: OK PASS: PROC_EXEC_02 shutdown and output Pass 5: run completed in 0usr/90sys/6011real ms. metric: PROC_EXEC_02 0 390 404 0 1480 1504 0 1460 1489 0 4980 5038 0 90 6011 Executing: kill -INT -6491 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_thread_exec.c -lpthread -lm -o /root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_thread_exec.c -lpthread -lm -o /root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407 executing: stap -v -e { global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } } spawn stap -v -e global output global sleep_start, sleep_end probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").begin { output .= sprintf("exe(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").thread.begin { output .= sprintf("exe(%d) thread begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").end { output .= sprintf("exe(%d) end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407").thread.end { output .= sprintf("exe(%d) thread end\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").begin { sleep_start = gettimeofday_s() output .= sprintf("sleep(%d) begin\n", tid()) } probe process("/root/systemtap_write/systemtap/testsuite/sleep_5407").end { output .= sprintf("sleep(%d) end\n", tid()) sleep_end = gettimeofday_s() } probe end { printf("systemtap ending probe\n%s", output) time_slept = sleep_end - sleep_start if (time_slept >= 2 && time_slept <= 4) printf("time slept: OK\n") else printf("time slept: ERROR (%d)\n", time_slept) } Pass 1: parsed user script and 115 library scripts using 54080virt/45184res/5888shr/37632data kb, in 0usr/400sys/408real ms. Pass 2: analyzed script: 9 probes, 4 functions, 4 embeds, 3 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1480sys/1506real ms. Pass 3: translated to C into "/tmp/stap6sPts4/stap_0c0ca95ab4ee7a03c853f57335370c59_4639_src.c" using 55552virt/48896res/7680shr/39104data kb, in 0usr/1460sys/1489real ms. Pass 4: compiled C into "stap_0c0ca95ab4ee7a03c853f57335370c59_4639.ko" in 0usr/4970sys/5034real ms. Pass 5: starting run. systemtap starting probe PASS: PROC_EXEC_03 startup spawn /root/systemtap_write/systemtap/testsuite/proc_thread_exec_5407 /root/systemtap_write/systemtap/testsuite/sleep_5407 PASS: PROC_EXEC_03 load generation Executing: kill -INT -6777 systemtap ending probe exe(7025) begin exe(7030) thread begin exe(7025) thread end exe(7025) end sleep(7025) begin sleep(7025) end time slept: OK PASS: PROC_EXEC_03 shutdown and output Pass 5: run completed in 0usr/100sys/6092real ms. metric: PROC_EXEC_03 0 400 408 0 1480 1506 0 1460 1489 0 4970 5034 0 100 6092 Executing: kill -INT -6777 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/proc_exec.exp completed in 46 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o process_by_cmd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o process_by_cmd PASS: process_by_cmd.c compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd.stp -c ./process_by_cmd PASS: process_by_cmd.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd2.stp -c ./process_by_cmd PASS: process_by_cmd2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_cmd.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o ./process_by_pid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o ./process_by_pid starting the stap script executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.stp 7588 process_by_pid spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.stp 7588 process_by_pid Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 24 probes, 3 functions, 3 embeds, 1 global using 55680virt/48960res/7552shr/39232data kb, in 0usr/1480sys/1511real ms. Pass 3: translated to C into "/tmp/staptk76Aj/stap_e2f1ca39d322e4fbea99bb033e4a4ac9_11367_src.c" using 55744virt/49216res/7680shr/39296data kb, in 0usr/1460sys/1497real ms. Pass 4: compiled C into "stap_e2f1ca39d322e4fbea99bb033e4a4ac9_11367.ko" in 0usr/5060sys/5120real ms. Pass 5: starting run. systemtap starting probe PASS: process_by_pid startup PASS: process_by_pid load generation Executing: kill -INT -7616 systemtap ending probe pass PASS: process_by_pid shutdown and output Pass 5: run completed in 0usr/100sys/21119real ms. metric: process_by_pid 0 400 405 0 1480 1511 0 1460 1497 0 5060 5120 0 100 21119 Executing: kill -INT -7616 Executing: kill -INT 7586 Executing: kill -KILL 7586 kill: kill: sending signal to 7586 failed: No such process Executing: kill -INT 7588 Executing: kill -KILL 7588 kill: kill: sending signal to 7588 failed: No such process Executing: kill -INT 7590 Executing: kill -KILL 7590 kill: kill: sending signal to 7590 failed: No such process testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/process_by_pid.exp completed in 37 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/process_resume.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_resume.c -O2 -g -lm -o process_resume (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/process_resume.c -O2 -g -lm -o process_resume executing: stap -v -e { global getpid_calls = 0 probe begin { printf("systemtap starting probe\n") } probe syscall.getpid { getpid_calls++ } probe end { printf("systemtap ending probe\n") printf("getpid calls = %d\n", getpid_calls) } } spawn stap -v -e global getpid_calls = 0 probe begin { printf("systemtap starting probe\n") } probe syscall.getpid { getpid_calls++ } probe end { printf("systemtap ending probe\n") printf("getpid calls = %d\n", getpid_calls) } Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 94400virt/87552res/7296shr/77952data kb, in 0usr/1190sys/1198real ms. Pass 3: translated to C into "/tmp/stapa0HbdQ/stap_cc296d48c0a3be93c6a5a980c16da961_1731_src.c" using 94400virt/87744res/7488shr/77952data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_cc296d48c0a3be93c6a5a980c16da961_1731.ko" in 0usr/3620sys/3681real ms. Pass 5: starting run. systemtap starting probe PASS: process_resume-getpid startup Executing: kill -cont 7929 PASS: process_resume-getpid load generation Executing: kill -INT -7931 systemtap ending probe getpid calls = 0 PASS: process_resume-getpid shutdown and output Pass 5: run completed in 0usr/80sys/5048real ms. metric: process_resume-getpid 0 390 400 0 1190 1198 0 10 11 0 3620 3681 0 80 5048 Executing: kill -INT -7931 PASS: process_resume-getpid: process resumed properly executing: stap -v -e { global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("process_resume").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } } spawn stap -v -e global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("process_resume").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staplZhzZp/stap_3a5d567f59acbda01e7185b6b6083251_1725_src.c" using 54912virt/47808res/7232shr/38464data kb, in 0usr/1450sys/1483real ms. Pass 4: compiled C into "stap_3a5d567f59acbda01e7185b6b6083251_1725.ko" in 0usr/4680sys/4746real ms. Pass 5: starting run. systemtap starting probe PASS: process_resume-end startup Executing: kill -cont 8193 PASS: process_resume-end load generation Executing: kill -INT -8195 systemtap ending probe end probes = 1 PASS: process_resume-end shutdown and output Pass 5: run completed in 0usr/90sys/5021real ms. metric: process_resume-end 0 400 405 0 10 8 0 1450 1483 0 4680 4746 0 90 5021 Executing: kill -INT -8195 PASS: process_resume-end: process resumed properly testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/process_resume.exp completed in 23 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs.exp ... executing: stap -v -e { global saved_value probe procfs("command").read { $value = saved_value } probe procfs("command").write { saved_value = $value } probe begin { saved_value = "100\n" printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") printf("final value = %s", saved_value) } } -m PROCFS spawn stap -v -e global saved_value probe procfs("command").read { $value = saved_value } probe procfs("command").write { saved_value = $value } probe begin { saved_value = "100\n" printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") printf("final value = %s", saved_value) } -m PROCFS Pass 1: parsed user script and 115 library scripts using 54144virt/43264res/5888shr/37696data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 5 probes, 3 functions, 1 embed, 1 global using 54912virt/43264res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/staphW3p1k/PROCFS_src.c" using 54848virt/47104res/6656shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS.ko" in 0usr/3630sys/3704real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS startup PASS: PROCFS read 100 PASS: PROCFS received correct initial value PASS: PROCFS wrote 200 PASS: PROCFS read 200 PASS: PROCFS received correct value: 200 PASS: PROCFS again read 200 PASS: PROCFS received correct value: 200 again PASS: PROCFS wrote hello PASS: PROCFS read hello PASS: PROCFS received correct value: hello PASS: PROCFS wrote goodbye PASS: PROCFS read goodbye PASS: PROCFS received correct value: goodbye PASS: PROCFS load generation Executing: kill -INT -8461 systemtap ending probe final value = goodbye PASS: PROCFS shutdown and output Pass 5: run completed in 0usr/70sys/968real ms. metric: PROCFS 0 400 404 0 10 8 0 0 2 0 3630 3704 0 70 968 Executing: kill -INT -8461 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_maxsize.exp ... executing: stap -v -DMAXSTRINGLEN=32 -e { global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER1 spawn stap -v -DMAXSTRINGLEN=32 -e global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER1 Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 2 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapd7EW9G/PROCFS_BUFFER1_src.c" using 54912virt/45056res/5888shr/38464data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER1.ko" in 0usr/3750sys/3819real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER1 startup PASS: PROCFS_BUFFER1 read abcdefghijklmnoABCDEFGHIJKLMNOp PASS: PROCFS_BUFFER1 received correct initial value maxsize: 32 PASS: PROCFS_BUFFER1 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER1 load generation Executing: kill -INT -8718 systemtap ending probe value0=abcdefghijklmnoABCDEFGHIJKLMNOp value1=qrstuvwxyz123456789 PASS: PROCFS_BUFFER1 shutdown and output Pass 5: run completed in 0usr/70sys/961real ms. metric: PROCFS_BUFFER1 0 390 398 0 10 9 0 0 2 0 3750 3819 0 70 961 Executing: kill -INT -8718 executing: stap -v -DMAXSTRINGLEN=32 -DSTP_PROCFS_BUFSIZE=16 -e { global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER2 spawn stap -v -DMAXSTRINGLEN=32 -DSTP_PROCFS_BUFSIZE=16 -e global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER2 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/408real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/staplUiCae/PROCFS_BUFFER2_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER2.ko" in 0usr/3760sys/3824real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER2 startup PASS: PROCFS_BUFFER2 read abcdefghijklmno PASS: PROCFS_BUFFER2 received correct initial value maxsize: 16 PASS: PROCFS_BUFFER2 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER2 load generation Executing: kill -INT -8975 systemtap ending probe value0=abcdefghijklmno value1=ABCDEFGHIJKLMNO value2=pqrstuvwxyz1234 value3=56789 PASS: PROCFS_BUFFER2 shutdown and output Pass 5: run completed in 0usr/70sys/948real ms. metric: PROCFS_BUFFER2 0 400 408 0 10 9 0 0 2 0 3760 3824 0 70 948 Executing: kill -INT -8975 executing: stap -v -DMAXSTRINGLEN=16 -DSTP_PROCFS_BUFSIZE=32 -e { global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER3 spawn stap -v -DMAXSTRINGLEN=16 -DSTP_PROCFS_BUFSIZE=32 -e global values[10] global idx = 0 probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER3 Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/408real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 2 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapeRKH4A/PROCFS_BUFFER3_src.c" using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER3.ko" in 0usr/3760sys/3820real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER3 startup PASS: PROCFS_BUFFER3 read abcdefghijklmnoABCDEFGHIJKLMNOp PASS: PROCFS_BUFFER3 received correct initial value maxsize: 32 PASS: PROCFS_BUFFER3 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER3 load generation Executing: kill -INT -9232 systemtap ending probe value0=abcdefghijklmno value1=ABCDEFGHIJKLMNO value2=pqrstuvwxyz1234 value3=56789 PASS: PROCFS_BUFFER3 shutdown and output Pass 5: run completed in 0usr/70sys/973real ms. metric: PROCFS_BUFFER3 0 400 408 0 10 9 0 10 2 0 3760 3820 0 70 973 Executing: kill -INT -9232 executing: stap -v -DMAXSTRINGLEN=16 -e { global values[10] global idx = 0 probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER4 spawn stap -v -DMAXSTRINGLEN=16 -e global values[10] global idx = 0 probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER4 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 2 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapzKKBNa/PROCFS_BUFFER4_src.c" using 54848virt/45056res/5888shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER4.ko" in 0usr/3760sys/3829real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER4 startup PASS: PROCFS_BUFFER4 read abcdefghijklmnoABCDEFGHIJKLMNOp PASS: PROCFS_BUFFER4 received correct initial value maxsize: 32 PASS: PROCFS_BUFFER4 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER4 load generation Executing: kill -INT -9490 systemtap ending probe value0=abcdefghijklmno value1=ABCDEFGHIJKLMNO value2=pqrstuvwxyz1234 value3=56789 PASS: PROCFS_BUFFER4 shutdown and output Pass 5: run completed in 0usr/70sys/969real ms. metric: PROCFS_BUFFER4 0 400 406 0 10 9 0 0 2 0 3760 3829 0 70 969 Executing: kill -INT -9490 executing: stap -v -DMAXSTRINGLEN=16 -DSTP_PROCFS_BUFSIZE=64 -e { global values[10] global idx = 0 probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER5 spawn stap -v -DMAXSTRINGLEN=16 -DSTP_PROCFS_BUFSIZE=64 -e global values[10] global idx = 0 probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER5 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stap0Z33jz/PROCFS_BUFFER5_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER5.ko" in 0usr/3810sys/3869real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER5 startup PASS: PROCFS_BUFFER5 read abcdefghijklmnoABCDEFGHIJKLMNOp PASS: PROCFS_BUFFER5 received correct initial value maxsize: 32 PASS: PROCFS_BUFFER5 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER5 load generation Executing: kill -INT -9747 systemtap ending probe value0=abcdefghijklmno value1=ABCDEFGHIJKLMNO value2=pqrstuvwxyz1234 value3=56789 PASS: PROCFS_BUFFER5 shutdown and output Pass 5: run completed in 0usr/70sys/962real ms. metric: PROCFS_BUFFER5 0 400 404 0 10 9 0 0 2 0 3810 3869 0 70 962 Executing: kill -INT -9747 executing: stap -v -DMAXSTRINGLEN=16 -e { global values[10] global idx = 0 probe procfs("default").read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } } -m PROCFS_BUFFER6 spawn stap -v -DMAXSTRINGLEN=16 -e global values[10] global idx = 0 probe procfs("default").read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.read.maxsize(32) { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch { } } probe procfs.write { values[idx] = $value idx++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < idx; i++) { printf("value%d=%s\n", i, values[i]) } } -m PROCFS_BUFFER6 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 6 probes, 4 functions, 1 embed, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapwybrK8/PROCFS_BUFFER6_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER6.ko" in 0usr/3770sys/3820real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER6 startup PASS: PROCFS_BUFFER6 read abcdefghijklmno PASS: PROCFS_BUFFER6 received correct initial value PASS: PROCFS_BUFFER6 read abcdefghijklmnoABCDEFGHIJKLMNOp PASS: PROCFS_BUFFER6 received correct initial value maxsize: 32 PASS: PROCFS_BUFFER6 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER6 load generation Executing: kill -INT -10004 systemtap ending probe value0=abcdefghijklmno value1=ABCDEFGHIJKLMNO value2=pqrstuvwxyz1234 value3=56789 PASS: PROCFS_BUFFER6 shutdown and output Pass 5: run completed in 0usr/70sys/967real ms. metric: PROCFS_BUFFER6 0 390 398 0 10 9 0 0 2 0 3770 3820 0 70 967 Executing: kill -INT -10004 executing: stap -v -DMAXSTRINGLEN=512 -e { global large_strings[10] # Put more data than we can really handle into $value probe procfs.read.maxsize(2048) { try { $value = large_strings[0] for (i = 1; i < 10; i+=1) { $value .= large_strings[i] } } catch { } } probe begin { # build up several maximum length strings max = 512 for (i = 0; i < max/64; i+=1) { for (j = 0; j < 10; j++) { if (i < (max/64 - 1)) { large_strings[j] .= sprintf("%3d:12345678901234567890123456789012345678901234567890123456789\n", i + (j * (max/64))) } else { large_strings[j] .= sprintf("%3d:1234567890123456789012345678901234567890123456789012345678\n", i + (j * (max/64))) } } } printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") } } -m PROCFS_BUFFER7 spawn stap -v -DMAXSTRINGLEN=512 -e global large_strings[10] # Put more data than we can really handle into $value probe procfs.read.maxsize(2048) { try { $value = large_strings[0] for (i = 1; i < 10; i+=1) { $value .= large_strings[i] } } catch { } } probe begin { # build up several maximum length strings max = 512 for (i = 0; i < max/64; i+=1) { for (j = 0; j < 10; j++) { if (i < (max/64 - 1)) { large_strings[j] .= sprintf("%3d:12345678901234567890123456789012345678901234567890123456789\n", i + (j * (max/64))) } else { large_strings[j] .= sprintf("%3d:1234567890123456789012345678901234567890123456789012345678\n", i + (j * (max/64))) } } } printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") } -m PROCFS_BUFFER7 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 4 probes, 3 functions, 1 embed, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapvcWFPw/PROCFS_BUFFER7_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "PROCFS_BUFFER7.ko" in 0usr/3700sys/3751real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER7 startup PASS: PROCFS_BUFFER7 read 0:12345678901234567890123456789012345678901234567890123456789 1:12345678901234567890123456789012345678901234567890123456789 2:12345678901234567890123456789012345678901234567890123456789 3:12345678901234567890123456789012345678901234567890123456789 4:12345678901234567890123456789012345678901234567890123456789 5:12345678901234567890123456789012345678901234567890123456789 6:12345678901234567890123456789012345678901234567890123456789 7:1234567890123456789012345678901234567890123456789012345678 8:12345678901234567890123456789012345678901234567890123456789 9:12345678901234567890123456789012345678901234567890123456789 10:12345678901234567890123456789012345678901234567890123456789 11:12345678901234567890123456789012345678901234567890123456789 12:12345678901234567890123456789012345678901234567890123456789 13:12345678901234567890123456789012345678901234567890123456789 14:12345678901234567890123456789012345678901234567890123456789 15:1234567890123456789012345678901234567890123456789012345678 16:12345678901234567890123456789012345678901234567890123456789 17:12345678901234567890123456789012345678901234567890123456789 18:12345678901234567890123456789012345678901234567890123456789 19:12345678901234567890123456789012345678901234567890123456789 20:12345678901234567890123456789012345678901234567890123456789 21:12345678901234567890123456789012345678901234567890123456789 22:12345678901234567890123456789012345678901234567890123456789 23:1234567890123456789012345678901234567890123456789012345678 24:12345678901234567890123456789012345678901234567890123456789 25:12345678901234567890123456789012345678901234567890123456789 26:12345678901234567890123456789012345678901234567890123456789 27:12345678901234567890123456789012345678901234567890123456789 28:12345678901234567890123456789012345678901234567890123456789 29:12345678901234567890123456789012345678901234567890123456789 30:12345678901234567890123456789012345678901234567890123456789 31:1234567890123456789012345678901234567890123456789012345678 32 PASS: PROCFS_BUFFER7 received correct initial value PASS: PROCFS_BUFFER7 load generation Executing: kill -INT -10261 systemtap ending probe PASS: PROCFS_BUFFER7 shutdown and output Pass 5: run completed in 0usr/80sys/996real ms. metric: PROCFS_BUFFER7 0 400 401 0 10 9 0 0 3 0 3700 3751 0 80 996 Executing: kill -INT -10261 executing: stap -v -DSTP_PROCFS_BUFSIZE=16 -e { global error probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch (err) { error = err } } probe procfs.write { next } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") println(error) } } -m PROCFS_BUFFER8 spawn stap -v -DSTP_PROCFS_BUFSIZE=16 -e global error probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch (err) { error = err } } probe procfs.write { next } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") println(error) } -m PROCFS_BUFFER8 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 5 probes, 3 functions, 1 embed, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stap5lH8FX/PROCFS_BUFFER8_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER8.ko" in 0usr/3610sys/3677real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER8 startup PASS: PROCFS_BUFFER8 read abcdefghijklmno PASS: PROCFS_BUFFER8 received correct initial value maxsize: 16 PASS: PROCFS_BUFFER8 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER8 load generation Executing: kill -INT -10518 systemtap ending probe buffer size exceeded, consider .maxsize(31). PASS: PROCFS_BUFFER8 shutdown and output Pass 5: run completed in 0usr/70sys/958real ms. metric: PROCFS_BUFFER8 0 390 400 0 0 8 0 10 2 0 3610 3677 0 70 958 Executing: kill -INT -10518 executing: stap -v -DSTP_PROCFS_BUFSIZE=46 -e { global error probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch (err) { error = err } } probe procfs.write { next } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") println(error) } } -m PROCFS_BUFFER9 spawn stap -v -DSTP_PROCFS_BUFSIZE=46 -e global error probe procfs.read { try { $value = "abcdefghijklmno" $value .= "ABCDEFGHIJKLMNO" $value .= "pqrstuvwxyz1234" } catch (err) { error = err } } probe procfs.write { next } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") println(error) } -m PROCFS_BUFFER9 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/399real ms. Pass 2: analyzed script: 5 probes, 3 functions, 1 embed, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapQpJ9sc/PROCFS_BUFFER9_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "PROCFS_BUFFER9.ko" in 0usr/3630sys/3697real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_BUFFER9 startup PASS: PROCFS_BUFFER9 read abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz1234 PASS: PROCFS_BUFFER9 received correct initial value maxsize: 46 PASS: PROCFS_BUFFER9 wrote abcdefghijklmnoABCDEFGHIJKLMNOpqrstuvwxyz123456789 PASS: PROCFS_BUFFER9 load generation Executing: kill -INT -10775 systemtap ending probe PASS: PROCFS_BUFFER9 shutdown and output Pass 5: run completed in 0usr/70sys/980real ms. metric: PROCFS_BUFFER9 0 390 399 0 10 8 0 0 2 0 3630 3697 0 70 980 Executing: kill -INT -10775 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_maxsize.exp completed in 49 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_umask.exp ... executing: stap -v -e { global value probe procfs("umask-000-r").umask(000).read {$value = "100\n" } probe procfs("umask-000-w").umask(000).write {printf("the val is, %s", $value)} probe procfs("umask-004-r").umask(004).read {$value = "200\n"} probe procfs("umask-020-w").umask(020).write {printf("the val is, %s", $value)} probe procfs("umask-044-r").umask(044).read {$value = "300\n"} probe procfs("umask-022-w").umask(022).write {printf("the val is, %s", $value)} probe procfs("umask-400-r").umask(400).read {$value = "400\n"} probe procfs("umask-200-w").umask(200).write {printf("the val is, %s", $value)} probe procfs("umask-440-r").umask(440).read {$value = "500\n"} probe procfs("umask-202-w").umask(202).write {printf("the val is, %s", $value)} probe procfs("umask-404-r").umask(404).read {$value = "600\n"} probe procfs("umask-002-w").umask(002).write {printf("the val is, %s", $value)} probe begin { value = "600\n" printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") printf("Testing permissions\n") } } -m PROCFS_UMASK spawn stap -v -e global value probe procfs("umask-000-r").umask(000).read {$value = "100\n" } probe procfs("umask-000-w").umask(000).write {printf("the val is, %s", $value)} probe procfs("umask-004-r").umask(004).read {$value = "200\n"} probe procfs("umask-020-w").umask(020).write {printf("the val is, %s", $value)} probe procfs("umask-044-r").umask(044).read {$value = "300\n"} probe procfs("umask-022-w").umask(022).write {printf("the val is, %s", $value)} probe procfs("umask-400-r").umask(400).read {$value = "400\n"} probe procfs("umask-200-w").umask(200).write {printf("the val is, %s", $value)} probe procfs("umask-440-r").umask(440).read {$value = "500\n"} probe procfs("umask-202-w").umask(202).write {printf("the val is, %s", $value)} probe procfs("umask-404-r").umask(404).read {$value = "600\n"} probe procfs("umask-002-w").umask(002).write {printf("the val is, %s", $value)} probe begin { value = "600\n" printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") printf("Testing permissions\n") } -m PROCFS_UMASK Pass 1: parsed user script and 115 library scripts using 54144virt/43264res/5888shr/37696data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 16 probes, 3 functions, 1 embed, 1 global using 54912virt/43264res/5888shr/38464data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapKYZZgC/PROCFS_UMASK_src.c" using 54912virt/43264res/5888shr/38464data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "PROCFS_UMASK.ko" in 0usr/3710sys/3760real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_UMASK startup PASS: PROCFS_UMASK PASS: PROCFS_UMASK load generation Executing: kill -INT -11032 systemtap ending probe Testing permissions value="600 " PASS: PROCFS_UMASK shutdown and output Pass 5: run completed in 0usr/70sys/983real ms. metric: PROCFS_UMASK 0 400 402 0 10 9 0 0 3 0 3710 3760 0 70 983 Executing: kill -INT -11032 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_umask.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_write.exp ... executing: stap -v -DMAXSTRINGLEN=512 -e { global iteration = 0 global saved_value[20] probe procfs("command").write { saved_value[iteration] = $value iteration++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < iteration; i++) { printf("%s", saved_value[i]) } } } -m PROCFS_WRITE spawn stap -v -DMAXSTRINGLEN=512 -e global iteration = 0 global saved_value[20] probe procfs("command").write { saved_value[iteration] = $value iteration++ } probe begin { printf("systemtap starting probe\n") } probe end { printf("systemtap ending probe\n") for (i = 0; i < iteration; i++) { printf("%s", saved_value[i]) } } -m PROCFS_WRITE Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 4 probes, 2 functions, 1 embed, 2 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stap04zV95/PROCFS_WRITE_src.c" using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "PROCFS_WRITE.ko" in 0usr/3640sys/3710real ms. Pass 5: starting run. systemtap starting probe PASS: PROCFS_WRITE startup PASS: PROCFS_WRITE wrote 0:12345678901234567890123456789012345678901234567890123456789 1:12345678901234567890123456789012345678901234567890123456789 2:12345678901234567890123456789012345678901234567890123456789 3:12345678901234567890123456789012345678901234567890123456789 4:12345678901234567890123456789012345678901234567890123456789 5:12345678901234567890123456789012345678901234567890123456789 6:12345678901234567890123456789012345678901234567890123456789 7:12345678901234567890123456789012345678901234567890123456789 8:12345678901234567890123456789012345678901234567890123456789 9:12345678901234567890123456789012345678901234567890123456789 10:12345678901234567890123456789012345678901234567890123456789 11:12345678901234567890123456789012345678901234567890123456789 12:12345678901234567890123456789012345678901234567890123456789 13:12345678901234567890123456789012345678901234567890123456789 14:12345678901234567890123456789012345678901234567890123456789 15:12345678901234567890123456789012345678901234567890123456789 16:12345678901234567890123456789012345678901234567890123456789 17:12345678901234567890123456789012345678901234567890123456789 18:12345678901234567890123456789012345678901234567890123456789 19:12345678901234567890123456789012345678901234567890123456789 20:12345678901234567890123456789012345678901234567890123456789 21:12345678901234567890123456789012345678901234567890123456789 22:12345678901234567890123456789012345678901234567890123456789 23:12345678901234567890123456789012345678901234567890123456789 24:12345678901234567890123456789012345678901234567890123456789 25:12345678901234567890123456789012345678901234567890123456789 26:12345678901234567890123456789012345678901234567890123456789 27:12345678901234567890123456789012345678901234567890123456789 28:12345678901234567890123456789012345678901234567890123456789 29:12345678901234567890123456789012345678901234567890123456789 30:12345678901234567890123456789012345678901234567890123456789 31:12345678901234567890123456789012345678901234567890123456789 32:12345678901234567890123456789012345678901234567890123456789 33:12345678901234567890123456789012345678901234567890123456789 34:12345678901234567890123456789012345678901234567890123456789 35:12345678901234567890123456789012345678901234567890123456789 36:12345678901234567890123456789012345678901234567890123456789 37:12345678901234567890123456789012345678901234567890123456789 38:12345678901234567890123456789012345678901234567890123456789 39:12345678901234567890123456789012345678901234567890123456789 40:12345678901234567890123456789012345678901234567890123456789 41:12345678901234567890123456789012345678901234567890123456789 42:12345678901234567890123456789012345678901234567890123456789 43:12345678901234567890123456789012345678901234567890123456789 44:12345678901234567890123456789012345678901234567890123456789 45:12345678901234567890123456789012345678901234567890123456789 46:12345678901234567890123456789012345678901234567890123456789 47:12345678901234567890123456789012345678901234567890123456789 48:12345678901234567890123456789012345678901234567890123456789 49:12345678901234567890123456789012345678901234567890123456789 50:12345678901234567890123456789012345678901234567890123456789 51:12345678901234567890123456789012345678901234567890123456789 52:12345678901234567890123456789012345678901234567890123456789 53:12345678901234567890123456789012345678901234567890123456789 54:12345678901234567890123456789012345678901234567890123456789 55:12345678901234567890123456789012345678901234567890123456789 56:12345678901234567890123456789012345678901234567890123456789 57:12345678901234567890123456789012345678901234567890123456789 58:12345678901234567890123456789012345678901234567890123456789 59:12345678901234567890123456789012345678901234567890123456789 60:12345678901234567890123456789012345678901234567890123456789 61:12345678901234567890123456789012345678901234567890123456789 62:12345678901234567890123456789012345678901234567890123456789 63:12345678901234567890123456789012345678901234567890123456789 64:12345678901234567890123456789012345678901234567890123456789 65:12345678901234567890123456789012345678901234567890123456789 66:12345678901234567890123456789012345678901234567890123456789 PASS: PROCFS_WRITE load generation Executing: kill -INT -11313 systemtap ending probe 0:12345678901234567890123456789012345678901234567890123456789 1:12345678901234567890123456789012345678901234567890123456789 2:12345678901234567890123456789012345678901234567890123456789 3:12345678901234567890123456789012345678901234567890123456789 4:12345678901234567890123456789012345678901234567890123456789 5:12345678901234567890123456789012345678901234567890123456789 6:12345678901234567890123456789012345678901234567890123456789 7:12345678901234567890123456789012345678901234567890123456789 8:12345678901234567890123456789012345678901234567890123456789 9:12345678901234567890123456789012345678901234567890123456789 10:12345678901234567890123456789012345678901234567890123456789 11:12345678901234567890123456789012345678901234567890123456789 12:12345678901234567890123456789012345678901234567890123456789 13:12345678901234567890123456789012345678901234567890123456789 14:12345678901234567890123456789012345678901234567890123456789 15:12345678901234567890123456789012345678901234567890123456789 16:12345678901234567890123456789012345678901234567890123456789 17:12345678901234567890123456789012345678901234567890123456789 18:12345678901234567890123456789012345678901234567890123456789 19:12345678901234567890123456789012345678901234567890123456789 20:12345678901234567890123456789012345678901234567890123456789 21:12345678901234567890123456789012345678901234567890123456789 22:12345678901234567890123456789012345678901234567890123456789 23:12345678901234567890123456789012345678901234567890123456789 24:12345678901234567890123456789012345678901234567890123456789 25:12345678901234567890123456789012345678901234567890123456789 26:12345678901234567890123456789012345678901234567890123456789 27:12345678901234567890123456789012345678901234567890123456789 28:12345678901234567890123456789012345678901234567890123456789 29:12345678901234567890123456789012345678901234567890123456789 30:12345678901234567890123456789012345678901234567890123456789 31:12345678901234567890123456789012345678901234567890123456789 32:12345678901234567890123456789012345678901234567890123456789 33:12345678901234567890123456789012345678901234567890123456789 34:12345678901234567890123456789012345678901234567890123456789 35:12345678901234567890123456789012345678901234567890123456789 36:12345678901234567890123456789012345678901234567890123456789 37:12345678901234567890123456789012345678901234567890123456789 38:12345678901234567890123456789012345678901234567890123456789 39:12345678901234567890123456789012345678901234567890123456789 40:12345678901234567890123456789012345678901234567890123456789 41:12345678901234567890123456789012345678901234567890123456789 42:12345678901234567890123456789012345678901234567890123456789 43:12345678901234567890123456789012345678901234567890123456789 44:12345678901234567890123456789012345678901234567890123456789 45:12345678901234567890123456789012345678901234567890123456789 46:12345678901234567890123456789012345678901234567890123456789 47:12345678901234567890123456789012345678901234567890123456789 48:12345678901234567890123456789012345678901234567890123456789 49:12345678901234567890123456789012345678901234567890123456789 50:12345678901234567890123456789012345678901234567890123456789 51:12345678901234567890123456789012345678901234567890123456789 52:12345678901234567890123456789012345678901234567890123456789 53:12345678901234567890123456789012345678901234567890123456789 54:12345678901234567890123456789012345678901234567890123456789 55:12345678901234567890123456789012345678901234567890123456789 56:12345678901234567890123456789012345678901234567890123456789 57:12345678901234567890123456789012345678901234567890123456789 58:12345678901234567890123456789012345678901234567890123456789 59:12345678901234567890123456789012345678901234567890123456789 60:12345678901234567890123456789012345678901234567890123456789 61:12345678901234567890123456789012345678901234567890123456789 62:12345678901234567890123456789012345678901234567890123456789 63:12345678901234567890123456789012345678901234567890123456789 64:12345678901234567890123456789012345678901234567890123456789 65:12345678901234567890123456789012345678901234567890123456789 66:12345678901234567890123456789012345678901234567890123456789 PASS: PROCFS_WRITE shutdown and output Pass 5: run completed in 0usr/70sys/1006real ms. metric: PROCFS_WRITE 0 400 401 0 0 8 0 10 2 0 3640 3710 0 70 1006 Executing: kill -INT -11313 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/procfs_write.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/prologues.exp ... spawn stap -P /root/systemtap_write/systemtap/testsuite/systemtap.base/prologues.stp read (4, 0x3ffc6933a70, 8196) read (4, 0x3ffc6933a70, 8196) read (9, 0x3ffe052ca90, 8192) read (6, 0x3ff811ce568, 272) read (6, 0x3ff811ce568, 272) read (7, 0x3ff8f9fe9d8, 131072) write (1, "read (4, 0x3ffc6933a70, 8196)\nread (4, 0x3ff"..., 180) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"read (4, 0x3ffc6933a70, 8196)\\nr"..., 99) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"read (4, 0x3ffc6933"..., 98) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"r"..., 98) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (7, 0x3ff8f9fe9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (7, 0x3ff8f9fe9d8, 131072) PASS: prologues -P spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/prologues.stp read (4, 0x3ffd13a65c0, 8196) read (9, 0x3ffe052ca90, 8192) read (4, 0x3ffd13a65c0, 8196) read (6, 0x3ff811ce568, 272) read (6, 0x3ff811ce568, 272) read (7, 0x3ff93b9e9d8, 131072) write (1, "read (4, 0x3ffd13a65c0, 8196)\nread (9, 0x3ff"..., 180) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"read (4, 0x3ffd13a65c0, 8196)\\nr"..., 99) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"read (4, 0x3ffd13a6"..., 98) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"r"..., 98) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 98) read (35, 0xeb6a18, 4096) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 124) read (7, 0x3ff93b9e9d8, 131072) write (1, "write (1, \"write (1, \\\"write (1, \\\\\\\"w"..., 99) PASS: prologues no-P testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/prologues.exp completed in 13 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pt_user_mode.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pt_user_mode.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/pt_user_mode.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/409real ms. Pass 2: analyzed script: 4 probes, 2 functions, 3 embeds, 2 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1470sys/1496real ms. Pass 3: translated to C into "/tmp/staprr5Z1K/stap_0f99311f89413f786e883e8eda6a9d27_2639_src.c" using 55488virt/48576res/7488shr/39040data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_0f99311f89413f786e883e8eda6a9d27_2639.ko" in 0usr/3590sys/3640real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/pt_user_mode.stp startup PASS: systemtap.base/pt_user_mode.stp load generation Executing: kill -INT -12079 systemtap ending probe systemtap test success PASS: systemtap.base/pt_user_mode.stp shutdown and output Pass 5: run completed in 0usr/80sys/1976real ms. metric: systemtap.base/pt_user_mode.stp 0 400 409 0 1470 1496 0 0 2 0 3590 3640 0 80 1976 Executing: kill -INT -12079 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pt_user_mode.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/pthread_stacks.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/pthread_stacks.c -pthread -g -lm -o /root/systemtap_write/systemtap/testsuite/pthread_stacks.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/pthread_stacks.c -pthread -g -lm -o /root/systemtap_write/systemtap/testsuite/pthread_stacks.x PASS: pthread_stacks compiling spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/systemtap.examples/process/threadstacks.stp -Gsize=0x10000 -d /root/systemtap_write/systemtap/testsuite/pthread_stacks.x /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a4/stap_a4dce4b143e16d53d5e7738501461a05_6233.ko PASS: pthread_stacks debuginfo check spawn stap -w -g /root/systemtap_write/systemtap/testsuite/systemtap.examples/process/threadstacks.stp -c /root/systemtap_write/systemtap/testsuite/pthread_stacks.x 1024 0 -d /root/systemtap_write/systemtap/testsuite/pthread_stacks.x stacksize=8388608 PASS: pthread_stacks no -Gsize spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.examples/process/threadstacks.stp -Gsize=0x10000 -c /root/systemtap_write/systemtap/testsuite/pthread_stacks.x 1024 0 -d /root/systemtap_write/systemtap/testsuite/pthread_stacks.x pthread_stacks.x: /root/systemtap_write/systemtap/testsuite/systemtap.base/pthread_stacks.c:72: main: Assertion `rc == 0' failed. WARNING: Child process exited with signal 6 (Aborted) pthread_stacks.[13645] overwrote __default_stacksize@0x3ff8c004338 (8388608->65536) WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] FAIL: pthread_stacks -Gsize (0 0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/pthread_stacks.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/ptrace.exp ... PASS: ptrace find 'strace' spawn stap -e probe process.begin { next } -c strace -e read true read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 +++ exited with 0 +++ PASS: ptrace (begin) spawn stap -e probe never{print_ubacktrace()} -c strace -e read true read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 +++ exited with 0 +++ PASS: ptrace (never) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/ptrace.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -lm -o ptridx.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -lm -o ptridx.exe PASS: ptridx-m64 compile PASS: ptridx-m64 (list labels) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.stp -c ./ptridx.exe -w 17, 23 a 0x3ffd92db458 => 17, 23 p 0x3ffd92db458 => 17, 23 Executing: kill -INT -14201 PASS: ptridx-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -lm -o ptridx.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -lm -o ptridx.exe PASS: ptridx-m64 compile PASS: ptridx-m64 (list labels) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.stp -c ./ptridx.exe -w 17, 23 a 0x3ffcf9a8d78 => 17, 23 p 0x3ffcf9a8d78 => 17, 23 Executing: kill -INT -14482 PASS: ptridx-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -O -lm -o ptridx.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c -g -O -lm -o ptridx.exe PASS: ptridx-m64-O compile PASS: ptridx-m64-O (list labels) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.stp -c ./ptridx.exe -w semantic error: while processing probe process("/root/systemtap_write/systemtap/testsuite/ptridx.exe").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c:13").label("l1") from: process("./ptridx.exe").function("main").label("l1") semantic error: failed to retrieve location attribute for 'a' [man error::dwarf]: identifier '$a' at /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.stp:5:22 dieoffset: 0x2e5 from /root/systemtap_write/systemtap/testsuite/ptridx.exe function: foo at /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c:7 inlined by main at /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.c:14 source: printf("%d, %d\n", $a[0], $a[1]); ^ Executing: kill -INT -14761 KFAIL: ptridx-m64-O (0) (PRMS: GCC) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/ptridx.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/rand.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/rand.stp PASS: systemtap.base/rand.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/rand.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.exp ... remote: using direct: stapsh: spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.stp --remote=direct: -p4 /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0d3dedf56579928f97dcd54a920223a_2992.ko PASS: remote build direct: spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.stp --remote=direct: begin0:direct: Executing: kill -INT 15264 Executing: kill -KILL 15264 end0:direct: PASS: remote run direct: spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.stp --remote=stapsh: -p4 /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0d3dedf56579928f97dcd54a920223a_2992.ko PASS: remote build stapsh: spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.stp --remote=stapsh: begin0:stapsh: Executing: kill -INT 15286 Executing: kill -KILL 15286 end0:stapsh: PASS: remote run stapsh: remote: batch --remote=direct: --remote=stapsh: spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.stp --remote=direct: --remote=stapsh: begin1:stapsh: begin0:direct: Executing: kill -INT 15303 Executing: kill -KILL 15303 end1:stapsh: end0:direct: PASS: remote batch --remote=direct: --remote=stapsh: testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/remote.exp completed in 30 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/rename_module.exp ... spawn stap -e probe begin{printf("Hello\n");} spawn stap -e probe begin{printf("Hello\n");} Hello Hello Executing: kill -INT -15326 Executing: kill -INT -15330 PASS: Inserting 2 Identical Modules: Basic Stap Call PASS: test module compiles spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko Hello spawn staprun /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko ERROR: Couldn't insert module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko': File exists ERROR: Rerun with staprun option '-R' to rename this module. Executing: kill -INT -15355 Executing: kill -INT -15361 PASS: Inserting 2 Identical Modules: Staprun without -R spawn staprun -R /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko spawn staprun -R /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_060181ec8ed39d3bb28695bea271be02_1342.ko Hello Hello Executing: kill -INT -15372 Executing: kill -INT -15376 PASS: Inserting 2 Identical Modules: Staprun with -R testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/rename_module.exp completed in 36 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/rep_ret.exp ... UNSUPPORTED: rep_ret testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/rep_ret.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.exp ... PASS: rlimit unlimited as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --rlimit-as=1 --rlimit-as=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 PASS: rlimit AS increase (as non root) as_root /root/systemtap_write/install/bin/stap --rlimit-as=1 --rlimit-as=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/19/stap_19bcbbca9cf4bb60fd818787230f04f8_3829630.ko RC 0 PASS: rlimit AS increase (as root) PASS: rlimit AS realistic PASS: rlimit AS small as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --rlimit-cpu=1 --rlimit-cpu=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 PASS: rlimit CPU increase (as non root) as_root /root/systemtap_write/install/bin/stap --rlimit-cpu=1 --rlimit-cpu=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/19/stap_19bcbbca9cf4bb60fd818787230f04f8_3829630.ko RC 0 PASS: rlimit CPU increase (as root) PASS: rlimit CPU realistic FAIL: rlimit CPU small as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --rlimit-nproc=1 --rlimit-nproc=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 PASS: rlimit NPROC increase (as non root) as_root /root/systemtap_write/install/bin/stap --rlimit-nproc=1 --rlimit-nproc=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/19/stap_19bcbbca9cf4bb60fd818787230f04f8_3829630.ko RC 0 PASS: rlimit NPROC increase (as root) PASS: rlimit NPROC realistic as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --rlimit-stack=1 --rlimit-stack=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 PASS: rlimit STACK increase (as non root) as_root /root/systemtap_write/install/bin/stap --rlimit-stack=1 --rlimit-stack=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/19/stap_19bcbbca9cf4bb60fd818787230f04f8_3829630.ko RC 0 PASS: rlimit STACK increase (as root) PASS: rlimit STACK realistic as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --rlimit-fsize=1 --rlimit-fsize=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 PASS: rlimit FSIZE increase (as non root) as_root /root/systemtap_write/install/bin/stap --rlimit-fsize=1 --rlimit-fsize=999999999999 -wp4 /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/19/stap_19bcbbca9cf4bb60fd818787230f04f8_3829630.ko RC 0 PASS: rlimit FSIZE increase (as root) PASS: rlimit FSIZE realistic testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/rlimit.exp completed in 328 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O2 -lm -o sdt.c.exe.0 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O2 -lm -o sdt.c.exe.0 PASS: compiling sdt.c -O2 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.0 -c ./sdt.c.exe.0 PASS: sdt -O2 uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O3 -lm -o sdt.c.exe.1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O3 -lm -o sdt.c.exe.1 PASS: compiling sdt.c -O3 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.1 -c ./sdt.c.exe.1 PASS: sdt -O3 uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -lm -o sdt.c.exe.2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -lm -o sdt.c.exe.2 PASS: compiling sdt.c c89 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.2 -c ./sdt.c.exe.2 PASS: sdt c89 uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -pedantic -lm -o sdt.c.exe.2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -pedantic -lm -o sdt.c.exe.2 PASS: compiling sdt.c c89 -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.2 -c ./sdt.c.exe.2 PASS: sdt c89 -pedantic uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -lm -o sdt.c.exe.3 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -lm -o sdt.c.exe.3 PASS: compiling sdt.c c99 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.3 -c ./sdt.c.exe.3 PASS: sdt c99 uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -pedantic -lm -o sdt.c.exe.3 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -pedantic -lm -o sdt.c.exe.3 PASS: compiling sdt.c c99 -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.3 -c ./sdt.c.exe.3 PASS: sdt c99 -pedantic uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -lm -o sdt.c.exe.4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -lm -o sdt.c.exe.4 PASS: compiling sdt.c gnu99 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.4 -c ./sdt.c.exe.4 PASS: sdt gnu99 uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -pedantic -lm -o sdt.c.exe.4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -pedantic -lm -o sdt.c.exe.4 PASS: compiling sdt.c gnu99 -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.4 -c ./sdt.c.exe.4 PASS: sdt gnu99 -pedantic uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -lm -o sdt.c.exe.5 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -lm -o sdt.c.exe.5 PASS: compiling sdt.c c++98 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.5 -c ./sdt.c.exe.5 PASS: sdt c++98 uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -pedantic -lm -o sdt.c.exe.5 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -pedantic -lm -o sdt.c.exe.5 PASS: compiling sdt.c c++98 -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.5 -c ./sdt.c.exe.5 PASS: sdt c++98 -pedantic uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -lm -o sdt.c.exe.6 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -lm -o sdt.c.exe.6 PASS: compiling sdt.c gnu++98 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.6 -c ./sdt.c.exe.6 PASS: sdt gnu++98 uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -pedantic -lm -o sdt.c.exe.6 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -pedantic -lm -o sdt.c.exe.6 PASS: compiling sdt.c gnu++98 -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.6 -c ./sdt.c.exe.6 PASS: sdt gnu++98 -pedantic uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -lm -o sdt.c.exe.7 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -lm -o sdt.c.exe.7 PASS: compiling sdt.c c++0x uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.7 -c ./sdt.c.exe.7 PASS: sdt c++0x uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -pedantic -lm -o sdt.c.exe.7 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -pedantic -lm -o sdt.c.exe.7 PASS: compiling sdt.c c++0x -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.7 -c ./sdt.c.exe.7 PASS: sdt c++0x -pedantic uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -lm -o sdt.c.exe.8 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -lm -o sdt.c.exe.8 PASS: compiling sdt.c gnu++0x uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.8 -c ./sdt.c.exe.8 PASS: sdt gnu++0x uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -pedantic -lm -o sdt.c.exe.8 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -pedantic -lm -o sdt.c.exe.8 PASS: compiling sdt.c gnu++0x -pedantic uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.8 -c ./sdt.c.exe.8 PASS: sdt gnu++0x -pedantic uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O2 -lm -o sdt.c.exe.0 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O2 -lm -o sdt.c.exe.0 PASS: compiling sdt.c -O2 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.0 -c ./sdt.c.exe.0 PASS: sdt -O2 V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O3 -lm -o sdt.c.exe.1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O3 -lm -o sdt.c.exe.1 PASS: compiling sdt.c -O3 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.1 -c ./sdt.c.exe.1 PASS: sdt -O3 V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c89 -lm -o sdt.c.exe.2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c89 -lm -o sdt.c.exe.2 PASS: compiling sdt.c c89 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.2 -c ./sdt.c.exe.2 PASS: sdt c89 V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c89 -pedantic -lm -o sdt.c.exe.2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c89 -pedantic -lm -o sdt.c.exe.2 PASS: compiling sdt.c c89 -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.2 -c ./sdt.c.exe.2 PASS: sdt c89 -pedantic V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c99 -lm -o sdt.c.exe.3 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c99 -lm -o sdt.c.exe.3 PASS: compiling sdt.c c99 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.3 -c ./sdt.c.exe.3 PASS: sdt c99 V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c99 -pedantic -lm -o sdt.c.exe.3 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c99 -pedantic -lm -o sdt.c.exe.3 PASS: compiling sdt.c c99 -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.3 -c ./sdt.c.exe.3 PASS: sdt c99 -pedantic V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu99 -lm -o sdt.c.exe.4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu99 -lm -o sdt.c.exe.4 PASS: compiling sdt.c gnu99 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.4 -c ./sdt.c.exe.4 PASS: sdt gnu99 V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu99 -pedantic -lm -o sdt.c.exe.4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu99 -pedantic -lm -o sdt.c.exe.4 PASS: compiling sdt.c gnu99 -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.4 -c ./sdt.c.exe.4 PASS: sdt gnu99 -pedantic V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++98 -x c++ -lm -o sdt.c.exe.5 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++98 -x c++ -lm -o sdt.c.exe.5 PASS: compiling sdt.c c++98 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.5 -c ./sdt.c.exe.5 PASS: sdt c++98 V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++98 -x c++ -pedantic -lm -o sdt.c.exe.5 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++98 -x c++ -pedantic -lm -o sdt.c.exe.5 PASS: compiling sdt.c c++98 -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.5 -c ./sdt.c.exe.5 PASS: sdt c++98 -pedantic V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++98 -x c++ -lm -o sdt.c.exe.6 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++98 -x c++ -lm -o sdt.c.exe.6 PASS: compiling sdt.c gnu++98 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.6 -c ./sdt.c.exe.6 PASS: sdt gnu++98 V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++98 -x c++ -pedantic -lm -o sdt.c.exe.6 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++98 -x c++ -pedantic -lm -o sdt.c.exe.6 PASS: compiling sdt.c gnu++98 -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.6 -c ./sdt.c.exe.6 PASS: sdt gnu++98 -pedantic V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++0x -x c++ -lm -o sdt.c.exe.7 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++0x -x c++ -lm -o sdt.c.exe.7 PASS: compiling sdt.c c++0x V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.7 -c ./sdt.c.exe.7 PASS: sdt c++0x V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++0x -x c++ -pedantic -lm -o sdt.c.exe.7 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=c++0x -x c++ -pedantic -lm -o sdt.c.exe.7 PASS: compiling sdt.c c++0x -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.7 -c ./sdt.c.exe.7 PASS: sdt c++0x -pedantic V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++0x -x c++ -lm -o sdt.c.exe.8 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++0x -x c++ -lm -o sdt.c.exe.8 PASS: compiling sdt.c gnu++0x V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.8 -c ./sdt.c.exe.8 PASS: sdt gnu++0x V2_uprobe Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++0x -x c++ -pedantic -lm -o sdt.c.exe.8 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -std=gnu++0x -x c++ -pedantic -lm -o sdt.c.exe.8 PASS: compiling sdt.c gnu++0x -pedantic V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt.c.exe.8 -c ./sdt.c.exe.8 PASS: sdt gnu++0x -pedantic V2_uprobe testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.exp completed in 276 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_asm.exp ... UNSUPPORTED: sdt_misc asm testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_asm.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_casm.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_casm.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -std=c99 -lm -o sdt_casm.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_casm.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -std=c99 -lm -o sdt_casm.x PASS: sdt_casm compiling sdt_casm.c executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_casm.stp -c ./sdt_casm.x PASS: sdt_casm testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_casm.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O2 -lm -o sdt.c.exe.0 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -O2 -lm -o sdt.c.exe.0 PASS: compiling sdt.c -O2 uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.stp sdt.c.exe.0 -c ./sdt.c.exe.0 PASS: sdt_global_var -O2 uprobe additional_flags=-O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -fPIE -pie -O2 -lm -o sdt.c.exe.1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -fPIE -pie -O2 -lm -o sdt.c.exe.1 PASS: compiling sdt.c uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.stp sdt.c.exe.1 -c ./sdt.c.exe.1 PASS: sdt_global_var uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O2 -lm -o sdt.c.exe.0 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -O2 -lm -o sdt.c.exe.0 PASS: compiling sdt.c -O2 V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.stp sdt.c.exe.0 -c ./sdt.c.exe.0 PASS: sdt_global_var -O2 V2_uprobe additional_flags=-O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -fPIE -pie -O2 -lm -o sdt.c.exe.1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -DSTAP_SDT_V2 -fPIE -pie -O2 -lm -o sdt.c.exe.1 PASS: compiling sdt.c V2_uprobe executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.stp sdt.c.exe.1 -c ./sdt.c.exe.1 FAIL: sdt_global_var V2_uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2 line 1: expected "z: @("my_global_var") = 56" Got "semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.stp:1:7" testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_global_var.exp completed in 26 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.exp ... /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V1 --types -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V1 --types -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d PASS: sdt_misc dtrace V1_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x PASS: sdt_misc compiling V1_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe.x In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400b90 In test_probe_4 dtrace probe 0x3ffe14c7ba8 In test_probe_1 probe 0x0 PASS: sdt_misc V1_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop.x PASS: sdt_misc compiling V1_uprobe -DLOOP /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop.x >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400c70 In test_probe_4 dtrace probe 0x3ffec0ce5e8 In test_probe_1 probe 0x0 PASS: sdt_misc V1_uprobe attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V1_uprobe epilogue Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -O2 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -O2 -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x0 != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0x0 != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0x0 != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0x0 != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0x0 != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0x0 != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x1 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x1 != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x1 != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x1 != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x1 != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x1 != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x0 != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ffa5e1cf54 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ffa5e1cf54 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ffa5e1cf54 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ffa5e1cf54 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ffa5e1cf54 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types FAIL: const_long_long_int_var (0x7fffffffffffffff != 0x8000000000000001) sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x3ffc3528890 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x3ffc3528890 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x3ffc3528890 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x3ffc3528890 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x3ffc3528890 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("\356\a" != "!~") sdt_types FAIL: arr_struct (0xffffffffc3528880 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types FAIL: constants ("" != "constants") sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var const_long_long_int_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct constants V1_uprobe -O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -O3 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -O3 -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x0 != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0x0 != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0x0 != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0x0 != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0x0 != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0x0 != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x1 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x1 != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x1 != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x1 != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x1 != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x1 != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x0 != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ff7cedcf54 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ff7cedcf54 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ff7cedcf54 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ff7cedcf54 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ff7cedcf54 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types FAIL: const_long_long_int_var (0x7fffffffffffffff != 0x8000000000000001) sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x3ffceb36490 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x3ffceb36490 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x3ffceb36490 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x3ffceb36490 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x3ffceb36490 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("\356\a" != "!~") sdt_types FAIL: arr_struct (0xffffffffceb36480 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types FAIL: constants ("" != "constants") sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var const_long_long_int_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct constants V1_uprobe -O3 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c89 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c89 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c89 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c99 -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c99 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu99 -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe gnu99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe gnu99 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V1_uprobe c++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V1_uprobe c++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V1_uprobe gnu++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V1_uprobe gnu++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe c++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe c++0x -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe gnu++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -g -DSTAP_SDT_V1 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V1_uprobe gnu++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V1_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V1_uprobe gnu++0x -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V1_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V1_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x PASS: sdt_misc compiling -shared V1_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe.so spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe.so semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp:2:7 source: probe process(@1).library(@2).mark("test_probe_0") ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 4. Rerun with -v to see them. FAIL: sdt_misc (0) shared V1_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe_loop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -g -DSTAP_SDT_V1 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe_loop.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -g -DSTAP_SDT_V1 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V1_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -g -DSTAP_SDT_V1 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V1_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop_shared.x PASS: sdt_misc compiling V1_uprobe -DLOOP with markers in a shared object /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop_shared.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V1_uprobe_loop_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V1_uprobe_loop.so >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout FAIL: sdt_misc (0) V1_uprobe shared attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V1_uprobe shared shared epilogue spawn /root/systemtap_write/install/bin/stap -L "process("./sdt_types.x").mark("*") spawn /root/systemtap_write/install/bin/stap -L process("./sdt_types.x").mark("*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_char") $arg1:char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_struct") $arg1:struct {...}* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_a_var") $arg1:int $arg2:int $arg3:char $arg4:int $arg5:int $arg6:char $arg7:int $arg8:int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_b_var") $arg1:unsigned char $arg2:int $arg3:int $arg4:int $arg5:int $arg6:int $arg7:int $arg8:int $arg9:int $arg10:char $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_const_var") $arg1:char* const $arg2:char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_volatile_var") $arg1:char* volatile $arg2:char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_var") $arg1:char $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_char_var") $arg1:char const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_int_var") $arg1:int const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_int_var") $arg1:long int const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_long_int_var") $arg1:long long int const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_short_int_var") $arg1:short int const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("constants") $arg1:int $arg2:char $arg3:char[] const $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("incomplete_struct_type") $arg1:struct opaque_struct* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_const_var") $arg1:int* const $arg2:int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_volatile_var") $arg1:int* volatile $arg2:int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_var") $arg1:int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_const_var") $arg1:long int* const $arg2:long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_volatile_var") $arg1:long int* volatile $arg2:long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_var") $arg1:long int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_const_var") $arg1:long long int* const $arg2:long long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_volatile_var") $arg1:long long int* volatile $arg2:long long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_var") $arg1:long long int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("primary_colors_var") $arg1:enum {...} $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_char_var") $arg1:char* $arg2:char* $arg3:char $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_char_var") $arg1:char const* $arg2:char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_int_var") $arg1:int const* $arg2:int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_int_var") $arg1:long int const* $arg2:long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_long_int_var") $arg1:long long int const* $arg2:long long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_short_int_var") $arg1:short int const* $arg2:short int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_int_var") $arg1:int* $arg2:int* $arg3:int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_int_var") $arg1:long int* $arg2:long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_long_int_var") $arg1:long long int* $arg2:long long int* $arg3:long long int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_short_int_var") $arg1:short int* $arg2:short int* $arg3:short int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_char_var") $arg1:char volatile* $arg2:char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_int_var") $arg1:int volatile* $arg2:int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_int_var") $arg1:long int volatile* $arg2:long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_long_int_var") $arg1:long long int volatile* $arg2:long long int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_short_int_var") $arg1:short int volatile* $arg2:short int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_const_var") $arg1:short int* const $arg2:short int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_volatile_var") $arg1:short int* volatile $arg2:short int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_var") $arg1:short int $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_char_var") $arg1:unsigned char $arg2:unsigned char $arg3:unsigned char* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_int_var") $arg1:unsigned int $arg2:unsigned int $arg3:unsigned int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_long_long_int_var") $arg1:long long unsigned int $arg2:long long unsigned int $arg3:long long unsigned int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_short_int_var") $arg1:short unsigned int $arg2:short unsigned int $arg3:short unsigned int* $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_char_var") $arg1:char volatile $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_int_var") $arg1:int volatile $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_int_var") $arg1:long int volatile $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_long_int_var") $arg1:long long int volatile $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_short_int_var") $arg1:short int volatile $char_var:char $const_char_var:char const $volatile_char_var:char volatile $ptr_char_var:char* $ptr_const_char_var:char const* $char_ptr_const_var:char* const $ptr_volatile_char_var:char volatile* $char_ptr_volatile_var:char* volatile $uchar_var:unsigned char $short_int_var:short int $const_short_int_var:short int const $volatile_short_int_var:short int volatile $ptr_short_int_var:short int* $ptr_const_short_int_var:short int const* $short_int_ptr_const_var:short int* const $ptr_volatile_short_int_var:short int volatile* $short_int_ptr_volatile_var:short int* volatile $short_uint_var:short unsigned int $int_var:int $const_int_var:int const $volatile_int_var:int volatile $ptr_int_var:int* $ptr_const_int_var:int const* $int_ptr_const_var:int* const $ptr_volatile_int_var:int volatile* $int_ptr_volatile_var:int* volatile $uint_var:unsigned int $long_int_var:long int $const_long_int_var:long int const $volatile_long_int_var:long int volatile $ptr_long_int_var:long int* $ptr_const_long_int_var:long int const* $long_int_ptr_const_var:long int* const $ptr_volatile_long_int_var:long int volatile* $long_int_ptr_volatile_var:long int* volatile $long_long_int_var:long long int $const_long_long_int_var:long long int const $volatile_long_long_int_var:long long int volatile $ptr_long_long_int_var:long long int* $ptr_const_long_long_int_var:long long int const* $long_long_int_ptr_const_var:long long int* const $ptr_volatile_long_long_int_var:long long int volatile* $long_long_int_ptr_volatile_var:long long int* volatile $long_long_uint_var:long long unsigned int $arr_char:char[] $bitfields_a_var:struct {...} $bitfields_b_var:struct {...} $arr_struct:struct {...}[] $primary_colors_var:enum {...} $incomplete_struct_type:struct opaque_struct* $argc:int $argv:char** spawn /root/systemtap_write/install/bin/stap -l process("./sdt_types.x").mark("*-*-*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") PASS: sdt_misc wildcard V1_uprobe /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V2 --types -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V2 --types -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d PASS: sdt_misc dtrace V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x PASS: sdt_misc compiling V2_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe.x In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400b98 In test_probe_4 dtrace probe 0x3ffea25ab58 In test_probe_1 probe 0x0 PASS: sdt_misc V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop.x PASS: sdt_misc compiling V2_uprobe -DLOOP /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop.x >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400c70 In test_probe_4 dtrace probe 0x3ffddae9008 In test_probe_1 probe 0x0 PASS: sdt_misc V2_uprobe attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V2_uprobe epilogue Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -O2 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -O2 -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x89 != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0xffffffffffffccbf != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0xffffffffffffccbf != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0xffffffffffffccbf != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0xffffffffffffccbf != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0xffffffffffffccbf != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x0 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x3ff != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x3ff != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ffccbf8930 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ffccbf8930 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ffccbf8930 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ffccbf8930 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ffccbf8930 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("Hza\243\377\003" != "!~") sdt_types FAIL: arr_struct (0x0 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct V2_uprobe -O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -O3 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -O3 -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x6a != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0xffffffffffffd1e0 != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0xffffffffffffd1e0 != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0xffffffffffffd1e0 != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0xffffffffffffd1e0 != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0xffffffffffffd1e0 != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x0 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x3ff != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x3ff != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ffd1e06a70 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ffd1e06a70 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ffd1e06a70 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ffd1e06a70 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ffd1e06a70 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("Hz\220|\377\003" != "!~") sdt_types FAIL: arr_struct (0x0 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct V2_uprobe -O3 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c89 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c89 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c89 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c99 -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c99 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu99 -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe gnu99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe gnu99 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V2_uprobe c++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V2_uprobe c++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V2_uprobe gnu++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V2_uprobe gnu++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe c++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe c++0x -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe gnu++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V2 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V2_uprobe gnu++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V2_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V2_uprobe gnu++0x -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V2_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V2_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x PASS: sdt_misc compiling -shared V2_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe.so spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe.so semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp:2:7 source: probe process(@1).library(@2).mark("test_probe_0") ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 4. Rerun with -v to see them. FAIL: sdt_misc (0) shared V2_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe_loop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V2 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe_loop.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -DSTAP_SDT_V2 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V2_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -DSTAP_SDT_V2 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V2_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop_shared.x PASS: sdt_misc compiling V2_uprobe -DLOOP with markers in a shared object /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop_shared.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V2_uprobe_loop_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V2_uprobe_loop.so >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout FAIL: sdt_misc (0) V2_uprobe shared attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V2_uprobe shared shared epilogue spawn /root/systemtap_write/install/bin/stap -L "process("./sdt_types.x").mark("*") spawn /root/systemtap_write/install/bin/stap -L process("./sdt_types.x").mark("*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_char") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_struct") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_a_var") $arg1:long $arg2:long $arg3:long $arg4:long $arg5:long $arg6:long $arg7:long $arg8:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_b_var") $arg1:long $arg2:long $arg3:long $arg4:long $arg5:long $arg6:long $arg7:long $arg8:long $arg9:long $arg10:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_short_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("constants") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("incomplete_struct_type") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("primary_colors_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_char_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_char_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_short_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_long_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_short_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_char_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_short_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_char_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_long_long_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_short_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_short_int_var") $arg1:long spawn /root/systemtap_write/install/bin/stap -l process("./sdt_types.x").mark("*-*-*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") PASS: sdt_misc wildcard V2_uprobe /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V3 --types -h -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d /root/systemtap_write/install/bin/dtrace -DSTAP_SDT_V3 --types -G -s /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc_.d PASS: sdt_misc dtrace V3_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x PASS: sdt_misc compiling V3_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe.x In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400b60 In test_probe_4 dtrace probe 0x3ffea044f28 In test_probe_1 probe 0x0 PASS: sdt_misc V3_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop.x PASS: sdt_misc compiling V3_uprobe -DLOOP /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop.x >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400c40 In test_probe_4 dtrace probe 0x3ffd55af128 In test_probe_1 probe 0x0 PASS: sdt_misc V3_uprobe attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V3_uprobe epilogue Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -O2 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -O2 -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe -O2 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x55 != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0xffffffffffffffd5 != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0xffffffffffffffd5 != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0xffffffffffffffd5 != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0xffffffffffffffd5 != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0xffffffffffffffd5 != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x0 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x3ff != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x3ff != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ffffd55610 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ffffd55610 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ffffd55610 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ffffd55610 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ffffd55610 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("Hz\\\236\377\003" != "!~") sdt_types FAIL: arr_struct (0x0 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct V3_uprobe -O2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -O3 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -O3 -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe -O3 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types FAIL: ptr_char_var (0x0 != 0x7e) sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types FAIL: ptr_const_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_const_var sdt_types FAIL: char_ptr_const_var (0x0 != 0x7e) sdt_types PASS: ptr_volatile_char_var sdt_types FAIL: ptr_volatile_char_var (0x0 != 0x7e) sdt_types PASS: char_ptr_volatile_var sdt_types FAIL: char_ptr_volatile_var (0x0 != 0x7e) sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types FAIL: unsigned_char_var (0x73 != 0x81) sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types FAIL: ptr_short_int_var (0xffffffffffffcdc4 != 0x7fff) sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types FAIL: ptr_const_short_int_var (0xffffffffffffcdc4 != 0x7fff) sdt_types PASS: short_int_ptr_const_var sdt_types FAIL: short_int_ptr_const_var (0xffffffffffffcdc4 != 0x7fff) sdt_types PASS: ptr_volatile_short_int_var sdt_types FAIL: ptr_volatile_short_int_var (0xffffffffffffcdc4 != 0x7fff) sdt_types PASS: short_int_ptr_volatile_var sdt_types FAIL: short_int_ptr_volatile_var (0xffffffffffffcdc4 != 0x7fff) sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types FAIL: unsigned_short_int_var (0x0 != 0x8001) sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types FAIL: ptr_int_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types FAIL: ptr_const_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_const_var sdt_types FAIL: int_ptr_const_var (0x3ff != 0x7fffffff) sdt_types PASS: ptr_volatile_int_var sdt_types FAIL: ptr_volatile_int_var (0x3ff != 0x7fffffff) sdt_types PASS: int_ptr_volatile_var sdt_types FAIL: int_ptr_volatile_var (0x3ff != 0x7fffffff) sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types FAIL: unsigned_int_var (0x3ff != 0xffff8001) sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types FAIL: ptr_long_int_var (0x3ffcdc47350 != 0x6fffffff) sdt_types PASS: ptr_const_long_int_var sdt_types FAIL: ptr_const_long_int_var (0x3ffcdc47350 != 0x6fffffff) sdt_types PASS: long_int_ptr_const_var sdt_types FAIL: long_int_ptr_const_var (0x3ffcdc47350 != 0x6fffffff) sdt_types PASS: ptr_volatile_long_int_var sdt_types FAIL: ptr_volatile_long_int_var (0x3ffcdc47350 != 0x6fffffff) sdt_types PASS: long_int_ptr_volatile_var sdt_types FAIL: long_int_ptr_volatile_var (0x3ffcdc47350 != 0x6fffffff) sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types FAIL: ptr_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types FAIL: ptr_const_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_const_var sdt_types FAIL: long_long_int_ptr_const_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: ptr_volatile_long_long_int_var sdt_types FAIL: ptr_volatile_long_long_int_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: long_long_int_ptr_volatile_var sdt_types FAIL: long_long_int_ptr_volatile_var (0x0 != 0x7fffffffffffffff) sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types FAIL: unsigned_long_long_int_var (0x0 != 0xffffffff80000001) sdt_types FAIL: arr_char ("Hz\210\217\377\003" != "!~") sdt_types FAIL: arr_struct (0x0 != 0x1) sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type XFAIL: sdt_misc types ptr_char_var ptr_const_char_var char_ptr_const_var ptr_volatile_char_var char_ptr_volatile_var unsigned_char_var ptr_short_int_var ptr_const_short_int_var short_int_ptr_const_var ptr_volatile_short_int_var short_int_ptr_volatile_var unsigned_short_int_var ptr_int_var ptr_const_int_var int_ptr_const_var ptr_volatile_int_var int_ptr_volatile_var unsigned_int_var ptr_long_int_var ptr_const_long_int_var long_int_ptr_const_var ptr_volatile_long_int_var long_int_ptr_volatile_var ptr_long_long_int_var ptr_const_long_long_int_var long_long_int_ptr_const_var ptr_volatile_long_long_int_var long_long_int_ptr_volatile_var unsigned_long_long_int_var arr_char arr_struct V3_uprobe -O3 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c89 -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c89 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c89 -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c89 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c89 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c89 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c99 -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c99 -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu99 -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu99 -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe gnu99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu99 -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu99 -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu99 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu99 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe gnu99 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V3_uprobe c++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V3_uprobe c++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++98 -x c++ -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V3_uprobe gnu++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++98 -x c++ -pedantic -DNO_LONG_LONG -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu++98 -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu++98 spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: arr_char sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants PASS: sdt_misc types V3_uprobe gnu++98 -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=c++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe c++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe c++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe c++0x -pedantic Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++0x -x c++ -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++0x -x c++ -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe gnu++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror -I. -DSTAP_SDT_V3 -std=gnu++0x -x c++ -pedantic -lm -o sdt_types.x PASS: sdt_misc compiling types V3_uprobe gnu++0x -pedantic spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x # V3_uprobe gnu++0x spawn /root/systemtap_write/install/bin/stap -g -c ./sdt_types.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_types.stp ./sdt_types.x sdt_types PASS: char_var sdt_types PASS: const_char_var sdt_types PASS: volatile_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: ptr_const_char_var sdt_types PASS: char_ptr_const_var sdt_types PASS: char_ptr_const_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: ptr_volatile_char_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: char_ptr_volatile_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: unsigned_char_var sdt_types PASS: short_int_var sdt_types PASS: const_short_int_var sdt_types PASS: volatile_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: ptr_const_short_int_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: short_int_ptr_const_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: ptr_volatile_short_int_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: short_int_ptr_volatile_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: unsigned_short_int_var sdt_types PASS: int_var sdt_types PASS: const_int_var sdt_types PASS: volatile_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: ptr_const_int_var sdt_types PASS: int_ptr_const_var sdt_types PASS: int_ptr_const_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: ptr_volatile_int_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: int_ptr_volatile_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: unsigned_int_var sdt_types PASS: long_int_var sdt_types PASS: const_long_int_var sdt_types PASS: volatile_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: ptr_const_long_int_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: ptr_volatile_long_int_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_int_ptr_volatile_var sdt_types PASS: long_long_int_var sdt_types PASS: const_long_long_int_var sdt_types PASS: volatile_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: ptr_const_long_long_int_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: long_long_int_ptr_const_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: ptr_volatile_long_long_int_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: long_long_int_ptr_volatile_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: unsigned_long_long_int_var sdt_types PASS: arr_char sdt_types PASS: arr_struct sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_a_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: bitfields_b_var sdt_types PASS: primary_colors_var sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: constants sdt_types PASS: incomplete_struct_type PASS: sdt_misc types V3_uprobe gnu++0x -pedantic Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -shared -fPIC -DNO_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V3_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V3_uprobe -DONLY_MAIN -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x PASS: sdt_misc compiling -shared V3_uprobe spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe.so spawn /root/systemtap_write/install/bin/stap -c /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe.so In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400a70 In test_probe_4 dtrace probe 0x3ffc16df5e8 In test_probe_1 probe 0x0 PASS: sdt_misc shared V3_uprobe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe_loop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Werror /root/systemtap_write/systemtap/testsuite/sdt_misc_.o -I. -DSTAP_SDT_V3 -shared -fPIC -DNO_MAIN -DLOOP -lm -o /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe_loop.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -DSTAP_SDT_V3 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V3_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop_shared.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -I. -DSTAP_SDT_V3 -DLOOP -DONLY_MAIN -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lsdt_V3_uprobe_loop -lm -o /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop_shared.x PASS: sdt_misc compiling V3_uprobe -DLOOP with markers in a shared object /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop_shared.x > ,semclean 2>&1 & TEST=$! ; /root/systemtap_write/install/bin/stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.stp /root/systemtap_write/systemtap/testsuite/sdt_misc_V3_uprobe_loop_shared.x /root/systemtap_write/systemtap/testsuite/libsdt_V3_uprobe_loop.so >| ,semout ; /bin/kill -SIGINT $TEST spawn cat ,semout In test_probe_2 probe 0x2 In test_probe_2 probe 0x2 In test_probe_0 probe 0x3 In test_probe_3 probe 0x3 0x400b68 In test_probe_4 dtrace probe 0x3fff6acb9e8 In test_probe_1 probe 0x0 PASS: sdt_misc V3_uprobe shared attach spawn cat ,semclean PASS epilogue test_probe_0_semaphore=0 PASS epilogue test_probe_2_semaphore=0 PASS epilogue test_probe_3_semaphore=0 PASS epilogue test_probe_4_semaphore=0 PASS: sdt_misc V3_uprobe shared shared epilogue spawn /root/systemtap_write/install/bin/stap -L "process("./sdt_types.x").mark("*") spawn /root/systemtap_write/install/bin/stap -L process("./sdt_types.x").mark("*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_char") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("arr_struct") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_a_var") $arg1:long $arg2:long $arg3:long $arg4:long $arg5:long $arg6:long $arg7:long $arg8:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("bitfields_b_var") $arg1:long $arg2:long $arg3:long $arg4:long $arg5:long $arg6:long $arg7:long $arg8:long $arg9:long $arg10:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("const_short_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("constants") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("incomplete_struct_type") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("primary_colors_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_char_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_char_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_long_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_const_short_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_long_long_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_short_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_char_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_long_long_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("ptr_volatile_short_int_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_const_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_ptr_volatile_var") $arg1:long $arg2:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("short_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_char_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_long_long_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("unsigned_short_int_var") $arg1:long $arg2:long $arg3:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_char_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_long_long_int_var") $arg1:long process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("volatile_short_int_var") $arg1:long spawn /root/systemtap_write/install/bin/stap -l process("./sdt_types.x").mark("*-*-*") process("/root/systemtap_write/systemtap/testsuite/sdt_types.x").mark("something__dash__dash__something") PASS: sdt_misc wildcard V3_uprobe spawn /root/systemtap_write/install/bin/stap -c ./sdt_misc_V3_uprobe.x -e "probe process("./sdt_misc_V3_uprobe.x").mark("test_probe_5") {printf("%s %s %s\n", $$provider, $$name, $$parms)}" spawn /root/systemtap_write/install/bin/stap -c ./sdt_misc_V3_uprobe.x -e probe process("./sdt_misc_V3_uprobe.x").mark("test_probe_3") {printf("%s %s %s\n", $$provider, $$name, $$parms)} sdt_misc test_probe_3 $arg1=0x3 $arg2=0x400b60 PASS: sdt_misc $$parms kept sdt_misc*.* test files due to failing tests testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_misc.exp completed in 707 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -lm -o sdt_va_args.c.exe.0 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -lm -o sdt_va_args.c.exe.0 PASS: compiling sdt_va_args.c base executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.0 -c ./sdt_va_args.c.exe.0 PASS: sdt_va_args base Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -lm -o sdt_va_args.c.exe.1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c89 -lm -o sdt_va_args.c.exe.1 PASS: compiling sdt_va_args.c c89 executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.1 -c ./sdt_va_args.c.exe.1 PASS: sdt_va_args c89 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -lm -o sdt_va_args.c.exe.2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c99 -lm -o sdt_va_args.c.exe.2 PASS: compiling sdt_va_args.c c99 executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.2 -c ./sdt_va_args.c.exe.2 PASS: sdt_va_args c99 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -lm -o sdt_va_args.c.exe.3 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu99 -lm -o sdt_va_args.c.exe.3 PASS: compiling sdt_va_args.c gnu99 executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.3 -c ./sdt_va_args.c.exe.3 PASS: sdt_va_args gnu99 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -lm -o sdt_va_args.c.exe.4 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++98 -x c++ -lm -o sdt_va_args.c.exe.4 PASS: compiling sdt_va_args.c c++98 executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.4 -c ./sdt_va_args.c.exe.4 PASS: sdt_va_args c++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -lm -o sdt_va_args.c.exe.5 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++98 -x c++ -lm -o sdt_va_args.c.exe.5 PASS: compiling sdt_va_args.c gnu++98 executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.5 -c ./sdt_va_args.c.exe.5 PASS: sdt_va_args gnu++98 Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -lm -o sdt_va_args.c.exe.6 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=c++0x -x c++ -lm -o sdt_va_args.c.exe.6 PASS: compiling sdt_va_args.c c++0x executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.6 -c ./sdt_va_args.c.exe.6 PASS: sdt_va_args c++0x Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -lm -o sdt_va_args.c.exe.7 (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wall -Wextra -Werror -std=gnu++0x -x c++ -lm -o sdt_va_args.c.exe.7 PASS: compiling sdt_va_args.c gnu++0x executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt.stp sdt_va_args.c.exe.7 -c ./sdt_va_args.c.exe.7 PASS: sdt_va_args gnu++0x testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_va_args.exp completed in 67 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -shared -fPIC -DSDT_VARNAME_LIB -DSTAP_SDT_ARG_CONSTRAINT=m -lm -o libsdt_varname.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -shared -fPIC -DSDT_VARNAME_LIB -DSTAP_SDT_ARG_CONSTRAINT=m -lm -o libsdt_varname.so PASS: sdt_varname library compile Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lsdt_varname -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L. -DSDT_VARNAME_MAIN -DSTAP_SDT_ARG_CONSTRAINT=m -lm -o sdt_varname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lsdt_varname -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L. -DSDT_VARNAME_MAIN -DSTAP_SDT_ARG_CONSTRAINT=m -lm -o sdt_varname PASS: sdt_varname exe compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.stp sdt_varname libsdt_varname.so -c ./sdt_varname PASS: systemtap.base/sdt_varname.stp sdt_varname libsdt_varname.so -c ./sdt_varname testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sdt_varname.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/set_kernel.exp ... executing: stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/set_kernel.stp spawn stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/set_kernel.stp Pass 1: parsed user script and 115 library scripts using 54272virt/44992res/5888shr/37824data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 4 probes, 16 functions, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/12real ms. Pass 3: translated to C into "/tmp/stapMZkNZb/stap_9bd0069034a473dd7aa85764920336ab_9823_src.c" using 54976virt/47552res/6976shr/38528data kb, in 0usr/10sys/6real ms. Pass 4: compiled C into "stap_9bd0069034a473dd7aa85764920336ab_9823.ko" in 0usr/3890sys/3955real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/set_kernel.stp startup PASS: systemtap.base/set_kernel.stp load generation Executing: kill -INT -12015 systemtap ending probe systemtap test success PASS: systemtap.base/set_kernel.stp shutdown and output Pass 5: run completed in 0usr/80sys/983real ms. metric: systemtap.base/set_kernel.stp 0 400 400 0 10 12 0 10 6 0 3890 3955 0 80 983 Executing: kill -INT -12015 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/set_kernel.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/set_user.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/set_user.exe PASS: set_user compile executing: stap -v -g -c {/root/systemtap_write/systemtap/testsuite/set_user.exe > /dev/null} /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.stp spawn stap -v -g -c /root/systemtap_write/systemtap/testsuite/set_user.exe > /dev/null /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 4 probes, 19 functions, 1 embed, 1 global using 55040virt/48192res/7552shr/38592data kb, in 0usr/10sys/13real ms. Pass 3: translated to C into "/tmp/stapsuCr11/stap_ebe6e06292e5af4b2015379a08491ca9_9002_src.c" using 55040virt/48512res/7744shr/38592data kb, in 0usr/1460sys/1488real ms. Pass 4: compiled C into "stap_ebe6e06292e5af4b2015379a08491ca9_9002.ko" in 0usr/5200sys/5254real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/set_user.stp startup PASS: systemtap.base/set_user.stp load generation Executing: kill -INT -12278 PASS: systemtap.base/set_user.stp shutdown and output Pass 5: run completed in 0usr/90sys/547real ms. metric: systemtap.base/set_user.stp 0 400 404 0 10 13 0 1460 1488 0 5200 5254 0 90 547 Executing: kill -INT -12278 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/set_user.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -lm -o setjmp.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -lm -o setjmp.exe PASS: compiling setjmp.c stap -l check found no libc probes UNTESTED: setjmp Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -O -lm -o setjmp.exe-O (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -O -lm -o setjmp.exe-O PASS: compiling setjmp.c -O stap -l check found no libc probes UNTESTED: setjmp -O Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-O-D_FORTIFY_SOURCE=2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-O-D_FORTIFY_SOURCE=2 PASS: compiling setjmp.c -O -D_FORTIFY_SOURCE=2 stap -l check found no libc probes UNTESTED: setjmp -O -D_FORTIFY_SOURCE=2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -lm -o setjmp.exe-DSIGJMP (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -lm -o setjmp.exe-DSIGJMP PASS: compiling setjmp.c -DSIGJMP stap -l check found no libc probes UNTESTED: setjmp -DSIGJMP Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -O -lm -o setjmp.exe-DSIGJMP-O (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -O -lm -o setjmp.exe-DSIGJMP-O PASS: compiling setjmp.c -DSIGJMP -O stap -l check found no libc probes UNTESTED: setjmp -DSIGJMP -O Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-DSIGJMP-O-D_FORTIFY_SOURCE=2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DSIGJMP -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-DSIGJMP-O-D_FORTIFY_SOURCE=2 PASS: compiling setjmp.c -DSIGJMP -O -D_FORTIFY_SOURCE=2 stap -l check found no libc probes UNTESTED: setjmp -DSIGJMP -O -D_FORTIFY_SOURCE=2 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -lm -o setjmp.exe-DUNDERJMP (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -lm -o setjmp.exe-DUNDERJMP PASS: compiling setjmp.c -DUNDERJMP stap -l check found no libc probes UNTESTED: setjmp -DUNDERJMP Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -O -lm -o setjmp.exe-DUNDERJMP-O (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -O -lm -o setjmp.exe-DUNDERJMP-O PASS: compiling setjmp.c -DUNDERJMP -O stap -l check found no libc probes UNTESTED: setjmp -DUNDERJMP -O Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-DUNDERJMP-O-D_FORTIFY_SOURCE=2 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.c -g -DUNDERJMP -O -D_FORTIFY_SOURCE=2 -lm -o setjmp.exe-DUNDERJMP-O-D_FORTIFY_SOURCE=2 PASS: compiling setjmp.c -DUNDERJMP -O -D_FORTIFY_SOURCE=2 stap -l check found no libc probes UNTESTED: setjmp -DUNDERJMP -O -D_FORTIFY_SOURCE=2 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/setjmp.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sigusr2.exp ... executing: stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/sigusr2.stp spawn stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/sigusr2.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/390sys/403real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapfpChiu/stap_8db4ccb5c02416d33cc60f42ab3b489e_1781_src.c" using 54912virt/47296res/6848shr/38464data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_8db4ccb5c02416d33cc60f42ab3b489e_1781.ko" in 0usr/3360sys/3405real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/sigusr2.stp startup PASS: systemtap.base/sigusr2.stp load generation Executing: kill -INT -12636 systemtap ending probe systemtap test success PASS: systemtap.base/sigusr2.stp shutdown and output Pass 5: run completed in 0usr/70sys/1036real ms. metric: systemtap.base/sigusr2.stp 0 390 403 0 10 8 0 10 1 0 3360 3405 0 70 1036 Executing: kill -INT -12636 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/sigusr2.stp -g -b -c true PASS: sigusr2 bulk testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sigusr2.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/simple.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/simple.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/simple.stp Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/397real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 0 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stapnwu4oa/stap_835354a155d2353370be7bdd3b2cc12f_1410_src.c" using 54912virt/47296res/6848shr/38464data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_835354a155d2353370be7bdd3b2cc12f_1410.ko" in 0usr/3350sys/3397real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/simple.stp startup Executing: kill -INT -13148 systemtap ending probe PASS: systemtap.base/simple.stp shutdown and output Pass 5: run completed in 0usr/70sys/959real ms. metric: systemtap.base/simple.stp 0 400 397 0 0 8 0 0 1 0 3350 3397 0 70 959 Executing: kill -INT -13148 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/simple.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/skipped.exp ... UNTESTED: skip tracking PR13332 skipped.exp testcase can freeze processes/system testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/skipped.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function.exp ... spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_single.stp 100 1 match with optimized version spawn stap -u -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_single.stp 100 1 match with unoptimized version PASS: stable_function_single spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_multi.stp 400 400 1 match with optimized version spawn stap -u -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_multi.stp 400 400 2 match with unoptimized version PASS: stable_function_multi spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_mix.stp 300 300 100 3 2 match with optimized version spawn stap -u -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_mix.stp 300 300 100 8 2 match with unoptimized version PASS: stable_function_mix spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_loop.stp 18000 1 match with optimized version spawn stap -u -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_loop.stp 18000 180 match with unoptimized version PASS: stable_function_loop spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_branch.stp 102 101 100 101 1 2 1 match with optimized version spawn stap -u -g /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function_branch.stp 102 101 100 101 11 2 1 match with unoptimized version PASS: stable_function_branch testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stable_function.exp completed in 46 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stap_bufsize.exp ... PASS: buffer size testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stap_bufsize.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/staprunwait.exp ... 0 Tue Aug 16 18:30:40 2016 Tue Aug 16 18:30:50 2016 Tue Aug 16 18:31:00 2016 Tue Aug 16 18:31:10 2016 Tue Aug 16 18:31:20 2016 Tue Aug 16 18:31:30 2016 Tue Aug 16 18:31:40 2016 Tue Aug 16 18:31:50 2016 Tue Aug 16 18:32:00 2016 Tue Aug 16 18:32:10 2016 Tue Aug 16 18:32:20 2016 Tue Aug 16 18:32:30 2016 PASS: staprunwait testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/staprunwait.exp completed in 125 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stapsh-unix.exp ... UNTESTED: stapsh-unix testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stapsh-unix.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stapsh.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/stapsh.stp --remote=stapsh: PASS: systemtap.base/stapsh.stp --remote=stapsh: testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stapsh.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/statement.exp ... PASS: statement compile spawn stap -l process("./statement").statement("foo@statement.c:*") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (bz6905 - matched 4 probes) spawn stap -l process("./statement").statement("foo@statement.c:6-6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") PASS: statement (bz10294 - matched 1 probes) spawn stap -l process("./statement").statement("nonexitent_func@statement.c:*") PASS: statement (bz10294 - matched 0 probes) spawn stap -l process("./statement").statement("*@statement.c:*") process("/root/systemtap_write/systemtap/testsuite/statement").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:9") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:12") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:14") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:17") PASS: statement (bz14774 - matched 9 probes) spawn stap -l process("./statement").statement("foo@statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (ABSOLUTE - single func - matched 1 probes) spawn stap -l process("./statement").statement("*@statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (ABSOLUTE - wild func - matched 1 probes) spawn stap -l process("./statement").statement("foo@statement.c:5-7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func 1 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5,6,7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func 2 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5,6-7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func 3 - matched 3 probes) spawn stap -l process("./statement").statement("*@statement.c:5-7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - wild func 1 - matched 3 probes) spawn stap -l process("./statement").statement("*@statement.c:5,6,7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - wild func 2 - matched 3 probes) spawn stap -l process("./statement").statement("*@statement.c:5-6,7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - wild func 3 - matched 3 probes) spawn stap -l process("./statement").statement("bar@statement.c:5") PASS: statement (ABSOLUTE - outside single func - matched 0 probes) spawn stap -l process("./statement").statement("[bm]*@statement.c:5") PASS: statement (ABSOLUTE - outside wild func - matched 0 probes) spawn stap -l process("./statement").statement("bar@statement.c:5-7") PASS: statement (ENUMERATED - outside single func 1 - matched 0 probes) spawn stap -l process("./statement").statement("bar@statement.c:5-6,7") PASS: statement (ENUMERATED - outside single func 2 - matched 0 probes) spawn stap -l process("./statement").statement("[bm]*@statement.c:5-7") PASS: statement (ENUMERATED - outside wild func 1 - matched 0 probes) spawn stap -l process("./statement").statement("[bm]*@statement.c:5,6-7") PASS: statement (ENUMERATED - outside wild func 2 - matched 0 probes) spawn stap -l process("./statement").statement("foo@statement.c+2") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (RELATIVE - single func - matched 1 probes) spawn stap -l process("./statement").statement("*@statement.c+2") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") PASS: statement (RELATIVE - wild func - matched 2 probes) spawn stap -l process("./statement").statement("foo@statement.c:*") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (WILDCARD - single func - matched 4 probes) spawn stap -l process("./statement").statement("*@statement.c:*") process("/root/systemtap_write/systemtap/testsuite/statement").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:9") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:12") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:14") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:17") PASS: statement (WILDCARD - wild func - matched 9 probes) spawn stap -p2 -e probe process("./statement").statement("main@statement.c:15") {} semantic error: no line records for /root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:15 [man error::dwarf] (try :14 or :17) PASS: statement (ABSOLUTE - error for no lines - single func - got semantic error) spawn stap -p2 -e probe process("./statement").statement("*@statement.c:15") {} semantic error: no line records for /root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:15 [man error::dwarf] (try :14 or :17) PASS: statement (ABSOLUTE - error for no lines - wild func - got semantic error) spawn stap -p2 -e probe process("./statement").statement("main@statement.c+4") {} semantic error: no line records for /root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:15 [man error::dwarf] (try :14 or :17) PASS: statement (RELATIVE - error for no lines - got semantic error) spawn stap -l process("./statement").statement("foo@statement.c:0-5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (ENUMERATED - out-of-bounds lower 1 - matched 2 probes) spawn stap -l process("./statement").statement("foo@statement.c:0,1-4,5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (ENUMERATED - out-of-bounds lower 2 - matched 2 probes) spawn stap -l process("./statement").statement("foo@statement.c:0,1,2,3,4,5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:4") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") PASS: statement (ENUMERATED - out-of-bounds lower 3 - matched 2 probes) spawn stap -l process("./statement").statement("foo@statement.c:5-999") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - out-of-bounds upper 1 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5,6,7,998,999") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - out-of-bounds upper 2 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5-13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func overlapping 1 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5,6-7,8,9,10-12,13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func overlapping 2 - matched 3 probes) spawn stap -l process("./statement").statement("foo@statement.c:5,6,7,8,9,10,11,12,13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") PASS: statement (ENUMERATED - single func overlapping 3 - matched 3 probes) spawn stap -l process("./statement").statement("*@statement.c:5-13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:9") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:12") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") PASS: statement (ENUMERATED - wildcard func overlapping 1 - matched 6 probes) spawn stap -l process("./statement").statement("*@statement.c:5-6,7-13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:9") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:12") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") PASS: statement (ENUMERATED - wildcard func overlapping 2 - matched 6 probes) spawn stap -l process("./statement").statement("*@statement.c:5,6,7,8,9,10,11,12,13") process("/root/systemtap_write/systemtap/testsuite/statement").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:9") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:5") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:6") process("/root/systemtap_write/systemtap/testsuite/statement").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:7") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:12") process("/root/systemtap_write/systemtap/testsuite/statement").statement("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/statement.c:13") PASS: statement (ENUMERATED - wildcard func overlapping 3 - matched 6 probes) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/statement.exp completed in 24 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting.exp ... running test stmt_counting_recursion running test stmt_counting_recursion with flag: executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 4 functions, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapkXy4Vc/stap_94995688394cfe03355608ec2199ce1a_1845_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_94995688394cfe03355608ec2199ce1a_1845.ko" in 0usr/3390sys/3434real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_recursion startup PASS: stmt_counting_recursion load generation Executing: kill -INT -16679 PASS: stmt_counting_recursion shutdown and output Pass 5: run completed in 0usr/80sys/516real ms. metric: stmt_counting_recursion 0 400 403 0 10 8 0 0 1 0 3390 3434 0 80 516 Executing: kill -INT -16679 running test stmt_counting_recursion with flag: -u executing: stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 spawn stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 2 probes, 9 functions, 0 embeds, 1 global using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapy9IUgc/stap_e0140a10d676400b5213f730fb6c4fe2_2466_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_e0140a10d676400b5213f730fb6c4fe2_2466.ko" in 0usr/3390sys/3444real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_recursion startup PASS: stmt_counting_recursion load generation Executing: kill -INT -16946 PASS: stmt_counting_recursion shutdown and output Pass 5: run completed in 0usr/80sys/505real ms. metric: stmt_counting_recursion 0 390 400 0 10 8 0 10 2 0 3390 3444 0 80 505 Executing: kill -INT -16946 running test stmt_counting_recursion with flag: -DMAXACTION=40 executing: stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 spawn stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/43520res/5888shr/37632data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 2 probes, 4 functions, 0 embeds, 1 global using 54848virt/43520res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapYnpIFd/stap_3f7f9746ce7e444e2b1a52f4f6c75e71_1857_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_3f7f9746ce7e444e2b1a52f4f6c75e71_1857.ko" in 0usr/3410sys/3446real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_recursion startup PASS: stmt_counting_recursion load generation Executing: kill -INT -17213 PASS: stmt_counting_recursion shutdown and output Pass 5: run completed in 0usr/70sys/495real ms. metric: stmt_counting_recursion 0 390 400 0 10 8 0 0 1 0 3410 3446 0 70 495 Executing: kill -INT -17213 running test stmt_counting_recursion with flag: -DMAXACTION=1 spawn stap -DMAXACTION=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp 6 ERROR: MAXACTION exceeded near keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_recursion.stp:17:3 PASS: stmt_counting_recursion running test stmt_counting_loops running test stmt_counting_loops with flag: executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 Pass 1: parsed user script and 115 library scripts using 54144virt/45120res/5888shr/37696data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 4 functions, 0 embeds, 1 global using 54912virt/45120res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapMjqr78/stap_ab8762222ae24c8a0b6b1d67061530d0_2032_src.c" using 54912virt/47488res/6912shr/38464data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_ab8762222ae24c8a0b6b1d67061530d0_2032.ko" in 0usr/3410sys/3465real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_loops startup PASS: stmt_counting_loops load generation Executing: kill -INT -17743 PASS: stmt_counting_loops shutdown and output Pass 5: run completed in 0usr/80sys/506real ms. metric: stmt_counting_loops 0 400 402 0 10 8 0 0 2 0 3410 3465 0 80 506 Executing: kill -INT -17743 running test stmt_counting_loops with flag: -u executing: stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 spawn stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 9 functions, 0 embeds, 1 global using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapAai3K9/stap_78b73cc3a3a49fef6cb9267ff5fa9418_2673_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_78b73cc3a3a49fef6cb9267ff5fa9418_2673.ko" in 0usr/3410sys/3457real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_loops startup PASS: stmt_counting_loops load generation Executing: kill -INT -18010 PASS: stmt_counting_loops shutdown and output Pass 5: run completed in 0usr/70sys/500real ms. metric: stmt_counting_loops 0 400 403 0 10 8 0 0 2 0 3410 3457 0 70 500 Executing: kill -INT -18010 running test stmt_counting_loops with flag: -DMAXACTION=40 executing: stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 spawn stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/43456res/5888shr/37632data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 2 probes, 4 functions, 0 embeds, 1 global using 54848virt/43456res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapmc4g49/stap_642e383f6b1c0ea6a9acb151ce7979f6_2044_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_642e383f6b1c0ea6a9acb151ce7979f6_2044.ko" in 0usr/3420sys/3460real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_loops startup PASS: stmt_counting_loops load generation Executing: kill -INT -18277 PASS: stmt_counting_loops shutdown and output Pass 5: run completed in 0usr/70sys/535real ms. metric: stmt_counting_loops 0 410 409 0 10 9 0 0 2 0 3420 3460 0 70 535 Executing: kill -INT -18277 running test stmt_counting_loops with flag: -DMAXACTION=1 spawn stap -DMAXACTION=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp 6 ERROR: MAXACTION exceeded near identifier 'num' at /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_loops.stp:25:5 PASS: stmt_counting_loops running test stmt_counting_straight running test stmt_counting_straight with flag: executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 2 globals using 54912virt/45056res/5888shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapWayKSe/stap_5bac11522a8427067f748d11bce849ac_2019_src.c" using 54912virt/47424res/6912shr/38464data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_5bac11522a8427067f748d11bce849ac_2019.ko" in 0usr/3370sys/3417real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_straight startup PASS: stmt_counting_straight load generation Executing: kill -INT -18807 PASS: stmt_counting_straight shutdown and output Pass 5: run completed in 0usr/70sys/499real ms. metric: stmt_counting_straight 0 400 403 0 10 8 0 0 2 0 3370 3417 0 70 499 Executing: kill -INT -18807 running test stmt_counting_straight with flag: -u executing: stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 spawn stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 7 functions, 0 embeds, 2 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapiLq2kd/stap_4470534764b0961a63bb5b853a1cc4b9_2690_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_4470534764b0961a63bb5b853a1cc4b9_2690.ko" in 0usr/3410sys/3450real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_straight startup PASS: stmt_counting_straight load generation Executing: kill -INT -19074 PASS: stmt_counting_straight shutdown and output Pass 5: run completed in 0usr/70sys/512real ms. metric: stmt_counting_straight 0 390 398 0 10 8 0 0 2 0 3410 3450 0 70 512 Executing: kill -INT -19074 running test stmt_counting_straight with flag: -DMAXACTION=40 executing: stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 spawn stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/43456res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 2 globals using 54848virt/43456res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapobMHKc/stap_19aafbac2f169829010ff77470171051_2031_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_19aafbac2f169829010ff77470171051_2031.ko" in 0usr/3370sys/3417real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_straight startup PASS: stmt_counting_straight load generation Executing: kill -INT -19341 PASS: stmt_counting_straight shutdown and output Pass 5: run completed in 0usr/70sys/502real ms. metric: stmt_counting_straight 0 400 401 0 10 8 0 0 2 0 3370 3417 0 70 502 Executing: kill -INT -19341 running test stmt_counting_straight with flag: -DMAXACTION=1 spawn stap -DMAXACTION=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_straight.stp 6 ERROR: MAXACTION exceeded PASS: stmt_counting_straight running test stmt_counting_functions running test stmt_counting_functions with flag: executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 1 global using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapRSksH6/stap_3d4c6fc2e4f0b23cbbcc0b6ee7226543_2155_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_3d4c6fc2e4f0b23cbbcc0b6ee7226543_2155.ko" in 0usr/3390sys/3433real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_functions startup PASS: stmt_counting_functions load generation Executing: kill -INT -19872 PASS: stmt_counting_functions shutdown and output Pass 5: run completed in 0usr/70sys/514real ms. metric: stmt_counting_functions 0 400 405 0 10 9 0 10 2 0 3390 3433 0 70 514 Executing: kill -INT -19872 running test stmt_counting_functions with flag: -u executing: stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 spawn stap -v -u /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 2 probes, 8 functions, 0 embeds, 1 global using 54912virt/45056res/5888shr/38464data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/staplULb35/stap_c707913df08ad8a26172677723f4eae0_2826_src.c" using 54912virt/47424res/6912shr/38464data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "stap_c707913df08ad8a26172677723f4eae0_2826.ko" in 0usr/3430sys/3477real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_functions startup PASS: stmt_counting_functions load generation Executing: kill -INT -20139 PASS: stmt_counting_functions shutdown and output Pass 5: run completed in 0usr/70sys/503real ms. metric: stmt_counting_functions 0 400 400 0 0 8 0 0 3 0 3430 3477 0 70 503 Executing: kill -INT -20139 running test stmt_counting_functions with flag: -DMAXACTION=40 executing: stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 spawn stap -v -DMAXACTION=40 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 Pass 1: parsed user script and 115 library scripts using 54080virt/43456res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 1 global using 54848virt/43456res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapv3l4u4/stap_afc6476ca334160b1d59e3d335de2c7d_2167_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_afc6476ca334160b1d59e3d335de2c7d_2167.ko" in 0usr/3380sys/3436real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe pass PASS: stmt_counting_functions startup PASS: stmt_counting_functions load generation Executing: kill -INT -20406 PASS: stmt_counting_functions shutdown and output Pass 5: run completed in 0usr/70sys/516real ms. metric: stmt_counting_functions 0 400 403 0 10 9 0 0 2 0 3380 3436 0 70 516 Executing: kill -INT -20406 running test stmt_counting_functions with flag: -DMAXACTION=1 spawn stap -DMAXACTION=1 /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting_functions.stp 6 ERROR: MAXACTION exceeded PASS: stmt_counting_functions testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_counting.exp completed in 80 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_inlines.exp ... PASS: stmt_inlines (compiled) spawn stap -L process("./stmt_inlines").statement("foo@stmt_inlines.c:6") process("/root/systemtap_write/systemtap/testsuite/stmt_inlines").statement("foo@/root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_inlines.c:6") $i:int PASS: stmt_inlines (listing) spawn stap -e probe process("./stmt_inlines").statement("foo@stmt_inlines.c:6") { printf("before printf with i=%d\n", $i) } -c ./stmt_inlines printf 1 printf 2 before printf with i=1 before printf with i=2 PASS: stmt_inlines (probing) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_inlines.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel.exp ... parsed lineno 274 in line kernel.statement("bio_init@block/bio.c:274") parsed lineno 275 in line kernel.statement("bio_init@block/bio.c:275") parsed lineno 278 in line kernel.statement("bio_init@block/bio.c:278") PASS: stmt_rel (bio_init sanity check) parsed lineno 274 in line kernel.statement("bio_init@block/bio.c:274") parsed lineno 275 in line kernel.statement("bio_init@block/bio.c:275") parsed lineno 278 in line kernel.statement("bio_init@block/bio.c:278") parsed lineno 273 in line kernel.function("bio_init@block/bio.c:273") parsed lineno 274 in line kernel.statement("bio_init@block/bio.c:274") parsed lineno 275 in line kernel.statement("bio_init@block/bio.c:275") parsed lineno 278 in line kernel.statement("bio_init@block/bio.c:278") PASS: stmt_rel (bio_init@*/bio.c - linenos in wildcard also in rel) parsed lineno 292 in line kernel.statement("bio_reset@block/bio.c:292") parsed lineno 293 in line kernel.statement("bio_reset@block/bio.c:293") parsed lineno 295 in line kernel.statement("bio_reset@block/bio.c:295") parsed lineno 297 in line kernel.statement("bio_reset@block/bio.c:297") parsed lineno 298 in line kernel.statement("bio_reset@block/bio.c:298") parsed lineno 300 in line kernel.statement("bio_reset@block/bio.c:300") parsed lineno 291 in line kernel.function("bio_reset@block/bio.c:291") parsed lineno 292 in line kernel.statement("bio_reset@block/bio.c:292") parsed lineno 293 in line kernel.statement("bio_reset@block/bio.c:293") parsed lineno 295 in line kernel.statement("bio_reset@block/bio.c:295") parsed lineno 297 in line kernel.statement("bio_reset@block/bio.c:297") parsed lineno 298 in line kernel.statement("bio_reset@block/bio.c:298") parsed lineno 300 in line kernel.statement("bio_reset@block/bio.c:300") PASS: stmt_rel (bio_reset@*/bio.c - linenos in wildcard also in rel) parsed lineno 461 in line kernel.statement("vfs_read@fs/read_write.c:461") parsed lineno 464 in line kernel.statement("vfs_read@fs/read_write.c:464") parsed lineno 465 in line kernel.statement("vfs_read@fs/read_write.c:465") parsed lineno 466 in line kernel.statement("vfs_read@fs/read_write.c:466") parsed lineno 467 in line kernel.statement("vfs_read@fs/read_write.c:467") parsed lineno 468 in line kernel.statement("vfs_read@fs/read_write.c:468") parsed lineno 469 in line kernel.statement("vfs_read@fs/read_write.c:469") parsed lineno 471 in line kernel.statement("vfs_read@fs/read_write.c:471") parsed lineno 472 in line kernel.statement("vfs_read@fs/read_write.c:472") parsed lineno 475 in line kernel.statement("vfs_read@fs/read_write.c:475") parsed lineno 476 in line kernel.statement("vfs_read@fs/read_write.c:476") parsed lineno 478 in line kernel.statement("vfs_read@fs/read_write.c:478") parsed lineno 480 in line kernel.statement("vfs_read@fs/read_write.c:480") parsed lineno 484 in line kernel.statement("vfs_read@fs/read_write.c:484") parsed lineno 460 in line kernel.function("vfs_read@fs/read_write.c:460") parsed lineno 461 in line kernel.statement("vfs_read@fs/read_write.c:461") parsed lineno 464 in line kernel.statement("vfs_read@fs/read_write.c:464") parsed lineno 465 in line kernel.statement("vfs_read@fs/read_write.c:465") parsed lineno 466 in line kernel.statement("vfs_read@fs/read_write.c:466") parsed lineno 467 in line kernel.statement("vfs_read@fs/read_write.c:467") parsed lineno 468 in line kernel.statement("vfs_read@fs/read_write.c:468") parsed lineno 469 in line kernel.statement("vfs_read@fs/read_write.c:469") parsed lineno 471 in line kernel.statement("vfs_read@fs/read_write.c:471") parsed lineno 472 in line kernel.statement("vfs_read@fs/read_write.c:472") parsed lineno 475 in line kernel.statement("vfs_read@fs/read_write.c:475") parsed lineno 476 in line kernel.statement("vfs_read@fs/read_write.c:476") parsed lineno 478 in line kernel.statement("vfs_read@fs/read_write.c:478") parsed lineno 480 in line kernel.statement("vfs_read@fs/read_write.c:480") parsed lineno 484 in line kernel.statement("vfs_read@fs/read_write.c:484") PASS: stmt_rel (vfs_read@fs/read_write.c - linenos in wildcard also in rel) parsed lineno 545 in line kernel.statement("vfs_write@fs/read_write.c:545") parsed lineno 548 in line kernel.statement("vfs_write@fs/read_write.c:548") parsed lineno 549 in line kernel.statement("vfs_write@fs/read_write.c:549") parsed lineno 550 in line kernel.statement("vfs_write@fs/read_write.c:550") parsed lineno 551 in line kernel.statement("vfs_write@fs/read_write.c:551") parsed lineno 552 in line kernel.statement("vfs_write@fs/read_write.c:552") parsed lineno 553 in line kernel.statement("vfs_write@fs/read_write.c:553") parsed lineno 555 in line kernel.statement("vfs_write@fs/read_write.c:555") parsed lineno 556 in line kernel.statement("vfs_write@fs/read_write.c:556") parsed lineno 560 in line kernel.statement("vfs_write@fs/read_write.c:560") parsed lineno 561 in line kernel.statement("vfs_write@fs/read_write.c:561") parsed lineno 563 in line kernel.statement("vfs_write@fs/read_write.c:563") parsed lineno 565 in line kernel.statement("vfs_write@fs/read_write.c:565") parsed lineno 570 in line kernel.statement("vfs_write@fs/read_write.c:570") parsed lineno 544 in line kernel.function("vfs_write@fs/read_write.c:544") parsed lineno 545 in line kernel.statement("vfs_write@fs/read_write.c:545") parsed lineno 548 in line kernel.statement("vfs_write@fs/read_write.c:548") parsed lineno 549 in line kernel.statement("vfs_write@fs/read_write.c:549") parsed lineno 550 in line kernel.statement("vfs_write@fs/read_write.c:550") parsed lineno 551 in line kernel.statement("vfs_write@fs/read_write.c:551") parsed lineno 552 in line kernel.statement("vfs_write@fs/read_write.c:552") parsed lineno 553 in line kernel.statement("vfs_write@fs/read_write.c:553") parsed lineno 555 in line kernel.statement("vfs_write@fs/read_write.c:555") parsed lineno 556 in line kernel.statement("vfs_write@fs/read_write.c:556") parsed lineno 560 in line kernel.statement("vfs_write@fs/read_write.c:560") parsed lineno 561 in line kernel.statement("vfs_write@fs/read_write.c:561") parsed lineno 563 in line kernel.statement("vfs_write@fs/read_write.c:563") parsed lineno 565 in line kernel.statement("vfs_write@fs/read_write.c:565") parsed lineno 570 in line kernel.statement("vfs_write@fs/read_write.c:570") PASS: stmt_rel (vfs_write@fs/read_write.c - linenos in wildcard also in rel) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel.exp completed in 84 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x PASS: stmt_rel_user-m64 compiling spawn stap -c ./stmt_rel_user.x -e probe process("./stmt_rel_user.x").statement("Move@stmt_rel_user.c+2") {printf("Move %d\n",$s1)} Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 PASS: stmt_rel_user-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x PASS: stmt_rel_user-m64 compiling spawn stap -c ./stmt_rel_user.x -e probe process("./stmt_rel_user.x").statement("Move@stmt_rel_user.c+2") {printf("Move %d\n",$s1)} Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 2 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 3 Move 2 Move 2 Move 1 Move 2 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 Move 1 Move 2 Move 2 Move 1 Move 1 Move 3 Move 3 Move 2 Move 3 Move 1 Move 1 Move 3 PASS: stmt_rel_user-m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -O -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c -Wall -Werror -Winline -g -O -lm -o /root/systemtap_write/systemtap/testsuite/stmt_rel_user.x PASS: stmt_rel_user-m64-O compiling spawn stap -c ./stmt_rel_user.x -e probe process("./stmt_rel_user.x").statement("Move@stmt_rel_user.c+2") {printf("Move %d\n",$s1)} semantic error: no line records for /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.c:94 [man error::dwarf] (try :95) semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./stmt_rel_user.x").statement("Move@stmt_rel_user.c+2") {printf("Move %d\n",$s1)} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: stmt_rel_user-m64-O (0) (PRMS: 13430) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stmt_rel_user.exp completed in 17 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/stmtvars.exp ... spawn stap -e probe kernel.function("do_sys_open") {$foo} -p4 -vv -u Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/staplDTpBp" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45248res/6080shr/37568data kb, in 0usr/400sys/404real ms. Attempting to extract kernel debuginfo build ID from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux.id Attempting to extract kernel debuginfo build ID from /sys/kernel/notes focused on module 'kernel' = [0xfffffc0008080000-0xfffffc0009eef840, bias 0 file /lib/modules/4.8.0-rc1uprobes+/build/vmlinux ELF machine arm64| (code 183) probe do_sys_open@fs/open.c:1021 kernel reloc=.dynamic pc=0xfffffc00082a02d4 semantic error: while processing probe kernel.function("do_sys_open@fs/open.c:1021") from: kernel.function("do_sys_open") thrown from: elaborate.cxx:5624 semantic error: unable to find local 'foo', [man error::dwarf] dieoffset 0x177ec07 in kernel, near pc 0xfffffc00082a02d4 in do_sys_open fs/open.c (alternatives: $op, $fd, $dfd, $mode, $tmp, $flags, $filename)): identifier '$foo' at :1:39 thrown from: dwflpp.cxx:2833 source: probe kernel.function("do_sys_open") {$foo} ^ Pass 2: analyzed script: 2 probes, 7 functions, 0 embeds, 0 globals using 94656virt/87936res/7616shr/78208data kb, in 0usr/1180sys/1197real ms. Pass 2: analysis failed. [man error::pass2] Running rm -rf /tmp/staplDTpBp Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/staplDTpBp" pc=0xfffffc00082a02d4 vars=$op, $fd, $dfd, $mode, $tmp, $flags, $filename) PASS: stmtvars - .function spawn stap -e probe kernel.statement(0xfffffc00082a02d4) {$foo} -p4 -vv -u Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapk48wag" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45184res/6080shr/37568data kb, in 0usr/400sys/402real ms. Attempting to extract kernel debuginfo build ID from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux.id Attempting to extract kernel debuginfo build ID from /sys/kernel/notes focused on module 'kernel' = [0xfffffc0008080000-0xfffffc0009eef840, bias 0 file /lib/modules/4.8.0-rc1uprobes+/build/vmlinux ELF machine arm64| (code 183) probe do_sys_open@fs/open.c:1022 kernel reloc=.dynamic pc=0xfffffc00082a02d4 semantic error: while processing probe kernel.statement(0xfffffc00082a02d4) from: kernel.statement(-4397909540140) thrown from: elaborate.cxx:5624 semantic error: unable to find local 'foo', [man error::dwarf] dieoffset 0x177ec07 in kernel, near pc 0xfffffc00082a02d4 in do_sys_open fs/open.c (alternatives: $op, $fd, $dfd, $mode, $tmp, $flags, $filename)): identifier '$foo' at :1:45 thrown from: dwflpp.cxx:2833 source: probe kernel.statement(0xfffffc00082a02d4) {$foo} ^ Pass 2: analyzed script: 2 probes, 7 functions, 0 embeds, 0 globals using 70144virt/63552res/7616shr/53696data kb, in 0usr/210sys/205real ms. Pass 2: analysis failed. [man error::pass2] Running rm -rf /tmp/stapk48wag Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapk48wag" pc2=0xfffffc00082a02d4 vars2=$op, $fd, $dfd, $mode, $tmp, $flags, $filename) PASS: stmtvars testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/stmtvars.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/strftime.exp ... stap -o $format -we {probe begin {println("hello");exit()}} PASS: strftime (%S and %T) stap -o $format -we {probe begin {println("hello");exit()}} PASS: strftime (except %S and %T) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/strftime.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/suppress-time-limit.exp ... spawn stap -g --suppress-time-limits /root/systemtap_write/systemtap/testsuite/systemtap.base/suppress-time-limit.stp 100000 PASS: suppress-time-limit active (1) spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/suppress-time-limit.stp ERROR: MAXACTION exceeded near keyword at /root/systemtap_write/systemtap/testsuite/systemtap.base/suppress-time-limit.stp:2:15 9997 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: suppress-time-limit passive (4) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/suppress-time-limit.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/switch_file.exp ... Running stap -vo switch_file.out -e {probe begin {switch_file(); exit()}} Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 2 probes, 5 functions, 3 embeds, 0 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1470sys/1505real ms. Pass 3: translated to C into "/tmp/stapzrCox8/stap_362a75d285cc0013c3800895b91fc753_2657_src.c" using 55488virt/48576res/7488shr/39040data kb, in 0usr/10sys/1real ms. Pass 4: compiled C into "stap_362a75d285cc0013c3800895b91fc753_2657.ko" in 0usr/3370sys/3430real ms. Pass 5: starting run. Pass 5: run completed in 0usr/80sys/507real ms. PASS: switch_file (output file) PASS: switch_file (switch output file) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/switch_file.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/sysroot_sysenv.exp ... spawn stap --sysroot=/ --sysenv=PATH=/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin /root/systemtap_write/systemtap/testsuite/systemtap.base/sysroot_sysenv.stp ls -c ls > /dev/null process begin PASS: sysroot_sysenv testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/sysroot_sysenv.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/system_func.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/system_func.stp do_sys_open root cat: __xyzzy123ABC__: No such file or directory DONE PASS: system_func testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/system_func.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/systemtap-service.exp ... PASS: stap-service - found systemtap etc directory UNTESTED: stap-service (service file /etc/rc.d/init.d/systemtap present) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/systemtap-service.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/tapset_includes.exp ... executing: stap -e {probe end { if (test_global) println("end") }} -c true -I/root/systemtap_write/systemtap/testsuite/systemtap.base/tapset PASS: tapset include global executing: stap -e {probe end { if (test_function()) println("end") }} -c true -I/root/systemtap_write/systemtap/testsuite/systemtap.base/tapset PASS: tapset include function executing: stap -e {probe test_alias { if (alias_local) println("end") }} -c true -I/root/systemtap_write/systemtap/testsuite/systemtap.base/tapset PASS: tapset include alias testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/tapset_includes.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set.stp 12345 -c ( ( /bin/sleep 12345 ) ; ( /bin/sleep 12345 ) ; ( /bin/sleep 12345 ) ) 24611 24611 begat 24613 target set: 24611 begat 24613 24613 begat 24616 24616 begat 24617 Executing: kill -INT 24617 target set: 24611 begat 24613 24613 begat 24616 24616 begat 24628 Executing: kill -INT 24628 target set: 24611 begat 24613 24613 begat 24616 24616 begat 24637 Executing: kill -INT 24637 WARNING: Child process exited with status 130 target set: WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: target_set testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set_thread.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set_thread.stp -c {stap --benchmark-sdt-loops=1 --benchmark-sdt-threads=1} PASS: target_set_thread testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/target_set_thread.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.stp -c sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh / begin /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/bin/bash /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /etc/ld.so.cache /etc/ld.so.cache /usr/lib64/libtinfo.so.5.9 /usr/lib64/libtinfo.so.5.9 /usr/lib64/libtinfo.so.5.9 /usr/lib64/libtinfo.so.5.9 /usr/lib64/libdl-2.17.so /usr/lib64/libdl-2.17.so /usr/lib64/libdl-2.17.so /usr/lib64/libdl-2.17.so /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /etc/ld.so.cache /dev/tty /dev/tty /dev/tty /proc/meminfo /proc/meminfo /proc/meminfo /proc/meminfo /proc/meminfo /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh pipe:[354550] pipe:[349882] /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/bin/dirname /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /usr/lib64/ld-2.17.so /etc/ld.so.cache /etc/ld.so.cache /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /usr/lib64/libc-2.17.so /etc/ld.so.cache pipe:[349882] pipe:[349882] pipe:[349882] pipe:[349882] pipe:[349882] pipe:[354550] pipe:[354550] pipe:[354550] pipe:[354550] pipe:[354550] /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh /dev/pts/27 /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.sh ERROR: read fault [man error::fault] at 0x0000000000000078 (addr) near operator '@cast' at /root/systemtap_write/install/share/systemtap/tapset/linux/dentry.stp:241:17 WARNING: Number of errors: 1, skipped probes: 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: task_dentry_path (0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/task_dentry_path.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.c -g -lm -o /root/systemtap_write/systemtap/testsuite/task_fd_lookup (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.c -g -lm -o /root/systemtap_write/systemtap/testsuite/task_fd_lookup spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.stp -c /root/systemtap_write/systemtap/testsuite/task_fd_lookup /tmp/staptestbgUkDW/a/b/c/d/e/f/g stap /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.stp -c "/root/systemtap_write/systemtap/testsuite/task_fd_lookup /tmp/staptestbgUkDW/a/b/c/d/e/f/g" 0: /dev/pts/27 1: /dev/pts/27 2: /dev/pts/27 3: / 4: /tmp/staptestbgUkDW/a/b/c/d/e/f/g 5: pipe:[349898] 6: pipe:[349898] 7: socket:[349899] 8: fail reading file 9: fail reading file 10: fail reading file 11: fail reading file 12: fail reading file 13: fail reading file 14: fail reading file PASS: task_fd_lookup testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/task_fd_lookup.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/task_paths.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/task_paths.stp -c whoami stap /root/systemtap_write/systemtap/testsuite/systemtap.base/task_paths.stp -c whoami root current cwd: /root/systemtap_write/systemtap/testsuite current exe: /root/systemtap_write/install/libexec/systemtap/stapio target cwd: /root/systemtap_write/systemtap/testsuite target exe: /root/systemtap_write/install/libexec/systemtap/stapio ERROR: read fault [man error::fault] at 0x (null) (task) ERROR: read fault [man error::fault] at 0x (null) (task) ERROR: read fault [man error::fault] at 0xffffffffffffffff (task) ERROR: read fault [man error::fault] at 0xffffffffffffffff (task) current cwd: /root/systemtap_write/systemtap/testsuite current exe: /usr/bin/whoami PASS: task_paths testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/task_paths.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/temp-directory.exp ... spawn stap -k -p1 -e probe begin{exit();} # parse tree dump # file probe begin{ exit(); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } Keeping temporary directory "/tmp/stapFjG8Dh" PASS: keep temporary directory (pass1 only) spawn stap -k -e probe begin{exit();} Keeping temporary directory "/tmp/stapJEm4U3" PASS: keep temporary directory (full run) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/temp-directory.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/timeofday.exp ... executing: stap -v -e { global timeofday probe kernel.function("do_timer") { timeofday = gettimeofday_us() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%d\n", timeofday) } } spawn stap -v -e global timeofday probe kernel.function("do_timer") { timeofday = gettimeofday_us() } probe begin { log("systemtap starting probe") } probe end { log("systemtap ending probe") printf("%d\n", timeofday) } Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 5 probes, 4 functions, 1 embed, 1 global using 94400virt/87552res/7296shr/77952data kb, in 0usr/1180sys/1197real ms. Pass 3: translated to C into "/tmp/stapynwwrz/stap_d540d2e999e9b055ea8b54ac3c87caf2_2582_src.c" using 94400virt/87744res/7488shr/77952data kb, in 0usr/10sys/11real ms. Pass 4: compiled C into "stap_d540d2e999e9b055ea8b54ac3c87caf2_2582.ko" in 0usr/3830sys/3879real ms. Pass 5: starting run. systemtap starting probe PASS: timeofday test startup PASS: timeofday test load generation Executing: kill -INT -25945 systemtap ending probe 1471372694793142 PASS: timeofday test shutdown and output Pass 5: run completed in 0usr/80sys/2020real ms. metric: timeofday test 0 400 405 0 1180 1197 0 10 11 0 3830 3879 0 80 2020 Executing: kill -INT -25945 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/timeofday.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/timeout.exp ... Running stap -T 1 -e 'probe end {println("terminated")}' spawn stap -T 1 -e probe end {println("terminated")} terminated PASS: timeout option testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/timeout.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/timers.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/timers.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/timers.stp Pass 1: parsed user script and 115 library scripts using 54272virt/44992res/5888shr/37824data kb, in 0usr/400sys/409real ms. Pass 2: analyzed script: 20 probes, 1 function, 0 embeds, 17 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapAsYyBR/stap_e34684da4da8d093dabfdf8faa0af71b_5244_src.c" using 54976virt/47936res/7360shr/38528data kb, in 0usr/10sys/6real ms. Pass 4: compiled C into "stap_e34684da4da8d093dabfdf8faa0af71b_5244.ko" in 0usr/4010sys/4066real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/timers.stp startup PASS: systemtap.base/timers.stp load generation Executing: kill -INT -26450 systemtap ending probe p = 30353 phz = 840 j1 = 5257 j2 = 3504 jr = 100 jmax = 0 ms1 = 10512 ms500 = 21 msmax = 0 msr = 9 sec = 2 secr = 1 us = 10512 usr = 10478 ns = 10516 nsr = 10516 hz = 10512 systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success systemtap test success PASS: systemtap.base/timers.stp shutdown and output Pass 5: run completed in 0usr/70sys/11010real ms. metric: systemtap.base/timers.stp 0 400 409 0 10 10 0 10 6 0 4010 4066 0 70 11010 Executing: kill -INT -26450 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/timers.exp completed in 16 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints.exp ... spawn stap -l kernel.trace("*") kernel.trace("9p:9p_client_req") kernel.trace("9p:9p_client_res") kernel.trace("9p:9p_protocol_dump") kernel.trace("asoc:snd_soc_bias_level_done") kernel.trace("asoc:snd_soc_bias_level_start") kernel.trace("asoc:snd_soc_dapm_connected") kernel.trace("asoc:snd_soc_dapm_done") kernel.trace("asoc:snd_soc_dapm_path") kernel.trace("asoc:snd_soc_dapm_start") kernel.trace("asoc:snd_soc_dapm_walk_done") kernel.trace("asoc:snd_soc_dapm_widget_event_done") kernel.trace("asoc:snd_soc_dapm_widget_event_start") kernel.trace("asoc:snd_soc_dapm_widget_power") kernel.trace("asoc:snd_soc_jack_irq") kernel.trace("asoc:snd_soc_jack_notify") kernel.trace("asoc:snd_soc_jack_report") kernel.trace("bcache:bcache_alloc") kernel.trace("bcache:bcache_alloc_fail") kernel.trace("bcache:bcache_btree_cache_cannibalize") kernel.trace("bcache:bcache_btree_gc_coalesce") kernel.trace("bcache:bcache_btree_insert_key") kernel.trace("bcache:bcache_btree_node_alloc") kernel.trace("bcache:bcache_btree_node_alloc_fail") kernel.trace("bcache:bcache_btree_node_compact") kernel.trace("bcache:bcache_btree_node_free") kernel.trace("bcache:bcache_btree_node_split") kernel.trace("bcache:bcache_btree_read") kernel.trace("bcache:bcache_btree_set_root") kernel.trace("bcache:bcache_btree_write") kernel.trace("bcache:bcache_bypass_congested") kernel.trace("bcache:bcache_bypass_sequential") kernel.trace("bcache:bcache_cache_insert") kernel.trace("bcache:bcache_gc_copy") kernel.trace("bcache:bcache_gc_copy_collision") kernel.trace("bcache:bcache_gc_end") kernel.trace("bcache:bcache_gc_start") kernel.trace("bcache:bcache_invalidate") kernel.trace("bcache:bcache_journal_entry_full") kernel.trace("bcache:bcache_journal_full") kernel.trace("bcache:bcache_journal_replay_key") kernel.trace("bcache:bcache_journal_write") kernel.trace("bcache:bcache_keyscan") kernel.trace("bcache:bcache_read") kernel.trace("bcache:bcache_read_retry") kernel.trace("bcache:bcache_request_end") kernel.trace("bcache:bcache_request_start") kernel.trace("bcache:bcache_write") kernel.trace("bcache:bcache_writeback") kernel.trace("bcache:bcache_writeback_collision") kernel.trace("block:block_bio_backmerge") kernel.trace("block:block_bio_bounce") kernel.trace("block:block_bio_complete") kernel.trace("block:block_bio_frontmerge") kernel.trace("block:block_bio_queue") kernel.trace("block:block_bio_remap") kernel.trace("block:block_dirty_buffer") kernel.trace("block:block_getrq") kernel.trace("block:block_plug") kernel.trace("block:block_rq_abort") kernel.trace("block:block_rq_complete") kernel.trace("block:block_rq_insert") kernel.trace("block:block_rq_issue") kernel.trace("block:block_rq_remap") kernel.trace("block:block_rq_requeue") kernel.trace("block:block_sleeprq") kernel.trace("block:block_split") kernel.trace("block:block_touch_buffer") kernel.trace("block:block_unplug") kernel.trace("btrfs:__extent_writepage") kernel.trace("btrfs:add_delayed_data_ref") kernel.trace("btrfs:add_delayed_ref_head") kernel.trace("btrfs:add_delayed_tree_ref") kernel.trace("btrfs:alloc_extent_state") kernel.trace("btrfs:btrfs_add_block_group") kernel.trace("btrfs:btrfs_all_work_done") kernel.trace("btrfs:btrfs_chunk_alloc") kernel.trace("btrfs:btrfs_chunk_free") kernel.trace("btrfs:btrfs_cow_block") kernel.trace("btrfs:btrfs_failed_cluster_setup") kernel.trace("btrfs:btrfs_find_cluster") kernel.trace("btrfs:btrfs_flush_space") kernel.trace("btrfs:btrfs_get_extent") kernel.trace("btrfs:btrfs_inode_evict") kernel.trace("btrfs:btrfs_inode_new") kernel.trace("btrfs:btrfs_inode_request") kernel.trace("btrfs:btrfs_ordered_extent_add") kernel.trace("btrfs:btrfs_ordered_extent_put") kernel.trace("btrfs:btrfs_ordered_extent_remove") kernel.trace("btrfs:btrfs_ordered_extent_start") kernel.trace("btrfs:btrfs_ordered_sched") kernel.trace("btrfs:btrfs_qgroup_account_extent") kernel.trace("btrfs:btrfs_qgroup_account_extents") kernel.trace("btrfs:btrfs_qgroup_free_data_rsv_map") kernel.trace("btrfs:btrfs_qgroup_free_delayed_ref") kernel.trace("btrfs:btrfs_qgroup_init_data_rsv_map") kernel.trace("btrfs:btrfs_qgroup_insert_dirty_extent") kernel.trace("btrfs:btrfs_qgroup_release_data") kernel.trace("btrfs:btrfs_qgroup_reserve_data") kernel.trace("btrfs:btrfs_reserve_extent") kernel.trace("btrfs:btrfs_reserve_extent_cluster") kernel.trace("btrfs:btrfs_reserved_extent_alloc") kernel.trace("btrfs:btrfs_reserved_extent_free") kernel.trace("btrfs:btrfs_setup_cluster") kernel.trace("btrfs:btrfs_space_reservation") kernel.trace("btrfs:btrfs_sync_file") kernel.trace("btrfs:btrfs_sync_fs") kernel.trace("btrfs:btrfs_transaction_commit") kernel.trace("btrfs:btrfs_trigger_flush") kernel.trace("btrfs:btrfs_work_queued") kernel.trace("btrfs:btrfs_work_sched") kernel.trace("btrfs:btrfs_workqueue_alloc") kernel.trace("btrfs:btrfs_workqueue_destroy") kernel.trace("btrfs:btrfs_writepage_end_io_hook") kernel.trace("btrfs:find_free_extent") kernel.trace("btrfs:free_extent_state") kernel.trace("btrfs:qgroup_update_counters") kernel.trace("btrfs:run_delayed_data_ref") kernel.trace("btrfs:run_delayed_ref_head") kernel.trace("btrfs:run_delayed_tree_ref") kernel.trace("cfg80211:cfg80211_cac_event") kernel.trace("cfg80211:cfg80211_ch_switch_notify") kernel.trace("cfg80211:cfg80211_ch_switch_started_notify") kernel.trace("cfg80211:cfg80211_chandef_dfs_required") kernel.trace("cfg80211:cfg80211_cqm_pktloss_notify") kernel.trace("cfg80211:cfg80211_cqm_rssi_notify") kernel.trace("cfg80211:cfg80211_del_sta") kernel.trace("cfg80211:cfg80211_ft_event") kernel.trace("cfg80211:cfg80211_get_bss") kernel.trace("cfg80211:cfg80211_gtk_rekey_notify") kernel.trace("cfg80211:cfg80211_ibss_joined") kernel.trace("cfg80211:cfg80211_inform_bss_frame") kernel.trace("cfg80211:cfg80211_mgmt_tx_status") kernel.trace("cfg80211:cfg80211_michael_mic_failure") kernel.trace("cfg80211:cfg80211_new_sta") kernel.trace("cfg80211:cfg80211_notify_new_peer_candidate") kernel.trace("cfg80211:cfg80211_pmksa_candidate_notify") kernel.trace("cfg80211:cfg80211_probe_status") kernel.trace("cfg80211:cfg80211_radar_event") kernel.trace("cfg80211:cfg80211_ready_on_channel") kernel.trace("cfg80211:cfg80211_ready_on_channel_expired") kernel.trace("cfg80211:cfg80211_reg_can_beacon") kernel.trace("cfg80211:cfg80211_report_obss_beacon") kernel.trace("cfg80211:cfg80211_report_wowlan_wakeup") kernel.trace("cfg80211:cfg80211_return_bool") kernel.trace("cfg80211:cfg80211_return_bss") kernel.trace("cfg80211:cfg80211_return_u32") kernel.trace("cfg80211:cfg80211_return_uint") kernel.trace("cfg80211:cfg80211_rx_mgmt") kernel.trace("cfg80211:cfg80211_rx_mlme_mgmt") kernel.trace("cfg80211:cfg80211_rx_spurious_frame") kernel.trace("cfg80211:cfg80211_rx_unexpected_4addr_frame") kernel.trace("cfg80211:cfg80211_rx_unprot_mlme_mgmt") kernel.trace("cfg80211:cfg80211_scan_done") kernel.trace("cfg80211:cfg80211_sched_scan_results") kernel.trace("cfg80211:cfg80211_sched_scan_stopped") kernel.trace("cfg80211:cfg80211_send_assoc_timeout") kernel.trace("cfg80211:cfg80211_send_auth_timeout") kernel.trace("cfg80211:cfg80211_send_rx_assoc") kernel.trace("cfg80211:cfg80211_send_rx_auth") kernel.trace("cfg80211:cfg80211_stop_iface") kernel.trace("cfg80211:cfg80211_tdls_oper_request") kernel.trace("cfg80211:cfg80211_tx_mlme_mgmt") kernel.trace("cfg80211:rdev_abort_scan") kernel.trace("cfg80211:rdev_add_key") kernel.trace("cfg80211:rdev_add_mpath") kernel.trace("cfg80211:rdev_add_station") kernel.trace("cfg80211:rdev_add_tx_ts") kernel.trace("cfg80211:rdev_add_virtual_intf") kernel.trace("cfg80211:rdev_assoc") kernel.trace("cfg80211:rdev_auth") kernel.trace("cfg80211:rdev_cancel_remain_on_channel") kernel.trace("cfg80211:rdev_change_beacon") kernel.trace("cfg80211:rdev_change_bss") kernel.trace("cfg80211:rdev_change_mpath") kernel.trace("cfg80211:rdev_change_station") kernel.trace("cfg80211:rdev_change_virtual_intf") kernel.trace("cfg80211:rdev_channel_switch") kernel.trace("cfg80211:rdev_connect") kernel.trace("cfg80211:rdev_crit_proto_start") kernel.trace("cfg80211:rdev_crit_proto_stop") kernel.trace("cfg80211:rdev_deauth") kernel.trace("cfg80211:rdev_del_key") kernel.trace("cfg80211:rdev_del_mpath") kernel.trace("cfg80211:rdev_del_pmksa") kernel.trace("cfg80211:rdev_del_station") kernel.trace("cfg80211:rdev_del_tx_ts") kernel.trace("cfg80211:rdev_del_virtual_intf") kernel.trace("cfg80211:rdev_disassoc") kernel.trace("cfg80211:rdev_disconnect") kernel.trace("cfg80211:rdev_dump_mpath") kernel.trace("cfg80211:rdev_dump_mpp") kernel.trace("cfg80211:rdev_dump_station") kernel.trace("cfg80211:rdev_dump_survey") kernel.trace("cfg80211:rdev_flush_pmksa") kernel.trace("cfg80211:rdev_get_antenna") kernel.trace("cfg80211:rdev_get_channel") kernel.trace("cfg80211:rdev_get_key") kernel.trace("cfg80211:rdev_get_mesh_config") kernel.trace("cfg80211:rdev_get_mpath") kernel.trace("cfg80211:rdev_get_mpp") kernel.trace("cfg80211:rdev_get_station") kernel.trace("cfg80211:rdev_get_tx_power") kernel.trace("cfg80211:rdev_join_ibss") kernel.trace("cfg80211:rdev_join_mesh") kernel.trace("cfg80211:rdev_join_ocb") kernel.trace("cfg80211:rdev_leave_ibss") kernel.trace("cfg80211:rdev_leave_mesh") kernel.trace("cfg80211:rdev_leave_ocb") kernel.trace("cfg80211:rdev_libertas_set_mesh_channel") kernel.trace("cfg80211:rdev_mgmt_frame_register") kernel.trace("cfg80211:rdev_mgmt_tx") kernel.trace("cfg80211:rdev_mgmt_tx_cancel_wait") kernel.trace("cfg80211:rdev_probe_client") kernel.trace("cfg80211:rdev_remain_on_channel") kernel.trace("cfg80211:rdev_resume") kernel.trace("cfg80211:rdev_return_chandef") kernel.trace("cfg80211:rdev_return_int") kernel.trace("cfg80211:rdev_return_int_cookie") kernel.trace("cfg80211:rdev_return_int_int") kernel.trace("cfg80211:rdev_return_int_mesh_config") kernel.trace("cfg80211:rdev_return_int_mpath_info") kernel.trace("cfg80211:rdev_return_int_station_info") kernel.trace("cfg80211:rdev_return_int_survey_info") kernel.trace("cfg80211:rdev_return_int_tx_rx") kernel.trace("cfg80211:rdev_return_void") kernel.trace("cfg80211:rdev_return_void_tx_rx") kernel.trace("cfg80211:rdev_return_wdev") kernel.trace("cfg80211:rdev_rfkill_poll") kernel.trace("cfg80211:rdev_scan") kernel.trace("cfg80211:rdev_sched_scan_start") kernel.trace("cfg80211:rdev_sched_scan_stop") kernel.trace("cfg80211:rdev_set_antenna") kernel.trace("cfg80211:rdev_set_ap_chanwidth") kernel.trace("cfg80211:rdev_set_bitrate_mask") kernel.trace("cfg80211:rdev_set_coalesce") kernel.trace("cfg80211:rdev_set_cqm_rssi_config") kernel.trace("cfg80211:rdev_set_cqm_txe_config") kernel.trace("cfg80211:rdev_set_default_key") kernel.trace("cfg80211:rdev_set_default_mgmt_key") kernel.trace("cfg80211:rdev_set_mac_acl") kernel.trace("cfg80211:rdev_set_mcast_rate") kernel.trace("cfg80211:rdev_set_monitor_channel") kernel.trace("cfg80211:rdev_set_noack_map") kernel.trace("cfg80211:rdev_set_pmksa") kernel.trace("cfg80211:rdev_set_power_mgmt") kernel.trace("cfg80211:rdev_set_qos_map") kernel.trace("cfg80211:rdev_set_rekey_data") kernel.trace("cfg80211:rdev_set_tx_power") kernel.trace("cfg80211:rdev_set_txq_params") kernel.trace("cfg80211:rdev_set_wakeup") kernel.trace("cfg80211:rdev_set_wds_peer") kernel.trace("cfg80211:rdev_set_wiphy_params") kernel.trace("cfg80211:rdev_start_ap") kernel.trace("cfg80211:rdev_start_p2p_device") kernel.trace("cfg80211:rdev_start_radar_detection") kernel.trace("cfg80211:rdev_stop_ap") kernel.trace("cfg80211:rdev_stop_p2p_device") kernel.trace("cfg80211:rdev_suspend") kernel.trace("cfg80211:rdev_tdls_cancel_channel_switch") kernel.trace("cfg80211:rdev_tdls_channel_switch") kernel.trace("cfg80211:rdev_tdls_mgmt") kernel.trace("cfg80211:rdev_tdls_oper") kernel.trace("cfg80211:rdev_update_ft_ies") kernel.trace("cfg80211:rdev_update_mesh_config") kernel.trace("cfg802154:802154_rdev_add_virtual_intf") kernel.trace("cfg802154:802154_rdev_del_virtual_intf") kernel.trace("cfg802154:802154_rdev_resume") kernel.trace("cfg802154:802154_rdev_return_int") kernel.trace("cfg802154:802154_rdev_set_ackreq_default") kernel.trace("cfg802154:802154_rdev_set_backoff_exponent") kernel.trace("cfg802154:802154_rdev_set_cca_ed_level") kernel.trace("cfg802154:802154_rdev_set_cca_mode") kernel.trace("cfg802154:802154_rdev_set_channel") kernel.trace("cfg802154:802154_rdev_set_csma_backoffs") kernel.trace("cfg802154:802154_rdev_set_lbt_mode") kernel.trace("cfg802154:802154_rdev_set_max_frame_retries") kernel.trace("cfg802154:802154_rdev_set_pan_id") kernel.trace("cfg802154:802154_rdev_set_short_addr") kernel.trace("cfg802154:802154_rdev_set_tx_power") kernel.trace("cfg802154:802154_rdev_suspend") kernel.trace("clk:clk_disable") kernel.trace("clk:clk_disable_complete") kernel.trace("clk:clk_enable") kernel.trace("clk:clk_enable_complete") kernel.trace("clk:clk_prepare") kernel.trace("clk:clk_prepare_complete") kernel.trace("clk:clk_set_parent") kernel.trace("clk:clk_set_parent_complete") kernel.trace("clk:clk_set_phase") kernel.trace("clk:clk_set_phase_complete") kernel.trace("clk:clk_set_rate") kernel.trace("clk:clk_set_rate_complete") kernel.trace("clk:clk_unprepare") kernel.trace("clk:clk_unprepare_complete") kernel.trace("cma:cma_alloc") kernel.trace("cma:cma_release") kernel.trace("compaction:mm_compaction_begin") kernel.trace("compaction:mm_compaction_defer_compaction") kernel.trace("compaction:mm_compaction_defer_reset") kernel.trace("compaction:mm_compaction_deferred") kernel.trace("compaction:mm_compaction_end") kernel.trace("compaction:mm_compaction_finished") kernel.trace("compaction:mm_compaction_isolate_freepages") kernel.trace("compaction:mm_compaction_isolate_migratepages") kernel.trace("compaction:mm_compaction_kcompactd_sleep") kernel.trace("compaction:mm_compaction_kcompactd_wake") kernel.trace("compaction:mm_compaction_migratepages") kernel.trace("compaction:mm_compaction_suitable") kernel.trace("compaction:mm_compaction_try_to_compact_pages") kernel.trace("compaction:mm_compaction_wakeup_kcompactd") kernel.trace("context_tracking:user_enter") kernel.trace("context_tracking:user_exit") kernel.trace("cpuhp:cpuhp_enter") kernel.trace("cpuhp:cpuhp_exit") kernel.trace("devlink:devlink_hwmsg") kernel.trace("drm:drm_vblank_event") kernel.trace("drm:drm_vblank_event_delivered") kernel.trace("drm:drm_vblank_event_queued") kernel.trace("ext4:ext4_alloc_da_blocks") kernel.trace("ext4:ext4_allocate_blocks") kernel.trace("ext4:ext4_allocate_inode") kernel.trace("ext4:ext4_begin_ordered_truncate") kernel.trace("ext4:ext4_collapse_range") kernel.trace("ext4:ext4_da_release_space") kernel.trace("ext4:ext4_da_reserve_space") kernel.trace("ext4:ext4_da_update_reserve_space") kernel.trace("ext4:ext4_da_write_begin") kernel.trace("ext4:ext4_da_write_end") kernel.trace("ext4:ext4_da_write_pages") kernel.trace("ext4:ext4_da_write_pages_extent") kernel.trace("ext4:ext4_direct_IO_enter") kernel.trace("ext4:ext4_direct_IO_exit") kernel.trace("ext4:ext4_discard_blocks") kernel.trace("ext4:ext4_discard_preallocations") kernel.trace("ext4:ext4_drop_inode") kernel.trace("ext4:ext4_es_cache_extent") kernel.trace("ext4:ext4_es_find_delayed_extent_range_enter") kernel.trace("ext4:ext4_es_find_delayed_extent_range_exit") kernel.trace("ext4:ext4_es_insert_extent") kernel.trace("ext4:ext4_es_lookup_extent_enter") kernel.trace("ext4:ext4_es_lookup_extent_exit") kernel.trace("ext4:ext4_es_remove_extent") kernel.trace("ext4:ext4_es_shrink") kernel.trace("ext4:ext4_es_shrink_count") kernel.trace("ext4:ext4_es_shrink_scan_enter") kernel.trace("ext4:ext4_es_shrink_scan_exit") kernel.trace("ext4:ext4_evict_inode") kernel.trace("ext4:ext4_ext_convert_to_initialized_enter") kernel.trace("ext4:ext4_ext_convert_to_initialized_fastpath") kernel.trace("ext4:ext4_ext_handle_unwritten_extents") kernel.trace("ext4:ext4_ext_in_cache") kernel.trace("ext4:ext4_ext_load_extent") kernel.trace("ext4:ext4_ext_map_blocks_enter") kernel.trace("ext4:ext4_ext_map_blocks_exit") kernel.trace("ext4:ext4_ext_put_in_cache") kernel.trace("ext4:ext4_ext_remove_space") kernel.trace("ext4:ext4_ext_remove_space_done") kernel.trace("ext4:ext4_ext_rm_idx") kernel.trace("ext4:ext4_ext_rm_leaf") kernel.trace("ext4:ext4_ext_show_extent") kernel.trace("ext4:ext4_fallocate_enter") kernel.trace("ext4:ext4_fallocate_exit") kernel.trace("ext4:ext4_find_delalloc_range") kernel.trace("ext4:ext4_forget") kernel.trace("ext4:ext4_free_blocks") kernel.trace("ext4:ext4_free_inode") kernel.trace("ext4:ext4_get_implied_cluster_alloc_exit") kernel.trace("ext4:ext4_get_reserved_cluster_alloc") kernel.trace("ext4:ext4_ind_map_blocks_enter") kernel.trace("ext4:ext4_ind_map_blocks_exit") kernel.trace("ext4:ext4_insert_range") kernel.trace("ext4:ext4_invalidatepage") kernel.trace("ext4:ext4_journal_start") kernel.trace("ext4:ext4_journal_start_reserved") kernel.trace("ext4:ext4_journalled_invalidatepage") kernel.trace("ext4:ext4_journalled_write_end") kernel.trace("ext4:ext4_load_inode") kernel.trace("ext4:ext4_load_inode_bitmap") kernel.trace("ext4:ext4_mark_inode_dirty") kernel.trace("ext4:ext4_mb_bitmap_load") kernel.trace("ext4:ext4_mb_buddy_bitmap_load") kernel.trace("ext4:ext4_mb_discard_preallocations") kernel.trace("ext4:ext4_mb_new_group_pa") kernel.trace("ext4:ext4_mb_new_inode_pa") kernel.trace("ext4:ext4_mb_release_group_pa") kernel.trace("ext4:ext4_mb_release_inode_pa") kernel.trace("ext4:ext4_mballoc_alloc") kernel.trace("ext4:ext4_mballoc_discard") kernel.trace("ext4:ext4_mballoc_free") kernel.trace("ext4:ext4_mballoc_prealloc") kernel.trace("ext4:ext4_other_inode_update_time") kernel.trace("ext4:ext4_punch_hole") kernel.trace("ext4:ext4_read_block_bitmap_load") kernel.trace("ext4:ext4_readpage") kernel.trace("ext4:ext4_releasepage") kernel.trace("ext4:ext4_remove_blocks") kernel.trace("ext4:ext4_request_blocks") kernel.trace("ext4:ext4_request_inode") kernel.trace("ext4:ext4_sync_file_enter") kernel.trace("ext4:ext4_sync_file_exit") kernel.trace("ext4:ext4_sync_fs") kernel.trace("ext4:ext4_trim_all_free") kernel.trace("ext4:ext4_trim_extent") kernel.trace("ext4:ext4_truncate_enter") kernel.trace("ext4:ext4_truncate_exit") kernel.trace("ext4:ext4_unlink_enter") kernel.trace("ext4:ext4_unlink_exit") kernel.trace("ext4:ext4_write_begin") kernel.trace("ext4:ext4_write_end") kernel.trace("ext4:ext4_writepage") kernel.trace("ext4:ext4_writepages") kernel.trace("ext4:ext4_writepages_result") kernel.trace("ext4:ext4_zero_range") kernel.trace("f2fs:f2fs_background_gc") kernel.trace("f2fs:f2fs_commit_inmem_page") kernel.trace("f2fs:f2fs_destroy_extent_tree") kernel.trace("f2fs:f2fs_direct_IO_enter") kernel.trace("f2fs:f2fs_direct_IO_exit") kernel.trace("f2fs:f2fs_do_write_data_page") kernel.trace("f2fs:f2fs_evict_inode") kernel.trace("f2fs:f2fs_fallocate") kernel.trace("f2fs:f2fs_get_victim") kernel.trace("f2fs:f2fs_iget") kernel.trace("f2fs:f2fs_iget_exit") kernel.trace("f2fs:f2fs_issue_discard") kernel.trace("f2fs:f2fs_issue_flush") kernel.trace("f2fs:f2fs_lookup_extent_tree_end") kernel.trace("f2fs:f2fs_lookup_extent_tree_start") kernel.trace("f2fs:f2fs_map_blocks") kernel.trace("f2fs:f2fs_new_inode") kernel.trace("f2fs:f2fs_readpage") kernel.trace("f2fs:f2fs_readpages") kernel.trace("f2fs:f2fs_register_inmem_page") kernel.trace("f2fs:f2fs_reserve_new_blocks") kernel.trace("f2fs:f2fs_set_page_dirty") kernel.trace("f2fs:f2fs_shrink_extent_tree") kernel.trace("f2fs:f2fs_submit_page_bio") kernel.trace("f2fs:f2fs_submit_page_mbio") kernel.trace("f2fs:f2fs_submit_read_bio") kernel.trace("f2fs:f2fs_submit_write_bio") kernel.trace("f2fs:f2fs_sync_dirty_inodes_enter") kernel.trace("f2fs:f2fs_sync_dirty_inodes_exit") kernel.trace("f2fs:f2fs_sync_file_enter") kernel.trace("f2fs:f2fs_sync_file_exit") kernel.trace("f2fs:f2fs_sync_fs") kernel.trace("f2fs:f2fs_truncate") kernel.trace("f2fs:f2fs_truncate_blocks_enter") kernel.trace("f2fs:f2fs_truncate_blocks_exit") kernel.trace("f2fs:f2fs_truncate_data_blocks_range") kernel.trace("f2fs:f2fs_truncate_inode_blocks_enter") kernel.trace("f2fs:f2fs_truncate_inode_blocks_exit") kernel.trace("f2fs:f2fs_truncate_node") kernel.trace("f2fs:f2fs_truncate_nodes_enter") kernel.trace("f2fs:f2fs_truncate_nodes_exit") kernel.trace("f2fs:f2fs_truncate_partial_nodes") kernel.trace("f2fs:f2fs_unlink_enter") kernel.trace("f2fs:f2fs_unlink_exit") kernel.trace("f2fs:f2fs_update_extent_tree_range") kernel.trace("f2fs:f2fs_vm_page_mkwrite") kernel.trace("f2fs:f2fs_write_begin") kernel.trace("f2fs:f2fs_write_checkpoint") kernel.trace("f2fs:f2fs_write_end") kernel.trace("f2fs:f2fs_writepage") kernel.trace("f2fs:f2fs_writepages") kernel.trace("fence:fence_annotate_wait_on") kernel.trace("fence:fence_destroy") kernel.trace("fence:fence_emit") kernel.trace("fence:fence_enable_signal") kernel.trace("fence:fence_init") kernel.trace("fence:fence_signaled") kernel.trace("fence:fence_wait_end") kernel.trace("fence:fence_wait_start") kernel.trace("fib6:fib6_table_lookup") kernel.trace("fib:fib_table_lookup") kernel.trace("fib:fib_table_lookup_nh") kernel.trace("fib:fib_validate_source") kernel.trace("filelock:break_lease_block") kernel.trace("filelock:break_lease_noblock") kernel.trace("filelock:break_lease_unblock") kernel.trace("filelock:fcntl_setlk") kernel.trace("filelock:generic_add_lease") kernel.trace("filelock:generic_delete_lease") kernel.trace("filelock:locks_get_lock_context") kernel.trace("filelock:locks_remove_posix") kernel.trace("filelock:posix_lock_inode") kernel.trace("filelock:time_out_leases") kernel.trace("filemap:mm_filemap_add_to_page_cache") kernel.trace("filemap:mm_filemap_delete_from_page_cache") kernel.trace("gfs2:gfs2_ail_flush") kernel.trace("gfs2:gfs2_block_alloc") kernel.trace("gfs2:gfs2_bmap") kernel.trace("gfs2:gfs2_demote_rq") kernel.trace("gfs2:gfs2_glock_lock_time") kernel.trace("gfs2:gfs2_glock_put") kernel.trace("gfs2:gfs2_glock_queue") kernel.trace("gfs2:gfs2_glock_state_change") kernel.trace("gfs2:gfs2_log_blocks") kernel.trace("gfs2:gfs2_log_flush") kernel.trace("gfs2:gfs2_pin") kernel.trace("gfs2:gfs2_promote") kernel.trace("gfs2:gfs2_rs") kernel.trace("gpio:gpio_direction") kernel.trace("gpio:gpio_value") kernel.trace("hda:hda_get_response") kernel.trace("hda:hda_send_cmd") kernel.trace("hda:hda_unsol_event") kernel.trace("hda:snd_hdac_stream_start") kernel.trace("hda:snd_hdac_stream_stop") kernel.trace("hda_controller:azx_get_position") kernel.trace("hda_controller:azx_pcm_close") kernel.trace("hda_controller:azx_pcm_hw_params") kernel.trace("hda_controller:azx_pcm_open") kernel.trace("hda_controller:azx_pcm_prepare") kernel.trace("hda_controller:azx_pcm_trigger") kernel.trace("hda_intel:azx_resume") kernel.trace("hda_intel:azx_runtime_resume") kernel.trace("hda_intel:azx_runtime_suspend") kernel.trace("hda_intel:azx_suspend") kernel.trace("host1x:host1x_cdma_begin") kernel.trace("host1x:host1x_cdma_end") kernel.trace("host1x:host1x_cdma_push") kernel.trace("host1x:host1x_cdma_push_gather") kernel.trace("host1x:host1x_channel_open") kernel.trace("host1x:host1x_channel_release") kernel.trace("host1x:host1x_channel_submit") kernel.trace("host1x:host1x_channel_submit_complete") kernel.trace("host1x:host1x_channel_submitted") kernel.trace("host1x:host1x_syncpt_load_min") kernel.trace("host1x:host1x_syncpt_wait_check") kernel.trace("host1x:host1x_wait_cdma") kernel.trace("hswadsp:hsw_device_config_req") kernel.trace("hswadsp:hsw_mixer_info_reply") kernel.trace("hswadsp:hsw_stream_alloc_reply") kernel.trace("hswadsp:hsw_stream_alloc_request") kernel.trace("hswadsp:hsw_stream_buffer") kernel.trace("hswadsp:hsw_stream_data_format") kernel.trace("hswadsp:hsw_stream_free_req") kernel.trace("hswadsp:hsw_volume_req") kernel.trace("hswadsp:ipc_error") kernel.trace("hswadsp:ipc_notification") kernel.trace("hswadsp:ipc_pending_reply") kernel.trace("hswadsp:ipc_reply") kernel.trace("hswadsp:ipc_request") kernel.trace("hswadsp:sst_irq_busy") kernel.trace("hswadsp:sst_irq_done") kernel.trace("hswadsp:stream_read_position") kernel.trace("hswadsp:stream_write_position") kernel.trace("huge_memory:mm_collapse_huge_page") kernel.trace("huge_memory:mm_collapse_huge_page_isolate") kernel.trace("huge_memory:mm_collapse_huge_page_swapin") kernel.trace("huge_memory:mm_khugepaged_scan_pmd") kernel.trace("i2c:i2c_read") kernel.trace("i2c:i2c_reply") kernel.trace("i2c:i2c_result") kernel.trace("i2c:i2c_write") kernel.trace("i2c:smbus_read") kernel.trace("i2c:smbus_reply") kernel.trace("i2c:smbus_result") kernel.trace("i2c:smbus_write") kernel.trace("intel-sst:sst_ipc_inbox_rdata") kernel.trace("intel-sst:sst_ipc_inbox_read") kernel.trace("intel-sst:sst_ipc_inbox_wdata") kernel.trace("intel-sst:sst_ipc_inbox_write") kernel.trace("intel-sst:sst_ipc_msg_rx") kernel.trace("intel-sst:sst_ipc_msg_tx") kernel.trace("intel-sst:sst_ipc_outbox_rdata") kernel.trace("intel-sst:sst_ipc_outbox_read") kernel.trace("intel-sst:sst_ipc_outbox_wdata") kernel.trace("intel-sst:sst_ipc_outbox_write") kernel.trace("iommu:add_device_to_group") kernel.trace("iommu:attach_device_to_domain") kernel.trace("iommu:detach_device_from_domain") kernel.trace("iommu:io_page_fault") kernel.trace("iommu:map") kernel.trace("iommu:remove_device_from_group") kernel.trace("iommu:unmap") kernel.trace("ipi:ipi_entry") kernel.trace("ipi:ipi_exit") kernel.trace("ipi:ipi_raise") kernel.trace("irq:irq_handler_entry") kernel.trace("irq:irq_handler_exit") kernel.trace("irq:softirq_entry") kernel.trace("irq:softirq_exit") kernel.trace("irq:softirq_raise") kernel.trace("iwlwifi:iwlwifi_crit") kernel.trace("iwlwifi:iwlwifi_dbg") kernel.trace("iwlwifi:iwlwifi_dev_hcmd") kernel.trace("iwlwifi:iwlwifi_dev_ict_read") kernel.trace("iwlwifi:iwlwifi_dev_ioread32") kernel.trace("iwlwifi:iwlwifi_dev_ioread_prph32") kernel.trace("iwlwifi:iwlwifi_dev_iowrite32") kernel.trace("iwlwifi:iwlwifi_dev_iowrite64") kernel.trace("iwlwifi:iwlwifi_dev_iowrite8") kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph32") kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph64") kernel.trace("iwlwifi:iwlwifi_dev_irq") kernel.trace("iwlwifi:iwlwifi_dev_rx") kernel.trace("iwlwifi:iwlwifi_dev_tx") kernel.trace("iwlwifi:iwlwifi_dev_ucode_cont_event") kernel.trace("iwlwifi:iwlwifi_dev_ucode_error") kernel.trace("iwlwifi:iwlwifi_dev_ucode_event") kernel.trace("iwlwifi:iwlwifi_dev_ucode_wrap_event") kernel.trace("iwlwifi:iwlwifi_err") kernel.trace("iwlwifi:iwlwifi_info") kernel.trace("iwlwifi:iwlwifi_warn") kernel.trace("iwlwifi_data:iwlwifi_dev_rx_data") kernel.trace("iwlwifi_data:iwlwifi_dev_tx_data") kernel.trace("iwlwifi_data:iwlwifi_dev_tx_tso_chunk") kernel.trace("jbd2:jbd2_checkpoint") kernel.trace("jbd2:jbd2_checkpoint_stats") kernel.trace("jbd2:jbd2_commit_flushing") kernel.trace("jbd2:jbd2_commit_locking") kernel.trace("jbd2:jbd2_commit_logging") kernel.trace("jbd2:jbd2_drop_transaction") kernel.trace("jbd2:jbd2_end_commit") kernel.trace("jbd2:jbd2_handle_extend") kernel.trace("jbd2:jbd2_handle_start") kernel.trace("jbd2:jbd2_handle_stats") kernel.trace("jbd2:jbd2_lock_buffer_stall") kernel.trace("jbd2:jbd2_run_stats") kernel.trace("jbd2:jbd2_start_commit") kernel.trace("jbd2:jbd2_submit_inode_data") kernel.trace("jbd2:jbd2_update_log_tail") kernel.trace("jbd2:jbd2_write_superblock") kernel.trace("kmem:kfree") kernel.trace("kmem:kmalloc") kernel.trace("kmem:kmalloc_node") kernel.trace("kmem:kmem_cache_alloc") kernel.trace("kmem:kmem_cache_alloc_node") kernel.trace("kmem:kmem_cache_free") kernel.trace("kmem:mm_page_alloc") kernel.trace("kmem:mm_page_alloc_extfrag") kernel.trace("kmem:mm_page_alloc_zone_locked") kernel.trace("kmem:mm_page_free") kernel.trace("kmem:mm_page_free_batched") kernel.trace("kmem:mm_page_pcpu_drain") kernel.trace("kvm:kvm_access_fault") kernel.trace("kvm:kvm_ack_irq") kernel.trace("kvm:kvm_age_hva") kernel.trace("kvm:kvm_age_page") kernel.trace("kvm:kvm_arm_clear_debug") kernel.trace("kvm:kvm_arm_set_dreg32") kernel.trace("kvm:kvm_arm_set_regset") kernel.trace("kvm:kvm_arm_setup_debug") kernel.trace("kvm:kvm_asid_change") kernel.trace("kvm:kvm_aux") kernel.trace("kvm:kvm_check_requests") kernel.trace("kvm:kvm_emulate_cp15_imp") kernel.trace("kvm:kvm_enter") kernel.trace("kvm:kvm_entry") kernel.trace("kvm:kvm_exit") kernel.trace("kvm:kvm_fpu") kernel.trace("kvm:kvm_gtlb_write") kernel.trace("kvm:kvm_guest_fault") kernel.trace("kvm:kvm_halt_poll_ns") kernel.trace("kvm:kvm_handle_sys_reg") kernel.trace("kvm:kvm_hvc") kernel.trace("kvm:kvm_hvc_arm64") kernel.trace("kvm:kvm_hwr") kernel.trace("kvm:kvm_irq_line") kernel.trace("kvm:kvm_mmio") kernel.trace("kvm:kvm_mmio_emulate") kernel.trace("kvm:kvm_out") kernel.trace("kvm:kvm_ppc_instr") kernel.trace("kvm:kvm_reenter") kernel.trace("kvm:kvm_set_guest_debug") kernel.trace("kvm:kvm_set_irq") kernel.trace("kvm:kvm_set_spte_hva") kernel.trace("kvm:kvm_set_way_flush") kernel.trace("kvm:kvm_stlb_inval") kernel.trace("kvm:kvm_stlb_write") kernel.trace("kvm:kvm_test_age_hva") kernel.trace("kvm:kvm_timer_update_irq") kernel.trace("kvm:kvm_toggle_cache") kernel.trace("kvm:kvm_unmap_hva") kernel.trace("kvm:kvm_unmap_hva_range") kernel.trace("kvm:kvm_userspace_exit") kernel.trace("kvm:kvm_vcpu_wakeup") kernel.trace("kvm:kvm_wfx") kernel.trace("kvm:kvm_wfx_arm64") kernel.trace("kvm:trap_reg") kernel.trace("kvm:vgic_update_irq_pending") kernel.trace("libata:ata_eh_link_autopsy") kernel.trace("libata:ata_eh_link_autopsy_qc") kernel.trace("libata:ata_qc_complete_done") kernel.trace("libata:ata_qc_complete_failed") kernel.trace("libata:ata_qc_complete_internal") kernel.trace("libata:ata_qc_issue") kernel.trace("lock:lock_acquire") kernel.trace("lock:lock_release") kernel.trace("mac80211:api_beacon_loss") kernel.trace("mac80211:api_chswitch_done") kernel.trace("mac80211:api_connection_loss") kernel.trace("mac80211:api_cqm_beacon_loss_notify") kernel.trace("mac80211:api_cqm_rssi_notify") kernel.trace("mac80211:api_enable_rssi_reports") kernel.trace("mac80211:api_eosp") kernel.trace("mac80211:api_gtk_rekey_notify") kernel.trace("mac80211:api_radar_detected") kernel.trace("mac80211:api_ready_on_channel") kernel.trace("mac80211:api_remain_on_channel_expired") kernel.trace("mac80211:api_restart_hw") kernel.trace("mac80211:api_scan_completed") kernel.trace("mac80211:api_sched_scan_results") kernel.trace("mac80211:api_sched_scan_stopped") kernel.trace("mac80211:api_send_eosp_nullfunc") kernel.trace("mac80211:api_sta_block_awake") kernel.trace("mac80211:api_sta_set_buffered") kernel.trace("mac80211:api_start_tx_ba_cb") kernel.trace("mac80211:api_start_tx_ba_session") kernel.trace("mac80211:api_stop_tx_ba_cb") kernel.trace("mac80211:api_stop_tx_ba_session") kernel.trace("mac80211:drv_add_chanctx") kernel.trace("mac80211:drv_add_interface") kernel.trace("mac80211:drv_allow_buffered_frames") kernel.trace("mac80211:drv_ampdu_action") kernel.trace("mac80211:drv_assign_vif_chanctx") kernel.trace("mac80211:drv_bss_info_changed") kernel.trace("mac80211:drv_cancel_hw_scan") kernel.trace("mac80211:drv_cancel_remain_on_channel") kernel.trace("mac80211:drv_change_chanctx") kernel.trace("mac80211:drv_change_interface") kernel.trace("mac80211:drv_channel_switch") kernel.trace("mac80211:drv_channel_switch_beacon") kernel.trace("mac80211:drv_conf_tx") kernel.trace("mac80211:drv_config") kernel.trace("mac80211:drv_config_iface_filter") kernel.trace("mac80211:drv_configure_filter") kernel.trace("mac80211:drv_event_callback") kernel.trace("mac80211:drv_flush") kernel.trace("mac80211:drv_get_antenna") kernel.trace("mac80211:drv_get_et_sset_count") kernel.trace("mac80211:drv_get_et_stats") kernel.trace("mac80211:drv_get_et_strings") kernel.trace("mac80211:drv_get_expected_throughput") kernel.trace("mac80211:drv_get_key_seq") kernel.trace("mac80211:drv_get_ringparam") kernel.trace("mac80211:drv_get_stats") kernel.trace("mac80211:drv_get_survey") kernel.trace("mac80211:drv_get_tsf") kernel.trace("mac80211:drv_get_txpower") kernel.trace("mac80211:drv_hw_scan") kernel.trace("mac80211:drv_ipv6_addr_change") kernel.trace("mac80211:drv_join_ibss") kernel.trace("mac80211:drv_leave_ibss") kernel.trace("mac80211:drv_mgd_prepare_tx") kernel.trace("mac80211:drv_mgd_protect_tdls_discover") kernel.trace("mac80211:drv_offchannel_tx_cancel_wait") kernel.trace("mac80211:drv_post_channel_switch") kernel.trace("mac80211:drv_pre_channel_switch") kernel.trace("mac80211:drv_prepare_multicast") kernel.trace("mac80211:drv_reconfig_complete") kernel.trace("mac80211:drv_release_buffered_frames") kernel.trace("mac80211:drv_remain_on_channel") kernel.trace("mac80211:drv_remove_chanctx") kernel.trace("mac80211:drv_remove_interface") kernel.trace("mac80211:drv_reset_tsf") kernel.trace("mac80211:drv_resume") kernel.trace("mac80211:drv_return_bool") kernel.trace("mac80211:drv_return_int") kernel.trace("mac80211:drv_return_u32") kernel.trace("mac80211:drv_return_u64") kernel.trace("mac80211:drv_return_void") kernel.trace("mac80211:drv_sched_scan_start") kernel.trace("mac80211:drv_sched_scan_stop") kernel.trace("mac80211:drv_set_antenna") kernel.trace("mac80211:drv_set_bitrate_mask") kernel.trace("mac80211:drv_set_coverage_class") kernel.trace("mac80211:drv_set_default_unicast_key") kernel.trace("mac80211:drv_set_frag_threshold") kernel.trace("mac80211:drv_set_key") kernel.trace("mac80211:drv_set_rekey_data") kernel.trace("mac80211:drv_set_ringparam") kernel.trace("mac80211:drv_set_rts_threshold") kernel.trace("mac80211:drv_set_tim") kernel.trace("mac80211:drv_set_tsf") kernel.trace("mac80211:drv_set_wakeup") kernel.trace("mac80211:drv_sta_add") kernel.trace("mac80211:drv_sta_notify") kernel.trace("mac80211:drv_sta_pre_rcu_remove") kernel.trace("mac80211:drv_sta_rate_tbl_update") kernel.trace("mac80211:drv_sta_rc_update") kernel.trace("mac80211:drv_sta_remove") kernel.trace("mac80211:drv_sta_state") kernel.trace("mac80211:drv_sta_statistics") kernel.trace("mac80211:drv_start") kernel.trace("mac80211:drv_start_ap") kernel.trace("mac80211:drv_stop") kernel.trace("mac80211:drv_stop_ap") kernel.trace("mac80211:drv_suspend") kernel.trace("mac80211:drv_sw_scan_complete") kernel.trace("mac80211:drv_sw_scan_start") kernel.trace("mac80211:drv_switch_vif_chanctx") kernel.trace("mac80211:drv_sync_rx_queues") kernel.trace("mac80211:drv_tdls_cancel_channel_switch") kernel.trace("mac80211:drv_tdls_channel_switch") kernel.trace("mac80211:drv_tdls_recv_channel_switch") kernel.trace("mac80211:drv_tx_frames_pending") kernel.trace("mac80211:drv_tx_last_beacon") kernel.trace("mac80211:drv_unassign_vif_chanctx") kernel.trace("mac80211:drv_update_tkip_key") kernel.trace("mac80211:drv_wake_tx_queue") kernel.trace("mac80211:stop_queue") kernel.trace("mac80211:wake_queue") kernel.trace("mac802154:802154_drv_return_int") kernel.trace("mac802154:802154_drv_return_void") kernel.trace("mac802154:802154_drv_set_cca_ed_level") kernel.trace("mac802154:802154_drv_set_cca_mode") kernel.trace("mac802154:802154_drv_set_channel") kernel.trace("mac802154:802154_drv_set_csma_params") kernel.trace("mac802154:802154_drv_set_extended_addr") kernel.trace("mac802154:802154_drv_set_lbt_mode") kernel.trace("mac802154:802154_drv_set_max_frame_retries") kernel.trace("mac802154:802154_drv_set_pan_coord") kernel.trace("mac802154:802154_drv_set_pan_id") kernel.trace("mac802154:802154_drv_set_promiscuous_mode") kernel.trace("mac802154:802154_drv_set_short_addr") kernel.trace("mac802154:802154_drv_set_tx_power") kernel.trace("mac802154:802154_drv_start") kernel.trace("mac802154:802154_drv_stop") kernel.trace("migrate:mm_migrate_pages") kernel.trace("migrate:mm_numa_migrate_ratelimit") kernel.trace("mmc:mmc_request_done") kernel.trace("mmc:mmc_request_start") kernel.trace("module:module_free") kernel.trace("module:module_get") kernel.trace("module:module_load") kernel.trace("module:module_put") kernel.trace("module:module_request") kernel.trace("mt7601u:bbp_read") kernel.trace("mt7601u:bbp_write") kernel.trace("mt7601u:ee_read") kernel.trace("mt7601u:freq_cal_adjust") kernel.trace("mt7601u:freq_cal_offset") kernel.trace("mt7601u:mt_mcu_msg_send") kernel.trace("mt7601u:mt_rx") kernel.trace("mt7601u:mt_rx_dma_aggr") kernel.trace("mt7601u:mt_submit_urb") kernel.trace("mt7601u:mt_tx") kernel.trace("mt7601u:mt_tx_dma_done") kernel.trace("mt7601u:mt_tx_status") kernel.trace("mt7601u:mt_tx_status_cleaned") kernel.trace("mt7601u:mt_vend_req") kernel.trace("mt7601u:read_temp") kernel.trace("mt7601u:reg_read") kernel.trace("mt7601u:reg_write") kernel.trace("mt7601u:rf_read") kernel.trace("mt7601u:rf_write") kernel.trace("mt7601u:set_key") kernel.trace("mt7601u:set_shared_key") kernel.trace("mt7601u:temp_mode") kernel.trace("napi:napi_poll") kernel.trace("net:napi_gro_frags_entry") kernel.trace("net:napi_gro_receive_entry") kernel.trace("net:net_dev_queue") kernel.trace("net:net_dev_start_xmit") kernel.trace("net:net_dev_xmit") kernel.trace("net:netif_receive_skb") kernel.trace("net:netif_receive_skb_entry") kernel.trace("net:netif_rx") kernel.trace("net:netif_rx_entry") kernel.trace("net:netif_rx_ni_entry") kernel.trace("nfs:nfs_access_enter") kernel.trace("nfs:nfs_access_exit") kernel.trace("nfs:nfs_atomic_open_enter") kernel.trace("nfs:nfs_atomic_open_exit") kernel.trace("nfs:nfs_create_enter") kernel.trace("nfs:nfs_create_exit") kernel.trace("nfs:nfs_fsync_enter") kernel.trace("nfs:nfs_fsync_exit") kernel.trace("nfs:nfs_getattr_enter") kernel.trace("nfs:nfs_getattr_exit") kernel.trace("nfs:nfs_invalidate_mapping_enter") kernel.trace("nfs:nfs_invalidate_mapping_exit") kernel.trace("nfs:nfs_link_enter") kernel.trace("nfs:nfs_link_exit") kernel.trace("nfs:nfs_lookup_enter") kernel.trace("nfs:nfs_lookup_exit") kernel.trace("nfs:nfs_lookup_revalidate_enter") kernel.trace("nfs:nfs_lookup_revalidate_exit") kernel.trace("nfs:nfs_mkdir_enter") kernel.trace("nfs:nfs_mkdir_exit") kernel.trace("nfs:nfs_mknod_enter") kernel.trace("nfs:nfs_mknod_exit") kernel.trace("nfs:nfs_refresh_inode_enter") kernel.trace("nfs:nfs_refresh_inode_exit") kernel.trace("nfs:nfs_remove_enter") kernel.trace("nfs:nfs_remove_exit") kernel.trace("nfs:nfs_rename_enter") kernel.trace("nfs:nfs_rename_exit") kernel.trace("nfs:nfs_revalidate_inode_enter") kernel.trace("nfs:nfs_revalidate_inode_exit") kernel.trace("nfs:nfs_rmdir_enter") kernel.trace("nfs:nfs_rmdir_exit") kernel.trace("nfs:nfs_setattr_enter") kernel.trace("nfs:nfs_setattr_exit") kernel.trace("nfs:nfs_sillyrename_rename") kernel.trace("nfs:nfs_sillyrename_unlink") kernel.trace("nfs:nfs_symlink_enter") kernel.trace("nfs:nfs_symlink_exit") kernel.trace("nfs:nfs_unlink_enter") kernel.trace("nfs:nfs_unlink_exit") kernel.trace("nfs:nfs_writeback_inode_enter") kernel.trace("nfs:nfs_writeback_inode_exit") kernel.trace("nfs:nfs_writeback_page_enter") kernel.trace("nfs:nfs_writeback_page_exit") kernel.trace("nfsd:layout_commit_lookup_fail") kernel.trace("nfsd:layout_get_lookup_fail") kernel.trace("nfsd:layout_recall") kernel.trace("nfsd:layout_recall_done") kernel.trace("nfsd:layout_recall_fail") kernel.trace("nfsd:layout_recall_release") kernel.trace("nfsd:layout_return_lookup_fail") kernel.trace("nfsd:layoutstate_alloc") kernel.trace("nfsd:layoutstate_free") kernel.trace("nfsd:layoutstate_unhash") kernel.trace("nfsd:read_done") kernel.trace("nfsd:read_io_done") kernel.trace("nfsd:read_opened") kernel.trace("nfsd:read_start") kernel.trace("nfsd:write_done") kernel.trace("nfsd:write_io_done") kernel.trace("nfsd:write_opened") kernel.trace("nfsd:write_start") kernel.trace("nilfs2:nilfs2_collection_stage_transition") kernel.trace("nilfs2:nilfs2_mdt_insert_new_block") kernel.trace("nilfs2:nilfs2_mdt_submit_block") kernel.trace("nilfs2:nilfs2_segment_usage_allocated") kernel.trace("nilfs2:nilfs2_segment_usage_check") kernel.trace("nilfs2:nilfs2_segment_usage_freed") kernel.trace("nilfs2:nilfs2_transaction_transition") kernel.trace("nmi:nmi_handler") kernel.trace("ocfs2:generic_file_aio_read_ret") kernel.trace("ocfs2:ocfs2_acquire_dquot") kernel.trace("ocfs2:ocfs2_add_clusters_in_btree") kernel.trace("ocfs2:ocfs2_add_clusters_in_btree_ret") kernel.trace("ocfs2:ocfs2_add_new_xattr_bucket") kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster") kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_begin") kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_insert") kernel.trace("ocfs2:ocfs2_add_refcount_flag") kernel.trace("ocfs2:ocfs2_adjust_rightmost_branch") kernel.trace("ocfs2:ocfs2_adjust_xattr_cross_cluster") kernel.trace("ocfs2:ocfs2_alloc_should_use_local") kernel.trace("ocfs2:ocfs2_allocate_extend_trans") kernel.trace("ocfs2:ocfs2_append_cache_array") kernel.trace("ocfs2:ocfs2_append_rec_to_path") kernel.trace("ocfs2:ocfs2_begin_local_alloc_recovery") kernel.trace("ocfs2:ocfs2_begin_truncate_log_recovery") kernel.trace("ocfs2:ocfs2_blkno_stringify") kernel.trace("ocfs2:ocfs2_block_group_alloc") kernel.trace("ocfs2:ocfs2_block_group_alloc_contig") kernel.trace("ocfs2:ocfs2_block_group_alloc_discontig") kernel.trace("ocfs2:ocfs2_block_group_clear_bits") kernel.trace("ocfs2:ocfs2_block_group_search_max_block") kernel.trace("ocfs2:ocfs2_block_group_set_bits") kernel.trace("ocfs2:ocfs2_bmap") kernel.trace("ocfs2:ocfs2_buffer_cached_begin") kernel.trace("ocfs2:ocfs2_buffer_cached_end") kernel.trace("ocfs2:ocfs2_cache_block_dealloc") kernel.trace("ocfs2:ocfs2_cache_cluster_dealloc") kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits") kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits_iterate") kernel.trace("ocfs2:ocfs2_cannibalize_resv_begin") kernel.trace("ocfs2:ocfs2_cannibalize_resv_end") kernel.trace("ocfs2:ocfs2_change_refcount_rec") kernel.trace("ocfs2:ocfs2_check_dir_for_entry") kernel.trace("ocfs2:ocfs2_check_orphan_recovery_state") kernel.trace("ocfs2:ocfs2_claim_new_inode_at_loc") kernel.trace("ocfs2:ocfs2_claim_suballoc_bits") kernel.trace("ocfs2:ocfs2_cleanup_delete_inode") kernel.trace("ocfs2:ocfs2_clear_ext_refcount") kernel.trace("ocfs2:ocfs2_clear_inode") kernel.trace("ocfs2:ocfs2_cluster_group_search_max_block") kernel.trace("ocfs2:ocfs2_cluster_group_search_wrong_max_bits") kernel.trace("ocfs2:ocfs2_commit_cache_begin") kernel.trace("ocfs2:ocfs2_commit_cache_end") kernel.trace("ocfs2:ocfs2_commit_truncate") kernel.trace("ocfs2:ocfs2_complete_edge_insert") kernel.trace("ocfs2:ocfs2_complete_recovery") kernel.trace("ocfs2:ocfs2_complete_recovery_end") kernel.trace("ocfs2:ocfs2_complete_recovery_slot") kernel.trace("ocfs2:ocfs2_complete_truncate_log_recovery") kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_begin") kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_end") kernel.trace("ocfs2:ocfs2_cp_xattr_bucket") kernel.trace("ocfs2:ocfs2_create") kernel.trace("ocfs2:ocfs2_create_empty_xattr_block") kernel.trace("ocfs2:ocfs2_create_refcount_tree") kernel.trace("ocfs2:ocfs2_create_refcount_tree_blkno") kernel.trace("ocfs2:ocfs2_create_symlink_data") kernel.trace("ocfs2:ocfs2_decrease_refcount") kernel.trace("ocfs2:ocfs2_decrease_refcount_rec") kernel.trace("ocfs2:ocfs2_defrag_xattr_bucket") kernel.trace("ocfs2:ocfs2_delete_entry_dx") kernel.trace("ocfs2:ocfs2_delete_inode") kernel.trace("ocfs2:ocfs2_dentry_attach_lock") kernel.trace("ocfs2:ocfs2_dentry_attach_lock_found") kernel.trace("ocfs2:ocfs2_dentry_revalidate") kernel.trace("ocfs2:ocfs2_dentry_revalidate_delete") kernel.trace("ocfs2:ocfs2_dentry_revalidate_negative") kernel.trace("ocfs2:ocfs2_dentry_revalidate_nofsdata") kernel.trace("ocfs2:ocfs2_dentry_revalidate_orphaned") kernel.trace("ocfs2:ocfs2_dentry_revalidate_ret") kernel.trace("ocfs2:ocfs2_dismount_volume") kernel.trace("ocfs2:ocfs2_divide_leaf_refcount_block") kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_begin") kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_move") kernel.trace("ocfs2:ocfs2_do_node_down") kernel.trace("ocfs2:ocfs2_double_lock") kernel.trace("ocfs2:ocfs2_double_lock_end") kernel.trace("ocfs2:ocfs2_drop_inode") kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_jbd") kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_page") kernel.trace("ocfs2:ocfs2_dx_dir_attach_index") kernel.trace("ocfs2:ocfs2_dx_dir_format_cluster") kernel.trace("ocfs2:ocfs2_dx_dir_index_root_block") kernel.trace("ocfs2:ocfs2_dx_dir_rebalance") kernel.trace("ocfs2:ocfs2_dx_dir_rebalance_split") kernel.trace("ocfs2:ocfs2_dx_dir_search") kernel.trace("ocfs2:ocfs2_dx_dir_search_leaf_info") kernel.trace("ocfs2:ocfs2_encode_fh_begin") kernel.trace("ocfs2:ocfs2_encode_fh_parent") kernel.trace("ocfs2:ocfs2_encode_fh_self") kernel.trace("ocfs2:ocfs2_encode_fh_type") kernel.trace("ocfs2:ocfs2_expand_cache") kernel.trace("ocfs2:ocfs2_expand_inline_ref_root") kernel.trace("ocfs2:ocfs2_extend_allocation") kernel.trace("ocfs2:ocfs2_extend_allocation_end") kernel.trace("ocfs2:ocfs2_extend_dir") kernel.trace("ocfs2:ocfs2_extend_trans") kernel.trace("ocfs2:ocfs2_extend_trans_restart") kernel.trace("ocfs2:ocfs2_extend_xattr_bucket") kernel.trace("ocfs2:ocfs2_fault") kernel.trace("ocfs2:ocfs2_file_aio_read") kernel.trace("ocfs2:ocfs2_file_aio_write") kernel.trace("ocfs2:ocfs2_file_open") kernel.trace("ocfs2:ocfs2_file_release") kernel.trace("ocfs2:ocfs2_file_splice_read") kernel.trace("ocfs2:ocfs2_file_splice_write") kernel.trace("ocfs2:ocfs2_filecheck_repair_inode_block") kernel.trace("ocfs2:ocfs2_filecheck_validate_inode_block") kernel.trace("ocfs2:ocfs2_fill_super") kernel.trace("ocfs2:ocfs2_find_actor") kernel.trace("ocfs2:ocfs2_find_entry_el") kernel.trace("ocfs2:ocfs2_find_files_on_disk") kernel.trace("ocfs2:ocfs2_find_local_alias") kernel.trace("ocfs2:ocfs2_find_slot") kernel.trace("ocfs2:ocfs2_finish_quota_recovery") kernel.trace("ocfs2:ocfs2_flush_truncate_log") kernel.trace("ocfs2:ocfs2_free_cached_blocks") kernel.trace("ocfs2:ocfs2_free_clusters") kernel.trace("ocfs2:ocfs2_free_suballoc_bits") kernel.trace("ocfs2:ocfs2_get_block") kernel.trace("ocfs2:ocfs2_get_block_end") kernel.trace("ocfs2:ocfs2_get_dentry_begin") kernel.trace("ocfs2:ocfs2_get_dentry_end") kernel.trace("ocfs2:ocfs2_get_dentry_generation") kernel.trace("ocfs2:ocfs2_get_dentry_stale") kernel.trace("ocfs2:ocfs2_get_dentry_test_bit") kernel.trace("ocfs2:ocfs2_get_next_id") kernel.trace("ocfs2:ocfs2_get_parent") kernel.trace("ocfs2:ocfs2_get_parent_end") kernel.trace("ocfs2:ocfs2_get_suballoc_slot_bit") kernel.trace("ocfs2:ocfs2_group_add") kernel.trace("ocfs2:ocfs2_group_extend") kernel.trace("ocfs2:ocfs2_grow_tree") kernel.trace("ocfs2:ocfs2_iget5_locked") kernel.trace("ocfs2:ocfs2_iget_begin") kernel.trace("ocfs2:ocfs2_iget_end") kernel.trace("ocfs2:ocfs2_increase_refcount_begin") kernel.trace("ocfs2:ocfs2_increase_refcount_change") kernel.trace("ocfs2:ocfs2_increase_refcount_insert") kernel.trace("ocfs2:ocfs2_increase_refcount_split") kernel.trace("ocfs2:ocfs2_init_xattr_set_ctxt") kernel.trace("ocfs2:ocfs2_initialize_super") kernel.trace("ocfs2:ocfs2_inode_is_valid_to_delete") kernel.trace("ocfs2:ocfs2_inode_revalidate") kernel.trace("ocfs2:ocfs2_insert_cache_tree") kernel.trace("ocfs2:ocfs2_insert_extent") kernel.trace("ocfs2:ocfs2_insert_extent_start") kernel.trace("ocfs2:ocfs2_insert_refcount_rec") kernel.trace("ocfs2:ocfs2_iterate_xattr_bucket") kernel.trace("ocfs2:ocfs2_iterate_xattr_buckets") kernel.trace("ocfs2:ocfs2_journal_access") kernel.trace("ocfs2:ocfs2_journal_dirty") kernel.trace("ocfs2:ocfs2_journal_init") kernel.trace("ocfs2:ocfs2_journal_init_maxlen") kernel.trace("ocfs2:ocfs2_journal_shutdown") kernel.trace("ocfs2:ocfs2_journal_shutdown_wait") kernel.trace("ocfs2:ocfs2_la_set_sizes") kernel.trace("ocfs2:ocfs2_link") kernel.trace("ocfs2:ocfs2_load_local_alloc") kernel.trace("ocfs2:ocfs2_local_alloc_count_bits") kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits") kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits_search_bitmap") kernel.trace("ocfs2:ocfs2_local_alloc_new_window") kernel.trace("ocfs2:ocfs2_local_alloc_new_window_result") kernel.trace("ocfs2:ocfs2_lock_refcount_allocators") kernel.trace("ocfs2:ocfs2_lookup") kernel.trace("ocfs2:ocfs2_lookup_ret") kernel.trace("ocfs2:ocfs2_make_clusters_writable") kernel.trace("ocfs2:ocfs2_map_slot_buffers") kernel.trace("ocfs2:ocfs2_map_slot_buffers_block") kernel.trace("ocfs2:ocfs2_mark_dead_nodes") kernel.trace("ocfs2:ocfs2_mark_dquot_dirty") kernel.trace("ocfs2:ocfs2_mark_extent_refcounted") kernel.trace("ocfs2:ocfs2_mark_extent_written") kernel.trace("ocfs2:ocfs2_mark_inode_dirty") kernel.trace("ocfs2:ocfs2_metadata_cache_purge") kernel.trace("ocfs2:ocfs2_mkdir") kernel.trace("ocfs2:ocfs2_mknod") kernel.trace("ocfs2:ocfs2_mv_orphaned_inode_to_new") kernel.trace("ocfs2:ocfs2_mv_xattr_bucket_cross_cluster") kernel.trace("ocfs2:ocfs2_mv_xattr_buckets") kernel.trace("ocfs2:ocfs2_new_leaf_refcount_block") kernel.trace("ocfs2:ocfs2_num_free_extents") kernel.trace("ocfs2:ocfs2_orphan_add_begin") kernel.trace("ocfs2:ocfs2_orphan_add_end") kernel.trace("ocfs2:ocfs2_orphan_del") kernel.trace("ocfs2:ocfs2_orphan_filldir") kernel.trace("ocfs2:ocfs2_parse_options") kernel.trace("ocfs2:ocfs2_populate_inode") kernel.trace("ocfs2:ocfs2_prepare_dir_for_insert") kernel.trace("ocfs2:ocfs2_prepare_inode_for_write") kernel.trace("ocfs2:ocfs2_prepare_refcount_change_for_del") kernel.trace("ocfs2:ocfs2_purge_copied_metadata_tree") kernel.trace("ocfs2:ocfs2_purge_refcount_trees") kernel.trace("ocfs2:ocfs2_put_super") kernel.trace("ocfs2:ocfs2_query_inode_wipe_begin") kernel.trace("ocfs2:ocfs2_query_inode_wipe_end") kernel.trace("ocfs2:ocfs2_query_inode_wipe_succ") kernel.trace("ocfs2:ocfs2_queue_orphan_scan_begin") kernel.trace("ocfs2:ocfs2_queue_orphan_scan_end") kernel.trace("ocfs2:ocfs2_read_blocks_begin") kernel.trace("ocfs2:ocfs2_read_blocks_bh") kernel.trace("ocfs2:ocfs2_read_blocks_end") kernel.trace("ocfs2:ocfs2_read_blocks_from_disk") kernel.trace("ocfs2:ocfs2_read_blocks_sync") kernel.trace("ocfs2:ocfs2_read_blocks_sync_jbd") kernel.trace("ocfs2:ocfs2_read_locked_inode") kernel.trace("ocfs2:ocfs2_read_virt_blocks") kernel.trace("ocfs2:ocfs2_readdir") kernel.trace("ocfs2:ocfs2_readpage") kernel.trace("ocfs2:ocfs2_recover_local_quota_file") kernel.trace("ocfs2:ocfs2_recover_node") kernel.trace("ocfs2:ocfs2_recover_node_skip") kernel.trace("ocfs2:ocfs2_recover_orphans") kernel.trace("ocfs2:ocfs2_recover_orphans_iput") kernel.trace("ocfs2:ocfs2_recovery_thread") kernel.trace("ocfs2:ocfs2_recovery_thread_end") kernel.trace("ocfs2:ocfs2_recovery_thread_node") kernel.trace("ocfs2:ocfs2_refcount_cow_hunk") kernel.trace("ocfs2:ocfs2_reflink_xattr_buckets") kernel.trace("ocfs2:ocfs2_reflink_xattr_header") kernel.trace("ocfs2:ocfs2_reflink_xattr_rec") kernel.trace("ocfs2:ocfs2_refresh_slot_info") kernel.trace("ocfs2:ocfs2_release_dquot") kernel.trace("ocfs2:ocfs2_relink_block_group") kernel.trace("ocfs2:ocfs2_remount") kernel.trace("ocfs2:ocfs2_remove_block_from_cache") kernel.trace("ocfs2:ocfs2_remove_extent") kernel.trace("ocfs2:ocfs2_remove_inode_range") kernel.trace("ocfs2:ocfs2_remove_metadata_array") kernel.trace("ocfs2:ocfs2_remove_metadata_tree") kernel.trace("ocfs2:ocfs2_remove_refcount_extent") kernel.trace("ocfs2:ocfs2_rename") kernel.trace("ocfs2:ocfs2_rename_disagree") kernel.trace("ocfs2:ocfs2_rename_not_permitted") kernel.trace("ocfs2:ocfs2_rename_over_existing") kernel.trace("ocfs2:ocfs2_rename_target_exists") kernel.trace("ocfs2:ocfs2_replace_clusters") kernel.trace("ocfs2:ocfs2_replay_journal_lock_err") kernel.trace("ocfs2:ocfs2_replay_journal_recovered") kernel.trace("ocfs2:ocfs2_replay_journal_skip") kernel.trace("ocfs2:ocfs2_replay_truncate_records") kernel.trace("ocfs2:ocfs2_reserve_local_alloc_bits") kernel.trace("ocfs2:ocfs2_reserve_new_inode_new_group") kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_no_new_group") kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_nospc") kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_begin") kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_end") kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_begin") kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_end") kernel.trace("ocfs2:ocfs2_resmap_resv_bits") kernel.trace("ocfs2:ocfs2_restore_refcount_block") kernel.trace("ocfs2:ocfs2_resv_find_window_begin") kernel.trace("ocfs2:ocfs2_resv_find_window_next") kernel.trace("ocfs2:ocfs2_resv_find_window_prev") kernel.trace("ocfs2:ocfs2_resv_insert") kernel.trace("ocfs2:ocfs2_rm_xattr_cluster") kernel.trace("ocfs2:ocfs2_rotate_leaf") kernel.trace("ocfs2:ocfs2_rotate_subtree") kernel.trace("ocfs2:ocfs2_rotate_tree_right") kernel.trace("ocfs2:ocfs2_run_deallocs") kernel.trace("ocfs2:ocfs2_search_chain_begin") kernel.trace("ocfs2:ocfs2_search_chain_end") kernel.trace("ocfs2:ocfs2_search_chain_succ") kernel.trace("ocfs2:ocfs2_search_dirblock") kernel.trace("ocfs2:ocfs2_set_buffer_uptodate") kernel.trace("ocfs2:ocfs2_set_buffer_uptodate_begin") kernel.trace("ocfs2:ocfs2_setattr") kernel.trace("ocfs2:ocfs2_split_extent") kernel.trace("ocfs2:ocfs2_split_refcount_rec") kernel.trace("ocfs2:ocfs2_split_refcount_rec_insert") kernel.trace("ocfs2:ocfs2_statfs") kernel.trace("ocfs2:ocfs2_symlink_begin") kernel.trace("ocfs2:ocfs2_symlink_create") kernel.trace("ocfs2:ocfs2_symlink_get_block") kernel.trace("ocfs2:ocfs2_sync_dquot") kernel.trace("ocfs2:ocfs2_sync_dquot_helper") kernel.trace("ocfs2:ocfs2_sync_file") kernel.trace("ocfs2:ocfs2_sync_local_to_main") kernel.trace("ocfs2:ocfs2_sync_local_to_main_free") kernel.trace("ocfs2:ocfs2_test_inode_bit") kernel.trace("ocfs2:ocfs2_test_suballoc_bit") kernel.trace("ocfs2:ocfs2_trim_extent") kernel.trace("ocfs2:ocfs2_trim_fs") kernel.trace("ocfs2:ocfs2_trim_group") kernel.trace("ocfs2:ocfs2_truncate_file") kernel.trace("ocfs2:ocfs2_truncate_file_error") kernel.trace("ocfs2:ocfs2_truncate_log_append") kernel.trace("ocfs2:ocfs2_truncate_log_recovery_num") kernel.trace("ocfs2:ocfs2_try_to_write_inline_data") kernel.trace("ocfs2:ocfs2_unlink") kernel.trace("ocfs2:ocfs2_unlink_noent") kernel.trace("ocfs2:ocfs2_update_last_group_and_inode") kernel.trace("ocfs2:ocfs2_validate_dir_block") kernel.trace("ocfs2:ocfs2_validate_extent_block") kernel.trace("ocfs2:ocfs2_validate_group_descriptor") kernel.trace("ocfs2:ocfs2_validate_inode_block") kernel.trace("ocfs2:ocfs2_validate_quota_block") kernel.trace("ocfs2:ocfs2_validate_refcount_block") kernel.trace("ocfs2:ocfs2_validate_xattr_block") kernel.trace("ocfs2:ocfs2_wait_on_mount") kernel.trace("ocfs2:ocfs2_write_begin_nolock") kernel.trace("ocfs2:ocfs2_write_block") kernel.trace("ocfs2:ocfs2_write_dquot") kernel.trace("ocfs2:ocfs2_write_end_inline") kernel.trace("ocfs2:ocfs2_write_remove_suid") kernel.trace("ocfs2:ocfs2_write_zero_page") kernel.trace("ocfs2:ocfs2_writepage") kernel.trace("ocfs2:ocfs2_xattr_bucket_find") kernel.trace("ocfs2:ocfs2_xattr_bucket_value_refcount") kernel.trace("ocfs2:ocfs2_xattr_bucket_value_truncate") kernel.trace("ocfs2:ocfs2_xattr_create_index_block") kernel.trace("ocfs2:ocfs2_xattr_create_index_block_begin") kernel.trace("ocfs2:ocfs2_xattr_extend_allocation") kernel.trace("ocfs2:ocfs2_xattr_index_block_find") kernel.trace("ocfs2:ocfs2_xattr_index_block_find_rec") kernel.trace("ocfs2:ocfs2_xattr_set_entry_bucket") kernel.trace("ocfs2:ocfs2_xattr_set_entry_index_block") kernel.trace("ocfs2:ocfs2_zero_extend") kernel.trace("ocfs2:ocfs2_zero_extend_range") kernel.trace("ocfs2:ocfs2_zero_partial_clusters") kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range1") kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range2") kernel.trace("ocfs2:olq_set_dquot") kernel.trace("oom:oom_score_adj_update") kernel.trace("page_isolation:test_pages_isolated") kernel.trace("page_ref:page_ref_freeze") kernel.trace("page_ref:page_ref_mod") kernel.trace("page_ref:page_ref_mod_and_return") kernel.trace("page_ref:page_ref_mod_and_test") kernel.trace("page_ref:page_ref_mod_unless") kernel.trace("page_ref:page_ref_set") kernel.trace("page_ref:page_ref_unfreeze") kernel.trace("pagemap:mm_lru_activate") kernel.trace("pagemap:mm_lru_insertion") kernel.trace("power:clock_disable") kernel.trace("power:clock_enable") kernel.trace("power:clock_set_rate") kernel.trace("power:cpu_frequency") kernel.trace("power:cpu_idle") kernel.trace("power:cpu_migrate_begin") kernel.trace("power:cpu_migrate_current") kernel.trace("power:cpu_migrate_finish") kernel.trace("power:dev_pm_qos_add_request") kernel.trace("power:dev_pm_qos_remove_request") kernel.trace("power:dev_pm_qos_update_request") kernel.trace("power:device_pm_callback_end") kernel.trace("power:device_pm_callback_start") kernel.trace("power:pm_qos_add_request") kernel.trace("power:pm_qos_remove_request") kernel.trace("power:pm_qos_update_flags") kernel.trace("power:pm_qos_update_request") kernel.trace("power:pm_qos_update_request_timeout") kernel.trace("power:pm_qos_update_target") kernel.trace("power:power_domain_target") kernel.trace("power:powernv_throttle") kernel.trace("power:pstate_sample") kernel.trace("power:suspend_resume") kernel.trace("power:wakeup_source_activate") kernel.trace("power:wakeup_source_deactivate") kernel.trace("printk:console") kernel.trace("radeon:radeon_bo_create") kernel.trace("radeon:radeon_cs") kernel.trace("radeon:radeon_fence_emit") kernel.trace("radeon:radeon_fence_wait_begin") kernel.trace("radeon:radeon_fence_wait_end") kernel.trace("radeon:radeon_semaphore_signale") kernel.trace("radeon:radeon_semaphore_wait") kernel.trace("radeon:radeon_vm_bo_update") kernel.trace("radeon:radeon_vm_flush") kernel.trace("radeon:radeon_vm_grab_id") kernel.trace("radeon:radeon_vm_set_page") kernel.trace("random:add_device_randomness") kernel.trace("random:add_disk_randomness") kernel.trace("random:add_input_randomness") kernel.trace("random:credit_entropy_bits") kernel.trace("random:debit_entropy") kernel.trace("random:extract_entropy") kernel.trace("random:extract_entropy_user") kernel.trace("random:get_random_bytes") kernel.trace("random:get_random_bytes_arch") kernel.trace("random:mix_pool_bytes") kernel.trace("random:mix_pool_bytes_nolock") kernel.trace("random:push_to_pool") kernel.trace("random:random_read") kernel.trace("random:urandom_read") kernel.trace("random:xfer_secondary_pool") kernel.trace("ras:aer_event") kernel.trace("ras:mc_event") kernel.trace("raw_syscalls:sys_enter") kernel.trace("raw_syscalls:sys_exit") kernel.trace("rcu:rcu_utilization") kernel.trace("regmap:regcache_drop_region") kernel.trace("regmap:regcache_sync") kernel.trace("regmap:regmap_async_complete_done") kernel.trace("regmap:regmap_async_complete_start") kernel.trace("regmap:regmap_async_io_complete") kernel.trace("regmap:regmap_async_write_start") kernel.trace("regmap:regmap_cache_bypass") kernel.trace("regmap:regmap_cache_only") kernel.trace("regmap:regmap_hw_read_done") kernel.trace("regmap:regmap_hw_read_start") kernel.trace("regmap:regmap_hw_write_done") kernel.trace("regmap:regmap_hw_write_start") kernel.trace("regmap:regmap_reg_read") kernel.trace("regmap:regmap_reg_read_cache") kernel.trace("regmap:regmap_reg_write") kernel.trace("regulator:regulator_disable") kernel.trace("regulator:regulator_disable_complete") kernel.trace("regulator:regulator_enable") kernel.trace("regulator:regulator_enable_complete") kernel.trace("regulator:regulator_enable_delay") kernel.trace("regulator:regulator_set_voltage") kernel.trace("regulator:regulator_set_voltage_complete") kernel.trace("rpm:rpm_idle") kernel.trace("rpm:rpm_resume") kernel.trace("rpm:rpm_return_int") kernel.trace("rpm:rpm_suspend") kernel.trace("sched:sched_kthread_stop") kernel.trace("sched:sched_kthread_stop_ret") kernel.trace("sched:sched_migrate_task") kernel.trace("sched:sched_move_numa") kernel.trace("sched:sched_pi_setprio") kernel.trace("sched:sched_process_exec") kernel.trace("sched:sched_process_exit") kernel.trace("sched:sched_process_fork") kernel.trace("sched:sched_process_free") kernel.trace("sched:sched_process_hang") kernel.trace("sched:sched_process_wait") kernel.trace("sched:sched_stat_blocked") kernel.trace("sched:sched_stat_iowait") kernel.trace("sched:sched_stat_runtime") kernel.trace("sched:sched_stat_sleep") kernel.trace("sched:sched_stat_wait") kernel.trace("sched:sched_stick_numa") kernel.trace("sched:sched_swap_numa") kernel.trace("sched:sched_switch") kernel.trace("sched:sched_wait_task") kernel.trace("sched:sched_wake_idle_without_ipi") kernel.trace("sched:sched_wakeup") kernel.trace("sched:sched_wakeup_new") kernel.trace("sched:sched_waking") kernel.trace("scsi:scsi_dispatch_cmd_done") kernel.trace("scsi:scsi_dispatch_cmd_error") kernel.trace("scsi:scsi_dispatch_cmd_start") kernel.trace("scsi:scsi_dispatch_cmd_timeout") kernel.trace("scsi:scsi_eh_wakeup") kernel.trace("signal:signal_deliver") kernel.trace("signal:signal_generate") kernel.trace("skb:consume_skb") kernel.trace("skb:kfree_skb") kernel.trace("skb:skb_copy_datagram_iovec") kernel.trace("snd_pcm:hw_ptr_error") kernel.trace("snd_pcm:hwptr") kernel.trace("snd_pcm:xrun") kernel.trace("sock:sock_exceed_buf_limit") kernel.trace("sock:sock_rcvqueue_full") kernel.trace("spi:spi_master_busy") kernel.trace("spi:spi_master_idle") kernel.trace("spi:spi_message_done") kernel.trace("spi:spi_message_start") kernel.trace("spi:spi_message_submit") kernel.trace("spi:spi_transfer_start") kernel.trace("spi:spi_transfer_stop") kernel.trace("spmi:spmi_cmd") kernel.trace("spmi:spmi_read_begin") kernel.trace("spmi:spmi_read_end") kernel.trace("spmi:spmi_write_begin") kernel.trace("spmi:spmi_write_end") kernel.trace("sunrpc:rpc_bind_status") kernel.trace("sunrpc:rpc_call_status") kernel.trace("sunrpc:rpc_connect_status") kernel.trace("sunrpc:rpc_socket_close") kernel.trace("sunrpc:rpc_socket_connect") kernel.trace("sunrpc:rpc_socket_error") kernel.trace("sunrpc:rpc_socket_reset_connection") kernel.trace("sunrpc:rpc_socket_shutdown") kernel.trace("sunrpc:rpc_socket_state_change") kernel.trace("sunrpc:rpc_task_begin") kernel.trace("sunrpc:rpc_task_complete") kernel.trace("sunrpc:rpc_task_run_action") kernel.trace("sunrpc:rpc_task_sleep") kernel.trace("sunrpc:rpc_task_wakeup") kernel.trace("sunrpc:svc_defer") kernel.trace("sunrpc:svc_drop") kernel.trace("sunrpc:svc_drop_deferred") kernel.trace("sunrpc:svc_handle_xprt") kernel.trace("sunrpc:svc_process") kernel.trace("sunrpc:svc_recv") kernel.trace("sunrpc:svc_revisit_deferred") kernel.trace("sunrpc:svc_send") kernel.trace("sunrpc:svc_wake_up") kernel.trace("sunrpc:svc_xprt_dequeue") kernel.trace("sunrpc:svc_xprt_do_enqueue") kernel.trace("sunrpc:svc_xprt_no_write_space") kernel.trace("sunrpc:xprt_complete_rqst") kernel.trace("sunrpc:xprt_lookup_rqst") kernel.trace("sunrpc:xprt_transmit") kernel.trace("sunrpc:xs_tcp_data_ready") kernel.trace("sunrpc:xs_tcp_data_recv") kernel.trace("sunvnet:vnet_rx_one") kernel.trace("sunvnet:vnet_rx_stopped_ack") kernel.trace("sunvnet:vnet_skip_tx_trigger") kernel.trace("sunvnet:vnet_tx_defer_stopped_ack") kernel.trace("sunvnet:vnet_tx_pending_stopped_ack") kernel.trace("sunvnet:vnet_tx_send_stopped_ack") kernel.trace("sunvnet:vnet_tx_trigger") kernel.trace("swiotlb:swiotlb_bounced") kernel.trace("target:target_cmd_complete") kernel.trace("target:target_sequencer_start") kernel.trace("task:task_newtask") kernel.trace("task:task_rename") kernel.trace("thermal:cdev_update") kernel.trace("thermal:thermal_power_cpu_get_power") kernel.trace("thermal:thermal_power_cpu_limit") kernel.trace("thermal:thermal_power_devfreq_get_power") kernel.trace("thermal:thermal_power_devfreq_limit") kernel.trace("thermal:thermal_temperature") kernel.trace("thermal:thermal_zone_trip") kernel.trace("thermal_power_allocator:thermal_power_allocator") kernel.trace("thermal_power_allocator:thermal_power_allocator_pid") kernel.trace("thp:hugepage_invalidate") kernel.trace("thp:hugepage_set_pmd") kernel.trace("thp:hugepage_splitting") kernel.trace("thp:hugepage_update") kernel.trace("timer:hrtimer_cancel") kernel.trace("timer:hrtimer_expire_entry") kernel.trace("timer:hrtimer_expire_exit") kernel.trace("timer:hrtimer_init") kernel.trace("timer:hrtimer_start") kernel.trace("timer:itimer_expire") kernel.trace("timer:itimer_state") kernel.trace("timer:tick_stop") kernel.trace("timer:timer_cancel") kernel.trace("timer:timer_expire_entry") kernel.trace("timer:timer_expire_exit") kernel.trace("timer:timer_init") kernel.trace("timer:timer_start") kernel.trace("tlb:tlb_flush") kernel.trace("udp:udp_fail_queue_rcv_skb") kernel.trace("v4l2:v4l2_dqbuf") kernel.trace("v4l2:v4l2_qbuf") kernel.trace("v4l2:vb2_v4l2_buf_done") kernel.trace("v4l2:vb2_v4l2_buf_queue") kernel.trace("v4l2:vb2_v4l2_dqbuf") kernel.trace("v4l2:vb2_v4l2_qbuf") kernel.trace("vb2:vb2_buf_done") kernel.trace("vb2:vb2_buf_queue") kernel.trace("vb2:vb2_dqbuf") kernel.trace("vb2:vb2_qbuf") kernel.trace("vmscan:mm_shrink_slab_end") kernel.trace("vmscan:mm_shrink_slab_start") kernel.trace("vmscan:mm_vmscan_direct_reclaim_begin") kernel.trace("vmscan:mm_vmscan_direct_reclaim_end") kernel.trace("vmscan:mm_vmscan_kswapd_sleep") kernel.trace("vmscan:mm_vmscan_kswapd_wake") kernel.trace("vmscan:mm_vmscan_lru_isolate") kernel.trace("vmscan:mm_vmscan_lru_shrink_inactive") kernel.trace("vmscan:mm_vmscan_memcg_isolate") kernel.trace("vmscan:mm_vmscan_memcg_reclaim_begin") kernel.trace("vmscan:mm_vmscan_memcg_reclaim_end") kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_begin") kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_end") kernel.trace("vmscan:mm_vmscan_wakeup_kswapd") kernel.trace("vmscan:mm_vmscan_writepage") kernel.trace("vsock:virtio_transport_alloc_pkt") kernel.trace("vsock:virtio_transport_recv_pkt") kernel.trace("vsyscall:emulate_vsyscall") kernel.trace("workqueue:workqueue_activate_work") kernel.trace("workqueue:workqueue_execute_end") kernel.trace("workqueue:workqueue_execute_start") kernel.trace("workqueue:workqueue_queue_work") kernel.trace("writeback:balance_dirty_pages") kernel.trace("writeback:bdi_dirty_ratelimit") kernel.trace("writeback:global_dirty_state") kernel.trace("writeback:sb_clear_inode_writeback") kernel.trace("writeback:sb_mark_inode_writeback") kernel.trace("writeback:wbc_writepage") kernel.trace("writeback:writeback_bdi_register") kernel.trace("writeback:writeback_congestion_wait") kernel.trace("writeback:writeback_dirty_inode") kernel.trace("writeback:writeback_dirty_inode_enqueue") kernel.trace("writeback:writeback_dirty_inode_start") kernel.trace("writeback:writeback_dirty_page") kernel.trace("writeback:writeback_exec") kernel.trace("writeback:writeback_lazytime") kernel.trace("writeback:writeback_lazytime_iput") kernel.trace("writeback:writeback_mark_inode_dirty") kernel.trace("writeback:writeback_nowork") kernel.trace("writeback:writeback_pages_written") kernel.trace("writeback:writeback_queue") kernel.trace("writeback:writeback_queue_io") kernel.trace("writeback:writeback_sb_inodes_requeue") kernel.trace("writeback:writeback_single_inode") kernel.trace("writeback:writeback_single_inode_start") kernel.trace("writeback:writeback_start") kernel.trace("writeback:writeback_wait") kernel.trace("writeback:writeback_wait_iff_congested") kernel.trace("writeback:writeback_wake_background") kernel.trace("writeback:writeback_write_inode") kernel.trace("writeback:writeback_write_inode_start") kernel.trace("writeback:writeback_written") kernel.trace("xhci-hcd:xhci_address_ctx") kernel.trace("xhci-hcd:xhci_cmd_completion") kernel.trace("xhci-hcd:xhci_dbg_address") kernel.trace("xhci-hcd:xhci_dbg_cancel_urb") kernel.trace("xhci-hcd:xhci_dbg_context_change") kernel.trace("xhci-hcd:xhci_dbg_init") kernel.trace("xhci-hcd:xhci_dbg_quirks") kernel.trace("xhci-hcd:xhci_dbg_reset_ep") kernel.trace("xhci-hcd:xhci_dbg_ring_expansion") PASS: tracepoints list 1545 Trying stap -w -p4 /root/systemtap_write/systemtap/testsuite/tracepoints.stp PASS: tracepoints - compiled PASS: tracepoints - kernel.trace("sched:*") PASS: tracepoints - kernel.trace("*:sched_switch") PASS: tracepoints - kernel.trace("sched_switch") PASS: tracepoints - kernel.trace("sched:sched_switch") PASS: tracepoints - kernel.trace("sche?:sched_switc?") PASS: tracepoints - kernel.trace(":sched_switch") PASS: tracepoints - kernel.trace("") PASS: tracepoints - kernel.trace(":") PASS: tracepoints - kernel.trace("bla:") PASS: tracepoints - kernel.trace("sched:") executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints.stp -w PASS: systemtap.base/tracepoints.stp -w executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints2.stp PASS: systemtap.base/tracepoints2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints.exp completed in 298 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints_list.exp ... UNTESTED: tracepoints_list (no perf) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/tracepoints_list.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/tracescripts.exp ... PASS: tracescripts testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/tracescripts.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/tri.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/tri.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/tri.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 6 globals using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapK1PbWU/stap_c9bfc9201b79ab59ac93b7dd4d9b72ec_2058_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_c9bfc9201b79ab59ac93b7dd4d9b72ec_2058.ko" in 0usr/3400sys/3443real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/tri.stp startup PASS: systemtap.base/tri.stp load generation Executing: kill -INT -29185 systemtap ending probe systemtap test success PASS: systemtap.base/tri.stp shutdown and output Pass 5: run completed in 0usr/70sys/1002real ms. metric: systemtap.base/tri.stp 0 400 401 0 10 9 0 0 2 0 3400 3443 0 70 1002 Executing: kill -INT -29185 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/tri.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/try_assign.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/try_assign.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.base/try_assign.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 3 probes, 3 functions, 0 embeds, 0 globals using 54848virt/45056res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapGihWR0/stap_7fedff3c14581c1a21440b39f028d938_1837_src.c" using 54848virt/47424res/6912shr/38400data kb, in 0usr/0sys/1real ms. Pass 4: compiled C into "stap_7fedff3c14581c1a21440b39f028d938_1837.ko" in 0usr/3370sys/3425real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.base/try_assign.stp startup PASS: systemtap.base/try_assign.stp load generation Executing: kill -INT -29440 PASS: systemtap.base/try_assign.stp shutdown and output Pass 5: run completed in 0usr/70sys/498real ms. metric: systemtap.base/try_assign.stp 0 400 402 0 10 8 0 0 1 0 3370 3425 0 70 498 Executing: kill -INT -29440 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/try_assign.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/trycatch.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp ERROR: MAXACTION exceeded near keyword at /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp:34:3 OK 1 OK 2 bar OK 3 OK 4 OK 5 OK 7 OK 7a OK 8 OK 8a WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: trycatch spawn stap -u /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp ERROR: MAXACTION exceeded near keyword at /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp:34:3 OK 1 OK 2 bar OK 3 OK 4 OK 5 OK 7 OK 7a OK 8 OK 8a WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: trycatch -u testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/trycatch.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/uncached_tracepoints.exp ... uncached_tracepoints exec: stap -l kernel.trace("sched_switch") kernel.trace("sched:sched_switch") uncached_tracepoints exec: stap -l kernel.trace("sched_switch") --disable-cache kernel.trace("sched:sched_switch") PASS: uncached_tracepoints testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/uncached_tracepoints.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe PASS: unresolved-struct-typedef-m64 compile running stap -v -p4 -e { probe process(@1).mark("epoch") { println($epoch->tm_year) } } unresolved-struct-typedef.exe spawn stap -v -p4 -e probe process(@1).mark("epoch") { println($epoch->tm_year) } unresolved-struct-typedef.exe Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54848virt/48128res/7552shr/38400data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapZ2uLHb/stap_8112fb3a40870a5d576c5eff50a4228a_2903_src.c" using 54976virt/48448res/7744shr/38528data kb, in 0usr/1460sys/1486real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/81/stap_8112fb3a40870a5d576c5eff50a4228a_2903.ko Pass 4: compiled C into "stap_8112fb3a40870a5d576c5eff50a4228a_2903.ko" in 0usr/4720sys/4792real ms. PASS: unresolved-struct-typedef-m64 compilation succeeded Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe PASS: unresolved-struct-typedef-m64 compile running stap -v -p4 -e { probe process(@1).mark("epoch") { println($epoch->tm_year) } } unresolved-struct-typedef.exe spawn stap -v -p4 -e probe process(@1).mark("epoch") { println($epoch->tm_year) } unresolved-struct-typedef.exe Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54784virt/48064res/7552shr/38336data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stap7eNjOh/stap_064ef0247e9abd725c688a49b098b202_2903_src.c" using 54912virt/48384res/7744shr/38464data kb, in 0usr/1470sys/1501real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_064ef0247e9abd725c688a49b098b202_2903.ko Pass 4: compiled C into "stap_064ef0247e9abd725c688a49b098b202_2903.ko" in 0usr/4730sys/4786real ms. PASS: unresolved-struct-typedef-m64 compilation succeeded Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -fno-eliminate-unused-debug-types -xc /usr/include/time.h -lm -o unresolved-struct-typedef.exe PASS: unresolved-struct-typedef-m64-O compile running stap -v -p4 -e { probe process(@1).mark("epoch") { println($epoch->tm_year) } } unresolved-struct-typedef.exe spawn stap -v -p4 -e probe process(@1).mark("epoch") { println($epoch->tm_year) } unresolved-struct-typedef.exe Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 54784virt/48064res/7552shr/38336data kb, in 0usr/10sys/10real ms. Pass 3: translated to C into "/tmp/stapM6JOdc/stap_855c95f265a1da2ac37be9a9ae43a88d_2626_src.c" using 54912virt/48384res/7744shr/38464data kb, in 0usr/1470sys/1497real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/stap_855c95f265a1da2ac37be9a9ae43a88d_2626.ko Pass 4: compiled C into "stap_855c95f265a1da2ac37be9a9ae43a88d_2626.ko" in 0usr/4710sys/4780real ms. PASS: unresolved-struct-typedef-m64-O compilation succeeded testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/unresolved-struct-typedef.exp completed in 21 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobe_nd_params.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/test.c -lm -o /root/systemtap_write/systemtap/testsuite/test (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/test.c -lm -o /root/systemtap_write/systemtap/testsuite/test PASS: compiling test.c compiler=gcc spawn stap /root/systemtap_write/systemtap/testsuite/test.stp -c /root/systemtap_write/systemtap/testsuite/test fc1;2147483647;2147483647; fc2;4294967295;4294967295; fc3;9223372036854775807;-1 fc4;18446744073709551615;18446744073709551615; fc5;12345678deadbeef;12345678deadbeef;12345678deadbeef;12345678deadbeef; fc6;0x3fff26bc95c;0xffffffffffffffff PASS: uprobe_nd_params testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobe_nd_params.exp completed in 11 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.exp ... PASS: uprobes compile starting /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5b/stap_5bb0b2251645c4b27c4c95eab74fd978_6250.ko wait results: 32642 exp36 0 0 PASS: uprobes -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.stp -w -c ./jennie 1 2 3 4 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x5 argv=0x3ffc43a5af8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x4 argv=0x3ffc43a5af8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x3 argv=0x3ffc43a5af8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x2 argv=0x3ffc43a5af8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x1 argv=0x3ffc43a5af8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 PASS: uprobes -p5 starting /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_call.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_call.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_call.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/stap_fd26a19a2a3ef384095bb91ad0b061d2_4756.ko wait results: 451 exp36 0 0 PASS: uprobes_call -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_call.stp -w -c ./jennie 1 2 3 4 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x5 argv=0x3ffda8da8e8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x4 argv=0x3ffda8da8e8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x3 argv=0x3ffda8da8e8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x2 argv=0x3ffda8da8e8 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x1 argv=0x3ffda8da8e8 PASS: uprobes_call -p5 starting /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_return.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_return.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_return.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/stap_7ffdb8ad6d1f6b66db360cd6b6399866_3109.ko wait results: 767 exp36 0 0 PASS: uprobes_return -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_return.stp -w -c ./jennie 1 2 3 4 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/jennie").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 PASS: uprobes_return -p5 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_filtering.exp ... spawn stap -DUPROBES_HITCOUNT --privilege=stapusr --vp 00003 -e probe process("stap").mark("benchmark") { next } Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -v -R /tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko staprun:main:432 modpath="/tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko", modname="stap_a9f6bac5ab61799315f350d702466c4b_1593" staprun:init_staprun:338 init_staprun staprun:insert_module:71 inserting module /tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko staprun:insert_module:97 module options: _stp_bufsize=0 staprun:insert_module:105 module path canonicalized to '/tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko' staprun:check_signature:418 checking signature for /tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko Signature file /tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko.sgn not found staprun:check_signature:431 verify_module returns 0 staprun:insert_module:168 Renaming module 'stap_a9f6bac5ab61799315f350d702466c4b_1593' staprun:insert_module:176 Renamed module to 'stap_a9f6bac5ab61799315f350d702466c4b_1311' staprun:insert_module:183 Module stap_a9f6bac5ab61799315f350d702466c4b_1311 inserted from file /tmp/stap17sxXi/stap_a9f6bac5ab61799315f350d702466c4b_1593.ko staprun:init_ctl_channel:77 Opened /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/.cmd (4) staprun:close_ctl_channel:114 Closed ctl fd 4 execing: /root/systemtap_write/install/libexec/systemtap/stapio -v -v -R stap_a9f6bac5ab61799315f350d702466c4b_1311 -F3 stapio:parse_modpath:470 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311.ko" stapio:main:50 modpath="/lib/modules/4.8.0-rc1uprobes+/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311.ko", modname="stap_a9f6bac5ab61799315f350d702466c4b_1311" stapio:init_stapio:419 init_stapio stapio:init_ctl_channel:35 Opened .cmd (4) stapio:stp_main_loop:629 in main loop stapio:stp_main_loop:648 select_supported: 1 stapio:init_relayfs:306 initializing relayfs stapio:init_relayfs:328 attempting to openat trace0 stapio:init_relayfs:328 attempting to openat trace1 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace1 stapio:init_relayfs:328 attempting to openat trace2 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace2 stapio:init_relayfs:328 attempting to openat trace3 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace3 stapio:init_relayfs:328 attempting to openat trace4 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace4 stapio:init_relayfs:328 attempting to openat trace5 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace5 stapio:init_relayfs:328 attempting to openat trace6 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace6 stapio:init_relayfs:328 attempting to openat trace7 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace7 stapio:init_relayfs:328 attempting to openat trace8 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace8 stapio:init_relayfs:328 attempting to openat trace9 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace9 stapio:init_relayfs:328 attempting to openat trace10 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace10 stapio:init_relayfs:328 attempting to openat trace11 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace11 stapio:init_relayfs:328 attempting to openat trace12 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace12 stapio:init_relayfs:328 attempting to openat trace13 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace13 stapio:init_relayfs:328 attempting to openat trace14 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace14 stapio:init_relayfs:328 attempting to openat trace15 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace15 stapio:init_relayfs:328 attempting to openat trace16 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace16 stapio:init_relayfs:328 attempting to openat trace17 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace17 stapio:init_relayfs:328 attempting to openat trace18 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace18 stapio:init_relayfs:328 attempting to openat trace19 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace19 stapio:init_relayfs:328 attempting to openat trace20 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace20 stapio:init_relayfs:328 attempting to openat trace21 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace21 stapio:init_relayfs:328 attempting to openat trace22 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace22 stapio:init_relayfs:328 attempting to openat trace23 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace23 stapio:init_relayfs:328 attempting to openat trace24 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace24 stapio:init_relayfs:328 attempting to openat trace25 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace25 stapio:init_relayfs:328 attempting to openat trace26 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace26 stapio:init_relayfs:328 attempting to openat trace27 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace27 stapio:init_relayfs:328 attempting to openat trace28 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace28 stapio:init_relayfs:328 attempting to openat trace29 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace29 stapio:init_relayfs:328 attempting to openat trace30 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace30 stapio:init_relayfs:328 attempting to openat trace31 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace31 stapio:init_relayfs:328 attempting to openat trace32 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace32 stapio:init_relayfs:328 attempting to openat trace33 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace33 stapio:init_relayfs:328 attempting to openat trace34 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace34 stapio:init_relayfs:328 attempting to openat trace35 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace35 stapio:init_relayfs:328 attempting to openat trace36 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace36 stapio:init_relayfs:328 attempting to openat trace37 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace37 stapio:init_relayfs:328 attempting to openat trace38 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace38 stapio:init_relayfs:328 attempting to openat trace39 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace39 stapio:init_relayfs:328 attempting to openat trace40 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace40 stapio:init_relayfs:328 attempting to openat trace41 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace41 stapio:init_relayfs:328 attempting to openat trace42 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace42 stapio:init_relayfs:328 attempting to openat trace43 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace43 stapio:init_relayfs:328 attempting to openat trace44 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace44 stapio:init_relayfs:328 attempting to openat trace45 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace45 stapio:init_relayfs:328 attempting to openat trace46 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace46 stapio:init_relayfs:328 attempting to openat trace47 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace47 stapio:init_relayfs:328 attempting to openat trace48 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace48 stapio:init_relayfs:328 attempting to openat trace49 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace49 stapio:init_relayfs:328 attempting to openat trace50 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace50 stapio:init_relayfs:328 attempting to openat trace51 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace51 stapio:init_relayfs:328 attempting to openat trace52 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace52 stapio:init_relayfs:328 attempting to openat trace53 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace53 stapio:init_relayfs:328 attempting to openat trace54 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace54 stapio:init_relayfs:328 attempting to openat trace55 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace55 stapio:init_relayfs:328 attempting to openat trace56 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace56 stapio:init_relayfs:328 attempting to openat trace57 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace57 stapio:init_relayfs:328 attempting to openat trace58 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace58 stapio:init_relayfs:328 attempting to openat trace59 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace59 stapio:init_relayfs:328 attempting to openat trace60 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace60 stapio:init_relayfs:328 attempting to openat trace61 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace61 stapio:init_relayfs:328 attempting to openat trace62 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace62 stapio:init_relayfs:328 attempting to openat trace63 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace63 stapio:init_relayfs:328 attempting to openat trace64 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace64 stapio:init_relayfs:328 attempting to openat trace65 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace65 stapio:init_relayfs:328 attempting to openat trace66 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace66 stapio:init_relayfs:328 attempting to openat trace67 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace67 stapio:init_relayfs:328 attempting to openat trace68 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace68 stapio:init_relayfs:328 attempting to openat trace69 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace69 stapio:init_relayfs:328 attempting to openat trace70 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace70 stapio:init_relayfs:328 attempting to openat trace71 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace71 stapio:init_relayfs:328 attempting to openat trace72 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace72 stapio:init_relayfs:328 attempting to openat trace73 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace73 stapio:init_relayfs:328 attempting to openat trace74 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace74 stapio:init_relayfs:328 attempting to openat trace75 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace75 stapio:init_relayfs:328 attempting to openat trace76 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace76 stapio:init_relayfs:328 attempting to openat trace77 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace77 stapio:init_relayfs:328 attempting to openat trace78 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace78 stapio:init_relayfs:328 attempting to openat trace79 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace79 stapio:init_relayfs:328 attempting to openat trace80 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace80 stapio:init_relayfs:328 attempting to openat trace81 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace81 stapio:init_relayfs:328 attempting to openat trace82 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace82 stapio:init_relayfs:328 attempting to openat trace83 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace83 stapio:init_relayfs:328 attempting to openat trace84 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace84 stapio:init_relayfs:328 attempting to openat trace85 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace85 stapio:init_relayfs:328 attempting to openat trace86 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace86 stapio:init_relayfs:328 attempting to openat trace87 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace87 stapio:init_relayfs:328 attempting to openat trace88 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace88 stapio:init_relayfs:328 attempting to openat trace89 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace89 stapio:init_relayfs:328 attempting to openat trace90 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace90 stapio:init_relayfs:328 attempting to openat trace91 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace91 stapio:init_relayfs:328 attempting to openat trace92 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace92 stapio:init_relayfs:328 attempting to openat trace93 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace93 stapio:init_relayfs:328 attempting to openat trace94 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace94 stapio:init_relayfs:328 attempting to openat trace95 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace95 stapio:init_relayfs:328 attempting to openat trace96 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace96 stapio:init_relayfs:328 attempting to openat trace97 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace97 stapio:init_relayfs:328 attempting to openat trace98 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace98 stapio:init_relayfs:328 attempting to openat trace99 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace99 stapio:init_relayfs:328 attempting to openat trace100 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace100 stapio:init_relayfs:328 attempting to openat trace101 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace101 stapio:init_relayfs:328 attempting to openat trace102 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace102 stapio:init_relayfs:328 attempting to openat trace103 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace103 stapio:init_relayfs:328 attempting to openat trace104 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace104 stapio:init_relayfs:328 attempting to openat trace105 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace105 stapio:init_relayfs:328 attempting to openat trace106 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace106 stapio:init_relayfs:328 attempting to openat trace107 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace107 stapio:init_relayfs:328 attempting to openat trace108 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace108 stapio:init_relayfs:328 attempting to openat trace109 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace109 stapio:init_relayfs:328 attempting to openat trace110 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace110 stapio:init_relayfs:328 attempting to openat trace111 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace111 stapio:init_relayfs:328 attempting to openat trace112 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace112 stapio:init_relayfs:328 attempting to openat trace113 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace113 stapio:init_relayfs:328 attempting to openat trace114 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace114 stapio:init_relayfs:328 attempting to openat trace115 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace115 stapio:init_relayfs:328 attempting to openat trace116 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace116 stapio:init_relayfs:328 attempting to openat trace117 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace117 stapio:init_relayfs:328 attempting to openat trace118 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace118 stapio:init_relayfs:328 attempting to openat trace119 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace119 stapio:init_relayfs:328 attempting to openat trace120 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace120 stapio:init_relayfs:328 attempting to openat trace121 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace121 stapio:init_relayfs:328 attempting to openat trace122 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace122 stapio:init_relayfs:328 attempting to openat trace123 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace123 stapio:init_relayfs:328 attempting to openat trace124 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace124 stapio:init_relayfs:328 attempting to openat trace125 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace125 stapio:init_relayfs:328 attempting to openat trace126 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace126 stapio:init_relayfs:328 attempting to openat trace127 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace127 stapio:init_relayfs:328 attempting to openat trace128 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace128 stapio:init_relayfs:328 attempting to openat trace129 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace129 stapio:init_relayfs:328 attempting to openat trace130 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace130 stapio:init_relayfs:328 attempting to openat trace131 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace131 stapio:init_relayfs:328 attempting to openat trace132 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace132 stapio:init_relayfs:328 attempting to openat trace133 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace133 stapio:init_relayfs:328 attempting to openat trace134 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace134 stapio:init_relayfs:328 attempting to openat trace135 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace135 stapio:init_relayfs:328 attempting to openat trace136 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace136 stapio:init_relayfs:328 attempting to openat trace137 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace137 stapio:init_relayfs:328 attempting to openat trace138 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace138 stapio:init_relayfs:328 attempting to openat trace139 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace139 stapio:init_relayfs:328 attempting to openat trace140 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace140 stapio:init_relayfs:328 attempting to openat trace141 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace141 stapio:init_relayfs:328 attempting to openat trace142 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace142 stapio:init_relayfs:328 attempting to openat trace143 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace143 stapio:init_relayfs:328 attempting to openat trace144 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace144 stapio:init_relayfs:328 attempting to openat trace145 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace145 stapio:init_relayfs:328 attempting to openat trace146 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace146 stapio:init_relayfs:328 attempting to openat trace147 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace147 stapio:init_relayfs:328 attempting to openat trace148 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace148 stapio:init_relayfs:328 attempting to openat trace149 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace149 stapio:init_relayfs:328 attempting to openat trace150 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace150 stapio:init_relayfs:328 attempting to openat trace151 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace151 stapio:init_relayfs:328 attempting to openat trace152 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace152 stapio:init_relayfs:328 attempting to openat trace153 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace153 stapio:init_relayfs:328 attempting to openat trace154 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace154 stapio:init_relayfs:328 attempting to openat trace155 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace155 stapio:init_relayfs:328 attempting to openat trace156 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace156 stapio:init_relayfs:328 attempting to openat trace157 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace157 stapio:init_relayfs:328 attempting to openat trace158 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace158 stapio:init_relayfs:328 attempting to openat trace159 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace159 stapio:init_relayfs:328 attempting to openat trace160 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace160 stapio:init_relayfs:328 attempting to openat trace161 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace161 stapio:init_relayfs:328 attempting to openat trace162 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace162 stapio:init_relayfs:328 attempting to openat trace163 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace163 stapio:init_relayfs:328 attempting to openat trace164 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace164 stapio:init_relayfs:328 attempting to openat trace165 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace165 stapio:init_relayfs:328 attempting to openat trace166 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace166 stapio:init_relayfs:328 attempting to openat trace167 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace167 stapio:init_relayfs:328 attempting to openat trace168 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace168 stapio:init_relayfs:328 attempting to openat trace169 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace169 stapio:init_relayfs:328 attempting to openat trace170 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace170 stapio:init_relayfs:328 attempting to openat trace171 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace171 stapio:init_relayfs:328 attempting to openat trace172 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace172 stapio:init_relayfs:328 attempting to openat trace173 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace173 stapio:init_relayfs:328 attempting to openat trace174 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace174 stapio:init_relayfs:328 attempting to openat trace175 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace175 stapio:init_relayfs:328 attempting to openat trace176 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace176 stapio:init_relayfs:328 attempting to openat trace177 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace177 stapio:init_relayfs:328 attempting to openat trace178 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace178 stapio:init_relayfs:328 attempting to openat trace179 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace179 stapio:init_relayfs:328 attempting to openat trace180 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace180 stapio:init_relayfs:328 attempting to openat trace181 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace181 stapio:init_relayfs:328 attempting to openat trace182 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace182 stapio:init_relayfs:328 attempting to openat trace183 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace183 stapio:init_relayfs:328 attempting to openat trace184 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace184 stapio:init_relayfs:328 attempting to openat trace185 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace185 stapio:init_relayfs:328 attempting to openat trace186 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace186 stapio:init_relayfs:328 attempting to openat trace187 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace187 stapio:init_relayfs:328 attempting to openat trace188 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace188 stapio:init_relayfs:328 attempting to openat trace189 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace189 stapio:init_relayfs:328 attempting to openat trace190 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace190 stapio:init_relayfs:328 attempting to openat trace191 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace191 stapio:init_relayfs:328 attempting to openat trace192 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace192 stapio:init_relayfs:328 attempting to openat trace193 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace193 stapio:init_relayfs:328 attempting to openat trace194 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace194 stapio:init_relayfs:328 attempting to openat trace195 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace195 stapio:init_relayfs:328 attempting to openat trace196 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace196 stapio:init_relayfs:328 attempting to openat trace197 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace197 stapio:init_relayfs:328 attempting to openat trace198 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace198 stapio:init_relayfs:328 attempting to openat trace199 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace199 stapio:init_relayfs:328 attempting to openat trace200 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace200 stapio:init_relayfs:328 attempting to openat trace201 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace201 stapio:init_relayfs:328 attempting to openat trace202 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace202 stapio:init_relayfs:328 attempting to openat trace203 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace203 stapio:init_relayfs:328 attempting to openat trace204 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace204 stapio:init_relayfs:328 attempting to openat trace205 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace205 stapio:init_relayfs:328 attempting to openat trace206 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace206 stapio:init_relayfs:328 attempting to openat trace207 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace207 stapio:init_relayfs:328 attempting to openat trace208 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace208 stapio:init_relayfs:328 attempting to openat trace209 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace209 stapio:init_relayfs:328 attempting to openat trace210 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace210 stapio:init_relayfs:328 attempting to openat trace211 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace211 stapio:init_relayfs:328 attempting to openat trace212 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace212 stapio:init_relayfs:328 attempting to openat trace213 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace213 stapio:init_relayfs:328 attempting to openat trace214 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace214 stapio:init_relayfs:328 attempting to openat trace215 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace215 stapio:init_relayfs:328 attempting to openat trace216 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace216 stapio:init_relayfs:328 attempting to openat trace217 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace217 stapio:init_relayfs:328 attempting to openat trace218 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace218 stapio:init_relayfs:328 attempting to openat trace219 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace219 stapio:init_relayfs:328 attempting to openat trace220 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace220 stapio:init_relayfs:328 attempting to openat trace221 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace221 stapio:init_relayfs:328 attempting to openat trace222 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace222 stapio:init_relayfs:328 attempting to openat trace223 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace223 stapio:init_relayfs:328 attempting to openat trace224 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace224 stapio:init_relayfs:328 attempting to openat trace225 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace225 stapio:init_relayfs:328 attempting to openat trace226 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace226 stapio:init_relayfs:328 attempting to openat trace227 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace227 stapio:init_relayfs:328 attempting to openat trace228 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace228 stapio:init_relayfs:328 attempting to openat trace229 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace229 stapio:init_relayfs:328 attempting to openat trace230 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace230 stapio:init_relayfs:328 attempting to openat trace231 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace231 stapio:init_relayfs:328 attempting to openat trace232 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace232 stapio:init_relayfs:328 attempting to openat trace233 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace233 stapio:init_relayfs:328 attempting to openat trace234 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace234 stapio:init_relayfs:328 attempting to openat trace235 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace235 stapio:init_relayfs:328 attempting to openat trace236 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace236 stapio:init_relayfs:328 attempting to openat trace237 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace237 stapio:init_relayfs:328 attempting to openat trace238 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace238 stapio:init_relayfs:328 attempting to openat trace239 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace239 stapio:init_relayfs:328 attempting to openat trace240 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace240 stapio:init_relayfs:328 attempting to openat trace241 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace241 stapio:init_relayfs:328 attempting to openat trace242 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace242 stapio:init_relayfs:328 attempting to openat trace243 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace243 stapio:init_relayfs:328 attempting to openat trace244 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace244 stapio:init_relayfs:328 attempting to openat trace245 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace245 stapio:init_relayfs:328 attempting to openat trace246 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace246 stapio:init_relayfs:328 attempting to openat trace247 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace247 stapio:init_relayfs:328 attempting to openat trace248 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace248 stapio:init_relayfs:328 attempting to openat trace249 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace249 stapio:init_relayfs:328 attempting to openat trace250 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace250 stapio:init_relayfs:328 attempting to openat trace251 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace251 stapio:init_relayfs:328 attempting to openat trace252 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace252 stapio:init_relayfs:328 attempting to openat trace253 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace253 stapio:init_relayfs:328 attempting to openat trace254 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace254 stapio:init_relayfs:328 attempting to openat trace255 stapio:init_relayfs:336 attempting to open /sys/kernel/debug/systemtap/stap_a9f6bac5ab61799315f350d702466c4b_1311/trace255 stapio:init_relayfs:344 ncpus=1, bulkmode = 0 stapio:init_relayfs:346 cpui=0, relayfd=0 stapio:init_relayfs:425 starting threads stapio:stp_main_loop:842 systemtap_module_init() returned 0 PASS: uprobes_filtering (started benchmark monitor) as_non_root su -s /bin/sh nobody -c "SYSTEMTAP_DIR=/tmp/.systemtap-nobody /root/systemtap_write/install/bin/stap --benchmark-sdt-loops=11111111" OUT sh: /root/systemtap_write/install/bin/stap: Permission denied RC 1 FAIL: uprobes_filtering (can't start non-root benchmark) as_root /root/systemtap_write/install/bin/stap --benchmark-sdt-loops=10101010 OUT RC 0 PASS: uprobes_filtering (started root benchmark) Executing: kill -TERM 1063 stapio:signal_thread:44 sigproc 15 (Terminated) stapiu_probe_prehandler() called 10101010 times stapiu_probe_handler() called 10101010 times kernel prefiltering support = 1 FAIL: uprobes_filtering (prehandler was not called the right number of times) expected number of calls: 10101011 actual number of calls: 10101010 this can happen if other uprobes are inserted at the same location testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/uprobes_filtering.exp completed in 48 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel.stp -g PASS: utf_kernel testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel_trunc.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel_trunc.stp -g -DMAXSTRINGLEN=11 PASS: utf_kernel_trunc testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_kernel_trunc.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_overlong.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_overlong.stp PASS: utf_overlong testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_overlong.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_pretty.exp ... Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_pretty.cxx -g -std=c++0x -lm -o /root/systemtap_write/systemtap/testsuite/utf_pretty.exe (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_pretty.cxx -g -std=c++0x -lm -o /root/systemtap_write/systemtap/testsuite/utf_pretty.exe PASS: utf_pretty compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_pretty.stp -c /root/systemtap_write/systemtap/testsuite/utf_pretty.exe PASS: utf_pretty testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_pretty.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/utf_user.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user.c -g -lm -o /root/systemtap_write/systemtap/testsuite/utf_user.exe PASS: utf_user compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user.stp -c /root/systemtap_write/systemtap/testsuite/utf_user.exe PASS: utf_user testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user_trunc.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user_trunc.c -g -DMAXSTRINGLEN=11 -lm -o /root/systemtap_write/systemtap/testsuite/utf_user_trunc.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user_trunc.c -g -DMAXSTRINGLEN=11 -lm -o /root/systemtap_write/systemtap/testsuite/utf_user_trunc.exe PASS: utf_user_trunc compile executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user_trunc.stp -c /root/systemtap_write/systemtap/testsuite/utf_user_trunc.exe -DMAXSTRINGLEN=11 PASS: utf_user_trunc testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utf_user_trunc.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p4.exp ... running stap -v -p4 -e "probe process(\"/bin/ls\").begin { print(\"ls begin\") }" spawn stap -v -p4 -e probe process("/bin/ls").begin { print("ls begin") } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapUlFaFZ/stap_1157d1bc18b70dcbd6978e634e78cf37_1410_src.c" using 54784virt/47808res/7296shr/38336data kb, in 0usr/1450sys/1483real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/stap_1157d1bc18b70dcbd6978e634e78cf37_1410.ko Pass 4: compiled C into "stap_1157d1bc18b70dcbd6978e634e78cf37_1410.ko" in 0usr/4520sys/4587real ms. PASS: UTRACE_P4_01 compilation succeeded running stap -v -p4 -e "probe process(3160).begin { print(\"3160 begin\") }" spawn stap -v -p4 -e probe process(3160).begin { print("3160 begin") } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap7Y6F2a/stap_253ab08845ba4012072c1be1a7980de4_1371_src.c" using 54720virt/47168res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/25/stap_253ab08845ba4012072c1be1a7980de4_1371.ko Pass 4: compiled C into "stap_253ab08845ba4012072c1be1a7980de4_1371.ko" in 0usr/4500sys/4559real ms. PASS: UTRACE_P4_01_pid compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").end { print(\"ls end\") }" spawn stap -v -p4 -e probe process("/bin/ls").end { print("ls end") } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapcicbZI/stap_66be640ac2318a2726fd8b1d5d463574_1404_src.c" using 54784virt/47808res/7296shr/38336data kb, in 0usr/1450sys/1481real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/66/stap_66be640ac2318a2726fd8b1d5d463574_1404.ko Pass 4: compiled C into "stap_66be640ac2318a2726fd8b1d5d463574_1404.ko" in 0usr/4540sys/4599real ms. PASS: UTRACE_P4_02 compilation succeeded running stap -v -p4 -e "probe process(3160).end { print(\"3160 end\") }" spawn stap -v -p4 -e probe process(3160).end { print("3160 end") } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapEJ5eCQ/stap_cc0e31d0dd61e3c8ee08b735903b76ff_1365_src.c" using 54720virt/47168res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc0e31d0dd61e3c8ee08b735903b76ff_1365.ko Pass 4: compiled C into "stap_cc0e31d0dd61e3c8ee08b735903b76ff_1365.ko" in 0usr/4510sys/4578real ms. PASS: UTRACE_P4_02_pid compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").syscall { printf(\"|%d\", \$syscall) }" spawn stap -v -p4 -e probe process("/bin/ls").syscall { printf("|%d", $syscall) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 0 globals using 54720virt/44928res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapnhtiQs/stap_40a79f204394bcb98433ea125bc6bd6a_1995_src.c" using 54784virt/47808res/7296shr/38336data kb, in 0usr/1460sys/1493real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_40a79f204394bcb98433ea125bc6bd6a_1995.ko Pass 4: compiled C into "stap_40a79f204394bcb98433ea125bc6bd6a_1995.ko" in 0usr/4550sys/4611real ms. PASS: UTRACE_P4_03 compilation succeeded running stap -v -p4 -e "probe process(3160).syscall { printf(\"|%d\", \$syscall) }" spawn stap -v -p4 -e probe process(3160).syscall { printf("|%d", $syscall) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapv7s6nC/stap_dbb7e68c523c905a45f932e2b53d4b70_1954_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dbb7e68c523c905a45f932e2b53d4b70_1954.ko Pass 4: compiled C into "stap_dbb7e68c523c905a45f932e2b53d4b70_1954.ko" in 0usr/4550sys/4607real ms. PASS: UTRACE_P4_03_pid compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").syscall.return { printf(\"|%d\", \$syscall) }" spawn stap -v -p4 -e probe process("/bin/ls").syscall.return { printf("|%d", $syscall) } Pass 1: parsed user script and 115 library scripts using 53952virt/44928res/5888shr/37504data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 3 probes, 3 functions, 4 embeds, 1 global using 55360virt/48512res/7488shr/38912data kb, in 0usr/1470sys/1503real ms. Pass 3: translated to C into "/tmp/stapTvQGXg/stap_2e43e5c12e71f28720eee7b9ede0feb8_3218_src.c" using 55424virt/48832res/7680shr/38976data kb, in 0usr/1460sys/1489real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2e/stap_2e43e5c12e71f28720eee7b9ede0feb8_3218.ko Pass 4: compiled C into "stap_2e43e5c12e71f28720eee7b9ede0feb8_3218.ko" in 0usr/4710sys/4763real ms. PASS: UTRACE_P4_04 compilation succeeded running stap -v -p4 -e "probe process(3160).syscall.return { printf(\"|%d\", \$syscall) }" spawn stap -v -p4 -e probe process(3160).syscall.return { printf("|%d", $syscall) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 3 probes, 3 functions, 4 embeds, 1 global using 55360virt/48576res/7488shr/38912data kb, in 0usr/1480sys/1505real ms. Pass 3: translated to C into "/tmp/stapm3IPJ9/stap_a68b20e6b7c0154b6f4511c065e01b04_3163_src.c" using 55360virt/48576res/7488shr/38912data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a68b20e6b7c0154b6f4511c065e01b04_3163.ko Pass 4: compiled C into "stap_a68b20e6b7c0154b6f4511c065e01b04_3163.ko" in 0usr/4670sys/4736real ms. PASS: UTRACE_P4_04_pid compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").thread.begin { print(\"ls thread.begin\") }" spawn stap -v -p4 -e probe process("/bin/ls").thread.begin { print("ls thread.begin") } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapr4FKUm/stap_e6b2a5e58e39a2b4ac7d557917aef05c_1431_src.c" using 54784virt/47872res/7296shr/38336data kb, in 0usr/1460sys/1489real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e6/stap_e6b2a5e58e39a2b4ac7d557917aef05c_1431.ko Pass 4: compiled C into "stap_e6b2a5e58e39a2b4ac7d557917aef05c_1431.ko" in 0usr/4530sys/4594real ms. PASS: UTRACE_P4_05 compilation succeeded running stap -v -p4 -e "probe process(3160).thread.begin { print(\"3160 thread.begin\") }" spawn stap -v -p4 -e probe process(3160).thread.begin { print("3160 thread.begin") } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapplYXNy/stap_2773290203bf9dfd5bca1316faf39753_1392_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_2773290203bf9dfd5bca1316faf39753_1392.ko Pass 4: compiled C into "stap_2773290203bf9dfd5bca1316faf39753_1392.ko" in 0usr/4510sys/4573real ms. PASS: UTRACE_P4_05_pid compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").thread.end { print(\"ls thread.end\") }" spawn stap -v -p4 -e probe process("/bin/ls").thread.end { print("ls thread.end") } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/400real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap9Jtl1g/stap_56344f466634a77dc8cfea1a12ace94f_1425_src.c" using 54784virt/47872res/7296shr/38336data kb, in 0usr/1460sys/1489real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_56344f466634a77dc8cfea1a12ace94f_1425.ko Pass 4: compiled C into "stap_56344f466634a77dc8cfea1a12ace94f_1425.ko" in 0usr/4520sys/4586real ms. PASS: UTRACE_P4_06 compilation succeeded running stap -v -p4 -e "probe process(3160).thread.end { print(\"3160 thread.end\") }" spawn stap -v -p4 -e probe process(3160).thread.end { print("3160 thread.end") } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap2aOI7i/stap_1296cffba7c4bc6175400e22d287c900_1386_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/stap_1296cffba7c4bc6175400e22d287c900_1386.ko Pass 4: compiled C into "stap_1296cffba7c4bc6175400e22d287c900_1386.ko" in 0usr/4530sys/4579real ms. PASS: UTRACE_P4_06_pid compilation succeeded running stap -v -p4 -e "probe process.begin { print(\"begin\") }" spawn stap -v -p4 -e probe process.begin { print("begin") } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/390sys/402real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapL7hiOZ/stap_4985b33afc588c8eee609ed3b30dcd4e_1354_src.c" using 54720virt/47232res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_4985b33afc588c8eee609ed3b30dcd4e_1354.ko Pass 4: compiled C into "stap_4985b33afc588c8eee609ed3b30dcd4e_1354.ko" in 0usr/4510sys/4563real ms. PASS: UTRACE_P4_07 compilation succeeded running stap -v -p4 -e "probe process(\"/bin/ls\").syscall { printf(\"|%s\", \$\$parms) }" spawn stap -v -p4 -e probe process("/bin/ls").syscall { printf("|%s", $$parms) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/410sys/411real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapg1x61B/stap_74711b2eeae337e645abc94071f894c9_2156_src.c" using 54784virt/47872res/7296shr/38336data kb, in 0usr/1470sys/1504real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_74711b2eeae337e645abc94071f894c9_2156.ko Pass 4: compiled C into "stap_74711b2eeae337e645abc94071f894c9_2156.ko" in 0usr/4600sys/4667real ms. PASS: UTRACE_P4_08 compilation succeeded running stap -v -p4 -e "probe process(3160).syscall { printf(\"|%s\", \$\$parms) }" spawn stap -v -p4 -e probe process(3160).syscall { printf("|%s", $$parms) } Pass 1: parsed user script and 115 library scripts using 53952virt/44992res/5888shr/37504data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 0 globals using 54720virt/44992res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapy9PHFQ/stap_84a120dfe0de763f598882ea61978bdb_2115_src.c" using 54720virt/47296res/6848shr/38272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/84/stap_84a120dfe0de763f598882ea61978bdb_2115.ko Pass 4: compiled C into "stap_84a120dfe0de763f598882ea61978bdb_2115.ko" in 0usr/4590sys/4657real ms. PASS: UTRACE_P4_09 compilation succeeded Executing: kill -INT 3160 Executing: kill -KILL 3160 kill: kill: sending signal to 3160 failed: No such process testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p4.exp completed in 100 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p5.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p5_multi.c -lpthread -lm -o /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p5_multi.c -lpthread -lm -o /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 executing: stap -v -e { global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } } spawn stap -v -e global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap9EpjjF/stap_b44bd4632e22d69ec74f0fb4a3a1c33f_1749_src.c" using 54912virt/47872res/7296shr/38464data kb, in 0usr/1450sys/1481real ms. Pass 4: compiled C into "stap_b44bd4632e22d69ec74f0fb4a3a1c33f_1749.ko" in 0usr/4630sys/4689real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_01 startup spawn /root/systemtap_write/systemtap/testsuite/cat_5407 Executing: kill -INT -7374 PASS: UTRACE_P5_01 load generation Executing: kill -INT -7126 systemtap ending probe end probes = 1 PASS: UTRACE_P5_01 shutdown and output Pass 5: run completed in 0usr/80sys/6107real ms. metric: UTRACE_P5_01 0 400 400 0 10 8 0 1450 1481 0 4630 4689 0 80 6107 Executing: kill -INT -7126 executing: stap -v -e { global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } } -c {/root/systemtap_write/systemtap/testsuite/cat_5407 /dev/null} spawn stap -v -e global end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").end { end_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("end probes = %d\n", end_probes_fired) } -c /root/systemtap_write/systemtap/testsuite/cat_5407 /dev/null Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/0sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b44bd4632e22d69ec74f0fb4a3a1c33f_1749.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b44bd4632e22d69ec74f0fb4a3a1c33f_1749.ko Pass 5: starting run. systemtap starting probe systemtap ending probe end probes = 1 PASS: UTRACE_P5_01_cmd startup PASS: UTRACE_P5_01_cmd load generation Executing: kill -INT -7406 PASS: UTRACE_P5_01_cmd shutdown and output Pass 5: run completed in 0usr/90sys/511real ms. metric: UTRACE_P5_01_cmd 0 400 400 0 0 8 0 0 0 0 0 0 0 90 511 Executing: kill -INT -7406 executing: stap -v -e { global begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").begin { begin_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("begin probes = %d\n", begin_probes_fired) } } spawn stap -v -e global begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").begin { begin_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("begin probes = %d\n", begin_probes_fired) } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stapKidffk/stap_48f40e0f22b175114ecf898ff7e11cb9_1761_src.c" using 54912virt/47872res/7296shr/38464data kb, in 0usr/1450sys/1484real ms. Pass 4: compiled C into "stap_48f40e0f22b175114ecf898ff7e11cb9_1761.ko" in 0usr/4640sys/4702real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_02 startup spawn /root/systemtap_write/systemtap/testsuite/cat_5407 Executing: kill -INT -7689 PASS: UTRACE_P5_02 load generation Executing: kill -INT -7439 systemtap ending probe begin probes = 1 PASS: UTRACE_P5_02 shutdown and output Pass 5: run completed in 0usr/90sys/6043real ms. metric: UTRACE_P5_02 0 400 399 0 0 8 0 1450 1484 0 4640 4702 0 90 6043 Executing: kill -INT -7439 executing: stap -v -e { global begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").begin { begin_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("begin probes = %d\n", begin_probes_fired) } } -c {/root/systemtap_write/systemtap/testsuite/cat_5407 /dev/null} spawn stap -v -e global begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").begin { begin_probes_fired++ } probe end { printf("systemtap ending probe\n") printf("begin probes = %d\n", begin_probes_fired) } -c /root/systemtap_write/systemtap/testsuite/cat_5407 /dev/null Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_48f40e0f22b175114ecf898ff7e11cb9_1761.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_48f40e0f22b175114ecf898ff7e11cb9_1761.ko Pass 5: starting run. systemtap starting probe systemtap ending probe begin probes = 1 PASS: UTRACE_P5_02_cmd startup PASS: UTRACE_P5_02_cmd load generation Executing: kill -INT -7721 PASS: UTRACE_P5_02_cmd shutdown and output Pass 5: run completed in 0usr/90sys/487real ms. metric: UTRACE_P5_02_cmd 0 390 398 0 10 8 0 0 0 0 0 0 0 90 487 Executing: kill -INT -7721 executing: stap -v -e { global syscall_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").syscall { syscall_probes_fired++ } probe end { printf("systemtap ending probe\n") if (syscall_probes_fired > 0) { printf("syscalls = %d\n", syscall_probes_fired) } } } spawn stap -v -e global syscall_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").syscall { syscall_probes_fired++ } probe end { printf("systemtap ending probe\n") if (syscall_probes_fired > 0) { printf("syscalls = %d\n", syscall_probes_fired) } } Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54848virt/45184res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stap6LGGGf/stap_3fb12b385fd2e1474bcf7396de50c91b_1811_src.c" using 54976virt/47936res/7296shr/38528data kb, in 0usr/1460sys/1488real ms. Pass 4: compiled C into "stap_3fb12b385fd2e1474bcf7396de50c91b_1811.ko" in 0usr/4630sys/4693real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_03 startup spawn /root/systemtap_write/systemtap/testsuite/cat_5407 Executing: kill -INT -8002 PASS: UTRACE_P5_03 load generation Executing: kill -INT -7754 systemtap ending probe syscalls = 31 PASS: UTRACE_P5_03 shutdown and output Pass 5: run completed in 0usr/90sys/6027real ms. metric: UTRACE_P5_03 0 400 407 0 10 8 0 1460 1488 0 4630 4693 0 90 6027 Executing: kill -INT -7754 executing: stap -v -e { global syscall_return_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").syscall.return { syscall_return_probes_fired++ } probe end { printf("systemtap ending probe\n") if (syscall_return_probes_fired > 0) { printf("syscall_returns = %d\n", syscall_return_probes_fired) } } } spawn stap -v -e global syscall_return_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/cat_5407").syscall.return { syscall_return_probes_fired++ } probe end { printf("systemtap ending probe\n") if (syscall_return_probes_fired > 0) { printf("syscall_returns = %d\n", syscall_return_probes_fired) } } Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45184res/5888shr/38336data kb, in 0usr/0sys/8real ms. Pass 3: translated to C into "/tmp/stap4R4puq/stap_4e0e52a2299b6339b251e10906f76cbd_1860_src.c" using 54912virt/47936res/7296shr/38464data kb, in 0usr/1450sys/1483real ms. Pass 4: compiled C into "stap_4e0e52a2299b6339b251e10906f76cbd_1860.ko" in 0usr/4620sys/4684real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_04 startup spawn /root/systemtap_write/systemtap/testsuite/cat_5407 Executing: kill -INT -8282 PASS: UTRACE_P5_04 load generation Executing: kill -INT -8034 systemtap ending probe syscall_returns = 31 PASS: UTRACE_P5_04 shutdown and output Pass 5: run completed in 0usr/90sys/6061real ms. metric: UTRACE_P5_04 0 400 400 0 0 8 0 1450 1483 0 4620 4684 0 90 6061 Executing: kill -INT -8034 executing: stap -v -e { global thread_begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.begin { thread_begin_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_begin_probes_fired > 0) { printf("thread_begins = %d\n", thread_begin_probes_fired) } } } spawn stap -v -e global thread_begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.begin { thread_begin_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_begin_probes_fired > 0) { printf("thread_begins = %d\n", thread_begin_probes_fired) } } Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/410sys/413real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45184res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapRkSbPK/stap_934c157ffa0414a9161588b1c5df8db9_1882_src.c" using 54912virt/47872res/7232shr/38464data kb, in 0usr/1450sys/1477real ms. Pass 4: compiled C into "stap_934c157ffa0414a9161588b1c5df8db9_1882.ko" in 0usr/4630sys/4694real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_05 startup PASS: UTRACE_P5_05 load generation Executing: kill -INT -8314 systemtap ending probe thread_begins = 2 PASS: UTRACE_P5_05 shutdown and output Pass 5: run completed in 0usr/80sys/1036real ms. metric: UTRACE_P5_05 0 410 413 0 10 8 0 1450 1477 0 4630 4694 0 80 1036 Executing: kill -INT -8314 executing: stap -v -e { global thread_begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.begin { thread_begin_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_begin_probes_fired > 0) { printf("thread_begins = %d\n", thread_begin_probes_fired) } } } -c /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 spawn stap -v -e global thread_begin_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.begin { thread_begin_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_begin_probes_fired > 0) { printf("thread_begins = %d\n", thread_begin_probes_fired) } } -c /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/46848res/6400shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_934c157ffa0414a9161588b1c5df8db9_1882.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_934c157ffa0414a9161588b1c5df8db9_1882.ko Pass 5: starting run. systemtap starting probe systemtap ending probe thread_begins = 2 PASS: UTRACE_P5_05_cmd startup PASS: UTRACE_P5_05_cmd load generation Executing: kill -INT -8589 PASS: UTRACE_P5_05_cmd shutdown and output Pass 5: run completed in 0usr/90sys/482real ms. metric: UTRACE_P5_05_cmd 0 400 401 0 10 8 0 0 0 0 0 0 0 90 482 Executing: kill -INT -8589 executing: stap -v -e { global thread_end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.end { thread_end_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_end_probes_fired > 0) { printf("thread_ends = %d\n", thread_end_probes_fired) } } } spawn stap -v -e global thread_end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.end { thread_end_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_end_probes_fired > 0) { printf("thread_ends = %d\n", thread_end_probes_fired) } } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapSo1cGl/stap_faa6a2f12d94c6096da460b4c578efe5_1868_src.c" using 54912virt/47808res/7232shr/38464data kb, in 0usr/1460sys/1496real ms. Pass 4: compiled C into "stap_faa6a2f12d94c6096da460b4c578efe5_1868.ko" in 0usr/4630sys/4682real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_06 startup PASS: UTRACE_P5_06 load generation Executing: kill -INT -8624 systemtap ending probe thread_ends = 2 PASS: UTRACE_P5_06 shutdown and output Pass 5: run completed in 0usr/90sys/1030real ms. metric: UTRACE_P5_06 0 400 403 0 10 8 0 1460 1496 0 4630 4682 0 90 1030 Executing: kill -INT -8624 executing: stap -v -e { global thread_end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.end { thread_end_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_end_probes_fired > 0) { printf("thread_ends = %d\n", thread_end_probes_fired) } } } -c /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 spawn stap -v -e global thread_end_probes_fired = 0 probe begin { printf("systemtap starting probe\n") } probe process("/root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407").thread.end { thread_end_probes_fired++ } probe end { printf("systemtap ending probe\n") if (thread_end_probes_fired > 0) { printf("thread_ends = %d\n", thread_end_probes_fired) } } -c /root/systemtap_write/systemtap/testsuite/utrace_p5_multi_5407 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54784virt/46848res/6400shr/38336data kb, in 0usr/0sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fa/stap_faa6a2f12d94c6096da460b4c578efe5_1868.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fa/stap_faa6a2f12d94c6096da460b4c578efe5_1868.ko Pass 5: starting run. systemtap starting probe systemtap ending probe thread_ends = 2 PASS: UTRACE_P5_06_cmd startup PASS: UTRACE_P5_06_cmd load generation Executing: kill -INT -8899 PASS: UTRACE_P5_06_cmd shutdown and output Pass 5: run completed in 0usr/90sys/482real ms. metric: UTRACE_P5_06_cmd 0 400 405 0 0 8 0 0 0 0 0 0 0 90 482 Executing: kill -INT -8899 executing: stap -v -e { global proc,name probe begin { printf("systemtap starting probe\n") } probe process.syscall { proc[pid()] <<< 1 name[pid()] = execname() } probe end { printf("systemtap ending probe\n") foreach(p+ in proc) { printf("%s(%d) issues syscall %d times\n", name[p], p, @sum(proc[p])) } } } spawn stap -v -e global proc,name probe begin { printf("systemtap starting probe\n") } probe process.syscall { proc[pid()] <<< 1 name[pid()] = execname() } probe end { printf("systemtap ending probe\n") foreach(p+ in proc) { printf("%s(%d) issues syscall %d times\n", name[p], p, @sum(proc[p])) } } Pass 1: parsed user script and 115 library scripts using 54080virt/45184res/5888shr/37632data kb, in 0usr/390sys/402real ms. Pass 2: analyzed script: 4 probes, 3 functions, 3 embeds, 2 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1480sys/1502real ms. Pass 3: translated to C into "/tmp/stapyMW1H2/stap_1f9db4f2268c3b139638fee529636388_2769_src.c" using 55488virt/48576res/7488shr/39040data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_1f9db4f2268c3b139638fee529636388_2769.ko" in 0usr/4950sys/5023real ms. Pass 5: starting run. systemtap starting probe PASS: UTRACE_P5_07 startup PASS: UTRACE_P5_07 load generation Executing: kill -INT -8934 systemtap ending probe systemd(1) issues syscall 1 times systemd-journal(630) issues syscall 1 times lvmetad(649) issues syscall 1 times systemd-udevd(664) issues syscall 2 times auditd(785) issues syscall 1 times polkitd(804) issues syscall 1 times systemd-logind(807) issues syscall 1 times irqbalance(808) issues syscall 1 times dbus-daemon(810) issues syscall 1 times gssproxy(812) issues syscall 1 times chronyd(814) issues syscall 1 times NetworkManager(823) issues syscall 1 times atd(830) issues syscall 1 times agetty(835) issues syscall 1 times login(837) issues syscall 1 times dhclient(894) issues syscall 1 times rsyslogd(1158) issues syscall 1 times tuned(1159) issues syscall 1 times rhsmcertd(1372) issues syscall 1 times sshd(1565) issues syscall 1 times sendmail(1650) issues syscall 1 times sendmail(1686) issues syscall 1 times beah-fwd-backen(2157) issues syscall 1 times beah-srv(2165) issues syscall 1 times crond(2186) issues syscall 1 times beah-beaker-bac(2187) issues syscall 1 times rhnsd(2196) issues syscall 1 times beah-rhts-task(3597) issues syscall 64 times make(5317) issues syscall 1 times make(5319) issues syscall 1 times make(5347) issues syscall 1 times sh(5366) issues syscall 1 times execrc(5406) issues syscall 1 times expect(5407) issues syscall 59 times bash(5519) issues syscall 1 times stap(8934) issues syscall 6 times stapio(9178) issues syscall 16 times systemd-udevd(9179) issues syscall 1 times utrace_p5_multi(9182) issues syscall 102 times kill(9186) issues syscall 74 times avahi-daemon(21181) issues syscall 1 times avahi-daemon(21183) issues syscall 1 times PASS: UTRACE_P5_07 shutdown and output Pass 5: run completed in 0usr/90sys/1034real ms. metric: UTRACE_P5_07 0 390 402 0 1480 1502 0 0 2 0 4950 5023 0 90 1034 Executing: kill -INT -8934 executing: stap -v -e { global syscall_parms_string probe begin { printf("systemtap starting probe\n") } probe process.syscall { syscall_parms_string = $$parms exit() } probe end { printf("systemtap ending probe\n") printf("%s\n",syscall_parms_string) delete syscall_parms_string } } spawn stap -v -e global syscall_parms_string probe begin { printf("systemtap starting probe\n") } probe process.syscall { syscall_parms_string = $$parms exit() } probe end { printf("systemtap ending probe\n") printf("%s\n",syscall_parms_string) delete syscall_parms_string } Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/397real ms. Pass 2: analyzed script: 4 probes, 3 functions, 1 embed, 1 global using 54784virt/45120res/5888shr/38336data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stapgSnqyA/stap_bc493fdace3dde46ba6a971b7634aae7_2506_src.c" using 54784virt/47360res/6912shr/38336data kb, in 0usr/0sys/3real ms. Pass 4: compiled C into "stap_bc493fdace3dde46ba6a971b7634aae7_2506.ko" in 0usr/4690sys/4751real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe $arg1=0xa $arg2=0x3ffd583c070 $arg3=0x8 $arg4=0x0 $arg5=0x0 $arg6=0x0 PASS: UTRACE_P5_08 startup PASS: UTRACE_P5_08 load generation Executing: kill -INT -9209 PASS: UTRACE_P5_08 shutdown and output Pass 5: run completed in 0usr/80sys/588real ms. metric: UTRACE_P5_08 0 400 397 0 10 9 0 0 3 0 4690 4751 0 80 588 Executing: kill -INT -9209 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_p5.exp completed in 111 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.exp ... Testing 64_BIT_UTRACE_SYSCALL_ARGS Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.c -lm -o /tmp/staptestleOGQQ/utrace_syscall_args (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.c -lm -o /tmp/staptestleOGQQ/utrace_syscall_args executing: stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.stp -c /tmp/staptestleOGQQ/utrace_syscall_args spawn stap -v -g /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.stp -c /tmp/staptestleOGQQ/utrace_syscall_args Pass 1: parsed user script and 115 library scripts using 54464virt/44992res/5888shr/38016data kb, in 0usr/410sys/412real ms. Pass 2: analyzed script: 8 probes, 17 functions, 100 embeds, 13 globals using 100800virt/94144res/7680shr/84352data kb, in 0usr/3720sys/3775real ms. Pass 3: translated to C into "/tmp/stapP3Zqot/stap_2c9dc199ebe47dd7d69bebf592039eaf_73604_src.c" using 100800virt/94272res/7808shr/84352data kb, in 0usr/30sys/34real ms. Pass 4: compiled C into "stap_2c9dc199ebe47dd7d69bebf592039eaf_73604.ko" in 0usr/6650sys/6745real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe mmap(222)(0x0, 0x406, 0x1, 0x1, 0x3, 0x0) = 0x3ff99310000 munmap(215)(0x3ff99310000, 0x406) = 0x0 close(57)(0x3) = 0x0 dup(23)(0xffffffffffffcfc7, 0xffffffffffffffff, 0xa5a5a5a5a5a5a5a5, 0xf0f0f0f0f0f0f0f0, 0x5a5a5a5a5a5a5a5a, 0xe38e38e38e38e38e) = 0xfffffffffffffff7 bad_syscall(65535)(0x1c71c71c71c71c71, 0xf0f0f0f0f0f0f0f, 0xdb6db6db6db6db6d, 0x2492492492492492, 0xad6b5ad6b5ad6b5a, 0xdef7ddef7ddef7dd) = 0xffffffffffffffda systemtap test success PASS: 64_BIT_UTRACE_SYSCALL_ARGS startup PASS: 64_BIT_UTRACE_SYSCALL_ARGS load generation Executing: kill -INT -9509 PASS: 64_BIT_UTRACE_SYSCALL_ARGS shutdown and output Pass 5: run completed in 0usr/230sys/739real ms. metric: 64_BIT_UTRACE_SYSCALL_ARGS 0 410 412 0 3720 3775 0 30 34 0 6650 6745 0 230 739 Executing: kill -INT -9509 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/utrace_syscall_args.exp completed in 13 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/valid_pid.exp ... spawn stap -e probe begin{} valid pid is: 9769 PID under test is 1234567890 spawn stap -p2 -e probe process($1).syscall{exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).syscall{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).syscall{exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).syscall{exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process(9769).syscall /* <- process(9769).syscall */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).syscall{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).begin{exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).begin{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).begin{exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).begin{exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process(9769).begin /* <- process(9769).begin */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).begin{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).end{exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).end{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).end{exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).end{exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process(9769).end /* <- process(9769).end */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).end{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).thread.begin{exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).thread.begin{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).thread.begin{exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).thread.begin{exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process(9769).thread.begin /* <- process(9769).thread.begin */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).thread.begin{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).function("main"){exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).function("main"){exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).function("main"){exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).function("main"){exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).function("main"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).mark("*"){exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).mark("*"){exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).mark("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).mark("*"){exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x413c44) /* pc=.absolute+0x13c44 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c44) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c50) /* pc=.absolute+0x13c50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c50) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c60) /* pc=.absolute+0x13c60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c60) */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00) /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414004) /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004) */ process("/root/systemtap_write/install/bin/stap").statement(0x414054) /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054) */ process("/root/systemtap_write/install/bin/stap").statement(0x414980) /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00) /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18) /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28) /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28) */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8) /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8) */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90) /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90) */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30) /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30) */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) */ process("/root/systemtap_write/install/bin/stap").statement(0x410da8) /* pc=.absolute+0x10da8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410da8) */ process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) /* pc=.absolute+0x10ec8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) */ process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) /* pc=.absolute+0x15d77c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) */ process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) /* pc=.absolute+0x15f1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x560528) /* pc=.absolute+0x160528 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560528) */ process("/root/systemtap_write/install/bin/stap").statement(0x560630) /* pc=.absolute+0x160630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560630) */ process("/root/systemtap_write/install/bin/stap").statement(0x563f48) /* pc=.absolute+0x163f48 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x563f48) */ process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) /* pc=.absolute+0x1640dc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) */ process("/root/systemtap_write/install/bin/stap").statement(0x564b84) /* pc=.absolute+0x164b84 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x564b84) */ process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) /* pc=.absolute+0x1655f4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) /* pc=.absolute+0x20dc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) /* pc=.absolute+0x20dcb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).mark("*"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).plt("*"){exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).plt("*"){exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).plt("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).plt("*"){exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) /* pc=.absolute+0xcd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) /* pc=.absolute+0xcd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) /* pc=.absolute+0xcd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) /* pc=.absolute+0xcd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) /* pc=.absolute+0xcd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) /* pc=.absolute+0xcd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) /* pc=.absolute+0xcd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) /* pc=.absolute+0xcda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) /* pc=.absolute+0xcdb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) /* pc=.absolute+0xcdc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) /* pc=.absolute+0xcdd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) /* pc=.absolute+0xcde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) /* pc=.absolute+0xcdf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) /* pc=.absolute+0xce00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) /* pc=.absolute+0xce10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) /* pc=.absolute+0xce20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) /* pc=.absolute+0xce30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) /* pc=.absolute+0xce40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) /* pc=.absolute+0xce50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) /* pc=.absolute+0xce60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) /* pc=.absolute+0xce70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) /* pc=.absolute+0xce80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) /* pc=.absolute+0xce90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) /* pc=.absolute+0xcea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) /* pc=.absolute+0xceb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) /* pc=.absolute+0xcec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) /* pc=.absolute+0xced0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) /* pc=.absolute+0xcee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) /* pc=.absolute+0xcef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) /* pc=.absolute+0xcf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) /* pc=.absolute+0xcf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) /* pc=.absolute+0xcf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) /* pc=.absolute+0xcf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) /* pc=.absolute+0xcf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) /* pc=.absolute+0xcf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) /* pc=.absolute+0xcf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) /* pc=.absolute+0xcf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) /* pc=.absolute+0xcf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) /* pc=.absolute+0xcf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) /* pc=.absolute+0xcfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) /* pc=.absolute+0xcfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) /* pc=.absolute+0xcfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) /* pc=.absolute+0xcfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) /* pc=.absolute+0xcfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) /* pc=.absolute+0xcff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d000) /* pc=.absolute+0xd000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d010) /* pc=.absolute+0xd010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d020) /* pc=.absolute+0xd020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d030) /* pc=.absolute+0xd030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d040) /* pc=.absolute+0xd040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d050) /* pc=.absolute+0xd050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d060) /* pc=.absolute+0xd060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d070) /* pc=.absolute+0xd070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d080) /* pc=.absolute+0xd080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d090) /* pc=.absolute+0xd090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) /* pc=.absolute+0xd0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) /* pc=.absolute+0xd0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) /* pc=.absolute+0xd0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) /* pc=.absolute+0xd0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) /* pc=.absolute+0xd0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) /* pc=.absolute+0xd0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d100) /* pc=.absolute+0xd100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d110) /* pc=.absolute+0xd110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d120) /* pc=.absolute+0xd120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d130) /* pc=.absolute+0xd130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d140) /* pc=.absolute+0xd140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d150) /* pc=.absolute+0xd150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d160) /* pc=.absolute+0xd160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d170) /* pc=.absolute+0xd170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d180) /* pc=.absolute+0xd180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d190) /* pc=.absolute+0xd190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) /* pc=.absolute+0xd1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) /* pc=.absolute+0xd1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) /* pc=.absolute+0xd1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) /* pc=.absolute+0xd1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) /* pc=.absolute+0xd1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) /* pc=.absolute+0xd1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d200) /* pc=.absolute+0xd200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d210) /* pc=.absolute+0xd210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d220) /* pc=.absolute+0xd220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d230) /* pc=.absolute+0xd230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d240) /* pc=.absolute+0xd240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d250) /* pc=.absolute+0xd250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d260) /* pc=.absolute+0xd260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d270) /* pc=.absolute+0xd270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d280) /* pc=.absolute+0xd280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d290) /* pc=.absolute+0xd290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) /* pc=.absolute+0xd2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) /* pc=.absolute+0xd2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) /* pc=.absolute+0xd2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) /* pc=.absolute+0xd2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) /* pc=.absolute+0xd2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) /* pc=.absolute+0xd2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d300) /* pc=.absolute+0xd300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d310) /* pc=.absolute+0xd310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d320) /* pc=.absolute+0xd320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d330) /* pc=.absolute+0xd330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d340) /* pc=.absolute+0xd340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d350) /* pc=.absolute+0xd350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d360) /* pc=.absolute+0xd360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d370) /* pc=.absolute+0xd370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d380) /* pc=.absolute+0xd380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d390) /* pc=.absolute+0xd390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) /* pc=.absolute+0xd3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) /* pc=.absolute+0xd3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) /* pc=.absolute+0xd3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) /* pc=.absolute+0xd3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) /* pc=.absolute+0xd3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) /* pc=.absolute+0xd3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d400) /* pc=.absolute+0xd400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d410) /* pc=.absolute+0xd410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d420) /* pc=.absolute+0xd420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d430) /* pc=.absolute+0xd430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d440) /* pc=.absolute+0xd440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d450) /* pc=.absolute+0xd450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d460) /* pc=.absolute+0xd460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d470) /* pc=.absolute+0xd470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d480) /* pc=.absolute+0xd480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d490) /* pc=.absolute+0xd490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) /* pc=.absolute+0xd4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) /* pc=.absolute+0xd4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) /* pc=.absolute+0xd4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) /* pc=.absolute+0xd4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) /* pc=.absolute+0xd4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) /* pc=.absolute+0xd4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d500) /* pc=.absolute+0xd500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d510) /* pc=.absolute+0xd510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d520) /* pc=.absolute+0xd520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d530) /* pc=.absolute+0xd530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d540) /* pc=.absolute+0xd540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d550) /* pc=.absolute+0xd550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d560) /* pc=.absolute+0xd560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d570) /* pc=.absolute+0xd570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d580) /* pc=.absolute+0xd580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d590) /* pc=.absolute+0xd590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) /* pc=.absolute+0xd5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) /* pc=.absolute+0xd5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) /* pc=.absolute+0xd5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) /* pc=.absolute+0xd5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) /* pc=.absolute+0xd5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) /* pc=.absolute+0xd5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d600) /* pc=.absolute+0xd600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d610) /* pc=.absolute+0xd610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d620) /* pc=.absolute+0xd620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d630) /* pc=.absolute+0xd630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d640) /* pc=.absolute+0xd640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d650) /* pc=.absolute+0xd650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d660) /* pc=.absolute+0xd660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d670) /* pc=.absolute+0xd670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d680) /* pc=.absolute+0xd680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d690) /* pc=.absolute+0xd690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) /* pc=.absolute+0xd6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) /* pc=.absolute+0xd6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) /* pc=.absolute+0xd6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) /* pc=.absolute+0xd6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) /* pc=.absolute+0xd6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) /* pc=.absolute+0xd6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d700) /* pc=.absolute+0xd700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d710) /* pc=.absolute+0xd710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d720) /* pc=.absolute+0xd720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d730) /* pc=.absolute+0xd730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d740) /* pc=.absolute+0xd740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d750) /* pc=.absolute+0xd750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d760) /* pc=.absolute+0xd760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d770) /* pc=.absolute+0xd770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d780) /* pc=.absolute+0xd780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d790) /* pc=.absolute+0xd790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) /* pc=.absolute+0xd7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) /* pc=.absolute+0xd7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) /* pc=.absolute+0xd7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) /* pc=.absolute+0xd7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) /* pc=.absolute+0xd7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) /* pc=.absolute+0xd7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d800) /* pc=.absolute+0xd800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d810) /* pc=.absolute+0xd810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d820) /* pc=.absolute+0xd820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d830) /* pc=.absolute+0xd830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d840) /* pc=.absolute+0xd840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d850) /* pc=.absolute+0xd850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d860) /* pc=.absolute+0xd860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d870) /* pc=.absolute+0xd870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d880) /* pc=.absolute+0xd880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d890) /* pc=.absolute+0xd890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) /* pc=.absolute+0xd8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) /* pc=.absolute+0xd8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) /* pc=.absolute+0xd8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) /* pc=.absolute+0xd8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) /* pc=.absolute+0xd8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) /* pc=.absolute+0xd8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d900) /* pc=.absolute+0xd900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d910) /* pc=.absolute+0xd910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d920) /* pc=.absolute+0xd920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d930) /* pc=.absolute+0xd930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d940) /* pc=.absolute+0xd940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d950) /* pc=.absolute+0xd950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d960) /* pc=.absolute+0xd960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d970) /* pc=.absolute+0xd970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d980) /* pc=.absolute+0xd980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d990) /* pc=.absolute+0xd990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) /* pc=.absolute+0xd9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) /* pc=.absolute+0xd9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) /* pc=.absolute+0xd9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) /* pc=.absolute+0xd9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) /* pc=.absolute+0xd9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) /* pc=.absolute+0xd9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da00) /* pc=.absolute+0xda00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da10) /* pc=.absolute+0xda10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da20) /* pc=.absolute+0xda20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da30) /* pc=.absolute+0xda30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da40) /* pc=.absolute+0xda40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da50) /* pc=.absolute+0xda50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da60) /* pc=.absolute+0xda60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da70) /* pc=.absolute+0xda70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da80) /* pc=.absolute+0xda80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da90) /* pc=.absolute+0xda90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) /* pc=.absolute+0xdaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) /* pc=.absolute+0xdab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) /* pc=.absolute+0xdac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) /* pc=.absolute+0xdad0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) /* pc=.absolute+0xdae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) /* pc=.absolute+0xdaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db00) /* pc=.absolute+0xdb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db10) /* pc=.absolute+0xdb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db20) /* pc=.absolute+0xdb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db30) /* pc=.absolute+0xdb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db40) /* pc=.absolute+0xdb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db50) /* pc=.absolute+0xdb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db60) /* pc=.absolute+0xdb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db70) /* pc=.absolute+0xdb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db80) /* pc=.absolute+0xdb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db90) /* pc=.absolute+0xdb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) /* pc=.absolute+0xdba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) /* pc=.absolute+0xdbb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) /* pc=.absolute+0xdbc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) /* pc=.absolute+0xdbd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) /* pc=.absolute+0xdbe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) /* pc=.absolute+0xdbf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) /* pc=.absolute+0xdc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) /* pc=.absolute+0xdc10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) /* pc=.absolute+0xdc20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) /* pc=.absolute+0xdc30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) /* pc=.absolute+0xdc40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) /* pc=.absolute+0xdc50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) /* pc=.absolute+0xdc60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) /* pc=.absolute+0xdc70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) /* pc=.absolute+0xdc80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) /* pc=.absolute+0xdc90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) /* pc=.absolute+0xdca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) /* pc=.absolute+0xdcb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) /* pc=.absolute+0xdcc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) /* pc=.absolute+0xdcd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) /* pc=.absolute+0xdce0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) /* pc=.absolute+0xdcf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) /* pc=.absolute+0xdd00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) /* pc=.absolute+0xdd10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) /* pc=.absolute+0xdd20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) /* pc=.absolute+0xdd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) /* pc=.absolute+0xdd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) /* pc=.absolute+0xdd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) /* pc=.absolute+0xdd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) /* pc=.absolute+0xdd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) /* pc=.absolute+0xdd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) /* pc=.absolute+0xdd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) /* pc=.absolute+0xdda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) /* pc=.absolute+0xddb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) /* pc=.absolute+0xddc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) /* pc=.absolute+0xddd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) /* pc=.absolute+0xdde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) /* pc=.absolute+0xddf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de00) /* pc=.absolute+0xde00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de10) /* pc=.absolute+0xde10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de20) /* pc=.absolute+0xde20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de30) /* pc=.absolute+0xde30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de40) /* pc=.absolute+0xde40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de50) /* pc=.absolute+0xde50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de60) /* pc=.absolute+0xde60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de70) /* pc=.absolute+0xde70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de80) /* pc=.absolute+0xde80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de90) /* pc=.absolute+0xde90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) /* pc=.absolute+0xdea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) /* pc=.absolute+0xdeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) /* pc=.absolute+0xdec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) /* pc=.absolute+0xded0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) /* pc=.absolute+0xdee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40def0) /* pc=.absolute+0xdef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40def0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df00) /* pc=.absolute+0xdf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df10) /* pc=.absolute+0xdf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df20) /* pc=.absolute+0xdf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df30) /* pc=.absolute+0xdf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df40) /* pc=.absolute+0xdf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df50) /* pc=.absolute+0xdf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df60) /* pc=.absolute+0xdf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df70) /* pc=.absolute+0xdf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df80) /* pc=.absolute+0xdf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df90) /* pc=.absolute+0xdf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) /* pc=.absolute+0xdfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) /* pc=.absolute+0xdfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) /* pc=.absolute+0xdfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) /* pc=.absolute+0xdfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) /* pc=.absolute+0xdfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) /* pc=.absolute+0xdff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e000) /* pc=.absolute+0xe000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e010) /* pc=.absolute+0xe010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e020) /* pc=.absolute+0xe020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e030) /* pc=.absolute+0xe030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e040) /* pc=.absolute+0xe040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e050) /* pc=.absolute+0xe050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e060) /* pc=.absolute+0xe060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e070) /* pc=.absolute+0xe070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e080) /* pc=.absolute+0xe080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e090) /* pc=.absolute+0xe090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) /* pc=.absolute+0xe0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) /* pc=.absolute+0xe0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) /* pc=.absolute+0xe0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) /* pc=.absolute+0xe0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) /* pc=.absolute+0xe0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) /* pc=.absolute+0xe0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e100) /* pc=.absolute+0xe100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e110) /* pc=.absolute+0xe110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e120) /* pc=.absolute+0xe120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e130) /* pc=.absolute+0xe130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e140) /* pc=.absolute+0xe140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e150) /* pc=.absolute+0xe150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e160) /* pc=.absolute+0xe160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e170) /* pc=.absolute+0xe170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e180) /* pc=.absolute+0xe180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e190) /* pc=.absolute+0xe190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) /* pc=.absolute+0xe1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) /* pc=.absolute+0xe1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) /* pc=.absolute+0xe1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) /* pc=.absolute+0xe1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) /* pc=.absolute+0xe1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) /* pc=.absolute+0xe1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e200) /* pc=.absolute+0xe200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e210) /* pc=.absolute+0xe210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e220) /* pc=.absolute+0xe220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e230) /* pc=.absolute+0xe230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e240) /* pc=.absolute+0xe240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e250) /* pc=.absolute+0xe250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e260) /* pc=.absolute+0xe260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e270) /* pc=.absolute+0xe270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e280) /* pc=.absolute+0xe280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e290) /* pc=.absolute+0xe290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) /* pc=.absolute+0xe2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) /* pc=.absolute+0xe2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) /* pc=.absolute+0xe2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) /* pc=.absolute+0xe2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) /* pc=.absolute+0xe2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) /* pc=.absolute+0xe2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e300) /* pc=.absolute+0xe300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e310) /* pc=.absolute+0xe310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e320) /* pc=.absolute+0xe320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e330) /* pc=.absolute+0xe330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e340) /* pc=.absolute+0xe340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e350) /* pc=.absolute+0xe350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e360) /* pc=.absolute+0xe360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e370) /* pc=.absolute+0xe370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e380) /* pc=.absolute+0xe380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e390) /* pc=.absolute+0xe390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) /* pc=.absolute+0xe3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) /* pc=.absolute+0xe3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) /* pc=.absolute+0xe3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) /* pc=.absolute+0xe3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) /* pc=.absolute+0xe3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) /* pc=.absolute+0xe3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e400) /* pc=.absolute+0xe400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e410) /* pc=.absolute+0xe410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e420) /* pc=.absolute+0xe420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e430) /* pc=.absolute+0xe430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e440) /* pc=.absolute+0xe440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e450) /* pc=.absolute+0xe450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e460) /* pc=.absolute+0xe460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e470) /* pc=.absolute+0xe470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e480) /* pc=.absolute+0xe480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e490) /* pc=.absolute+0xe490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) /* pc=.absolute+0xe4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) /* pc=.absolute+0xe4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) /* pc=.absolute+0xe4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) /* pc=.absolute+0xe4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) /* pc=.absolute+0xe4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) /* pc=.absolute+0xe4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e500) /* pc=.absolute+0xe500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e510) /* pc=.absolute+0xe510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e520) /* pc=.absolute+0xe520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e530) /* pc=.absolute+0xe530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e540) /* pc=.absolute+0xe540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e550) /* pc=.absolute+0xe550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e560) /* pc=.absolute+0xe560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e570) /* pc=.absolute+0xe570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e580) /* pc=.absolute+0xe580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e590) /* pc=.absolute+0xe590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) /* pc=.absolute+0xe5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) /* pc=.absolute+0xe5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) /* pc=.absolute+0xe5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) /* pc=.absolute+0xe5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) /* pc=.absolute+0xe5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) /* pc=.absolute+0xe5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e600) /* pc=.absolute+0xe600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e610) /* pc=.absolute+0xe610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e620) /* pc=.absolute+0xe620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e630) /* pc=.absolute+0xe630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e640) /* pc=.absolute+0xe640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e650) /* pc=.absolute+0xe650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e660) /* pc=.absolute+0xe660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e670) /* pc=.absolute+0xe670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e680) /* pc=.absolute+0xe680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e690) /* pc=.absolute+0xe690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) /* pc=.absolute+0xe6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) /* pc=.absolute+0xe6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) /* pc=.absolute+0xe6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) /* pc=.absolute+0xe6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) /* pc=.absolute+0xe6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) /* pc=.absolute+0xe6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e700) /* pc=.absolute+0xe700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e710) /* pc=.absolute+0xe710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e720) /* pc=.absolute+0xe720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e730) /* pc=.absolute+0xe730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e740) /* pc=.absolute+0xe740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e750) /* pc=.absolute+0xe750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e760) /* pc=.absolute+0xe760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e770) /* pc=.absolute+0xe770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e780) /* pc=.absolute+0xe780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e790) /* pc=.absolute+0xe790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) /* pc=.absolute+0xe7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) /* pc=.absolute+0xe7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) /* pc=.absolute+0xe7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) /* pc=.absolute+0xe7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) /* pc=.absolute+0xe7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) /* pc=.absolute+0xe7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e800) /* pc=.absolute+0xe800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e810) /* pc=.absolute+0xe810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e820) /* pc=.absolute+0xe820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e830) /* pc=.absolute+0xe830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e840) /* pc=.absolute+0xe840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e850) /* pc=.absolute+0xe850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e860) /* pc=.absolute+0xe860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e870) /* pc=.absolute+0xe870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e880) /* pc=.absolute+0xe880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e890) /* pc=.absolute+0xe890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) /* pc=.absolute+0xe8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) /* pc=.absolute+0xe8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) /* pc=.absolute+0xe8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) /* pc=.absolute+0xe8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) /* pc=.absolute+0xe8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) /* pc=.absolute+0xe8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e900) /* pc=.absolute+0xe900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e910) /* pc=.absolute+0xe910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e920) /* pc=.absolute+0xe920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e930) /* pc=.absolute+0xe930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e940) /* pc=.absolute+0xe940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e950) /* pc=.absolute+0xe950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e960) /* pc=.absolute+0xe960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e970) /* pc=.absolute+0xe970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e980) /* pc=.absolute+0xe980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e990) /* pc=.absolute+0xe990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) /* pc=.absolute+0xe9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) /* pc=.absolute+0xe9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) /* pc=.absolute+0xe9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) /* pc=.absolute+0xe9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) /* pc=.absolute+0xe9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) /* pc=.absolute+0xe9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) /* pc=.absolute+0xea00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) /* pc=.absolute+0xea10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) /* pc=.absolute+0xea20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) /* pc=.absolute+0xea30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) /* pc=.absolute+0xea40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) /* pc=.absolute+0xea50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) /* pc=.absolute+0xea60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) /* pc=.absolute+0xea70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) /* pc=.absolute+0xea80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) /* pc=.absolute+0xea90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) /* pc=.absolute+0xeaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) /* pc=.absolute+0xeab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) /* pc=.absolute+0xeac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) /* pc=.absolute+0xead0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) /* pc=.absolute+0xeae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) /* pc=.absolute+0xeaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) /* pc=.absolute+0xeb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) /* pc=.absolute+0xeb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) /* pc=.absolute+0xeb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) /* pc=.absolute+0xeb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) /* pc=.absolute+0xeb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) /* pc=.absolute+0xeb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) /* pc=.absolute+0xeb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) /* pc=.absolute+0xeb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) /* pc=.absolute+0xeb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) /* pc=.absolute+0xeb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) /* pc=.absolute+0xeba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) /* pc=.absolute+0xebb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) /* pc=.absolute+0xebc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) /* pc=.absolute+0xebd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) /* pc=.absolute+0xebe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) /* pc=.absolute+0xebf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) /* pc=.absolute+0xec00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) /* pc=.absolute+0xec10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) /* pc=.absolute+0xec20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) /* pc=.absolute+0xec30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) /* pc=.absolute+0xec40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) /* pc=.absolute+0xec50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) /* pc=.absolute+0xec60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) /* pc=.absolute+0xec70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) /* pc=.absolute+0xec80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) /* pc=.absolute+0xec90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) /* pc=.absolute+0xeca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) /* pc=.absolute+0xecb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) /* pc=.absolute+0xecc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) /* pc=.absolute+0xecd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) /* pc=.absolute+0xece0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) /* pc=.absolute+0xecf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) /* pc=.absolute+0xed00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) /* pc=.absolute+0xed10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) /* pc=.absolute+0xed20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) /* pc=.absolute+0xed30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) /* pc=.absolute+0xed40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) /* pc=.absolute+0xed50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) /* pc=.absolute+0xed60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) /* pc=.absolute+0xed70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) /* pc=.absolute+0xed80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) /* pc=.absolute+0xed90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) /* pc=.absolute+0xeda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) /* pc=.absolute+0xedb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) /* pc=.absolute+0xedc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) /* pc=.absolute+0xedd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) /* pc=.absolute+0xede0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) /* pc=.absolute+0xedf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) /* pc=.absolute+0xee00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) /* pc=.absolute+0xee10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) /* pc=.absolute+0xee20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) /* pc=.absolute+0xee30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) /* pc=.absolute+0xee40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) /* pc=.absolute+0xee50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) /* pc=.absolute+0xee60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) /* pc=.absolute+0xee70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) /* pc=.absolute+0xee80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) /* pc=.absolute+0xee90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) /* pc=.absolute+0xeea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) /* pc=.absolute+0xeeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) /* pc=.absolute+0xeec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) /* pc=.absolute+0xeed0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) /* pc=.absolute+0xeee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) /* pc=.absolute+0xeef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) /* pc=.absolute+0xef00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) /* pc=.absolute+0xef10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) /* pc=.absolute+0xef20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) /* pc=.absolute+0xef30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) /* pc=.absolute+0xef40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) /* pc=.absolute+0xef50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) /* pc=.absolute+0xef60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) /* pc=.absolute+0xef70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) /* pc=.absolute+0xef80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) /* pc=.absolute+0xef90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) /* pc=.absolute+0xefa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) /* pc=.absolute+0xefb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) /* pc=.absolute+0xefc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) /* pc=.absolute+0xefd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) /* pc=.absolute+0xefe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) /* pc=.absolute+0xeff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f000) /* pc=.absolute+0xf000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f010) /* pc=.absolute+0xf010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f020) /* pc=.absolute+0xf020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f030) /* pc=.absolute+0xf030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f040) /* pc=.absolute+0xf040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f050) /* pc=.absolute+0xf050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f060) /* pc=.absolute+0xf060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f070) /* pc=.absolute+0xf070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f080) /* pc=.absolute+0xf080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f090) /* pc=.absolute+0xf090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) /* pc=.absolute+0xf0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) /* pc=.absolute+0xf0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) /* pc=.absolute+0xf0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) /* pc=.absolute+0xf0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) /* pc=.absolute+0xf0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) /* pc=.absolute+0xf0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f100) /* pc=.absolute+0xf100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f110) /* pc=.absolute+0xf110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f120) /* pc=.absolute+0xf120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f130) /* pc=.absolute+0xf130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f140) /* pc=.absolute+0xf140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f150) /* pc=.absolute+0xf150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f160) /* pc=.absolute+0xf160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f170) /* pc=.absolute+0xf170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f170) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).plt("*"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process($1).provider("*").mark("*"){exit();} 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process($1).provider("*").mark("*"){exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process($1).provider("*").mark("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process($1).provider("*").mark("*"){exit();} 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x413c44) /* pc=.absolute+0x13c44 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c44) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c50) /* pc=.absolute+0x13c50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c50) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c60) /* pc=.absolute+0x13c60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c60) */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00) /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414004) /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004) */ process("/root/systemtap_write/install/bin/stap").statement(0x414054) /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054) */ process("/root/systemtap_write/install/bin/stap").statement(0x414980) /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00) /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18) /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28) /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28) */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8) /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8) */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90) /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90) */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30) /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30) */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) */ process("/root/systemtap_write/install/bin/stap").statement(0x410da8) /* pc=.absolute+0x10da8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410da8) */ process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) /* pc=.absolute+0x10ec8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) */ process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) /* pc=.absolute+0x15d77c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) */ process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) /* pc=.absolute+0x15f1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x560528) /* pc=.absolute+0x160528 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560528) */ process("/root/systemtap_write/install/bin/stap").statement(0x560630) /* pc=.absolute+0x160630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560630) */ process("/root/systemtap_write/install/bin/stap").statement(0x563f48) /* pc=.absolute+0x163f48 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x563f48) */ process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) /* pc=.absolute+0x1640dc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) */ process("/root/systemtap_write/install/bin/stap").statement(0x564b84) /* pc=.absolute+0x164b84 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x564b84) */ process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) /* pc=.absolute+0x1655f4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) /* pc=.absolute+0x20dc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) /* pc=.absolute+0x20dcb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process($1).provider("*").mark("*"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.begin{exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.begin{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process.begin{exit();} PID under test is 9769 spawn stap -p2 -e probe process.begin{exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process.begin /* <- process.begin */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.begin{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.end{exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.end{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process.end{exit();} PID under test is 9769 spawn stap -p2 -e probe process.end{exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process.end /* <- process.end */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.end{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.thread.begin{exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.thread.begin{exit();} ^ semantic error: cannot probe pid 1234567890: No such process PASS: probe process.thread.begin{exit();} PID under test is 9769 spawn stap -p2 -e probe process.thread.begin{exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process.thread.begin /* <- process.thread.begin */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.thread.begin{exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.function("main"){exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("main"){exit();} ^ semantic error: invalid -x pid for unspecified process probe [man stapprobes] semantic error: cannot probe pid 1234567890: No such process PASS: probe process.function("main"){exit();} PID under test is 9769 spawn stap -p2 -e probe process.function("main"){exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.function("main"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.plt("*"){exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.plt("*"){exit();} ^ semantic error: invalid -x pid for unspecified process probe [man stapprobes] semantic error: cannot probe pid 1234567890: No such process PASS: probe process.plt("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process.plt("*"){exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) /* pc=.absolute+0xcd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) /* pc=.absolute+0xcd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) /* pc=.absolute+0xcd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) /* pc=.absolute+0xcd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) /* pc=.absolute+0xcd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) /* pc=.absolute+0xcd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) /* pc=.absolute+0xcd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) /* pc=.absolute+0xcda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) /* pc=.absolute+0xcdb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) /* pc=.absolute+0xcdc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) /* pc=.absolute+0xcdd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) /* pc=.absolute+0xcde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) /* pc=.absolute+0xcdf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) /* pc=.absolute+0xce00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) /* pc=.absolute+0xce10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) /* pc=.absolute+0xce20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) /* pc=.absolute+0xce30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) /* pc=.absolute+0xce40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) /* pc=.absolute+0xce50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) /* pc=.absolute+0xce60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) /* pc=.absolute+0xce70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) /* pc=.absolute+0xce80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) /* pc=.absolute+0xce90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) /* pc=.absolute+0xcea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) /* pc=.absolute+0xceb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) /* pc=.absolute+0xcec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) /* pc=.absolute+0xced0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) /* pc=.absolute+0xcee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) /* pc=.absolute+0xcef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) /* pc=.absolute+0xcf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) /* pc=.absolute+0xcf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) /* pc=.absolute+0xcf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) /* pc=.absolute+0xcf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) /* pc=.absolute+0xcf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) /* pc=.absolute+0xcf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) /* pc=.absolute+0xcf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) /* pc=.absolute+0xcf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) /* pc=.absolute+0xcf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) /* pc=.absolute+0xcf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) /* pc=.absolute+0xcfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) /* pc=.absolute+0xcfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) /* pc=.absolute+0xcfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) /* pc=.absolute+0xcfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) /* pc=.absolute+0xcfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) /* pc=.absolute+0xcff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d000) /* pc=.absolute+0xd000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d010) /* pc=.absolute+0xd010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d020) /* pc=.absolute+0xd020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d030) /* pc=.absolute+0xd030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d040) /* pc=.absolute+0xd040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d050) /* pc=.absolute+0xd050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d060) /* pc=.absolute+0xd060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d070) /* pc=.absolute+0xd070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d080) /* pc=.absolute+0xd080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d090) /* pc=.absolute+0xd090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) /* pc=.absolute+0xd0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) /* pc=.absolute+0xd0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) /* pc=.absolute+0xd0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) /* pc=.absolute+0xd0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) /* pc=.absolute+0xd0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) /* pc=.absolute+0xd0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d100) /* pc=.absolute+0xd100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d110) /* pc=.absolute+0xd110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d120) /* pc=.absolute+0xd120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d130) /* pc=.absolute+0xd130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d140) /* pc=.absolute+0xd140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d150) /* pc=.absolute+0xd150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d160) /* pc=.absolute+0xd160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d170) /* pc=.absolute+0xd170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d180) /* pc=.absolute+0xd180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d190) /* pc=.absolute+0xd190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) /* pc=.absolute+0xd1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) /* pc=.absolute+0xd1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) /* pc=.absolute+0xd1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) /* pc=.absolute+0xd1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) /* pc=.absolute+0xd1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) /* pc=.absolute+0xd1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d200) /* pc=.absolute+0xd200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d210) /* pc=.absolute+0xd210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d220) /* pc=.absolute+0xd220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d230) /* pc=.absolute+0xd230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d240) /* pc=.absolute+0xd240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d250) /* pc=.absolute+0xd250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d260) /* pc=.absolute+0xd260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d270) /* pc=.absolute+0xd270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d280) /* pc=.absolute+0xd280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d290) /* pc=.absolute+0xd290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) /* pc=.absolute+0xd2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) /* pc=.absolute+0xd2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) /* pc=.absolute+0xd2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) /* pc=.absolute+0xd2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) /* pc=.absolute+0xd2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) /* pc=.absolute+0xd2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d300) /* pc=.absolute+0xd300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d310) /* pc=.absolute+0xd310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d320) /* pc=.absolute+0xd320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d330) /* pc=.absolute+0xd330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d340) /* pc=.absolute+0xd340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d350) /* pc=.absolute+0xd350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d360) /* pc=.absolute+0xd360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d370) /* pc=.absolute+0xd370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d380) /* pc=.absolute+0xd380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d390) /* pc=.absolute+0xd390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) /* pc=.absolute+0xd3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) /* pc=.absolute+0xd3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) /* pc=.absolute+0xd3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) /* pc=.absolute+0xd3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) /* pc=.absolute+0xd3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) /* pc=.absolute+0xd3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d400) /* pc=.absolute+0xd400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d410) /* pc=.absolute+0xd410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d420) /* pc=.absolute+0xd420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d430) /* pc=.absolute+0xd430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d440) /* pc=.absolute+0xd440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d450) /* pc=.absolute+0xd450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d460) /* pc=.absolute+0xd460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d470) /* pc=.absolute+0xd470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d480) /* pc=.absolute+0xd480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d490) /* pc=.absolute+0xd490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) /* pc=.absolute+0xd4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) /* pc=.absolute+0xd4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) /* pc=.absolute+0xd4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) /* pc=.absolute+0xd4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) /* pc=.absolute+0xd4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) /* pc=.absolute+0xd4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d500) /* pc=.absolute+0xd500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d510) /* pc=.absolute+0xd510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d520) /* pc=.absolute+0xd520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d530) /* pc=.absolute+0xd530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d540) /* pc=.absolute+0xd540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d550) /* pc=.absolute+0xd550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d560) /* pc=.absolute+0xd560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d570) /* pc=.absolute+0xd570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d580) /* pc=.absolute+0xd580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d590) /* pc=.absolute+0xd590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) /* pc=.absolute+0xd5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) /* pc=.absolute+0xd5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) /* pc=.absolute+0xd5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) /* pc=.absolute+0xd5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) /* pc=.absolute+0xd5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) /* pc=.absolute+0xd5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d600) /* pc=.absolute+0xd600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d610) /* pc=.absolute+0xd610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d620) /* pc=.absolute+0xd620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d630) /* pc=.absolute+0xd630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d640) /* pc=.absolute+0xd640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d650) /* pc=.absolute+0xd650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d660) /* pc=.absolute+0xd660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d670) /* pc=.absolute+0xd670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d680) /* pc=.absolute+0xd680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d690) /* pc=.absolute+0xd690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) /* pc=.absolute+0xd6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) /* pc=.absolute+0xd6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) /* pc=.absolute+0xd6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) /* pc=.absolute+0xd6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) /* pc=.absolute+0xd6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) /* pc=.absolute+0xd6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d700) /* pc=.absolute+0xd700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d710) /* pc=.absolute+0xd710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d720) /* pc=.absolute+0xd720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d730) /* pc=.absolute+0xd730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d740) /* pc=.absolute+0xd740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d750) /* pc=.absolute+0xd750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d760) /* pc=.absolute+0xd760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d770) /* pc=.absolute+0xd770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d780) /* pc=.absolute+0xd780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d790) /* pc=.absolute+0xd790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) /* pc=.absolute+0xd7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) /* pc=.absolute+0xd7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) /* pc=.absolute+0xd7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) /* pc=.absolute+0xd7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) /* pc=.absolute+0xd7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) /* pc=.absolute+0xd7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d800) /* pc=.absolute+0xd800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d810) /* pc=.absolute+0xd810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d820) /* pc=.absolute+0xd820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d830) /* pc=.absolute+0xd830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d840) /* pc=.absolute+0xd840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d850) /* pc=.absolute+0xd850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d860) /* pc=.absolute+0xd860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d870) /* pc=.absolute+0xd870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d880) /* pc=.absolute+0xd880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d890) /* pc=.absolute+0xd890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) /* pc=.absolute+0xd8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) /* pc=.absolute+0xd8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) /* pc=.absolute+0xd8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) /* pc=.absolute+0xd8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) /* pc=.absolute+0xd8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) /* pc=.absolute+0xd8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d900) /* pc=.absolute+0xd900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d910) /* pc=.absolute+0xd910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d920) /* pc=.absolute+0xd920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d930) /* pc=.absolute+0xd930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d940) /* pc=.absolute+0xd940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d950) /* pc=.absolute+0xd950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d960) /* pc=.absolute+0xd960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d970) /* pc=.absolute+0xd970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d980) /* pc=.absolute+0xd980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d990) /* pc=.absolute+0xd990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) /* pc=.absolute+0xd9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) /* pc=.absolute+0xd9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) /* pc=.absolute+0xd9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) /* pc=.absolute+0xd9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) /* pc=.absolute+0xd9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) /* pc=.absolute+0xd9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da00) /* pc=.absolute+0xda00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da10) /* pc=.absolute+0xda10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da20) /* pc=.absolute+0xda20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da30) /* pc=.absolute+0xda30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da40) /* pc=.absolute+0xda40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da50) /* pc=.absolute+0xda50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da60) /* pc=.absolute+0xda60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da70) /* pc=.absolute+0xda70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da80) /* pc=.absolute+0xda80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da90) /* pc=.absolute+0xda90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) /* pc=.absolute+0xdaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) /* pc=.absolute+0xdab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) /* pc=.absolute+0xdac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) /* pc=.absolute+0xdad0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) /* pc=.absolute+0xdae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) /* pc=.absolute+0xdaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db00) /* pc=.absolute+0xdb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db10) /* pc=.absolute+0xdb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db20) /* pc=.absolute+0xdb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db30) /* pc=.absolute+0xdb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db40) /* pc=.absolute+0xdb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db50) /* pc=.absolute+0xdb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db60) /* pc=.absolute+0xdb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db70) /* pc=.absolute+0xdb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db80) /* pc=.absolute+0xdb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db90) /* pc=.absolute+0xdb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) /* pc=.absolute+0xdba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) /* pc=.absolute+0xdbb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) /* pc=.absolute+0xdbc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) /* pc=.absolute+0xdbd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) /* pc=.absolute+0xdbe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) /* pc=.absolute+0xdbf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) /* pc=.absolute+0xdc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) /* pc=.absolute+0xdc10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) /* pc=.absolute+0xdc20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) /* pc=.absolute+0xdc30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) /* pc=.absolute+0xdc40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) /* pc=.absolute+0xdc50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) /* pc=.absolute+0xdc60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) /* pc=.absolute+0xdc70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) /* pc=.absolute+0xdc80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) /* pc=.absolute+0xdc90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) /* pc=.absolute+0xdca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) /* pc=.absolute+0xdcb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) /* pc=.absolute+0xdcc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) /* pc=.absolute+0xdcd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) /* pc=.absolute+0xdce0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) /* pc=.absolute+0xdcf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) /* pc=.absolute+0xdd00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) /* pc=.absolute+0xdd10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) /* pc=.absolute+0xdd20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) /* pc=.absolute+0xdd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) /* pc=.absolute+0xdd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) /* pc=.absolute+0xdd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) /* pc=.absolute+0xdd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) /* pc=.absolute+0xdd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) /* pc=.absolute+0xdd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) /* pc=.absolute+0xdd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) /* pc=.absolute+0xdda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) /* pc=.absolute+0xddb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) /* pc=.absolute+0xddc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) /* pc=.absolute+0xddd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) /* pc=.absolute+0xdde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) /* pc=.absolute+0xddf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de00) /* pc=.absolute+0xde00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de10) /* pc=.absolute+0xde10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de20) /* pc=.absolute+0xde20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de30) /* pc=.absolute+0xde30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de40) /* pc=.absolute+0xde40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de50) /* pc=.absolute+0xde50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de60) /* pc=.absolute+0xde60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de70) /* pc=.absolute+0xde70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de80) /* pc=.absolute+0xde80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de90) /* pc=.absolute+0xde90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) /* pc=.absolute+0xdea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) /* pc=.absolute+0xdeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) /* pc=.absolute+0xdec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) /* pc=.absolute+0xded0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) /* pc=.absolute+0xdee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40def0) /* pc=.absolute+0xdef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40def0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df00) /* pc=.absolute+0xdf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df10) /* pc=.absolute+0xdf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df20) /* pc=.absolute+0xdf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df30) /* pc=.absolute+0xdf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df40) /* pc=.absolute+0xdf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df50) /* pc=.absolute+0xdf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df60) /* pc=.absolute+0xdf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df70) /* pc=.absolute+0xdf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df80) /* pc=.absolute+0xdf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df90) /* pc=.absolute+0xdf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) /* pc=.absolute+0xdfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) /* pc=.absolute+0xdfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) /* pc=.absolute+0xdfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) /* pc=.absolute+0xdfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) /* pc=.absolute+0xdfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) /* pc=.absolute+0xdff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e000) /* pc=.absolute+0xe000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e010) /* pc=.absolute+0xe010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e020) /* pc=.absolute+0xe020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e030) /* pc=.absolute+0xe030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e040) /* pc=.absolute+0xe040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e050) /* pc=.absolute+0xe050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e060) /* pc=.absolute+0xe060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e070) /* pc=.absolute+0xe070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e080) /* pc=.absolute+0xe080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e090) /* pc=.absolute+0xe090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) /* pc=.absolute+0xe0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) /* pc=.absolute+0xe0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) /* pc=.absolute+0xe0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) /* pc=.absolute+0xe0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) /* pc=.absolute+0xe0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) /* pc=.absolute+0xe0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e100) /* pc=.absolute+0xe100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e110) /* pc=.absolute+0xe110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e120) /* pc=.absolute+0xe120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e130) /* pc=.absolute+0xe130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e140) /* pc=.absolute+0xe140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e150) /* pc=.absolute+0xe150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e160) /* pc=.absolute+0xe160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e170) /* pc=.absolute+0xe170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e180) /* pc=.absolute+0xe180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e190) /* pc=.absolute+0xe190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) /* pc=.absolute+0xe1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) /* pc=.absolute+0xe1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) /* pc=.absolute+0xe1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) /* pc=.absolute+0xe1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) /* pc=.absolute+0xe1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) /* pc=.absolute+0xe1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e200) /* pc=.absolute+0xe200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e210) /* pc=.absolute+0xe210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e220) /* pc=.absolute+0xe220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e230) /* pc=.absolute+0xe230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e240) /* pc=.absolute+0xe240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e250) /* pc=.absolute+0xe250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e260) /* pc=.absolute+0xe260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e270) /* pc=.absolute+0xe270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e280) /* pc=.absolute+0xe280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e290) /* pc=.absolute+0xe290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) /* pc=.absolute+0xe2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) /* pc=.absolute+0xe2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) /* pc=.absolute+0xe2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) /* pc=.absolute+0xe2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) /* pc=.absolute+0xe2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) /* pc=.absolute+0xe2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e300) /* pc=.absolute+0xe300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e310) /* pc=.absolute+0xe310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e320) /* pc=.absolute+0xe320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e330) /* pc=.absolute+0xe330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e340) /* pc=.absolute+0xe340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e350) /* pc=.absolute+0xe350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e360) /* pc=.absolute+0xe360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e370) /* pc=.absolute+0xe370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e380) /* pc=.absolute+0xe380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e390) /* pc=.absolute+0xe390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) /* pc=.absolute+0xe3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) /* pc=.absolute+0xe3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) /* pc=.absolute+0xe3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) /* pc=.absolute+0xe3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) /* pc=.absolute+0xe3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) /* pc=.absolute+0xe3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e400) /* pc=.absolute+0xe400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e410) /* pc=.absolute+0xe410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e420) /* pc=.absolute+0xe420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e430) /* pc=.absolute+0xe430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e440) /* pc=.absolute+0xe440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e450) /* pc=.absolute+0xe450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e460) /* pc=.absolute+0xe460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e470) /* pc=.absolute+0xe470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e480) /* pc=.absolute+0xe480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e490) /* pc=.absolute+0xe490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) /* pc=.absolute+0xe4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) /* pc=.absolute+0xe4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) /* pc=.absolute+0xe4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) /* pc=.absolute+0xe4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) /* pc=.absolute+0xe4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) /* pc=.absolute+0xe4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e500) /* pc=.absolute+0xe500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e510) /* pc=.absolute+0xe510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e520) /* pc=.absolute+0xe520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e530) /* pc=.absolute+0xe530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e540) /* pc=.absolute+0xe540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e550) /* pc=.absolute+0xe550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e560) /* pc=.absolute+0xe560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e570) /* pc=.absolute+0xe570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e580) /* pc=.absolute+0xe580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e590) /* pc=.absolute+0xe590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) /* pc=.absolute+0xe5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) /* pc=.absolute+0xe5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) /* pc=.absolute+0xe5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) /* pc=.absolute+0xe5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) /* pc=.absolute+0xe5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) /* pc=.absolute+0xe5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e600) /* pc=.absolute+0xe600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e610) /* pc=.absolute+0xe610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e620) /* pc=.absolute+0xe620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e630) /* pc=.absolute+0xe630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e640) /* pc=.absolute+0xe640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e650) /* pc=.absolute+0xe650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e660) /* pc=.absolute+0xe660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e670) /* pc=.absolute+0xe670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e680) /* pc=.absolute+0xe680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e690) /* pc=.absolute+0xe690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) /* pc=.absolute+0xe6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) /* pc=.absolute+0xe6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) /* pc=.absolute+0xe6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) /* pc=.absolute+0xe6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) /* pc=.absolute+0xe6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) /* pc=.absolute+0xe6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e700) /* pc=.absolute+0xe700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e710) /* pc=.absolute+0xe710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e720) /* pc=.absolute+0xe720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e730) /* pc=.absolute+0xe730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e740) /* pc=.absolute+0xe740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e750) /* pc=.absolute+0xe750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e760) /* pc=.absolute+0xe760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e770) /* pc=.absolute+0xe770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e780) /* pc=.absolute+0xe780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e790) /* pc=.absolute+0xe790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) /* pc=.absolute+0xe7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) /* pc=.absolute+0xe7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) /* pc=.absolute+0xe7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) /* pc=.absolute+0xe7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) /* pc=.absolute+0xe7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) /* pc=.absolute+0xe7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e800) /* pc=.absolute+0xe800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e810) /* pc=.absolute+0xe810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e820) /* pc=.absolute+0xe820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e830) /* pc=.absolute+0xe830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e840) /* pc=.absolute+0xe840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e850) /* pc=.absolute+0xe850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e860) /* pc=.absolute+0xe860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e870) /* pc=.absolute+0xe870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e880) /* pc=.absolute+0xe880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e890) /* pc=.absolute+0xe890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) /* pc=.absolute+0xe8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) /* pc=.absolute+0xe8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) /* pc=.absolute+0xe8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) /* pc=.absolute+0xe8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) /* pc=.absolute+0xe8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) /* pc=.absolute+0xe8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e900) /* pc=.absolute+0xe900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e910) /* pc=.absolute+0xe910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e920) /* pc=.absolute+0xe920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e930) /* pc=.absolute+0xe930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e940) /* pc=.absolute+0xe940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e950) /* pc=.absolute+0xe950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e960) /* pc=.absolute+0xe960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e970) /* pc=.absolute+0xe970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e980) /* pc=.absolute+0xe980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e990) /* pc=.absolute+0xe990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) /* pc=.absolute+0xe9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) /* pc=.absolute+0xe9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) /* pc=.absolute+0xe9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) /* pc=.absolute+0xe9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) /* pc=.absolute+0xe9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) /* pc=.absolute+0xe9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) /* pc=.absolute+0xea00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) /* pc=.absolute+0xea10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) /* pc=.absolute+0xea20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) /* pc=.absolute+0xea30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) /* pc=.absolute+0xea40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) /* pc=.absolute+0xea50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) /* pc=.absolute+0xea60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) /* pc=.absolute+0xea70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) /* pc=.absolute+0xea80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) /* pc=.absolute+0xea90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) /* pc=.absolute+0xeaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) /* pc=.absolute+0xeab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) /* pc=.absolute+0xeac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) /* pc=.absolute+0xead0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) /* pc=.absolute+0xeae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) /* pc=.absolute+0xeaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) /* pc=.absolute+0xeb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) /* pc=.absolute+0xeb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) /* pc=.absolute+0xeb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) /* pc=.absolute+0xeb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) /* pc=.absolute+0xeb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) /* pc=.absolute+0xeb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) /* pc=.absolute+0xeb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) /* pc=.absolute+0xeb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) /* pc=.absolute+0xeb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) /* pc=.absolute+0xeb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) /* pc=.absolute+0xeba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) /* pc=.absolute+0xebb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) /* pc=.absolute+0xebc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) /* pc=.absolute+0xebd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) /* pc=.absolute+0xebe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) /* pc=.absolute+0xebf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) /* pc=.absolute+0xec00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) /* pc=.absolute+0xec10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) /* pc=.absolute+0xec20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) /* pc=.absolute+0xec30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) /* pc=.absolute+0xec40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) /* pc=.absolute+0xec50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) /* pc=.absolute+0xec60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) /* pc=.absolute+0xec70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) /* pc=.absolute+0xec80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) /* pc=.absolute+0xec90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) /* pc=.absolute+0xeca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) /* pc=.absolute+0xecb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) /* pc=.absolute+0xecc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) /* pc=.absolute+0xecd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) /* pc=.absolute+0xece0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) /* pc=.absolute+0xecf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) /* pc=.absolute+0xed00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) /* pc=.absolute+0xed10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) /* pc=.absolute+0xed20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) /* pc=.absolute+0xed30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) /* pc=.absolute+0xed40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) /* pc=.absolute+0xed50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) /* pc=.absolute+0xed60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) /* pc=.absolute+0xed70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) /* pc=.absolute+0xed80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) /* pc=.absolute+0xed90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) /* pc=.absolute+0xeda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) /* pc=.absolute+0xedb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) /* pc=.absolute+0xedc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) /* pc=.absolute+0xedd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) /* pc=.absolute+0xede0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) /* pc=.absolute+0xedf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) /* pc=.absolute+0xee00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) /* pc=.absolute+0xee10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) /* pc=.absolute+0xee20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) /* pc=.absolute+0xee30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) /* pc=.absolute+0xee40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) /* pc=.absolute+0xee50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) /* pc=.absolute+0xee60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) /* pc=.absolute+0xee70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) /* pc=.absolute+0xee80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) /* pc=.absolute+0xee90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) /* pc=.absolute+0xeea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) /* pc=.absolute+0xeeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) /* pc=.absolute+0xeec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) /* pc=.absolute+0xeed0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) /* pc=.absolute+0xeee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) /* pc=.absolute+0xeef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) /* pc=.absolute+0xef00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) /* pc=.absolute+0xef10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) /* pc=.absolute+0xef20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) /* pc=.absolute+0xef30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) /* pc=.absolute+0xef40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) /* pc=.absolute+0xef50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) /* pc=.absolute+0xef60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) /* pc=.absolute+0xef70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) /* pc=.absolute+0xef80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) /* pc=.absolute+0xef90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) /* pc=.absolute+0xefa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) /* pc=.absolute+0xefb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) /* pc=.absolute+0xefc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) /* pc=.absolute+0xefd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) /* pc=.absolute+0xefe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) /* pc=.absolute+0xeff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f000) /* pc=.absolute+0xf000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f010) /* pc=.absolute+0xf010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f020) /* pc=.absolute+0xf020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f030) /* pc=.absolute+0xf030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f040) /* pc=.absolute+0xf040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f050) /* pc=.absolute+0xf050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f060) /* pc=.absolute+0xf060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f070) /* pc=.absolute+0xf070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f080) /* pc=.absolute+0xf080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f090) /* pc=.absolute+0xf090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) /* pc=.absolute+0xf0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) /* pc=.absolute+0xf0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) /* pc=.absolute+0xf0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) /* pc=.absolute+0xf0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) /* pc=.absolute+0xf0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) /* pc=.absolute+0xf0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f100) /* pc=.absolute+0xf100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f110) /* pc=.absolute+0xf110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f120) /* pc=.absolute+0xf120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f130) /* pc=.absolute+0xf130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f140) /* pc=.absolute+0xf140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f150) /* pc=.absolute+0xf150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f160) /* pc=.absolute+0xf160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f170) /* pc=.absolute+0xf170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f170) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.plt("*"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.mark("*"){exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.mark("*"){exit();} ^ semantic error: invalid -x pid for unspecified process probe [man stapprobes] semantic error: cannot probe pid 1234567890: No such process PASS: probe process.mark("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process.mark("*"){exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x413c44) /* pc=.absolute+0x13c44 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c44) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c50) /* pc=.absolute+0x13c50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c50) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c60) /* pc=.absolute+0x13c60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c60) */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00) /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414004) /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004) */ process("/root/systemtap_write/install/bin/stap").statement(0x414054) /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054) */ process("/root/systemtap_write/install/bin/stap").statement(0x414980) /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00) /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18) /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28) /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28) */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8) /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8) */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90) /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90) */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30) /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30) */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) */ process("/root/systemtap_write/install/bin/stap").statement(0x410da8) /* pc=.absolute+0x10da8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410da8) */ process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) /* pc=.absolute+0x10ec8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) */ process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) /* pc=.absolute+0x15d77c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) */ process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) /* pc=.absolute+0x15f1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x560528) /* pc=.absolute+0x160528 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560528) */ process("/root/systemtap_write/install/bin/stap").statement(0x560630) /* pc=.absolute+0x160630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560630) */ process("/root/systemtap_write/install/bin/stap").statement(0x563f48) /* pc=.absolute+0x163f48 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x563f48) */ process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) /* pc=.absolute+0x1640dc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) */ process("/root/systemtap_write/install/bin/stap").statement(0x564b84) /* pc=.absolute+0x164b84 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x564b84) */ process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) /* pc=.absolute+0x1655f4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) /* pc=.absolute+0x20dc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) /* pc=.absolute+0x20dcb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.mark("*"){exit();} PID under test is 1234567890 spawn stap -p2 -e probe process.provider("*").mark("*"){exit();} -x 1234567890 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.provider("*").mark("*"){exit();} ^ semantic error: invalid -x pid for unspecified process probe [man stapprobes] semantic error: cannot probe pid 1234567890: No such process PASS: probe process.provider("*").mark("*"){exit();} PID under test is 9769 spawn stap -p2 -e probe process.provider("*").mark("*"){exit();} -x 9769 # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x413c44) /* pc=.absolute+0x13c44 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c44) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c50) /* pc=.absolute+0x13c50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c50) */ process("/root/systemtap_write/install/bin/stap").statement(0x413c60) /* pc=.absolute+0x13c60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413c60) */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8) */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00) /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414004) /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004) */ process("/root/systemtap_write/install/bin/stap").statement(0x414054) /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054) */ process("/root/systemtap_write/install/bin/stap").statement(0x414980) /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00) /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18) /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18) */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28) /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28) */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8) /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8) */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c) */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c) */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90) /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90) */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc) */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30) /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30) */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4) */ process("/root/systemtap_write/install/bin/stap").statement(0x410da8) /* pc=.absolute+0x10da8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410da8) */ process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) /* pc=.absolute+0x10ec8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x410ec8) */ process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) /* pc=.absolute+0x15d77c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55d77c) */ process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) /* pc=.absolute+0x15f1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x55f1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x560528) /* pc=.absolute+0x160528 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560528) */ process("/root/systemtap_write/install/bin/stap").statement(0x560630) /* pc=.absolute+0x160630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x560630) */ process("/root/systemtap_write/install/bin/stap").statement(0x563f48) /* pc=.absolute+0x163f48 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x563f48) */ process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) /* pc=.absolute+0x1640dc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5640dc) */ process("/root/systemtap_write/install/bin/stap").statement(0x564b84) /* pc=.absolute+0x164b84 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x564b84) */ process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) /* pc=.absolute+0x1655f4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x5655f4) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) /* pc=.absolute+0x20dc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) /* pc=.absolute+0x20dcb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x60dcb4) */ timer.s(900) /* <- timer.s(900) */ PASS: probe process.provider("*").mark("*"){exit();} PID under test is 1234567890 UNTESTED: script: probe process($1).insn{exit();} PID under test is 9769 UNTESTED: script: probe process($1).insn{exit();} PID under test is 1234567890 UNTESTED: script: probe process($1).statement(200){exit();} PID under test is 9769 UNTESTED: script: probe process($1).statement(200){exit();} Executing: kill -INT -9769 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/valid_pid.exp completed in 35 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/var_scope.exp ... executing: stap -v -w /root/systemtap_write/systemtap/testsuite/systemtap.base/var_scope.stp spawn stap -v -w /root/systemtap_write/systemtap/testsuite/systemtap.base/var_scope.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 1 global using 54848virt/44992res/5888shr/38400data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapNnUe0I/stap_dfd4de9bfd55cdccc547bd01e2ba018c_1965_src.c" using 54848virt/47360res/6912shr/38400data kb, in 0usr/0sys/2real ms. Pass 4: compiled C into "stap_dfd4de9bfd55cdccc547bd01e2ba018c_1965.ko" in 0usr/3380sys/3429real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.base/var_scope.stp startup PASS: systemtap.base/var_scope.stp load generation Executing: kill -INT -10356 systemtap ending probe systemtap test success PASS: systemtap.base/var_scope.stp shutdown and output Pass 5: run completed in 0usr/80sys/990real ms. metric: systemtap.base/var_scope.stp 0 400 404 0 10 8 0 0 2 0 3380 3429 0 80 990 Executing: kill -INT -10356 testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/var_scope.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/vars.exp ... can't parse lineno in FAIL: vars - bio_copy_user@*/bio.c (no first lineno) parsed lineno 461 in line kernel.statement("vfs_read@fs/read_write.c:461") PASS: vars - vfs_read@fs/read_write.c (first lineno is 461) output for vars: file=%#llx buf=%#llx count=%#llx pos=%#llx ret=? output for parms: file=%#llx buf=%#llx count=%#llx pos=%#llx output for locals: ret=? PASS: vars - vfs_read@fs/read_write.c PASS: vars - vfs_read@fs/read_write.c (parms/locals) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/vars.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/vma_vdso.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vma_vdso.c -g -lrt -lm -o vma_vdso-m64.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vma_vdso.c -g -lrt -lm -o vma_vdso-m64.exe PASS: vma_vdso.c compile -m64 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/vma_vdso.stp ./vma_vdso-m64.exe -c ./vma_vdso-m64.exe FAIL: vma_vdso-m64 line 1: expected "clock_gettime" Got "clock_gettime@3ff81160648 unknown" "getuid" "getuid" testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/vma_vdso.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o vta-test-m64.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o vta-test-m64.exe PASS: vta-test.c compile m64 UNTESTED: vta-test-m64 (no-gcc-vta) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o vta-test-m64.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o vta-test-m64.exe PASS: vta-test.c compile m64 UNTESTED: vta-test-m64 (no-gcc-vta) Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -lm -o vta-test-m64-O.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.c -g -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -O -lm -o vta-test-m64-O.exe PASS: vta-test.c compile m64-O executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.stp ./vta-test-m64-O.exe -c ./vta-test-m64-O.exe PASS: vta-test-m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/vta-test.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/wakeup.exp ... spawn stap -DMAXERRORS=999 /root/systemtap_write/systemtap/testsuite/systemtap.base/wakeup.stp -c ls -laR /dev/* /proc/* > /dev/null 2>&1; sleep 5 sleeping sleeping sleeping sleeping sleeping sleeping WARNING: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: sleeping sleeping count: 25 WARNING: Number of errors: 8, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: wakeup testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/wakeup.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/warn_overflow.exp ... spawn stap --vp 00002 -DMAXSKIPPED=9999 /root/systemtap_write/systemtap/testsuite/systemtap.base/warn_overflow.stp Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapLWuW6r/stap_c54983854bc8d5c9c5e4beed25176fd8_184074.ko staprun:insert_module:183 Module stap_c54983854bc8d5c9c5e4beed25176fd8__11729 inserted from file /tmp/stapLWuW6r/stap_c54983854bc8d5c9c5e4beed25176fd8_184074.ko WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: begin... WARNING: too many pending (warning) messages WARNING: too many pending (system) messages syscall: fcntl syscall: futex syscall: read syscall: fcntl syscall: fcntl syscall: fcntl syscall: pselect6 syscall: fcntl syscall: fcntl syscall: fcntl syscall: futex syscall: fcntl syscall: fcntl syscall: fcntl syscall: fcntl syscall: fcntl stap_begin stap_syscall stap_end WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: end... WARNING: too many pending (warning) messages stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_c54983854bc8d5c9c5e4beed25176fd8__11729 removed. Spawn waitpid result (0x0): 0 Pass 5: run completed in 0usr/110sys/655real ms. Running rm -rf /tmp/stapLWuW6r Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapLWuW6r" PASS: warn_overflow (3,3) testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/warn_overflow.exp completed in 127 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings.exp ... spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings.stp WARNING: Eliding unused function 'elide_me2': identifier 'elide_me2' at /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings.stp:4:10 source: function elide_me2 () {} ^ WARNING: never-assigned local variable 'elide_me5' (similar: elide_me1, elide_me4): identifier 'elide_me5' at :7:31 source: probe never { elide_me4 = 1; (elide_me5+5); print (foo()) } ^ WARNING: never-assigned local variable 'elide' (similar: me1, elide_me1): identifier 'elide' at :8:21 source: probe never { print(elide+me1) bar () } ^ WARNING: never-assigned local variable 'me1' (similar: elide_me1, elide): identifier 'me1' at :8:27 source: probe never { print(elide+me1) bar () } ^ WARNING: never-assigned local variable 'var' (similar: elide_me1, elide_me6): identifier 'var' at :14:54 source: probe probea { printf("%d", funcb(2,3)); printf("%s",var) } ^ WARNING: never-assigned local variable 'b' (similar: a, elide_me1, elide_me7): identifier 'b' at :17:27 source: function funca(a:long) {a=b; elide_me7=1; return a} ^ WARNING: Eliding unused variable 'elide_me1': identifier 'elide_me1' at :3:8 source: global elide_me1 ^ WARNING: Eliding assignment to 'elide_me4': operator '=' at :7:25 source: probe never { elide_me4 = 1; (elide_me5+5); print (foo()) } ^ WARNING: Eliding assignment to 'elide_me6': operator '=' at :13:51 source: { printf("%d", funca(2)); elide_me6="foo" } ^ WARNING: Eliding assignment to 'elide_me3': operator '=' at :5:34 source: function foo:long () { elide_me3 = 1 } ^ WARNING: Eliding assignment to 'elide_me7': operator '=' at :17:39 source: function funca(a:long) {a=b; elide_me7=1; return a} ^ WARNING: Eliding side-effect-free expression : identifier 'elide_me4' at :7:15 source: probe never { elide_me4 = 1; (elide_me5+5); print (foo()) } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :5:10 source: function foo:long () { elide_me3 = 1 } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2d/stap_2d0c64197237d8b9a653b10ce49845cd_2520.ko Number of similar warning messages suppressed: 12. Rerun with -v to see them. PASS: warnings testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings2.exp ... spawn stap -e probe begin {warn ("1") warn ("2") warn ("1") exit ()} WARNING: 1 WARNING: 2 PASS: warnings2 default spawn stap -w -e probe begin {warn ("1") warn ("2") warn ("1") exit ()} PASS: warnings2 -w spawn stap -vv -e probe begin {warn ("1") warn ("2") warn ("1") exit ()} Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapVJ8mk5" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54144virt/45248res/6080shr/37696data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 0 globals using 54912virt/45248res/6080shr/38464data kb, in 0usr/10sys/8real ms. Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62755544568c026453490a9d42f5a100_1679.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62755544568c026453490a9d42f5a100_1679.ko Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapVJ8mk5/stap_62755544568c026453490a9d42f5a100_1679.ko staprun:insert_module:183 Module stap_62755544568c026453490a9d42f5a10_12278 inserted from file /tmp/stapVJ8mk5/stap_62755544568c026453490a9d42f5a100_1679.ko WARNING: 1 WARNING: 2 WARNING: 1 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_62755544568c026453490a9d42f5a10_12278 removed. Spawn waitpid result (0x0): 0 Pass 5: run completed in 0usr/70sys/472real ms. Running rm -rf /tmp/stapVJ8mk5 Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapVJ8mk5" PASS: warnings2 -v testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/warnings2.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/wordexp.exp ... spawn stap -e probe process.function("foo") { next } semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("foo") { next } ^ semantic error: unspecified process probe is invalid without a -c COMMAND or -x PID [man stapprobes] PASS: wordexp -c "" spawn stap -e probe process.function("foo") { next } -c ls || true semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("foo") { next } ^ semantic error: invalid -c command for unspecified process probe [man stapprobes] semantic error: command contains illegal characters PASS: wordexp -c "ls || true" spawn stap -e probe process.function("foo") { next } -c ls $HOPEFULLYTHISISNTACTUALLYDEFINED semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("foo") { next } ^ semantic error: invalid -c command for unspecified process probe [man stapprobes] semantic error: command contains undefined shell variables PASS: wordexp -c "ls $HOPEFULLYTHISISNTACTUALLYDEFINED" spawn stap -e probe process.function("foo") { next } -c ls `out` semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("foo") { next } ^ semantic error: invalid -c command for unspecified process probe [man stapprobes] semantic error: command contains command substitutions PASS: wordexp -c "ls `out`" spawn stap -e probe process.function("foo") { next } -c ls "string semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function("foo") { next } ^ semantic error: invalid -c command for unspecified process probe [man stapprobes] semantic error: command contains shell syntax errors PASS: wordexp -c "ls "string" testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/wordexp.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.base/x86_gs.exp ... UNTESTED: x86_gs testcase /root/systemtap_write/systemtap/testsuite/systemtap.base/x86_gs.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.exp ... exec make -C staptestRYoJch CFLAGS="-isystem/root/systemtap_write/install/include" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' dtrace -C -h -s dtrace_clone_probes.d -o dtrace_clone_probes.h cc -isystem/root/systemtap_write/install/include -c -o dtrace_clone.o dtrace_clone.c dtrace -C -G -s dtrace_clone_probes.d -o dtrace_clone_probes.o cc dtrace_clone.o dtrace_clone_probes.o -o dtrace_clone make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' PASS: dtrace_clone1 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.stp staptestRYoJch/dtrace_clone spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.stp staptestRYoJch/dtrace_clone Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 9 probes, 4 functions, 1 embed, 1 global using 55232virt/48000res/7168shr/38784data kb, in 0usr/20sys/14real ms. Pass 3: translated to C into "/tmp/stapfuEtMi/stap_1f8ff43fdb36b64a1bf066d601ea7800_4396_src.c" using 55296virt/48448res/7488shr/38848data kb, in 0usr/1450sys/1487real ms. Pass 4: compiled C into "stap_1f8ff43fdb36b64a1bf066d601ea7800_4396.ko" in 0usr/4930sys/4989real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_clone2 startup as_root staptestRYoJch/dtrace_clone OUT RC 0 PASS: dtrace_clone2 load generation Executing: kill -INT -12364 systemtap ending probe main - pid: 12615 main - child pid: 12617 child1 - pid: 1 child1 - child2 pid: 2 child2 - pid: 1 main - finished PASS: dtrace_clone2 shutdown and output Pass 5: run completed in 0usr/90sys/792real ms. metric: dtrace_clone2 0 390 401 0 20 14 0 1450 1487 0 4930 4989 0 90 792 Executing: kill -INT -12364 exec make -C staptestRYoJch clean make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' rm -f dtrace_clone.o dtrace_clone_probes.o dtrace_clone dtrace_clone_probes.h make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' exec make -C staptestRYoJch CFLAGS="-isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' dtrace -C -h -s dtrace_clone_probes.d -o dtrace_clone_probes.h cc -isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES -c -o dtrace_clone.o dtrace_clone.c dtrace -C -G -s dtrace_clone_probes.d -o dtrace_clone_probes.o cc dtrace_clone.o dtrace_clone_probes.o -o dtrace_clone make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestRYoJch' PASS: dtrace_clone3 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.stp staptestRYoJch/dtrace_clone spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.stp staptestRYoJch/dtrace_clone Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 9 probes, 4 functions, 1 embed, 1 global using 55296virt/48064res/7168shr/38848data kb, in 0usr/10sys/14real ms. Pass 3: translated to C into "/tmp/stapFs3rZE/stap_e623554402ec5ead26556d121f5975af_4396_src.c" using 55360virt/48512res/7488shr/38912data kb, in 0usr/1480sys/1505real ms. Pass 4: compiled C into "stap_e623554402ec5ead26556d121f5975af_4396.ko" in 0usr/4930sys/4995real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_clone4 startup as_root staptestRYoJch/dtrace_clone OUT RC 0 PASS: dtrace_clone4 load generation Executing: kill -INT -12646 systemtap ending probe main - pid: 12896 main - child pid: 12898 child1 - pid: 1 child1 - child2 pid: 2 child2 - pid: 1 main - finished PASS: dtrace_clone4 shutdown and output Pass 5: run completed in 0usr/90sys/781real ms. metric: dtrace_clone4 0 410 409 0 10 14 0 1480 1505 0 4930 4995 0 90 781 Executing: kill -INT -12646 testcase /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_clone.exp completed in 17 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.exp ... exec make -C staptest5Wusaf CFLAGS="-isystem/root/systemtap_write/install/include" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' dtrace -C -h -s dtrace_fork_parent_probes.d -o dtrace_fork_parent_probes.h cc -isystem/root/systemtap_write/install/include -c -o dtrace_fork_parent.o dtrace_fork_parent.c dtrace -C -G -s dtrace_fork_parent_probes.d -o dtrace_fork_parent_probes.o cc dtrace_fork_parent.o dtrace_fork_parent_probes.o -o dtrace_fork_parent dtrace -C -h -s dtrace_child_probes.d -o dtrace_child_probes.h cc -isystem/root/systemtap_write/install/include -c -o dtrace_child.o dtrace_child.c dtrace -C -G -s dtrace_child_probes.d -o dtrace_child_probes.o cc dtrace_child.o dtrace_child_probes.o -o dtrace_child make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' PASS: dtrace_fork_exec1 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.stp staptest5Wusaf/dtrace_fork_parent staptest5Wusaf/dtrace_child spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.stp staptest5Wusaf/dtrace_fork_parent staptest5Wusaf/dtrace_child Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 8 probes, 4 functions, 1 embed, 1 global using 55232virt/48064res/7168shr/38784data kb, in 0usr/20sys/13real ms. Pass 3: translated to C into "/tmp/staprDHhzP/stap_7bb22bfb9f83ad9eed7cc7d0ff89606f_4195_src.c" using 55360virt/48512res/7488shr/38912data kb, in 0usr/1450sys/1479real ms. Pass 4: compiled C into "stap_7bb22bfb9f83ad9eed7cc7d0ff89606f_4195.ko" in 0usr/4900sys/4973real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_fork_exec2 startup PASS: dtrace_fork_exec2 load generation Executing: kill -INT -12977 systemtap ending probe parent - pid: 13225 parent - child pid: 13227 parent - child pid before exec: 13227 child - pid: 13227 parent - finished PASS: dtrace_fork_exec2 shutdown and output Pass 5: run completed in 0usr/100sys/846real ms. metric: dtrace_fork_exec2 0 400 403 0 20 13 0 1450 1479 0 4900 4973 0 100 846 Executing: kill -INT -12977 exec make -C staptest5Wusaf clean make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' rm -f dtrace_fork_parent.o dtrace_fork_parent_probes.o dtrace_child.o dtrace_child_probes.o dtrace_fork_parent dtrace_child dtrace_fork_parent_probes.h dtrace_child_probes.h make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' exec make -C staptest5Wusaf CFLAGS="-isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' dtrace -C -h -s dtrace_fork_parent_probes.d -o dtrace_fork_parent_probes.h cc -isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES -c -o dtrace_fork_parent.o dtrace_fork_parent.c dtrace -C -G -s dtrace_fork_parent_probes.d -o dtrace_fork_parent_probes.o cc dtrace_fork_parent.o dtrace_fork_parent_probes.o -o dtrace_fork_parent dtrace -C -h -s dtrace_child_probes.d -o dtrace_child_probes.h cc -isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES -c -o dtrace_child.o dtrace_child.c dtrace -C -G -s dtrace_child_probes.d -o dtrace_child_probes.o cc dtrace_child.o dtrace_child_probes.o -o dtrace_child make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptest5Wusaf' PASS: dtrace_fork_exec3 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.stp staptest5Wusaf/dtrace_fork_parent staptest5Wusaf/dtrace_child spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.stp staptest5Wusaf/dtrace_fork_parent staptest5Wusaf/dtrace_child Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 8 probes, 4 functions, 1 embed, 1 global using 55232virt/48064res/7168shr/38784data kb, in 0usr/10sys/13real ms. Pass 3: translated to C into "/tmp/stapjiVpkr/stap_704597d52ef17644030e8f89628eaefb_4195_src.c" using 55360virt/48512res/7488shr/38912data kb, in 0usr/1460sys/1488real ms. Pass 4: compiled C into "stap_704597d52ef17644030e8f89628eaefb_4195.ko" in 0usr/4890sys/4968real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_fork_exec4 startup PASS: dtrace_fork_exec4 load generation Executing: kill -INT -13270 systemtap ending probe parent - pid: 13518 parent - child pid: 13520 parent - child pid before exec: 13520 child - pid: 13520 parent - finished PASS: dtrace_fork_exec4 shutdown and output Pass 5: run completed in 0usr/90sys/822real ms. metric: dtrace_fork_exec4 0 400 400 0 10 13 0 1460 1488 0 4890 4968 0 90 822 Executing: kill -INT -13270 testcase /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_fork_exec.exp completed in 18 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.exp ... exec make -C staptestWt9X7H CFLAGS="-isystem/root/systemtap_write/install/include" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' dtrace -C -h -s dtrace_vfork_parent_probes.d -o dtrace_vfork_parent_probes.h cc -isystem/root/systemtap_write/install/include -c -o dtrace_vfork_parent.o dtrace_vfork_parent.c dtrace -C -G -s dtrace_vfork_parent_probes.d -o dtrace_vfork_parent_probes.o cc dtrace_vfork_parent.o dtrace_vfork_parent_probes.o -o dtrace_vfork_parent dtrace -C -h -s dtrace_child_probes.d -o dtrace_child_probes.h cc -isystem/root/systemtap_write/install/include -c -o dtrace_child.o dtrace_child.c dtrace -C -G -s dtrace_child_probes.d -o dtrace_child_probes.o cc dtrace_child.o dtrace_child_probes.o -o dtrace_child make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' PASS: dtrace_vfork_exec1 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.stp staptestWt9X7H/dtrace_vfork_parent staptestWt9X7H/dtrace_child spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.stp staptestWt9X7H/dtrace_vfork_parent staptestWt9X7H/dtrace_child Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 7 probes, 4 functions, 1 embed, 1 global using 55232virt/48064res/7168shr/38784data kb, in 0usr/10sys/13real ms. Pass 3: translated to C into "/tmp/stapMY2yry/stap_500200b862ef99346ecf9f190ed21005_3794_src.c" using 55360virt/48512res/7488shr/38912data kb, in 0usr/1450sys/1485real ms. Pass 4: compiled C into "stap_500200b862ef99346ecf9f190ed21005_3794.ko" in 0usr/4890sys/4954real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_vfork_exec2 startup PASS: dtrace_vfork_exec2 load generation Executing: kill -INT -13598 systemtap ending probe parent - pid: 13846 parent - child pid: 13848 child - pid: 13848 parent - finished PASS: dtrace_vfork_exec2 shutdown and output Pass 5: run completed in 0usr/80sys/807real ms. metric: dtrace_vfork_exec2 0 400 404 0 10 13 0 1450 1485 0 4890 4954 0 80 807 Executing: kill -INT -13598 exec make -C staptestWt9X7H clean make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' rm -f dtrace_vfork_parent.o dtrace_vfork_parent_probes.o dtrace_child.o dtrace_child_probes.o dtrace_vfork_parent dtrace_child dtrace_vfork_parent_probes.h dtrace_child_probes.h make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' exec make -C staptestWt9X7H CFLAGS="-isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' dtrace -C -h -s dtrace_vfork_parent_probes.d -o dtrace_vfork_parent_probes.h cc -isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES -c -o dtrace_vfork_parent.o dtrace_vfork_parent.c dtrace -C -G -s dtrace_vfork_parent_probes.d -o dtrace_vfork_parent_probes.o cc dtrace_vfork_parent.o dtrace_vfork_parent_probes.o -o dtrace_vfork_parent dtrace -C -h -s dtrace_child_probes.d -o dtrace_child_probes.h cc -isystem/root/systemtap_write/install/include -DUSE_SEMAPHORES -c -o dtrace_child.o dtrace_child.c dtrace -C -G -s dtrace_child_probes.d -o dtrace_child_probes.o cc dtrace_child.o dtrace_child_probes.o -o dtrace_child make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestWt9X7H' PASS: dtrace_vfork_exec3 - build success executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.stp staptestWt9X7H/dtrace_vfork_parent staptestWt9X7H/dtrace_child spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.stp staptestWt9X7H/dtrace_vfork_parent staptestWt9X7H/dtrace_child Pass 1: parsed user script and 115 library scripts using 54144virt/45056res/5888shr/37696data kb, in 0usr/400sys/397real ms. Pass 2: analyzed script: 7 probes, 4 functions, 1 embed, 1 global using 55296virt/48128res/7168shr/38848data kb, in 0usr/10sys/13real ms. Pass 3: translated to C into "/tmp/stapy9amob/stap_2c2699bc744211f530791c515a7eed2d_3794_src.c" using 55424virt/48576res/7488shr/38976data kb, in 0usr/1460sys/1493real ms. Pass 4: compiled C into "stap_2c2699bc744211f530791c515a7eed2d_3794.ko" in 0usr/4890sys/4953real ms. Pass 5: starting run. systemtap starting probe PASS: dtrace_vfork_exec4 startup PASS: dtrace_vfork_exec4 load generation Executing: kill -INT -13891 systemtap ending probe parent - pid: 14139 parent - child pid: 14141 child - pid: 14141 parent - finished PASS: dtrace_vfork_exec4 shutdown and output Pass 5: run completed in 0usr/90sys/850real ms. metric: dtrace_vfork_exec4 0 400 397 0 10 13 0 1460 1493 0 4890 4953 0 90 850 Executing: kill -INT -13891 testcase /root/systemtap_write/systemtap/testsuite/systemtap.clone/dtrace_vfork_exec.exp completed in 17 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.clone/main_quiesce.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.clone/main_quiesce.c -g -lpthread -lm -o ./main_quiesce_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.clone/main_quiesce.c -g -lpthread -lm -o ./main_quiesce_exe PASS: main_quiesce - compiled main_quiesce.c global hits probe begin { printf("systemtap starting probe\n") } probe process("./main_quiesce_exe").function("spool_write_script") { hits <<< 1 } probe end { printf("systemtap ending probe\n") printf("hits = %d\n", @sum(hits)) } spawn ./main_quiesce_exe executing: stap -v -e { global hits probe begin { printf("systemtap starting probe\n") } probe process("./main_quiesce_exe").function("spool_write_script") { hits <<< 1 } probe end { printf("systemtap ending probe\n") printf("hits = %d\n", @sum(hits)) } } -x 14159 spawn stap -v -e global hits probe begin { printf("systemtap starting probe\n") } probe process("./main_quiesce_exe").function("spool_write_script") { hits <<< 1 } probe end { printf("systemtap ending probe\n") printf("hits = %d\n", @sum(hits)) } -x 14159 Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 1 global using 54976virt/47872res/7232shr/38528data kb, in 0usr/10sys/9real ms. Pass 3: translated to C into "/tmp/stap7tqSVE/stap_352ba2b73a175b305396ac6a2062e909_2009_src.c" using 54976virt/48256res/7488shr/38528data kb, in 0usr/1460sys/1485real ms. Pass 4: compiled C into "stap_352ba2b73a175b305396ac6a2062e909_2009.ko" in 0usr/4840sys/4907real ms. Pass 5: starting run. systemtap starting probe PASS: main_quiesce startup PASS: main_quiesce load generation Executing: kill -INT -14176 systemtap ending probe hits = 4 PASS: main_quiesce shutdown and output Pass 5: run completed in 0usr/90sys/6055real ms. metric: main_quiesce 0 400 405 0 10 9 0 1460 1485 0 4840 4907 0 90 6055 Executing: kill -INT -14176 Executing: kill -INT -14159 testcase /root/systemtap_write/systemtap/testsuite/systemtap.clone/main_quiesce.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid.exp ... exec make -C staptestDYbQHS CFLAGS="-isystem/root/systemtap_write/install/include" make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestDYbQHS' cc -isystem/root/systemtap_write/install/include -g -O2 -c -o probe_by_pid.o probe_by_pid.c cc probe_by_pid.o -o probe_by_pid make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestDYbQHS' PASS: probe_by_pid(utrace) - build success running test programs... spawn staptestDYbQHS/probe_by_pid spawn staptestDYbQHS/probe_by_pid executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid_utrace.stp 14493 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid_utrace.stp 14493 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 7 probes, 3 functions, 3 embeds, 3 globals using 55488virt/48640res/7488shr/39040data kb, in 0usr/1470sys/1507real ms. Pass 3: translated to C into "/tmp/stapA2XCMk/stap_f2b12008c0f95e4be6a5dbb4e47c7cde_3037_src.c" using 55488virt/48640res/7488shr/39040data kb, in 0usr/10sys/2real ms. Pass 4: compiled C into "stap_f2b12008c0f95e4be6a5dbb4e47c7cde_3037.ko" in 0usr/4900sys/4978real ms. Pass 5: starting run. systemtap starting probe PASS: probe_by_pid(utrace) startup spawn staptestDYbQHS/probe_by_pid Executing: kill -INT -14745 PASS: probe_by_pid(utrace) load generation Executing: kill -INT -14497 systemtap ending probe 14493: 1 begin probes 14493: 13 syscall probes PASS: probe_by_pid(utrace) shutdown and output Pass 5: run completed in 0usr/90sys/4070real ms. metric: probe_by_pid(utrace) 0 400 400 0 1470 1507 0 10 2 0 4900 4978 0 90 4070 Executing: kill -INT -14497 Executing: kill -INT -14489 Executing: kill -INT -14493 running test programs... spawn staptestDYbQHS/probe_by_pid spawn staptestDYbQHS/probe_by_pid2 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid_function.stp -d staptestDYbQHS/probe_by_pid2 staptestDYbQHS/probe_by_pid2 spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid_function.stp -d staptestDYbQHS/probe_by_pid2 staptestDYbQHS/probe_by_pid2 Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/410sys/409real ms. Pass 2: analyzed script: 7 probes, 3 functions, 3 embeds, 2 globals using 55616virt/48832res/7552shr/39168data kb, in 0usr/1470sys/1505real ms. Pass 3: translated to C into "/tmp/stapZBeQ0Z/stap_46a0ce2a096269f58be77268d229a209_4108_src.c" using 55680virt/49088res/7680shr/39232data kb, in 0usr/1460sys/1493real ms. Pass 4: compiled C into "stap_46a0ce2a096269f58be77268d229a209_4108.ko" in 0usr/4970sys/5024real ms. Pass 5: starting run. systemtap starting probe PASS: probe_by_pid(function) startup spawn staptestDYbQHS/probe_by_pid Executing: kill -INT -15035 PASS: probe_by_pid(function) load generation Executing: kill -INT -14787 systemtap ending probe 14783: 4 test_function probes PASS: probe_by_pid(function) shutdown and output Pass 5: run completed in 0usr/90sys/4050real ms. metric: probe_by_pid(function) 0 410 409 0 1470 1505 0 1460 1493 0 4970 5024 0 90 4050 Executing: kill -INT -14787 Executing: kill -INT -14777 Executing: kill -INT -14783 testcase /root/systemtap_write/systemtap/testsuite/systemtap.clone/probe_by_pid.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/context.exp ... as_root cp staptestbDnDLZ/systemtap_test_module2.ko /lib/modules/4.8.0-rc1uprobes+/kernel OUT RC 0 as_root cp staptestbDnDLZ/systemtap_test_module1.ko /lib/modules/4.8.0-rc1uprobes+/kernel OUT RC 0 as_root /sbin/insmod staptestbDnDLZ/systemtap_test_module2.ko OUT RC 0 as_root /sbin/insmod staptestbDnDLZ/systemtap_test_module1.ko OUT RC 0 sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.context/backtrace.tcl spawn stap -d kernel -d systemtap_test_module1 /root/systemtap_write/systemtap/testsuite/systemtap.context/backtrace.stp PASS: backtrace of begin probe WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux backtrace from module("systemtap_test_module2").function("yyy_func2@/root/systemtap_write/systemtap/testsuite/staptestbDnDLZ/systemtap_test_module2.c:33"): 0xfffffc0000ce0188 : yyy_func2+0x0/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 (inexact) --- yyy_func2 --- the stack is 0xfffffc0000ce0188 0xfffffc0000ce01d8 0xfffffc0000e20120 0xfffffc00083194b4 0xfffffc00082a0c84 0xfffffc00082a1984 0xfffffc00082a291c 0xfffffc0008082c4c 0x0 0xfffffc0000ce0188 : yyy_func2+0x0/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 -------- backtrace from module("systemtap_test_module2").function("yyy_func3@/root/systemtap_write/systemtap/testsuite/staptestbDnDLZ/systemtap_test_module2.c:28"): 0xfffffc0000ce0158 : yyy_func3+0x0/0x30 [systemtap_test_module2] 0xfffffc0000ce01a8 : yyy_func2+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 (inexact) --- yyy_func3 --- the stack is 0xfffffc0000ce0158 0xfffffc0000ce01a8 0xfffffc0000ce01d8 0xfffffc0000e20120 0xfffffc00083194b4 0xfffffc00082a0c84 0xfffffc00082a1984 0xfffffc00082a291c 0xfffffc0008082c4c 0x0 0xfffffc0000ce0158 : yyy_func3+0x0/0x30 [systemtap_test_module2] 0xfffffc0000ce01a8 : yyy_func2+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 -------- backtrace from module("systemtap_test_module2").function("yyy_func4@/root/systemtap_write/systemtap/testsuite/staptestbDnDLZ/systemtap_test_module2.c:24"): 0xfffffc0000ce0130 : yyy_func4+0x0/0x28 [systemtap_test_module2] 0xfffffc0000ce0178 : yyy_func3+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01a8 : yyy_func2+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 (inexact) --- yyy_func4 --- the stack is 0xfffffc0000ce0130 0xfffffc0000ce0178 0xfffffc0000ce01a8 0xfffffc0000ce01d8 0xfffffc0000e20120 0xfffffc00083194b4 0xfffffc00082a0c84 0xfffffc00082a1984 0xfffffc00082a291c 0xfffffc0008082c4c 0x0 0xfffffc0000ce0130 : yyy_func4+0x0/0x28 [systemtap_test_module2] 0xfffffc0000ce0178 : yyy_func3+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01a8 : yyy_func2+0x20/0x30 [systemtap_test_module2] 0xfffffc0000ce01d8 : yyy_func1+0x20/0x0 [systemtap_test_module2] 0xfffffc0000e20120 : stm_write_cmd+0x120/0x140 [systemtap_test_module1] 0xfffffc00083194b4 : proc_reg_write+0x7c/0xb8 [kernel] 0xfffffc00082a0c84 : __vfs_write+0x48/0x14c [kernel] 0xfffffc00082a1984 : vfs_write+0xa8/0x1a8 [kernel] 0xfffffc00082a291c : sys_write+0x54/0xb0 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 -------- 0x0 0x0 (inexact) flag=0x3 Executing: kill -INT -15540 FAIL: backtrace of yyy_func2 (0) PASS: print_syms of yyy_func2 PASS: backtrace of yyy_func3 PASS: print_syms of yyy_func3 PASS: backtrace of yyy_func4 PASS: print_syms of yyy_func4 FAIL: print_syms didn't find systemtap_test_module1 (5) FAIL: print_syms didn't find [kernel] (0) PASS: backtrace.stp called exit sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.context/args.tcl spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.context/args.stp READY yyy_int -1 200 300 yyy_int returns 499 PASS: integer function arguments yyy_uint 4294967295 200 300 yyy_uint returns 499 PASS: unsigned function arguments yyy_long -1 200 300 yyy_long returns 499 PASS: long function arguments yyy_int64 -1 200 300 yyy_int64 returns 499 PASS: int64 function arguments yyy_char a b c yyy_char returns Q PASS: char function arguments yyy_str Hello-System-Tap yyy_str returns XYZZY PASS: string function arguments Executing: kill -INT -15795 sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.context/pid.tcl spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.context/pid.stp READY execname: echo pexecname: expect pid: 16309 ppid: 5407 tid: 16309 uid: 0 euid: 0 gid: 0 egid: 0 PASS: execname PASS: pexecname PASS: pid PASS: ppid PASS: tid PASS: uid PASS: euid PASS: gid PASS: egid sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.context/num_args.tcl spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.context/num_args.stp READY yyy_int -1 200 300 yyy_int returns 499 PASS: integer function arguments -- numeric yyy_uint 4294967295 200 300 yyy_uint returns 499 PASS: unsigned function arguments -- numeric yyy_long -1 200 300 yyy_long returns 499 PASS: long function arguments -- numeric yyy_int64 -1 200 300 yyy_int64 returns 499 PASS: int64 function arguments -- numeric yyy_char a b c yyy_char returns Q PASS: char function arguments -- numeric yyy_str Hello-System-Tap yyy_str returns XYZZY PASS: string function arguments -- numeric Executing: kill -INT -16322 sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.context/symfileline.tcl spawn stap -d kernel -d systemtap_test_module2 /root/systemtap_write/systemtap/testsuite/systemtap.context/symfileline.stp READY fileline /root/systemtap_write/systemtap/testsuite/staptestbDnDLZ/systemtap_test_module2.c:24 file /root/systemtap_write/systemtap/testsuite/staptestbDnDLZ/systemtap_test_module2.c line 24 matched: 6 PASS: symfileline () PASS: symfile () PASS: symline () PASS: symfileline in pp () as_root /bin/rm -f /lib/modules/4.8.0-rc1uprobes+/kernel/systemtap_test_module1.ko OUT RC 0 as_root /sbin/rmmod systemtap_test_module1 OUT RC 0 as_root /bin/rm -f /lib/modules/4.8.0-rc1uprobes+/kernel/systemtap_test_module2.ko OUT RC 0 as_root /sbin/rmmod systemtap_test_module2 OUT RC 0 testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/context.exp completed in 57 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/context_ns.exp ... spawn unshare -pf sleep 160 child (global) pid:16868 executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.context/pid_ns.stp -g --target-namespaces=16868 --disable-cache spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.context/pid_ns.stp -g --target-namespaces=16868 --disable-cache Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/410real ms. Pass 2: analyzed script: 4 probes, 13 functions, 3 embeds, 1 global using 55488virt/48512res/7424shr/39040data kb, in 0usr/2850sys/2945real ms. Pass 3: translated to C into "/tmp/staph64UQX/stap_16871_src.c" using 55552virt/48832res/7616shr/39104data kb, in 0usr/1470sys/1498real ms. Pass 4: compiled C into "stap_16871.ko" in 0usr/15670sys/16097real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe END PASS: pid_ns startup PASS: pid_ns load generation Executing: kill -INT -16871 PASS: pid_ns shutdown and output Pass 5: run completed in 0usr/90sys/567real ms. metric: pid_ns 0 400 410 0 2850 2945 0 1470 1498 0 15670 16097 0 90 567 Executing: kill -INT -16871 Executing: kill -INT -16864 Executing: kill -INT -16868 kill: kill: sending signal to -16868 failed: No such process testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/context_ns.exp completed in 22 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/fib (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/fib spawn stap -c /root/systemtap_write/systemtap/testsuite/fib 10 /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.stp 89 fib+0x3c 0x3ffffff0000 fib+0x4c 0x3ffffff0000 WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' FAIL: fib (2 0) spawn stap -c /root/systemtap_write/systemtap/testsuite/fib 10 -- /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.stp --entry WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' 89 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 fib+0x10 0x3ffffff0000 FAIL: fib (10 0) testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/fib.exp completed in 18 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/symbols.exp ... spawn stap -g /root/systemtap_write/systemtap/testsuite/systemtap.context/symbols.stp 0x0 : 0x0 0x80000000 : 0x80000000 0xc0000000 : 0xc0000000 0xe0000000 : 0xe0000000 0xf0000000 : 0xf0000000 0xffffffff : 0xffffffff 0xffffffff00000000 : 0xffffffff00000000 0xffffffff80000000 : 0xffffffff80000000 0xffffffff80120000 : 0xffffffff80120000 0xffffffff88000000 : 0xffffffff88000000 0xffffffffffffffff : 0xffffffffffffffff PASS: symbols (11) testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/symbols.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num cmd: stap -wc /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.stp cmd output: 0x4006c0 0x4006cc 0x4006d4 0x4006e4 0x4006f4 0x400708 PASS: uprobe_stmt_num-run-one executing: stap -w /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.stp -c /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num PASS: uprobe_stmt_num-run-two executing: stap -w uprobe_stmt_num-run-statements.stp -c /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num PASS: uprobe_stmt_num-run-statements Executing: objcopy -R .debug_line /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num executing: stap -w -g uprobe_stmt_num-run-statements.stp -c /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num PASS: uprobe_stmt_num-run-statements-nolines Executing: strip -g /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num executing: stap -w -g uprobe_stmt_num-run-statements.stp -c /root/systemtap_write/systemtap/testsuite/uprobe_stmt_num KFAIL: uprobe_stmt_num-run-statements-nodebuginfo (PRMS: 10454) line 1: expected "0x4006c0" Got "semantic error: while resolving probe point: identifier 'process' at uprobe_stmt_num-run-statements.stp:1:7" " source: probe process("uprobe_stmt_num").statement(0x4006c0)" " ^" "" "semantic error: no match" "" "Pass 2: analysis failed. [man error::pass2]" "Number of similar error messages suppressed: 5." "Rerun with -v to see them." testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.exp completed in 31 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_uaddr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_stmt_num.c -g -O0 -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_uaddr cmd: stap -c /root/systemtap_write/systemtap/testsuite/uprobe_uaddr /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr.stp cmd output: main+0x14/0x2c [/root/systemtap_write/systemtap/testsuite/uprobe_uaddr] func+0xc/0x50 [/root/systemtap_write/systemtap/testsuite/uprobe_uaddr] func2+0xc/0x20 [/root/systemtap_write/systemtap/testsuite/uprobe_uaddr] func+0x30/0x50 [/root/systemtap_write/systemtap/testsuite/uprobe_uaddr] main+0x1c/0x2c [/root/systemtap_write/systemtap/testsuite/uprobe_uaddr] 0x3ff98350c94 [/usr/lib64/libc-2.17.so+0x20c94/0x180000] PASS: uprobe_uaddr PASS: uprobe_uaddr match line 0 main+* PASS: uprobe_uaddr match line 1 func+* PASS: uprobe_uaddr match line 2 func2+* PASS: uprobe_uaddr match line 3 func+* PASS: uprobe_uaddr match line 4 main+* PASS: uprobe_uaddr return from main testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr_mark.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr_mark.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_uaddr_mark (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr_mark.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -lm -o /root/systemtap_write/systemtap/testsuite/uprobe_uaddr_mark executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr_mark.stp -c /root/systemtap_write/systemtap/testsuite/uprobe_uaddr_mark PASS: uprobe_uaddr_mark testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/uprobe_uaddr_mark.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64 -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64 -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64 script: probe syscall.rt_sigaction { if (pid() == target() && execname() == "usymbols-m64") { // Note user address. handler = user_long(&@cast(act_uaddr, "struct sigaction")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } probe syscall.rt_sigaction32 ? { if (pid() == target() && execname() == "usymbols-m64") { // Note user address. handler = user_long(@defined(@cast(0, "compat_sigaction")->sa_handler) ? &@cast(act_uaddr, "compat_sigaction")->sa_handler : &@cast(act_uaddr, "sigaction32")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } cmd: stap -w -d /root/systemtap_write/systemtap/testsuite/usymbols-m64 --ldd -c /root/systemtap_write/systemtap/testsuite/usymbols-m64 -e $script cmd output: handler: main_handler (/root/systemtap_write/systemtap/testsuite/usymbols-m64) handler: lib_handler (/root/systemtap_write/systemtap/testsuite/libusymbols-m64.so) PASS: usymbols m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64 -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64 -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64 script: probe syscall.rt_sigaction { if (pid() == target() && execname() == "usymbols-m64") { // Note user address. handler = user_long(&@cast(act_uaddr, "struct sigaction")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } probe syscall.rt_sigaction32 ? { if (pid() == target() && execname() == "usymbols-m64") { // Note user address. handler = user_long(@defined(@cast(0, "compat_sigaction")->sa_handler) ? &@cast(act_uaddr, "compat_sigaction")->sa_handler : &@cast(act_uaddr, "sigaction32")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } cmd: stap -w -d /root/systemtap_write/systemtap/testsuite/usymbols-m64 --ldd -c /root/systemtap_write/systemtap/testsuite/usymbols-m64 -e $script cmd output: handler: main_handler (/root/systemtap_write/systemtap/testsuite/usymbols-m64) handler: lib_handler (/root/systemtap_write/systemtap/testsuite/libusymbols-m64.so) PASS: usymbols m64 Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -O -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64-O.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols_lib.c -fPIC -shared -O -lm -o /root/systemtap_write/systemtap/testsuite/libusymbols-m64-O.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64-O -O -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64-O (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.c -g -O -L/root/systemtap_write/systemtap/testsuite -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -lusymbols-m64-O -O -lm -o /root/systemtap_write/systemtap/testsuite/usymbols-m64-O script: probe syscall.rt_sigaction { if (pid() == target() && execname() == "usymbols-m64-O") { // Note user address. handler = user_long(&@cast(act_uaddr, "struct sigaction")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } probe syscall.rt_sigaction32 ? { if (pid() == target() && execname() == "usymbols-m64-O") { // Note user address. handler = user_long(@defined(@cast(0, "compat_sigaction")->sa_handler) ? &@cast(act_uaddr, "compat_sigaction")->sa_handler : &@cast(act_uaddr, "sigaction32")->sa_handler); try { printf("handler: %s (%s)\n", usymname(handler), umodname(handler)); } catch { printf("handler: %s (%s)\n", usymname(handler), ""); } } } cmd: stap -w -d /root/systemtap_write/systemtap/testsuite/usymbols-m64-O --ldd -c /root/systemtap_write/systemtap/testsuite/usymbols-m64-O -e $script cmd output: handler: main_handler (/root/systemtap_write/systemtap/testsuite/usymbols-m64-O) handler: lib_handler (...oot/systemtap_write/systemtap/testsuite/libusymbols-m64-O.so) PASS: usymbols m64-O testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/usymbols.exp completed in 49 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.exp ... Executing on host: g++ /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.cxx -g -lm -o ./usymfileline (timeout = 300) spawn -ignore SIGHUP g++ /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.cxx -g -lm -o ./usymfileline PASS: usymfileline - compiled successfully executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} } 0 -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} 0 -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54272virt/45184res/5888shr/37824data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 2 probes, 3 functions, 1 embed, 0 globals using 55040virt/47872res/7232shr/38592data kb, in 0usr/10sys/11real ms. Pass 3: translated to C into "/tmp/stapmm7ADU/stap_fc2d7dad27212b340dd629c60faa5e42_2382_src.c" using 55040virt/48256res/7488shr/38592data kb, in 0usr/1460sys/1489real ms. Pass 4: compiled C into "stap_fc2d7dad27212b340dd629c60faa5e42_2382.ko" in 0usr/5140sys/5209real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x0 PASS: usymfileline () startup PASS: usymfileline () load generation Executing: kill -INT -20566 PASS: usymfileline () shutdown and output Pass 5: run completed in 0usr/100sys/547real ms. metric: usymfileline () 0 400 399 0 10 11 0 1460 1489 0 5140 5209 0 100 547 Executing: kill -INT -20566 executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/404real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55552virt/48832res/7552shr/39104data kb, in 0usr/1470sys/1507real ms. Pass 3: translated to C into "/tmp/stapmIuoCM/stap_4b6eb59ea2dc6639067a2ef49cdf26e9_3436_src.c" using 55680virt/49088res/7680shr/39232data kb, in 0usr/1450sys/1486real ms. Pass 4: compiled C into "stap_4b6eb59ea2dc6639067a2ef49cdf26e9_3436.ko" in 0usr/5150sys/5226real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.cxx:5 PASS: usymfileline () startup PASS: usymfileline () load generation Executing: kill -INT -20822 PASS: usymfileline () shutdown and output Pass 5: run completed in 0usr/90sys/561real ms. metric: usymfileline () 0 400 404 0 1470 1507 0 1450 1486 0 5150 5226 0 90 561 Executing: kill -INT -20822 executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} } 0 -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} 0 -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45184res/5888shr/37760data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 2 probes, 3 functions, 1 embed, 0 globals using 54976virt/47872res/7232shr/38528data kb, in 0usr/10sys/11real ms. Pass 3: translated to C into "/tmp/stapuRcbKj/stap_1432b90fc23ab63b0c9779f8abebece9_2354_src.c" using 54976virt/48256res/7488shr/38528data kb, in 0usr/1460sys/1494real ms. Pass 4: compiled C into "stap_1432b90fc23ab63b0c9779f8abebece9_2354.ko" in 0usr/5140sys/5198real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x0 PASS: usymline () startup PASS: usymline () load generation Executing: kill -INT -21081 PASS: usymline () shutdown and output Pass 5: run completed in 0usr/90sys/541real ms. metric: usymline () 0 400 400 0 10 11 0 1460 1494 0 5140 5198 0 90 541 Executing: kill -INT -21081 executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55552virt/48832res/7552shr/39104data kb, in 0usr/1470sys/1510real ms. Pass 3: translated to C into "/tmp/stapt6DQ5c/stap_91a8987e252d9337901640c9c7afc129_3408_src.c" using 55680virt/49088res/7680shr/39232data kb, in 0usr/1450sys/1484real ms. Pass 4: compiled C into "stap_91a8987e252d9337901640c9c7afc129_3408.ko" in 0usr/5150sys/5221real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 5 PASS: usymline () startup PASS: usymline () load generation Executing: kill -INT -21340 PASS: usymline () shutdown and output Pass 5: run completed in 0usr/100sys/538real ms. metric: usymline () 0 400 401 0 1470 1510 0 1450 1484 0 5150 5221 0 100 538 Executing: kill -INT -21340 executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} } 0 -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} 0 -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/401real ms. Pass 2: analyzed script: 2 probes, 3 functions, 1 embed, 0 globals using 54976virt/47808res/7232shr/38528data kb, in 0usr/10sys/11real ms. Pass 3: translated to C into "/tmp/stapFWAINw/stap_f4cc4e7b7691b81b644a094f3bd8f8dd_2352_src.c" using 54976virt/48192res/7488shr/38528data kb, in 0usr/1460sys/1486real ms. Pass 4: compiled C into "stap_f4cc4e7b7691b81b644a094f3bd8f8dd_2352.ko" in 0usr/5120sys/5193real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x0 PASS: usymfile () startup PASS: usymfile () load generation Executing: kill -INT -21598 PASS: usymfile () shutdown and output Pass 5: run completed in 0usr/90sys/538real ms. metric: usymfile () 0 400 401 0 10 11 0 1460 1486 0 5120 5193 0 90 538 Executing: kill -INT -21598 executing: stap -v -e { probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").function("test_method") { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55552virt/48832res/7552shr/39104data kb, in 0usr/1480sys/1512real ms. Pass 3: translated to C into "/tmp/stapB0bnXl/stap_fc56e08f10502ba314783b100c1887d1_3406_src.c" using 55680virt/49088res/7680shr/39232data kb, in 0usr/1450sys/1486real ms. Pass 4: compiled C into "stap_fc56e08f10502ba314783b100c1887d1_3406.ko" in 0usr/5140sys/5208real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.cxx PASS: usymfile () startup PASS: usymfile () load generation Executing: kill -INT -21854 PASS: usymfile () shutdown and output Pass 5: run completed in 0usr/90sys/576real ms. metric: usymfile () 0 390 398 0 1480 1512 0 1450 1486 0 5140 5208 0 90 576 Executing: kill -INT -21854 executing: stap -v -e { global failed=0 probe begin {print("systemtap starting probe\nsystemtap ending probe\n")} probe process("usymfileline").statement("*@*:*"){ ppstring = pp() symstring = "@".usymfileline(uaddr()) if (isinstr(ppstring, symstring) != 1) { failed++; printf ("failed. pp(): %s usymfileline(): %s\n", ppstring, symstring) } } probe end { if (failed == 0) println("passed") } } -c ./usymfileline spawn stap -v -e global failed=0 probe begin {print("systemtap starting probe\nsystemtap ending probe\n")} probe process("usymfileline").statement("*@*:*"){ ppstring = pp() symstring = "@".usymfileline(uaddr()) if (isinstr(ppstring, symstring) != 1) { failed++; printf ("failed. pp(): %s usymfileline(): %s\n", ppstring, symstring) } } probe end { if (failed == 0) println("passed") } -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 60 probes, 5 functions, 4 embeds, 1 global using 55936virt/49216res/7552shr/39488data kb, in 0usr/1500sys/1527real ms. Pass 3: translated to C into "/tmp/stapceY7YQ/stap_c501806538f39a442e2d693e83fa73d6_60855_src.c" using 56000virt/49472res/7680shr/39552data kb, in 0usr/1460sys/1495real ms. Pass 4: compiled C into "stap_c501806538f39a442e2d693e83fa73d6_60855.ko" in 0usr/5300sys/5362real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe passed PASS: pp == usymfileline startup PASS: pp == usymfileline load generation Executing: kill -INT -22112 PASS: pp == usymfileline shutdown and output Pass 5: run completed in 0usr/90sys/621real ms. metric: pp == usymfileline 0 400 402 0 1500 1527 0 1460 1495 0 5300 5362 0 90 621 Executing: kill -INT -22112 executing: stap -v -e { probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfileline($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/399real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1470sys/1501real ms. Pass 3: translated to C into "/tmp/stapOP88Xt/stap_66153b3286ff98b8f9d67f7ba6b52641_3135_src.c" using 55552virt/48832res/7616shr/39104data kb, in 0usr/1460sys/1491real ms. Pass 4: compiled C into "stap_66153b3286ff98b8f9d67f7ba6b52641_3135.ko" in 0usr/5000sys/5077real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x3ff7fd40fc0 PASS: usymfileline (no debug_line) startup PASS: usymfileline (no debug_line) load generation Executing: kill -INT -22370 PASS: usymfileline (no debug_line) shutdown and output Pass 5: run completed in 0usr/90sys/567real ms. metric: usymfileline (no debug_line) 0 400 399 0 1470 1501 0 1460 1491 0 5000 5077 0 90 567 Executing: kill -INT -22370 executing: stap -v -e { probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymline($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/390sys/401real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1480sys/1501real ms. Pass 3: translated to C into "/tmp/stap3gXqXP/stap_06a208f90094d580c562e4e3460b4395_3107_src.c" using 55552virt/48832res/7616shr/39104data kb, in 0usr/1460sys/1490real ms. Pass 4: compiled C into "stap_06a208f90094d580c562e4e3460b4395_3107.ko" in 0usr/5010sys/5080real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x3ff7cd50fc0 PASS: usymline (no debug_line) startup PASS: usymline (no debug_line) load generation Executing: kill -INT -22626 PASS: usymline (no debug_line) shutdown and output Pass 5: run completed in 0usr/90sys/519real ms. metric: usymline (no debug_line) 0 390 401 0 1480 1501 0 1460 1490 0 5010 5080 0 90 519 Executing: kill -INT -22626 executing: stap -v -e { probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} } uaddr() -c ./usymfileline spawn stap -v -e probe process("usymfileline").begin { print("systemtap starting probe\nsystemtap ending probe\n") printf("%s\n", usymfile($1)) exit()} uaddr() -c ./usymfileline Pass 1: parsed user script and 115 library scripts using 54208virt/45120res/5888shr/37760data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 2 probes, 4 functions, 4 embeds, 0 globals using 55488virt/48576res/7488shr/39040data kb, in 0usr/1470sys/1505real ms. Pass 3: translated to C into "/tmp/stapyaLV34/stap_6238fd546cb8410c5682c67cbff37260_3105_src.c" using 55552virt/48832res/7616shr/39104data kb, in 0usr/1450sys/1492real ms. Pass 4: compiled C into "stap_6238fd546cb8410c5682c67cbff37260_3105.ko" in 0usr/5020sys/5079real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe 0x3ff8c260fc0 PASS: usymfile (no debug_line) startup PASS: usymfile (no debug_line) load generation Executing: kill -INT -22882 PASS: usymfile (no debug_line) shutdown and output Pass 5: run completed in 0usr/90sys/519real ms. metric: usymfile (no debug_line) 0 400 403 0 1470 1505 0 1450 1492 0 5020 5079 0 90 519 Executing: kill -INT -22882 testcase /root/systemtap_write/systemtap/testsuite/systemtap.context/usymfileline.exp completed in 91 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.examples/check.exp ... SAVED PWD=/root/systemtap_write/systemtap/testsuite PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 alias_suffixes.stp' tag 'test_check' value 'stap -p4 alias_suffixes.stp' attempting command stap -p4 alias_suffixes.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/stap_ec1bfea788ead8174e9a9dd4b2bbd6da_66108.ko RC 0 PASS: systemtap.examples/general/alias_suffixes build meta taglines 'test_installcheck: stap alias_suffixes.stp -T 1' tag 'test_installcheck' value 'stap alias_suffixes.stp -T 1' attempting command stap alias_suffixes.stp -T 1 OUT Collecting data... press Ctrl-C to stop. intervals for read -- min:4us avg:7us max:13us count:13 value |-------------------------------------------------- count 1 | 0 2 | 0 4 |@@@@@@@@ 8 8 |@@@@@ 5 16 | 0 32 | 0 intervals for close -- min:4us avg:4us max:4us count:1 value |-------------------------------------------------- count 1 | 0 2 | 0 4 |@ 1 8 | 0 16 | 0 intervals for write -- min:17us avg:17us max:17us count:1 value |-------------------------------------------------- count 4 | 0 8 | 0 16 |@ 1 32 | 0 64 | 0 RC 0 PASS: systemtap.examples/general/alias_suffixes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 ansi_colors.stp' tag 'test_check' value 'stap -p4 ansi_colors.stp' attempting command stap -p4 ansi_colors.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3b/stap_3b005caae785608995c0cae089f27abe_2342.ko RC 0 PASS: systemtap.examples/general/ansi_colors build meta taglines 'test_installcheck: stap ansi_colors.stp' tag 'test_installcheck' value 'stap ansi_colors.stp' attempting command stap ansi_colors.stp OUT fg,t \ bg | 40 41 42 43 44 45 46 47 --------------------------------------------------------------------------- 30,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  30,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  31,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  31,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  32,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  32,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  33,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  33,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  34,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  34,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  35,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  35,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  36,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  36,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  37,0 | Normal  Normal  Normal  Normal  Normal  Normal  Normal  Normal  37,1 | Bold  Bold  Bold  Bold  Bold  Bold  Bold  Bold  RC 0 PASS: systemtap.examples/general/ansi_colors run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 ansi_colors2.stp' tag 'test_check' value 'stap -p4 ansi_colors2.stp' attempting command stap -p4 ansi_colors2.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f4/stap_f4ab28c3e7fdd4147e98aea0412668c6_2338.ko RC 0 PASS: systemtap.examples/general/ansi_colors2 build meta taglines 'test_installcheck: stap ansi_colors2.stp' tag 'test_installcheck' value 'stap ansi_colors2.stp' attempting command stap ansi_colors2.stp OUT fg,t \ bg | 40 41 42 43 44 45 46 47 --------------------------------------------------------------------------- 30,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  30,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  30,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  30,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  31,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  31,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  31,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  31,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  32,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  32,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  32,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  32,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  33,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  33,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  33,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  33,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  34,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  34,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  34,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  34,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  35,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  35,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  35,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  35,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  36,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  36,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  36,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  36,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  37,0 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  37,1 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  37,4 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  37,7 | Colors  Colors  Colors  Colors  Colors  Colors  Colors  Colors  RC 0 PASS: systemtap.examples/general/ansi_colors2 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -g -p4 badname.stp' tag 'test_check' value 'stap -g -p4 badname.stp' attempting command stap -g -p4 badname.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bd23ada0f30f5965abc14b9e218dbd2a_14041.ko RC 0 PASS: systemtap.examples/general/badname build meta taglines 'test_installcheck: stap -g badname.stp -c "touch /tmp/myXXXbadnameXXXfile.$$ 2>&1 | grep denied"' tag 'test_installcheck' value 'stap -g badname.stp -c "touch /tmp/myXXXbadnameXXXfile.$$ 2>&1 | grep denied"' attempting command stap -g badname.stp -c "touch /tmp/myXXXbadnameXXXfile.$$ 2>&1 | grep denied" OUT WARNING: Child process exited with status 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] child process exited abnormally RC 1 FAIL: systemtap.examples/general/badname run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 callgraph.stp 'kernel.function("*@fs/proc*.c")'' tag 'test_check' value 'stap -p4 callgraph.stp 'kernel.function("*@fs/proc*.c")'' attempting command stap -p4 callgraph.stp 'kernel.function("*@fs/proc*.c")' OUT WARNING: function smaps_pte_range is blacklisted: keyword at callgraph.stp:11:1 source: probe $1.call { trace(1) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function show_softirqs is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function softirqs_open is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ab/stap_ab1834964f6ae1e474173ab3dbad262f_142741.ko Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/callgraph build meta taglines 'test_installcheck: stap callgraph.stp 'kernel.function("*@fs/proc*.c")' -c "cat /proc/sys/vm/* || true"' tag 'test_installcheck' value 'stap callgraph.stp 'kernel.function("*@fs/proc*.c")' -c "cat /proc/sys/vm/* || true"' attempting command stap callgraph.stp 'kernel.function("*@fs/proc*.c")' -c "cat /proc/sys/vm/* || true" OUT WARNING: function smaps_pte_range is blacklisted: keyword at callgraph.stp:11:1 source: probe $1.call { trace(1) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function show_softirqs is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function softirqs_open is blacklisted: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :11:1 source: probe $1.call { trace(1) } ^ 8192 0 cat: /proc/sys/vm/compact_memory: Permission denied 1 0 10 0 3000 40 500 43200 0 500 0 0 0 0 256 32 65530 16015 4096 14 0 0 0 1 0 0 0 50 3 0 0 1 10 131072 100 10 0 sh(24662):->proc_root_lookup 11 sh(24662): ->proc_pid_lookup 18 sh(24662): <-proc_pid_lookup 22 sh(24662): ->proc_lookup 27 sh(24662): ->proc_lookup_de 33 sh(24662): ->pde_subdir_find 39 sh(24662): <-pde_subdir_find 42 sh(24662): ->proc_get_inode 48 sh(24662): ->proc_alloc_inode 54 sh(24662): <-proc_alloc_inode 61 sh(24662): <-proc_get_inode 94 sh(24662): <-proc_lookup_de 97 sh(24662): <-proc_lookup 101 sh(24662):<-proc_root_lookup 0 sh(24662):->proc_reg_open 7 sh(24662): ->meminfo_proc_open 13 sh(24662): <-meminfo_proc_open 17 sh(24662): ->unuse_pde 22 sh(24662): <-unuse_pde 26 sh(24662):<-proc_reg_open 0 sh(24662):->proc_reg_read 8 sh(24662): ->meminfo_proc_show 29 sh(24662): ->arch_report_meminfo 34 sh(24662): <-arch_report_meminfo 38 sh(24662): <-meminfo_proc_show 53 sh(24662): ->unuse_pde 57 sh(24662): <-unuse_pde 61 sh(24662):<-proc_reg_read 0 sh(24662):->proc_reg_release 5 sh(24662): ->close_pdeo 13 sh(24662): <-close_pdeo 17 sh(24662):<-proc_reg_release 0 sh(24662):->proc_evict_inode 6 sh(24662): ->pde_put 11 sh(24662): <-pde_put 15 sh(24662):<-proc_evict_inode 0 sh(24662):->proc_destroy_inode 7 sh(24662):<-proc_destroy_inode 0 sh(24662):->proc_sys_permission 6 sh(24662): ->sysctl_head_grab 12 sh(24662): <-sysctl_head_grab 16 sh(24662): ->sysctl_head_finish 22 sh(24662): ->unuse_table 26 sh(24662): <-unuse_table 30 sh(24662): <-sysctl_head_finish 34 sh(24662):<-proc_sys_permission 0 sh(24662):->proc_sys_revalidate 5 sh(24662):<-proc_sys_revalidate 0 sh(24662):->proc_sys_revalidate 5 sh(24662):<-proc_sys_revalidate 0 sh(24662):->proc_sys_permission 4 sh(24662): ->sysctl_head_grab 9 sh(24662): <-sysctl_head_grab 13 sh(24662): ->test_perm 18 sh(24662): <-test_perm 21 sh(24662): ->sysctl_head_finish 25 sh(24662): ->unuse_table 30 sh(24662): <-unuse_table 33 sh(24662): <-sysctl_head_finish 36 sh(24662):<-proc_sys_permission 0 sh(24662):->proc_sys_readdir 5 sh(24662): ->sysctl_head_grab 10 sh(24662): <-sysctl_head_grab 15 sh(24662): ->first_usable_entry 19 sh(24662): <-first_usable_entry 23 sh(24662): ->proc_sys_fill_cache 30 sh(24662): ->proc_sys_compare 35 sh(24662): <-proc_sys_compare 40 sh(24662): ->proc_sys_delete 44 sh(24662): <-proc_sys_delete 48 sh(24662): <-proc_sys_fill_cache 52 sh(24662): ->unuse_table 56 sh(24662): <-unuse_table 59 sh(24662): ->first_usable_entry 63 sh(24662): <-first_usable_entry 67 sh(24662): ->proc_sys_fill_cache 72 sh(24662): ->proc_sys_compare 77 sh(24662): <-proc_sys_compare 81 sh(24662): ->proc_sys_delete 85 sh(24662): <-proc_sys_delete 89 sh(24662): <-proc_sys_fill_cache 92 sh(24662): ->unuse_table 97 sh(24662): <-unuse_table 100 sh(24662): ->first_usable_entry 104 sh(24662): <-first_usable_entry 107 sh(24662): ->proc_sys_fill_cache 112 sh(24662): ->proc_sys_compare 117 sh(24662): <-proc_sys_compare 121 sh(24662): ->proc_sys_delete 125 sh(24662): <-proc_sys_delete 129 sh(24662): <-proc_sys_fill_cache 132 sh(24662): ->unuse_table 136 sh(24662): <-unuse_table 139 sh(24662): ->first_usable_entry 144 sh(24662): <-first_usable_entry 147 sh(24662): ->proc_sys_fill_cache 152 sh(24662): ->proc_sys_compare 156 sh(24662): <-proc_sys_compare 160 sh(24662): ->proc_sys_delete 165 sh(24662): <-proc_sys_delete 168 sh(24662): <-proc_sys_fill_cache 172 sh(24662): ->unuse_table 176 sh(24662): <-unuse_table 179 sh(24662): ->first_usable_entry 183 sh(24662): <-first_usable_entry 187 sh(24662): ->proc_sys_fill_cache 192 sh(24662): ->proc_sys_compare 196 sh(24662): <-proc_sys_compare 200 sh(24662): ->proc_sys_delete 205 sh(24662): <-proc_sys_delete 208 sh(24662): <-proc_sys_fill_cache 212 sh(24662): ->unuse_table 216 sh(24662): <-unuse_table 219 sh(24662): ->first_usable_entry 223 sh(24662): <-first_usable_entry 227 sh(24662): ->proc_sys_fill_cache 232 sh(24662): ->proc_sys_compare 237 sh(24662): <-proc_sys_compare 241 sh(24662): ->proc_sys_delete 245 sh(24662): <-proc_sys_delete 249 sh(24662): <-proc_sys_fill_cache 252 sh(24662): ->unuse_table 256 sh(24662): <-unuse_table 259 sh(24662): ->first_usable_entry 264 sh(24662): <-first_usable_entry 267 sh(24662): ->proc_sys_fill_cache 272 sh(24662): ->proc_sys_compare 276 sh(24662): <-proc_sys_compare 280 sh(24662): ->proc_sys_delete 285 sh(24662): <-proc_sys_delete 288 sh(24662): <-proc_sys_fill_cache 291 sh(24662): ->unuse_table 296 sh(24662): <-unuse_table 299 sh(24662): ->first_usable_entry 303 sh(24662): <-first_usable_entry 306 sh(24662): ->proc_sys_fill_cache 311 sh(24662): ->proc_sys_compare 316 sh(24662): <-proc_sys_compare 320 sh(24662): ->proc_sys_delete 324 sh(24662): <-proc_sys_delete 328 sh(24662): <-proc_sys_fill_cache 331 sh(24662): ->unuse_table 335 sh(24662): <-unuse_table 338 sh(24662): ->first_usable_entry 343 sh(24662): <-first_usable_entry 346 sh(24662): ->proc_sys_fill_cache 351 sh(24662): ->proc_sys_compare 355 sh(24662): <-proc_sys_compare 359 sh(24662): ->proc_sys_delete 363 sh(24662): <-proc_sys_delete 367 sh(24662): <-proc_sys_fill_cache 370 sh(24662): ->unuse_table 374 sh(24662): <-unuse_table 378 sh(24662): ->first_usable_entry 382 sh(24662): <-first_usable_entry 385 sh(24662): ->proc_sys_fill_cache 390 sh(24662): ->proc_sys_compare 394 sh(24662): <-proc_sys_compare 399 sh(24662): ->proc_sys_delete 403 sh(24662): <-proc_sys_delete 406 sh(24662): <-proc_sys_fill_cache 410 sh(24662): ->unuse_table 414 sh(24662): <-unuse_table 417 sh(24662): ->first_usable_entry 421 sh(24662): <-first_usable_entry 425 sh(24662): ->proc_sys_fill_cache 430 sh(24662): ->proc_sys_compare 434 sh(24662): <-proc_sys_compare 438 sh(24662): ->proc_sys_delete 442 sh(24662): <-proc_sys_delete 446 sh(24662): <-proc_sys_fill_cache 449 sh(24662): ->unuse_table 454 sh(24662): <-unuse_table 457 sh(24662): ->first_usable_entry 461 sh(24662): <-first_usable_entry 464 sh(24662): ->proc_sys_fill_cache 469 sh(24662): ->proc_sys_compare 474 sh(24662): <-proc_sys_compare 478 sh(24662): ->proc_sys_delete 482 sh(24662): <-proc_sys_delete 486 sh(24662): <-proc_sys_fill_cache 489 sh(24662): ->unuse_table 493 sh(24662): <-unuse_table 497 sh(24662): ->first_usable_entry 501 sh(24662): <-first_usable_entry 504 sh(24662): ->proc_sys_fill_cache 509 sh(24662): ->proc_sys_compare 513 sh(24662): <-proc_sys_compare 517 sh(24662): ->proc_sys_delete 521 sh(24662): <-proc_sys_delete 525 sh(24662): <-proc_sys_fill_cache 528 sh(24662): ->unuse_table 533 sh(24662): <-unuse_table 536 sh(24662): ->first_usable_entry 540 sh(24662): <-first_usable_entry 543 sh(24662): ->proc_sys_fill_cache 548 sh(24662): ->proc_sys_compare 553 sh(24662): <-proc_sys_compare 557 sh(24662): ->proc_sys_delete 561 sh(24662): <-proc_sys_delete 565 sh(24662): <-proc_sys_fill_cache 568 sh(24662): ->unuse_table 572 sh(24662): <-unuse_table 575 sh(24662): ->first_usable_entry 580 sh(24662): <-first_usable_entry 583 sh(24662): ->proc_sys_fill_cache 588 sh(24662): ->proc_sys_compare 592 sh(24662): <-proc_sys_compare 596 sh(24662): ->proc_sys_delete 600 sh(24662): <-proc_sys_delete 604 sh(24662): <-proc_sys_fill_cache 607 sh(24662): ->unuse_table 612 sh(24662): <-unuse_table 615 sh(24662): ->first_usable_entry 619 sh(24662): <-first_usable_entry 622 sh(24662): ->proc_sys_fill_cache 627 sh(24662): ->proc_sys_compare 632 sh(24662): <-proc_sys_compare 636 sh(24662): ->proc_sys_delete 640 sh(24662): <-proc_sys_delete 643 sh(24662): <-proc_sys_fill_cache 647 sh(24662): ->unuse_table 651 sh(24662): <-unuse_table 654 sh(24662): ->first_usable_entry 658 sh(24662): <-first_usable_entry 662 sh(24662): ->proc_sys_fill_cache 666 sh(24662): ->proc_sys_compare 671 sh(24662): <-proc_sys_compare 675 sh(24662): ->proc_sys_delete 679 sh(24662): <-proc_sys_delete 683 sh(24662): <-proc_sys_fill_cache 686 sh(24662): ->unuse_table 690 sh(24662): <-unuse_table 693 sh(24662): ->first_usable_entry 697 sh(24662): <-first_usable_entry 701 sh(24662): ->proc_sys_fill_cache 706 sh(24662): ->proc_sys_compare 710 sh(24662): <-proc_sys_compare 714 sh(24662): ->proc_sys_delete 718 sh(24662): <-proc_sys_delete 722 sh(24662): <-proc_sys_fill_cache 725 sh(24662): ->unuse_table 729 sh(24662): <-unuse_table 732 sh(24662): ->first_usable_entry 737 sh(24662): <-first_usable_entry 740 sh(24662): ->proc_sys_fill_cache 745 sh(24662): ->proc_sys_compare 749 sh(24662): <-proc_sys_compare 753 sh(24662): ->proc_sys_delete 757 sh(24662): <-proc_sys_delete 761 sh(24662): <-proc_sys_fill_cache 764 sh(24662): ->unuse_table 768 sh(24662): <-unuse_table 772 sh(24662): ->first_usable_entry 776 sh(24662): <-first_usable_entry 791 sh(24662): ->proc_sys_fill_cache 797 sh(24662): ->proc_sys_compare 801 sh(24662): <-proc_sys_compare 805 sh(24662): ->proc_sys_delete 810 sh(24662): <-proc_sys_delete 813 sh(24662): <-proc_sys_fill_cache 817 sh(24662): ->unuse_table 821 sh(24662): <-unuse_table 824 sh(24662): ->first_usable_entry 828 sh(24662): <-first_usable_entry 832 sh(24662): ->proc_sys_fill_cache 837 sh(24662): ->proc_sys_compare 841 sh(24662): <-proc_sys_compare 846 sh(24662): ->proc_sys_delete 850 sh(24662): <-proc_sys_delete 853 sh(24662): <-proc_sys_fill_cache 857 sh(24662): ->unuse_table 861 sh(24662): <-unuse_table 864 sh(24662): ->first_usable_entry 868 sh(24662): <-first_usable_entry 872 sh(24662): ->proc_sys_fill_cache 877 sh(24662): ->proc_sys_compare 881 sh(24662): <-proc_sys_compare 885 sh(24662): ->proc_sys_delete 889 sh(24662): <-proc_sys_delete 893 sh(24662): <-proc_sys_fill_cache 896 sh(24662): ->unuse_table 901 sh(24662): <-unuse_table 904 sh(24662): ->first_usable_entry 908 sh(24662): <-first_usable_entry 911 sh(24662): ->proc_sys_fill_cache 916 sh(24662): ->proc_sys_compare 921 sh(24662): <-proc_sys_compare 925 sh(24662): ->proc_sys_delete 929 sh(24662): <-proc_sys_delete 932 sh(24662): <-proc_sys_fill_cache 936 sh(24662): ->unuse_table 940 sh(24662): <-unuse_table 943 sh(24662): ->first_usable_entry 947 sh(24662): <-first_usable_entry 951 sh(24662): ->proc_sys_fill_cache 955 sh(24662): ->proc_sys_compare 960 sh(24662): <-proc_sys_compare 964 sh(24662): ->proc_sys_delete 968 sh(24662): <-proc_sys_delete 972 sh(24662): <-proc_sys_fill_cache 975 sh(24662): ->unuse_table 979 sh(24662): <-unuse_table 982 sh(24662): ->first_usable_entry 987 sh(24662): <-first_usable_entry 990 sh(24662): ->proc_sys_fill_cache 995 sh(24662): ->proc_sys_compare 999 sh(24662): <-proc_sys_compare 1003 sh(24662): ->proc_sys_delete 1008 sh(24662): <-proc_sys_delete 1011 sh(24662): <-proc_sys_fill_cache 1015 sh(24662): ->unuse_table 1019 sh(24662): <-unuse_table 1022 sh(24662): ->first_usable_entry 1027 sh(24662): <-first_usable_entry 1030 sh(24662): ->proc_sys_fill_cache 1035 sh(24662): ->proc_sys_compare 1039 sh(24662): <-proc_sys_compare 1043 sh(24662): ->proc_sys_delete 1048 sh(24662): <-proc_sys_delete 1051 sh(24662): <-proc_sys_fill_cache 1055 sh(24662): ->unuse_table 1059 sh(24662): <-unuse_table 1062 sh(24662): ->first_usable_entry 1066 sh(24662): <-first_usable_entry 1070 sh(24662): ->proc_sys_fill_cache 1075 sh(24662): ->proc_sys_compare 1079 sh(24662): <-proc_sys_compare 1083 sh(24662): ->proc_sys_delete 1087 sh(24662): <-proc_sys_delete 1091 sh(24662): <-proc_sys_fill_cache 1095 sh(24662): ->unuse_table 1099 sh(24662): <-unuse_table 1102 sh(24662): ->first_usable_entry 1106 sh(24662): <-first_usable_entry 1110 sh(24662): ->proc_sys_fill_cache 1115 sh(24662): ->proc_sys_compare 1119 sh(24662): <-proc_sys_compare 1123 sh(24662): ->proc_sys_delete 1127 sh(24662): <-proc_sys_delete 1131 sh(24662): <-proc_sys_fill_cache 1134 sh(24662): ->unuse_table 1139 sh(24662): <-unuse_table 1142 sh(24662): ->first_usable_entry 1146 sh(24662): <-first_usable_entry 1150 sh(24662): ->proc_sys_fill_cache 1155 sh(24662): ->proc_sys_compare 1159 sh(24662): <-proc_sys_compare 1163 sh(24662): ->proc_sys_delete 1167 sh(24662): <-proc_sys_delete 1171 sh(24662): <-proc_sys_fill_cache 1174 sh(24662): ->unuse_table 1178 sh(24662): <-unuse_table 1181 sh(24662): ->first_usable_entry 1186 sh(24662): <-first_usable_entry 1189 sh(24662): ->proc_sys_fill_cache 1194 sh(24662): ->proc_sys_compare 1199 sh(24662): <-proc_sys_compare 1203 sh(24662): ->proc_sys_delete 1207 sh(24662): <-proc_sys_delete 1210 sh(24662): <-proc_sys_fill_cache 1214 sh(24662): ->unuse_table 1218 sh(24662): <-unuse_table 1221 sh(24662): ->first_usable_entry 1225 sh(24662): <-first_usable_entry 1229 sh(24662): ->proc_sys_fill_cache 1234 sh(24662): ->proc_sys_compare 1238 sh(24662): <-proc_sys_compare 1242 sh(24662): ->proc_sys_delete 1246 sh(24662): <-proc_sys_delete 1250 sh(24662): <-proc_sys_fill_cache 1253 sh(24662): ->unuse_table 1258 sh(24662): <-unuse_table 1261 sh(24662): ->first_usable_entry 1265 sh(24662): <-first_usable_entry 1268 sh(24662): ->proc_sys_fill_cache 1273 sh(24662): ->proc_sys_compare 1278 sh(24662): <-proc_sys_compare 1282 sh(24662): ->proc_sys_delete 1286 sh(24662): <-proc_sys_delete 1289 sh(24662): <-proc_sys_fill_cache 1293 sh(24662): ->unuse_table 1297 sh(24662): <-unuse_table 1300 sh(24662): ->first_usable_entry 1304 sh(24662): <-first_usable_entry 1308 sh(24662): ->proc_sys_fill_cache 1313 sh(24662): ->proc_sys_compare 1317 sh(24662): <-proc_sys_compare 1321 sh(24662): ->proc_sys_delete 1325 sh(24662): <-proc_sys_delete 1329 sh(24662): <-proc_sys_fill_cache 1332 sh(24662): ->unuse_table 1337 sh(24662): <-unuse_table 1340 sh(24662): ->first_usable_entry 1344 sh(24662): <-first_usable_entry 1347 sh(24662): ->proc_sys_fill_cache 1352 sh(24662): ->proc_sys_compare 1357 sh(24662): <-proc_sys_compare 1361 sh(24662): ->proc_sys_delete 1365 sh(24662): <-proc_sys_delete 1369 sh(24662): <-proc_sys_fill_cache 1372 sh(24662): ->unuse_table 1376 sh(24662): <-unuse_table 1379 sh(24662): ->first_usable_entry 1384 sh(24662): <-first_usable_entry 1387 sh(24662): ->proc_sys_fill_cache 1392 sh(24662): ->proc_sys_compare 1396 sh(24662): <-proc_sys_compare 1400 sh(24662): ->proc_sys_delete 1404 sh(24662): <-proc_sys_delete 1408 sh(24662): <-proc_sys_fill_cache 1411 sh(24662): ->unuse_table 1416 sh(24662): <-unuse_table 1419 sh(24662): ->first_usable_entry 1423 sh(24662): <-first_usable_entry 1427 sh(24662): ->proc_sys_fill_cache 1431 sh(24662): ->proc_sys_compare 1436 sh(24662): <-proc_sys_compare 1440 sh(24662): ->proc_sys_delete 1444 sh(24662): <-proc_sys_delete 1448 sh(24662): <-proc_sys_fill_cache 1451 sh(24662): ->unuse_table 1455 sh(24662): <-unuse_table 1458 sh(24662): ->first_usable_entry 1463 sh(24662): <-first_usable_entry 1466 sh(24662): ->proc_sys_fill_cache 1471 sh(24662): ->proc_sys_compare 1475 sh(24662): <-proc_sys_compare 1479 sh(24662): ->proc_sys_delete 1483 sh(24662): <-proc_sys_delete 1487 sh(24662): <-proc_sys_fill_cache 1490 sh(24662): ->unuse_table 1495 sh(24662): <-unuse_table 1498 sh(24662): ->first_usable_entry 1502 sh(24662): <-first_usable_entry 1505 sh(24662): ->proc_sys_fill_cache 1511 sh(24662): ->proc_sys_compare 1515 sh(24662): <-proc_sys_compare 1519 sh(24662): ->proc_sys_delete 1523 sh(24662): <-proc_sys_delete 1527 sh(24662): <-proc_sys_fill_cache 1530 sh(24662): ->unuse_table 1535 sh(24662): <-unuse_table 1538 sh(24662): ->first_usable_entry 1542 sh(24662): <-first_usable_entry 1545 sh(24662): ->proc_sys_fill_cache 1550 sh(24662): ->proc_sys_compare 1555 sh(24662): <-proc_sys_compare 1559 sh(24662): ->proc_sys_delete 1563 sh(24662): <-proc_sys_delete 1566 sh(24662): <-proc_sys_fill_cache 1570 sh(24662): ->unuse_table 1574 sh(24662): <-unuse_table 1577 sh(24662): ->first_usable_entry 1582 sh(24662): <-first_usable_entry 1585 sh(24662): ->sysctl_head_finish 1589 sh(24662): ->unuse_table 1593 sh(24662): <-unuse_table 1597 sh(24662): <-sysctl_head_finish 1601 sh(24662):<-proc_sys_readdir 0 sh(24662):->proc_sys_readdir 5 sh(24662): ->sysctl_head_grab 9 sh(24662): <-sysctl_head_grab 13 sh(24662): ->first_usable_entry 17 sh(24662): <-first_usable_entry 21 sh(24662): ->unuse_table 25 sh(24662): <-unuse_table 28 sh(24662): ->first_usable_entry 33 sh(24662): <-first_usable_entry 36 sh(24662): ->unuse_table 40 sh(24662): <-unuse_table 44 sh(24662): ->first_usable_entry 48 sh(24662): <-first_usable_entry 51 sh(24662): ->unuse_table 55 sh(24662): <-unuse_table 59 sh(24662): ->first_usable_entry 63 sh(24662): <-first_usable_entry 66 sh(24662): ->unuse_table 70 sh(24662): <-unuse_table 74 sh(24662): ->first_usable_entry 78 sh(24662): <-first_usable_entry 81 sh(24662): ->unuse_table 85 sh(24662): <-unuse_table 89 sh(24662): ->first_usable_entry 93 sh(24662): <-first_usable_entry 96 sh(24662): ->unuse_table 100 sh(24662): <-unuse_table 104 sh(24662): ->first_usable_entry 108 sh(24662): <-first_usable_entry 111 sh(24662): ->unuse_table 115 sh(24662): <-unuse_table 119 sh(24662): ->first_usable_entry 123 sh(24662): <-first_usable_entry 126 sh(24662): ->unuse_table 130 sh(24662): <-unuse_table 134 sh(24662): ->first_usable_entry 138 sh(24662): <-first_usable_entry 141 sh(24662): ->unuse_table 146 sh(24662): <-unuse_table 157 sh(24662): ->first_usable_entry 162 sh(24662): <-first_usable_entry 165 sh(24662): ->unuse_table 169 sh(24662): <-unuse_table 173 sh(24662): ->first_usable_entry 177 sh(24662): <-first_usable_entry 180 sh(24662): ->unuse_table 184 sh(24662): <-unuse_table 188 sh(24662): ->first_usable_entry 192 sh(24662): <-first_usable_entry 195 sh(24662): ->unuse_table 199 sh(24662): <-unuse_table 203 sh(24662): ->first_usable_entry 207 sh(24662): <-first_usable_entry 210 sh(24662): ->unuse_table 214 sh(24662): <-unuse_table 218 sh(24662): ->first_usable_entry 222 sh(24662): <-first_usable_entry 225 sh(24662): ->unuse_table 229 sh(24662): <-unuse_table 233 sh(24662): ->first_usable_entry 237 sh(24662): <-first_usable_entry 240 sh(24662): ->unuse_table 245 sh(24662): <-unuse_table 248 sh(24662): ->first_usable_entry 252 sh(24662): <-first_usable_entry 255 sh(24662): ->unuse_table 260 sh(24662): <-unuse_table 263 sh(24662): ->first_usable_entry 267 sh(24662): <-first_usable_entry 270 sh(24662): ->unuse_table 275 sh(24662): <-unuse_table 278 sh(24662): ->first_usable_entry 282 sh(24662): <-first_usable_entry 285 sh(24662): ->unuse_table 290 sh(24662): <-unuse_table 293 sh(24662): ->first_usable_entry 297 sh(24662): <-first_usable_entry 300 sh(24662): ->unuse_table 305 sh(24662): <-unuse_table 308 sh(24662): ->first_usable_entry 312 sh(24662): <-first_usable_entry 315 sh(24662): ->unuse_table 319 sh(24662): <-unuse_table 323 sh(24662): ->first_usable_entry 327 sh(24662): <-first_usable_entry 330 sh(24662): ->unuse_table 334 sh(24662): <-unuse_table 338 sh(24662): ->first_usable_entry 342 sh(24662): <-first_usable_entry 345 sh(24662): ->unuse_table 349 sh(24662): <-unuse_table 353 sh(24662): ->first_usable_entry 357 sh(24662): <-first_usable_entry 360 sh(24662): ->unuse_table 364 sh(24662): <-unuse_table 368 sh(24662): ->first_usable_entry 372 sh(24662): <-first_usable_entry 375 sh(24662): ->unuse_table 379 sh(24662): <-unuse_table 382 sh(24662): ->first_usable_entry 387 sh(24662): <-first_usable_entry 390 sh(24662): ->unuse_table 394 sh(24662): <-unuse_table 397 sh(24662): ->first_usable_entry 402 sh(24662): <-first_usable_entry 405 sh(24662): ->unuse_table 409 sh(24662): <-unuse_table 412 sh(24662): ->first_usable_entry 416 sh(24662): <-first_usable_entry 420 sh(24662): ->unuse_table 424 sh(24662): <-unuse_table 427 sh(24662): ->first_usable_entry 431 sh(24662): <-first_usable_entry 435 sh(24662): ->unuse_table 439 sh(24662): <-unuse_table 442 sh(24662): ->first_usable_entry 446 sh(24662): <-first_usable_entry 450 sh(24662): ->unuse_table 454 sh(24662): <-unuse_table 457 sh(24662): ->first_usable_entry 461 sh(24662): <-first_usable_entry 465 sh(24662): ->unuse_table 469 sh(24662): <-unuse_table 472 sh(24662): ->first_usable_entry 476 sh(24662): <-first_usable_entry 480 sh(24662): ->unuse_table 484 sh(24662): <-unuse_table 487 sh(24662): ->first_usable_entry 491 sh(24662): <-first_usable_entry 494 sh(24662): ->unuse_table 499 sh(24662): <-unuse_table 502 sh(24662): ->first_usable_entry 506 sh(24662): <-first_usable_entry 509 sh(24662): ->unuse_table 514 sh(24662): <-unuse_table 517 sh(24662): ->first_usable_entry 521 sh(24662): <-first_usable_entry 524 sh(24662): ->unuse_table 528 sh(24662): <-unuse_table 532 sh(24662): ->first_usable_entry 536 sh(24662): <-first_usable_entry 539 sh(24662): ->unuse_table 543 sh(24662): <-unuse_table 546 sh(24662): ->first_usable_entry 551 sh(24662): <-first_usable_entry 554 sh(24662): ->unuse_table 558 sh(24662): <-unuse_table 561 sh(24662): ->first_usable_entry 566 sh(24662): <-first_usable_entry 569 sh(24662): ->unuse_table 573 sh(24662): <-unuse_table 576 sh(24662): ->first_usable_entry 581 sh(24662): <-first_usable_entry 584 sh(24662): ->unuse_table 588 sh(24662): <-unuse_table 591 sh(24662): ->first_usable_entry 596 sh(24662): <-first_usable_entry 599 sh(24662): ->unuse_table 603 sh(24662): <-unuse_table 606 sh(24662): ->first_usable_entry 611 sh(24662): <-first_usable_entry 614 sh(24662): ->sysctl_head_finish 618 sh(24662): ->unuse_table 622 sh(24662): <-unuse_table 626 sh(24662): <-sysctl_head_finish 629 sh(24662):<-proc_sys_readdir 0 cat(24665):->proc_sys_permission 9 cat(24665): ->sysctl_head_grab 16 cat(24665): <-sysctl_head_grab 20 cat(24665): ->sysctl_head_finish 25 cat(24665): ->unuse_table 30 cat(24665): <-unuse_table 34 cat(24665): <-sysctl_head_finish 38 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->test_perm 17 cat(24665): <-test_perm 21 cat(24665): ->sysctl_head_finish 25 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 33 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 6 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 5 cat(24665): ->sysctl_head_grab 10 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 10 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 18 cat(24665): ->unuse_table 22 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 29 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 6 cat(24665): ->proc_sys_call_handler 10 cat(24665): ->sysctl_head_grab 15 cat(24665): <-sysctl_head_grab 18 cat(24665): ->test_perm 23 cat(24665): <-test_perm 39 cat(24665): ->sysctl_head_finish 43 cat(24665): ->unuse_table 47 cat(24665): <-unuse_table 51 cat(24665): <-sysctl_head_finish 55 cat(24665): <-proc_sys_call_handler 58 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 26 cat(24665): ->sysctl_head_finish 31 cat(24665): ->unuse_table 35 cat(24665): <-unuse_table 39 cat(24665): <-sysctl_head_finish 42 cat(24665): <-proc_sys_call_handler 46 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 10 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 18 cat(24665): ->test_perm 22 cat(24665): <-test_perm 26 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 45 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 45 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 6 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 14 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 22 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 29 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 26 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 45 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 23 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 42 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 26 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 35 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 42 cat(24665): <-proc_sys_call_handler 45 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 26 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 11 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 23 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 42 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 33 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 27 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 36 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 30 cat(24665): <-unuse_table 33 cat(24665): <-sysctl_head_finish 37 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 25 cat(24665): ->unuse_table 30 cat(24665): <-unuse_table 34 cat(24665): <-sysctl_head_finish 37 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 38 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 45 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 14 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 21 cat(24665): ->sysctl_head_finish 26 cat(24665): ->unuse_table 30 cat(24665): <-unuse_table 34 cat(24665): <-sysctl_head_finish 37 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 11 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 23 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 17 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 4 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 96 cat(24665): ->sysctl_head_finish 103 cat(24665): ->unuse_table 109 cat(24665): <-unuse_table 113 cat(24665): <-sysctl_head_finish 117 cat(24665): <-proc_sys_call_handler 120 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 18 cat(24665): ->unuse_table 22 cat(24665): <-unuse_table 26 cat(24665): <-sysctl_head_finish 29 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 17 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 29 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 20 cat(24665): ->sysctl_head_finish 24 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 32 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 36 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 43 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 5 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 28 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 35 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 29 cat(24665): ->unuse_table 33 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 40 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 34 cat(24665): ->sysctl_head_finish 39 cat(24665): ->unuse_table 43 cat(24665): <-unuse_table 47 cat(24665): <-sysctl_head_finish 0 swapper/1(0):->proc_i_callback 61 cat(24665): <-proc_sys_call_handler 65 cat(24665):<-proc_sys_read 20 swapper/1(0):<-proc_i_callback 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 cat(24665):->proc_sys_permission 5 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 13 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 25 cat(24665): <-sysctl_head_finish 28 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_revalidate 5 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 12 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 27 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_compare 5 cat(24665):<-proc_sys_compare 0 cat(24665):->proc_sys_revalidate 4 cat(24665):<-proc_sys_revalidate 0 cat(24665):->proc_sys_permission 4 cat(24665): ->sysctl_head_grab 8 cat(24665): <-sysctl_head_grab 11 cat(24665): ->test_perm 16 cat(24665): <-test_perm 19 cat(24665): ->sysctl_head_finish 23 cat(24665): ->unuse_table 27 cat(24665): <-unuse_table 31 cat(24665): <-sysctl_head_finish 34 cat(24665):<-proc_sys_permission 0 cat(24665):->proc_sys_open 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 16 cat(24665): ->unuse_table 20 cat(24665): <-unuse_table 23 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_open 0 cat(24665):->proc_sys_getattr 4 cat(24665): ->sysctl_head_grab 9 cat(24665): <-sysctl_head_grab 12 cat(24665): ->sysctl_head_finish 17 cat(24665): ->unuse_table 21 cat(24665): <-unuse_table 24 cat(24665): <-sysctl_head_finish 27 cat(24665):<-proc_sys_getattr 0 cat(24665):->proc_sys_read 5 cat(24665): ->proc_sys_call_handler 9 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 21 cat(24665): <-test_perm 25 cat(24665): ->sysctl_head_finish 30 cat(24665): ->unuse_table 34 cat(24665): <-unuse_table 37 cat(24665): <-sysctl_head_finish 41 cat(24665): <-proc_sys_call_handler 44 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_read 4 cat(24665): ->proc_sys_call_handler 8 cat(24665): ->sysctl_head_grab 13 cat(24665): <-sysctl_head_grab 16 cat(24665): ->test_perm 20 cat(24665): <-test_perm 24 cat(24665): ->sysctl_head_finish 28 cat(24665): ->unuse_table 32 cat(24665): <-unuse_table 35 cat(24665): <-sysctl_head_finish 39 cat(24665): <-proc_sys_call_handler 42 cat(24665):<-proc_sys_read 0 cat(24665):->proc_sys_delete 4 cat(24665):<-proc_sys_delete 0 sh(24662):->proc_flush_task 8 sh(24662):<-proc_flush_task 0 stapio(24660):->proc_flush_task 24 stapio(24660): ->proc_evict_inode 31 stapio(24660): <-proc_evict_inode 39 stapio(24660): ->proc_destroy_inode 47 stapio(24660): <-proc_destroy_inode 55 stapio(24660): ->proc_evict_inode 61 stapio(24660): <-proc_evict_inode 67 stapio(24660): ->proc_destroy_inode 73 stapio(24660): <-proc_destroy_inode 81 stapio(24660): ->proc_evict_inode 86 stapio(24660): <-proc_evict_inode 92 stapio(24660): ->proc_destroy_inode 98 stapio(24660): <-proc_destroy_inode 106 stapio(24660): ->proc_evict_inode 111 stapio(24660): <-proc_evict_inode 117 stapio(24660): ->proc_destroy_inode 123 stapio(24660): <-proc_destroy_inode 131 stapio(24660): ->proc_evict_inode 136 stapio(24660): <-proc_evict_inode 142 stapio(24660): ->proc_destroy_inode 148 stapio(24660): <-proc_destroy_inode 156 stapio(24660): ->proc_evict_inode 161 stapio(24660): <-proc_evict_inode 167 stapio(24660): ->proc_destroy_inode 173 stapio(24660): <-proc_destroy_inode 181 stapio(24660): ->proc_evict_inode 186 stapio(24660): <-proc_evict_inode 191 stapio(24660): ->proc_destroy_inode 198 stapio(24660): <-proc_destroy_inode 224 stapio(24660): ->proc_evict_inode 229 stapio(24660): <-proc_evict_inode 235 stapio(24660): ->proc_destroy_inode 241 stapio(24660): <-proc_destroy_inode 248 stapio(24660):<-proc_flush_task 0 swapper/7(0):->proc_i_callback 8 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 5 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 6 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 5 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 6 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 5 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 5 swapper/7(0):<-proc_i_callback 0 swapper/7(0):->proc_i_callback 5 swapper/7(0):<-proc_i_callback Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/callgraph run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 eventcount.stp' tag 'test_check' value 'stap -p4 eventcount.stp' attempting command stap -p4 eventcount.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_db99ba9ef1f749c9782d66d2558b65bf_47268.ko RC 0 PASS: systemtap.examples/general/eventcount build meta taglines 'test_installcheck: stap eventcount.stp syscall.* -c 'sleep 1'' tag 'test_installcheck' value 'stap eventcount.stp syscall.* -c 'sleep 1'' attempting command stap eventcount.stp syscall.* -c 'sleep 1' OUT WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) Starting event counting at Tue Aug 16 15:03:43 2016 EDT, pid 25160 + children Incremental reporting (max 20 lines, sorted by count) every 10 s Period time elapsed: 1069 ms, 159 events, 42 after filtering. TID COUNT (Hz) EVENT --- ---------- ----- stapio(25160) 6 (5.61) syscall.execve sleep(25160) 6 (5.61) syscall.openat sleep(25160) 4 (3.74) syscall.brk sleep(25160) 4 (3.74) syscall.fstatat sleep(25160) 4 (3.74) syscall.close sleep(25160) 3 (2.80) syscall.mmap2 sleep(25160) 3 (2.80) syscall.mprotect sleep(25160) 2 (1.87) syscall.fstat stapio(25160) 1 (0.93) syscall.rt_sigaction stapio(25160) 1 (0.93) syscall.setitimer stapio(25160) 1 (0.93) syscall.rt_sigprocmask stapio(25160) 1 (0.93) syscall.rt_sigreturn stapio(25160) 1 (0.93) syscall.rt_sigsuspend sleep(25160) 1 (0.93) syscall.nanosleep sleep(25160) 1 (0.93) syscall.faccessat sleep(25160) 1 (0.93) syscall.read sleep(25160) 1 (0.93) syscall.munmap sleep(25160) 1 (0.93) syscall.exit_group Finished event counting at Tue Aug 16 15:03:44 2016 EDT. RC 0 PASS: systemtap.examples/general/eventcount run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 func_time_stats.stp 'syscall.nanosleep'' tag 'test_check' value 'stap -p4 func_time_stats.stp 'syscall.nanosleep'' attempting command stap -p4 func_time_stats.stp 'syscall.nanosleep' OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d1/stap_d1f5c86c954b3dda3895408083c16756_60451.ko RC 0 PASS: systemtap.examples/general/func_time_stats build meta taglines 'test_installcheck: stap func_time_stats.stp 'syscall.nanosleep' -T 1' tag 'test_installcheck' value 'stap func_time_stats.stp 'syscall.nanosleep' -T 1' attempting command stap func_time_stats.stp 'syscall.nanosleep' -T 1 OUT ERROR: empty aggregate near operator '@min' at func_time_stats.stp:20:10 WARNING: Number of errors: 1, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] child process exited abnormally RC 1 FAIL: systemtap.examples/general/func_time_stats run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 graphs.stp' tag 'test_check' value 'stap -p4 graphs.stp' attempting command stap -p4 graphs.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/stap_9b7f1b0cd6ae89d6b136a5cb9a5a1b3c_9654.ko RC 0 PASS: systemtap.examples/general/graphs build meta taglines 'test_installcheck: stap graphs.stp -T 1' tag 'test_installcheck' value 'stap graphs.stp -T 1' attempting command stap graphs.stp -T 1 OUT RC 0 PASS: systemtap.examples/general/graphs run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 helloworld.stp' tag 'test_check' value 'stap -p4 helloworld.stp' attempting command stap -p4 helloworld.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/stap_057bad659ff48684a28bff19234da6c2_1518.ko RC 0 PASS: systemtap.examples/general/helloworld build meta taglines 'test_installcheck: stap helloworld.stp' tag 'test_installcheck' value 'stap helloworld.stp' attempting command stap helloworld.stp OUT hello world RC 0 PASS: systemtap.examples/general/helloworld run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 key.stp' tag 'test_check' value 'stap -p4 key.stp' attempting command stap -p4 key.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/stap_7f3a46b795fdd4b5c821f02e91584484_3986.ko RC 0 PASS: systemtap.examples/general/key build meta taglines 'test_installcheck: stap key.stp -c 'sleep 5'' tag 'test_installcheck' value 'stap key.stp -c 'sleep 5'' attempting command stap key.stp -c 'sleep 5' OUT TYPEWRITER ON DONE RC 0 PASS: systemtap.examples/general/key run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -g -p4 keyhack.stp' tag 'test_check' value 'stap -g -p4 keyhack.stp' attempting command stap -g -p4 keyhack.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_70ee9085fbfe247ac2dacd613e1df8a0_2573.ko RC 0 PASS: systemtap.examples/general/keyhack build meta taglines 'test_installcheck: stap -g keyhack.stp -c 'sleep 5'' tag 'test_installcheck' value 'stap -g keyhack.stp -c 'sleep 5'' attempting command stap -g keyhack.stp -c 'sleep 5' OUT DONE RC 0 PASS: systemtap.examples/general/keyhack run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")'' tag 'test_check' value 'stap -p4 para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")'' attempting command stap -p4 para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' OUT WARNING: function smaps_pte_range is blacklisted: keyword at para-callgraph-verbose.stp:23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function show_softirqs is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function softirqs_open is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3b/stap_3bf7dc81401710b08675b0c8f0aa76f0_1802825.ko Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/para-callgraph-verbose build meta taglines 'test_installcheck: stap para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"' tag 'test_installcheck' value 'stap para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"' attempting command stap para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true" OUT WARNING: function smaps_pte_range is blacklisted: keyword at para-callgraph-verbose.stp:23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function show_softirqs is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function softirqs_open is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms$$) } ^ 8192 0 cat: /proc/sys/vm/compact_memory: Permission denied 1 0 10 0 3000 40 500 43200 0 500 0 0 0 0 256 32 65530 16015 4096 14 0 0 0 1 0 0 0 50 3 0 0 1 10 131072 100 10 0 sh(27181):->proc_reg_read file={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03e82545c0}, .f_inode=0xfffffe03ee074810, .f_op=0xfffffc000896d180, .f_lock={={.rlock={.raw_lock={.owner=0, .next=0}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock 30 sh(27181): ->meminfo_proc_show m={.buf="", .size=65536, .from=0, .count=0, .pad_until=0, .index=0, .read_pos=0, .version=0, .lock={.count={.counter=0}, .wait_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0008fd3f18, .class_cache=[0x0, ...], .name="&(&lock->wait_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0008fd3f18, .class_cache=[0x0, ...], .name="&(&lock->wait_lock)->rlock"}}}}, .wait_list={.next=0xfffffe03d59e818 76 sh(27181): ->arch_report_meminfo m={.buf="MemTotal: 16594048 kB\nMemFree: 1260800 kB\nMemAvailable: 3206720 kB\nBuffers: 192 kB\nCached: 3510528 kB\nSwapCached: 0 kB\nActive: 1412544 kB\nInactive: 1582208 kB\nActive(anon): 275264 kB\nInactive(anon): 1260800 kB\nActive(file): 1137280 kB\nInactive(file): 321408 kB\nUnevictable: 12569088 kB\nMlocked: 0 kB\nSwapTotal: 8323008 kB\nSwapFree: 8323008 kB\nDirty: 0 kB\nWriteback 84 sh(27181): <-arch_report_meminfo 89 sh(27181): <-meminfo_proc_show return=0x0 118 sh(27181): ->unuse_pde pde={.low_ino=4026531923, .mode=33060, .nlink=1, .uid={.val=0}, .gid={.val=0}, .size=0, .proc_iops=0xfffffc0008970d00, .proc_fops=0xfffffc0008971ce8, .parent=0xfffffc0008edece0, .subdir={.rb_node=0x0}, .subdir_node={.__rb_parent_color=18446741891279491137, .rb_right=0xfffffe03d1dbe540, .rb_left=0xfffffe03d1db0e40}, .data=0x0, .count={.counter=2}, .in_use={.counter=1}, .pde_unload_completion=0x0, .pde_openers={.next=0xfffffe025cd16008, .prev=0xfffffe025cd16008}, .pde_unload_lock={={.rlock={.raw_lock= 125 sh(27181): <-unuse_pde 130 sh(27181):<-proc_reg_read return=0x400 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea285b20}, .f_inode=0xfffffe03ea2ac4d8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 22 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea285b20}, .f_inode=0xfffffe03ea2ac4d8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 32 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 39 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 45 cat(27184): ->test_perm mode=420 op=4 50 cat(27184): <-test_perm return=0x0 70 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 78 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 84 cat(27184): <-unuse_table 88 cat(27184): <-sysctl_head_finish 93 cat(27184): <-proc_sys_call_handler return=0x5 97 cat(27184):<-proc_sys_read return=0x5 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea285b20}, .f_inode=0xfffffe03ea2ac4d8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 18 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea285b20}, .f_inode=0xfffffe03ea2ac4d8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 28 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 34 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 39 cat(27184): ->test_perm mode=420 op=4 44 cat(27184): <-test_perm return=0x0 52 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 59 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 75 cat(27184): <-unuse_table 79 cat(27184): <-sysctl_head_finish 83 cat(27184): <-proc_sys_call_handler return=0x0 87 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2834e0}, .f_inode=0xfffffe03ea2aa2d0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2834e0}, .f_inode=0xfffffe03ea2aa2d0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 34 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 53 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 60 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 66 cat(27184): <-unuse_table 70 cat(27184): <-sysctl_head_finish 74 cat(27184): <-proc_sys_call_handler return=0x2 78 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2834e0}, .f_inode=0xfffffe03ea2aa2d0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2834e0}, .f_inode=0xfffffe03ea2aa2d0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x0 75 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282e20}, .f_inode=0xfffffe03ea2a4448, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282e20}, .f_inode=0xfffffe03ea2a4448, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 34 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 44 cat(27184): <-test_perm return=0x0 52 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 60 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 65 cat(27184): <-unuse_table 70 cat(27184): <-sysctl_head_finish 74 cat(27184): <-proc_sys_call_handler return=0x2 78 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282e20}, .f_inode=0xfffffe03ea2a4448, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282e20}, .f_inode=0xfffffe03ea2a4448, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x0 74 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286780}, .f_inode=0xfffffe03ea2aae28, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286780}, .f_inode=0xfffffe03ea2aae28, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 59 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 77 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286780}, .f_inode=0xfffffe03ea2aae28, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286780}, .f_inode=0xfffffe03ea2aae28, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 67 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 73 cat(27184): <-unuse_table 76 cat(27184): <-sysctl_head_finish 80 cat(27184): <-proc_sys_call_handler return=0x0 84 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc71a0}, .f_inode=0xfffffe03e3930038, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc71a0}, .f_inode=0xfffffe03e3930038, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x3 76 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc71a0}, .f_inode=0xfffffe03e3930038, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc71a0}, .f_inode=0xfffffe03e3930038, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 76 cat(27184): <-sysctl_head_finish 80 cat(27184): <-proc_sys_call_handler return=0x0 84 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289fc0}, .f_inode=0xfffffe03ea2a6650, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289fc0}, .f_inode=0xfffffe03ea2a6650, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 76 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289fc0}, .f_inode=0xfffffe03ea2a6650, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289fc0}, .f_inode=0xfffffe03ea2a6650, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 66 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 72 cat(27184): <-unuse_table 76 cat(27184): <-sysctl_head_finish 80 cat(27184): <-proc_sys_call_handler return=0x0 84 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28f300}, .f_inode=0xfffffe03ea2bf600, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28f300}, .f_inode=0xfffffe03ea2bf600, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x5 76 cat(27184):<-proc_sys_read return=0x5 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28f300}, .f_inode=0xfffffe03ea2bf600, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28f300}, .f_inode=0xfffffe03ea2bf600, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x0 74 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc3cc0}, .f_inode=0xfffffe03e3939b40, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc3cc0}, .f_inode=0xfffffe03e3939b40, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x3 75 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc3cc0}, .f_inode=0xfffffe03e3939b40, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fc3cc0}, .f_inode=0xfffffe03e3939b40, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280120}, .f_inode=0xfffffe03ea2b80c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280120}, .f_inode=0xfffffe03ea2b80c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x4 76 cat(27184):<-proc_sys_read return=0x4 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280120}, .f_inode=0xfffffe03ea2b80c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280120}, .f_inode=0xfffffe03ea2b80c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2833c0}, .f_inode=0xfffffe03ea2bdb88, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2833c0}, .f_inode=0xfffffe03ea2bdb88, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x6 75 cat(27184):<-proc_sys_read return=0x6 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2833c0}, .f_inode=0xfffffe03ea2bdb88, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2833c0}, .f_inode=0xfffffe03ea2bdb88, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x0 75 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2806c0}, .f_inode=0xfffffe03ea2bc110, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 18 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2806c0}, .f_inode=0xfffffe03ea2bc110, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 34 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 52 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 59 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 65 cat(27184): <-unuse_table 69 cat(27184): <-sysctl_head_finish 73 cat(27184): <-proc_sys_call_handler return=0x2 77 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2806c0}, .f_inode=0xfffffe03ea2bc110, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2806c0}, .f_inode=0xfffffe03ea2bc110, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bf40}, .f_inode=0xfffffe03ea2b3528, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bf40}, .f_inode=0xfffffe03ea2b3528, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x4 76 cat(27184):<-proc_sys_read return=0x4 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bf40}, .f_inode=0xfffffe03ea2b3528, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bf40}, .f_inode=0xfffffe03ea2b3528, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 66 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 76 cat(27184): <-sysctl_head_finish 80 cat(27184): <-proc_sys_call_handler return=0x0 84 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28e100}, .f_inode=0xfffffe03ea2b0b90, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28e100}, .f_inode=0xfffffe03ea2b0b90, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 76 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28e100}, .f_inode=0xfffffe03ea2b0b90, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28e100}, .f_inode=0xfffffe03ea2b0b90, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 47 cat(27184): ->test_perm mode=420 op=4 52 cat(27184): <-test_perm return=0x0 59 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 66 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 79 cat(27184): <-proc_sys_call_handler return=0x0 83 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286d20}, .f_inode=0xfffffe03ea2b2d98, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286d20}, .f_inode=0xfffffe03ea2b2d98, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286d20}, .f_inode=0xfffffe03ea2b2d98, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286d20}, .f_inode=0xfffffe03ea2b2d98, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 31 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea284140}, .f_inode=0xfffffe03ea2b3cb8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea284140}, .f_inode=0xfffffe03ea2b3cb8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 76 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea284140}, .f_inode=0xfffffe03ea2b3cb8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea284140}, .f_inode=0xfffffe03ea2b3cb8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 47 cat(27184): ->test_perm mode=420 op=4 51 cat(27184): <-test_perm return=0x0 59 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 66 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 79 cat(27184): <-proc_sys_call_handler return=0x0 83 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ab00}, .f_inode=0xfffffe03ea2be318, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ab00}, .f_inode=0xfffffe03ea2be318, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 74 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ab00}, .f_inode=0xfffffe03ea2be318, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ab00}, .f_inode=0xfffffe03ea2be318, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28c600}, .f_inode=0xfffffe03ea2b71a8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28c600}, .f_inode=0xfffffe03ea2b71a8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 52 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 59 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 65 cat(27184): <-unuse_table 69 cat(27184): <-sysctl_head_finish 73 cat(27184): <-proc_sys_call_handler return=0x7 77 cat(27184):<-proc_sys_read return=0x7 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28c600}, .f_inode=0xfffffe03ea2b71a8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28c600}, .f_inode=0xfffffe03ea2b71a8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x0 74 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283720}, .f_inode=0xfffffe03ea2b16e8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283720}, .f_inode=0xfffffe03ea2b16e8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x6 75 cat(27184):<-proc_sys_read return=0x6 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283720}, .f_inode=0xfffffe03ea2b16e8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283720}, .f_inode=0xfffffe03ea2b16e8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 31 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 60 cat(27184): <-unuse_table 64 cat(27184): <-sysctl_head_finish 68 cat(27184): <-proc_sys_call_handler return=0x0 72 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bd00}, .f_inode=0xfffffe03ea2b6288, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bd00}, .f_inode=0xfffffe03ea2b6288, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x6 75 cat(27184):<-proc_sys_read return=0x6 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bd00}, .f_inode=0xfffffe03ea2b6288, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bd00}, .f_inode=0xfffffe03ea2b6288, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280360}, .f_inode=0xfffffe03ea2b4810, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280360}, .f_inode=0xfffffe03ea2b4810, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x5 75 cat(27184):<-proc_sys_read return=0x5 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280360}, .f_inode=0xfffffe03ea2b4810, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280360}, .f_inode=0xfffffe03ea2b4810, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282880}, .f_inode=0xfffffe03ea2b1320, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282880}, .f_inode=0xfffffe03ea2b1320, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=384 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x3 75 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282880}, .f_inode=0xfffffe03ea2b1320, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea282880}, .f_inode=0xfffffe03ea2b1320, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=384 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28d5c0}, .f_inode=0xfffffe03ea2b2240, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28d5c0}, .f_inode=0xfffffe03ea2b2240, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28d5c0}, .f_inode=0xfffffe03ea2b2240, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28d5c0}, .f_inode=0xfffffe03ea2b2240, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289b40}, .f_inode=0xfffffe03ea2b7938, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289b40}, .f_inode=0xfffffe03ea2b7938, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 74 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289b40}, .f_inode=0xfffffe03ea2b7938, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 15 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289b40}, .f_inode=0xfffffe03ea2b7938, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 25 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 31 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 35 cat(27184): ->test_perm mode=420 op=4 40 cat(27184): <-test_perm return=0x0 47 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 60 cat(27184): <-unuse_table 64 cat(27184): <-sysctl_head_finish 68 cat(27184): <-proc_sys_call_handler return=0x0 72 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287e00}, .f_inode=0xfffffe03ea2be6e0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287e00}, .f_inode=0xfffffe03ea2be6e0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=292 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 74 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287e00}, .f_inode=0xfffffe03ea2be6e0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287e00}, .f_inode=0xfffffe03ea2be6e0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 46 cat(27184): ->test_perm mode=292 op=4 51 cat(27184): <-test_perm return=0x0 58 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 65 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 79 cat(27184): <-proc_sys_call_handler return=0x0 83 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2858e0}, .f_inode=0xfffffe03ea2b5af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2858e0}, .f_inode=0xfffffe03ea2b5af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2858e0}, .f_inode=0xfffffe03ea2b5af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2858e0}, .f_inode=0xfffffe03ea2b5af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 46 cat(27184): ->test_perm mode=420 op=4 51 cat(27184): <-test_perm return=0x0 58 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 65 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 79 cat(27184): <-proc_sys_call_handler return=0x0 83 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283960}, .f_inode=0xfffffe03ea2b3160, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283960}, .f_inode=0xfffffe03ea2b3160, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283960}, .f_inode=0xfffffe03ea2b3160, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea283960}, .f_inode=0xfffffe03ea2b3160, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2807e0}, .f_inode=0xfffffe03ea2bb1f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2807e0}, .f_inode=0xfffffe03ea2bb1f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 74 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2807e0}, .f_inode=0xfffffe03ea2bb1f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea2807e0}, .f_inode=0xfffffe03ea2bb1f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f0676300}, .f_inode=0xfffffe03e0550f58, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f0676300}, .f_inode=0xfffffe03e0550f58, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f0676300}, .f_inode=0xfffffe03e0550f58, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f0676300}, .f_inode=0xfffffe03e0550f58, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 48 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 55 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 72 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bbe0}, .f_inode=0xfffffe03ea2b0400, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bbe0}, .f_inode=0xfffffe03ea2b0400, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 71 cat(27184): <-proc_sys_call_handler return=0x3 75 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bbe0}, .f_inode=0xfffffe03ea2b0400, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28bbe0}, .f_inode=0xfffffe03ea2b0400, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 46 cat(27184): ->test_perm mode=420 op=4 51 cat(27184): <-test_perm return=0x0 58 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 65 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 79 cat(27184): <-proc_sys_call_handler return=0x0 83 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea281440}, .f_inode=0xfffffe03ea2b5368, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea281440}, .f_inode=0xfffffe03ea2b5368, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 75 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea281440}, .f_inode=0xfffffe03ea2b5368, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea281440}, .f_inode=0xfffffe03ea2b5368, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286c00}, .f_inode=0xfffffe03ea2b38f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286c00}, .f_inode=0xfffffe03ea2b38f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 50 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 63 cat(27184): <-unuse_table 67 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x2 74 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286c00}, .f_inode=0xfffffe03ea2b38f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea286c00}, .f_inode=0xfffffe03ea2b38f0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287080}, .f_inode=0xfffffe03ea2b6a18, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287080}, .f_inode=0xfffffe03ea2b6a18, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 76 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287080}, .f_inode=0xfffffe03ea2b6a18, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea287080}, .f_inode=0xfffffe03ea2b6a18, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 36 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 61 cat(27184): <-unuse_table 65 cat(27184): <-sysctl_head_finish 69 cat(27184): <-proc_sys_call_handler return=0x0 73 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28db60}, .f_inode=0xfffffe03ea2b5ec0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28db60}, .f_inode=0xfffffe03ea2b5ec0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x2 76 cat(27184):<-proc_sys_read return=0x2 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28db60}, .f_inode=0xfffffe03ea2b5ec0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28db60}, .f_inode=0xfffffe03ea2b5ec0, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 36 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 42 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 46 cat(27184): ->test_perm mode=420 op=4 51 cat(27184): <-test_perm return=0x0 58 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 65 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 71 cat(27184): <-unuse_table 75 cat(27184): <-sysctl_head_finish 78 cat(27184): <-proc_sys_call_handler return=0x0 82 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ad40}, .f_inode=0xfffffe03ea2bf9c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ad40}, .f_inode=0xfffffe03ea2bf9c8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=384 op=4 42 cat(27184): <-test_perm return=0x0 122 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 131 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 138 cat(27184): <-unuse_table 143 cat(27184): <-sysctl_head_finish 147 cat(27184): <-proc_sys_call_handler return=0x0 152 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fcc840}, .f_inode=0xfffffe03e3935af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fcc840}, .f_inode=0xfffffe03e3935af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 28 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 34 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 39 cat(27184): ->test_perm mode=420 op=4 45 cat(27184): <-test_perm return=0x0 54 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 61 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 67 cat(27184): <-unuse_table 71 cat(27184): <-sysctl_head_finish 75 cat(27184): <-proc_sys_call_handler return=0x3 79 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fcc840}, .f_inode=0xfffffe03e3935af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03f2fcc840}, .f_inode=0xfffffe03e3935af8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x0 74 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ae60}, .f_inode=0xfffffe03ea2b1e78, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ae60}, .f_inode=0xfffffe03ea2b1e78, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x7 76 cat(27184):<-proc_sys_read return=0x7 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ae60}, .f_inode=0xfffffe03ea2b1e78, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea28ae60}, .f_inode=0xfffffe03ea2b1e78, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 41 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 56 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 77 cat(27184): <-sysctl_head_finish 82 cat(27184): <-proc_sys_call_handler return=0x0 86 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280480}, .f_inode=0xfffffe03ea2beaa8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280480}, .f_inode=0xfffffe03ea2beaa8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 27 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 38 cat(27184): ->test_perm mode=420 op=4 43 cat(27184): <-test_perm return=0x0 52 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 59 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 65 cat(27184): <-unuse_table 69 cat(27184): <-sysctl_head_finish 73 cat(27184): <-proc_sys_call_handler return=0x4 77 cat(27184):<-proc_sys_read return=0x4 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280480}, .f_inode=0xfffffe03ea2beaa8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 17 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea280480}, .f_inode=0xfffffe03ea2beaa8, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 33 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 49 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 57 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 62 cat(27184): <-unuse_table 66 cat(27184): <-sysctl_head_finish 70 cat(27184): <-proc_sys_call_handler return=0x0 74 cat(27184):<-proc_sys_read return=0x0 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289240}, .f_inode=0xfffffe03ea2bbd48, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289240}, .f_inode=0xfffffe03ea2bbd48, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 37 cat(27184): ->test_perm mode=420 op=4 42 cat(27184): <-test_perm return=0x0 51 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 58 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 64 cat(27184): <-unuse_table 68 cat(27184): <-sysctl_head_finish 72 cat(27184): <-proc_sys_call_handler return=0x3 76 cat(27184):<-proc_sys_read return=0x3 0 cat(27184):->proc_sys_read filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289240}, .f_inode=0xfffffe03ea2bbd48, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 16 cat(27184): ->proc_sys_call_handler filp={.f_u={.fu_llist={.next=0x0}, .fu_rcuhead={.next=0x0, .func=0x0}}, .f_path={.mnt=0xfffffe03d2386ca0, .dentry=0xfffffe03ea289240}, .f_inode=0xfffffe03ea2bbd48, .f_op=0xfffffc0008972800, .f_lock={={.rlock={.raw_lock={.owner=1, .next=1}, .magic=3735899821, .owner_cpu=4294967295, .owner=0xffffffffffffffff, .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_lock)->rlock"}}, ={.__padding="\001", .dep_map={.key=0xfffffc0009d26990, .class_cache=[0x0, ...], .name="&(&f->f_ 26 cat(27184): ->sysctl_head_grab head={={={.ctl_table=0xfffffc0008e98e30, .used=0, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000000}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 32 cat(27184): <-sysctl_head_grab return=0xfffffe03f4027000 46 cat(27184): ->test_perm mode=420 op=4 52 cat(27184): <-test_perm return=0x0 60 cat(27184): ->sysctl_head_finish head={={={.ctl_table=0xfffffc0008e98e30, .used=1, .count=40, .nreg=1}, .rcu={.next=0xfffffc0008e98e30, .func=0x2800000001}}, .unregistering=0x0, .ctl_table_arg=0x0, .root=0xfffffc0008edeff0, .set=0xfffffc0008edeff0, .parent=0xfffffe03fc91ab00, .node=0xfffffe03f4027048} 67 cat(27184): ->unuse_table p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} p={={={.ctl_table=?, .used=?, .count=?, .nreg=?}, .rcu={.next=?, .func=?}}, .unregistering=?, .ctl_table_arg=?, .root=?, .set=?, .parent=?, .node=?} 72 cat(27184): <-unuse_table 76 cat(27184): <-sysctl_head_finish 80 cat(27184): <-proc_sys_call_handler return=0x0 85 cat(27184):<-proc_sys_read return=0x0 WARNING: Number of errors: 0, skipped probes: 8 Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/para-callgraph-verbose run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")'' tag 'test_check' value 'stap -p4 para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")'' attempting command stap -p4 para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' OUT WARNING: function smaps_pte_range is blacklisted: keyword at para-callgraph.stp:23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function show_softirqs is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function softirqs_open is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/stap_d0928ba90e416fae570a75cc7ded9f8d_520205.ko Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/para-callgraph build meta taglines 'test_installcheck: stap para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"' tag 'test_installcheck' value 'stap para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"' attempting command stap para-callgraph.stp 'kernel.function("*@fs/proc*.c")' 'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true" OUT WARNING: function smaps_pte_range is blacklisted: keyword at para-callgraph.stp:23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function clear_refs_pte_range is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function smaps_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function pagemap_pte_hole is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_init_inodecache is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_root_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_tty_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_cmdline_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_consoles_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_cpuinfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_devices_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_interrupts_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_loadavg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_meminfo_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_stat_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_uptime_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_version_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_softirqs_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function show_softirqs is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function softirqs_open is blacklisted: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_thread_self_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_sys_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_net_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_kcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function merge_note_headers_elf64 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function vmcore_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function merge_note_headers_elf32 is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_kmsg_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ WARNING: function proc_page_init is in blacklisted section: keyword at :23:1 source: probe $1.call { trace(1, $$parms) } ^ 8192 0 cat: /proc/sys/vm/compact_memory: Permission denied 1 0 10 0 3000 40 500 43200 0 500 0 0 0 0 256 32 65530 16015 4096 14 0 0 0 1 0 0 0 50 3 0 0 1 10 131072 100 10 0 sh(27435):->proc_reg_read file=0xfffffe0271d0c240 buf=0x3ff8c7d0000 count=0x400 ppos=0xfffffe03d4937eb8 12 sh(27435): ->meminfo_proc_show m=0xfffffe03d59ede00 v=0x1 36 sh(27435): ->arch_report_meminfo m=0xfffffe03d59ede00 43 sh(27435): <-arch_report_meminfo 48 sh(27435): <-meminfo_proc_show return=0x0 64 sh(27435): ->unuse_pde pde=0xfffffe03dd08c600 69 sh(27435): <-unuse_pde 74 sh(27435):<-proc_reg_read return=0x400 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdb980 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 11 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdb980 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 17 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 24 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 29 cat(27438): ->test_perm mode=0x1a4 op=0x4 35 cat(27438): <-test_perm return=0x0 51 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 57 cat(27438): ->unuse_table p=? p=? 62 cat(27438): <-unuse_table 67 cat(27438): <-sysctl_head_finish 71 cat(27438): <-proc_sys_call_handler return=0x5 76 cat(27438):<-proc_sys_read return=0x5 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdb980 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdb980 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 13 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 19 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 23 cat(27438): ->test_perm mode=0x1a4 op=0x4 28 cat(27438): <-test_perm return=0x0 33 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 38 cat(27438): ->unuse_table p=? p=? 43 cat(27438): <-unuse_table 47 cat(27438): <-sysctl_head_finish 51 cat(27438): <-proc_sys_call_handler return=0x0 55 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda2c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda2c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 33 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 38 cat(27438): ->unuse_table p=? p=? 43 cat(27438): <-unuse_table 47 cat(27438): <-sysctl_head_finish 52 cat(27438): <-proc_sys_call_handler return=0x2 56 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda2c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 16 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda2c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 22 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 27 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 32 cat(27438): ->test_perm mode=0x1a4 op=0x4 37 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 46 cat(27438): ->unuse_table p=? p=? 51 cat(27438): <-unuse_table 55 cat(27438): <-sysctl_head_finish 59 cat(27438): <-proc_sys_call_handler return=0x0 63 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd47c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd47c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 13 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 23 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 33 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 38 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x2 54 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd47c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd47c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 59 cat(27438): <-proc_sys_call_handler return=0x0 63 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3100 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3100 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 37 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x2 54 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3100 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3100 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd0540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd0540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 37 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x3 54 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd0540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd0540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd08c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd08c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 37 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 53 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd08c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 17 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd08c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 22 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 28 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 32 cat(27438): ->test_perm mode=0x1a4 op=0x4 37 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 46 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda9c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda9c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x5 53 cat(27438):<-proc_sys_read return=0x5 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda9c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda9c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdf340 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdf340 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x3 53 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdf340 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdf340 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3d40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 15 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3d40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 20 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 26 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 30 cat(27438): ->test_perm mode=0x1a4 op=0x4 35 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 46 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x4 62 cat(27438):<-proc_sys_read return=0x4 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3d40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 16 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3d40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 21 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 27 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 31 cat(27438): ->test_perm mode=0x1a4 op=0x4 36 cat(27438): <-test_perm return=0x0 40 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 45 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd16c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd16c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x6 52 cat(27438):<-proc_sys_read return=0x6 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd16c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd16c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd1180 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd1180 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 53 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd1180 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd1180 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x4 52 cat(27438):<-proc_sys_read return=0x4 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd5080 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd5080 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 53 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd5080 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 16 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd5080 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 21 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 27 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 31 cat(27438): ->test_perm mode=0x1a4 op=0x4 36 cat(27438): <-test_perm return=0x0 40 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 45 cat(27438): ->unuse_table p=? p=? 49 cat(27438): <-unuse_table 53 cat(27438): <-sysctl_head_finish 57 cat(27438): <-proc_sys_call_handler return=0x0 61 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3800 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd32c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd32c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 25 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd32c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd32c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd2f40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd2f40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 42 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 48 cat(27438): ->unuse_table p=? p=? 52 cat(27438): <-unuse_table 56 cat(27438): <-sysctl_head_finish 60 cat(27438): <-proc_sys_call_handler return=0x2 64 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd2f40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 17 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd2f40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 22 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 28 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 32 cat(27438): ->test_perm mode=0x1a4 op=0x4 37 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 45 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdefc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdefc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 33 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 38 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x7 54 cat(27438):<-proc_sys_read return=0x7 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdefc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdefc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 16 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 39 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd4d00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd4d00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 16 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 25 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x6 52 cat(27438):<-proc_sys_read return=0x6 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd4d00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd4d00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdd740 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdd740 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x6 53 cat(27438):<-proc_sys_read return=0x6 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdd740 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdd740 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3b80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3b80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x5 52 cat(27438):<-proc_sys_read return=0x5 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd3b80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd3b80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd9a00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd9a00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x180 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x3 52 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd9a00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd9a00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 28 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 32 cat(27438): ->test_perm mode=0x180 op=0x4 37 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 45 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdec40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdec40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdec40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdec40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdd040 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdd040 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 16 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 25 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x2 62 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdd040 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 17 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdd040 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 22 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 27 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 31 cat(27438): ->test_perm mode=0x1a4 op=0x4 36 cat(27438): <-test_perm return=0x0 41 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 45 cat(27438): ->unuse_table p=? p=? 50 cat(27438): <-unuse_table 54 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd1500 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd1500 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x124 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 34 cat(27438): ->unuse_table p=? p=? 39 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x2 50 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd1500 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd1500 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x124 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 39 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdc400 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdc400 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdc400 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdc400 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd39c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd39c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 53 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd39c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd39c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 58 cat(27438): <-proc_sys_call_handler return=0x0 62 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda480 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda480 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbda480 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbda480 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd86c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd86c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd86c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd86c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 39 cat(27438): <-unuse_table 43 cat(27438): <-sysctl_head_finish 47 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdccc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdccc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 25 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x3 52 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdccc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdccc0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd5b00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd5b00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 51 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd5b00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd5b00 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 26 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 30 cat(27438): ->test_perm mode=0x1a4 op=0x4 35 cat(27438): <-test_perm return=0x0 39 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 44 cat(27438): ->unuse_table p=? p=? 49 cat(27438): <-unuse_table 53 cat(27438): <-sysctl_head_finish 57 cat(27438): <-proc_sys_call_handler return=0x0 61 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdc780 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdc780 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdc780 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdc780 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbddac0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbddac0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 37 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x2 53 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbddac0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbddac0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd4b40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd4b40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x2 52 cat(27438):<-proc_sys_read return=0x2 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd4b40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd4b40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 51 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd40c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd40c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x180 op=0x4 26 cat(27438): <-test_perm return=0x0 92 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 98 cat(27438): ->unuse_table p=? p=? 103 cat(27438): <-unuse_table 107 cat(27438): <-sysctl_head_finish 112 cat(27438): <-proc_sys_call_handler return=0x0 116 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdfa40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdfa40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 33 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 38 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x3 54 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbdfa40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbdfa40 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x0 53 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbde540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbde540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x7 53 cat(27438):<-proc_sys_read return=0x7 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbde540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbde540 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 11 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 30 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 48 cat(27438): <-proc_sys_call_handler return=0x0 52 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbde8c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbde8c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 18 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 32 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 37 cat(27438): ->unuse_table p=? p=? 42 cat(27438): <-unuse_table 46 cat(27438): <-sysctl_head_finish 50 cat(27438): <-proc_sys_call_handler return=0x4 54 cat(27438):<-proc_sys_read return=0x4 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbde8c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbde8c0 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 35 cat(27438): ->unuse_table p=? p=? 40 cat(27438): <-unuse_table 44 cat(27438): <-sysctl_head_finish 60 cat(27438): <-proc_sys_call_handler return=0x0 64 cat(27438):<-proc_sys_read return=0x0 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd8f80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 6 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd8f80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 21 cat(27438): ->test_perm mode=0x1a4 op=0x4 26 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 49 cat(27438): <-proc_sys_call_handler return=0x3 53 cat(27438):<-proc_sys_read return=0x3 0 cat(27438):->proc_sys_read filp=0xfffffe03ccbd8f80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 7 cat(27438): ->proc_sys_call_handler filp=0xfffffe03ccbd8f80 buf=0x124d0000 count=0x10000 ppos=0xfffffe03d1707eb8 write=0x0 12 cat(27438): ->sysctl_head_grab head=0xfffffe03f4027000 17 cat(27438): <-sysctl_head_grab return=0xfffffe03f4027000 22 cat(27438): ->test_perm mode=0x1a4 op=0x4 27 cat(27438): <-test_perm return=0x0 31 cat(27438): ->sysctl_head_finish head=0xfffffe03f4027000 36 cat(27438): ->unuse_table p=? p=? 41 cat(27438): <-unuse_table 45 cat(27438): <-sysctl_head_finish 59 cat(27438): <-proc_sys_call_handler return=0x0 63 cat(27438):<-proc_sys_read return=0x0 Number of similar warning messages suppressed: 30. Rerun with -v to see them. RC 0 PASS: systemtap.examples/general/para-callgraph run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -I tapset -l 'python2.function_entry'' tag 'test_support' value 'stap -I tapset -l 'python2.function_entry'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general sourcing py2example.tcl for systemtap.examples/general/py2example attempting command stap -I tapset -l 'python2.function_entry' OUT python2.function_entry RC 0 PASS: systemtap.examples/general/py2example support meta taglines 'test_check: stap -p4 -I tapset py2example.stp' tag 'test_check' value 'stap -p4 -I tapset py2example.stp' attempting command stap -p4 -I tapset py2example.stp OUT WARNING: cannot find module /usr/lib64/libpython2.7.so.1.0 debuginfo: No DWARF information found [man warning::debuginfo] semantic error: while processing function display_dict_variable semantic error: type definition 'PyDictObject' not found in '/usr/lib64/libpython2.7.so.1.0': operator '@cast' at tapset/python2.stp:188:9 source: n = @cast (dict, "PyDictObject", @PYTHON2_LIBRARY)->ma_used; ^ Missing separate debuginfos, use: debuginfo-install python-libs-2.7.5-48.el7.aarch64 Pass 2: analysis failed. [man error::pass2] Number of similar warning messages suppressed: 167. Rerun with -v to see them. child process exited abnormally RC 1 FAIL: systemtap.examples/general/py2example build meta taglines 'test_installcheck: stap -I tapset -c '/usr/bin/python2 pyexample.py 35' py2example.stp' tag 'test_installcheck' value 'stap -I tapset -c '/usr/bin/python2 pyexample.py 35' py2example.stp' UNTESTED: systemtap.examples/general/py2example run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -I tapset -l 'python3.function_entry'' tag 'test_support' value 'stap -I tapset -l 'python3.function_entry'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general sourcing py3example.tcl for systemtap.examples/general/py3example attempting command stap -I tapset -l 'python3.function_entry' OUT child process exited abnormally RC 1 UNTESTED: systemtap.examples/general/py3example build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 regex.stp' tag 'test_check' value 'stap -p4 regex.stp' attempting command stap -p4 regex.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/22/stap_228f9d34c4565f438a5171383da8237a_56333.ko RC 0 PASS: systemtap.examples/general/regex build meta taglines 'test_installcheck: stap regex.stp -T 1' tag 'test_installcheck' value 'stap regex.stp -T 1' attempting command stap regex.stp -T 1 OUT RC 0 PASS: systemtap.examples/general/regex run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 sizeof.stp task_struct 'kernel'' tag 'test_check' value 'stap -p4 sizeof.stp task_struct 'kernel'' attempting command stap -p4 sizeof.stp task_struct 'kernel' OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc46e9ea732cd5579263a1d00d530203_2355.ko RC 0 PASS: systemtap.examples/general/sizeof build meta taglines 'test_installcheck: stap sizeof.stp FILE ''' tag 'test_installcheck' value 'stap sizeof.stp FILE ''' attempting command stap sizeof.stp FILE '' OUT type FILE in byte-size: 216 RC 0 PASS: systemtap.examples/general/sizeof run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 stopwatches.stp' tag 'test_check' value 'stap -p4 stopwatches.stp' attempting command stap -p4 stopwatches.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_892586241fc4c60b50dc6974a1c7215e_290578.ko RC 0 PASS: systemtap.examples/general/stopwatches build meta taglines 'test_installcheck: stap stopwatches.stp -T 1' tag 'test_installcheck' value 'stap stopwatches.stp -T 1' attempting command stap stopwatches.stp -T 1 OUT WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) wall clock 1086609us wall clock in user-space 1086609us wall clock in kernel-space 0us RC 0 PASS: systemtap.examples/general/stopwatches run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -wp4 varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars'' tag 'test_check' value 'stap -wp4 varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars'' attempting command stap -wp4 varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars' OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce6a10c8d35b6ee98cb2a7625f26404c_30699.ko RC 0 PASS: systemtap.examples/general/varwatch build meta taglines 'test_installcheck: stap -w varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars' -T 1' tag 'test_installcheck' value 'stap -w varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars' -T 1' attempting command stap -w varwatch.stp 'kernel.statement("do_sys_open@fs/open.c:*")' '$$vars' -T 1 OUT RC 0 PASS: systemtap.examples/general/varwatch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: which /usr/bin/pstack' tag 'test_support' value 'which /usr/bin/pstack' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general attempting command which /usr/bin/pstack OUT /usr/bin/pstack RC 0 PASS: systemtap.examples/general/watchdog support meta taglines 'test_check: stap -p4 watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000' tag 'test_check' value 'stap -p4 watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000' attempting command stap -p4 watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/aa/stap_aa6e8bdc4ece4bcc4341002b76228ef5_60051.ko RC 0 PASS: systemtap.examples/general/watchdog build meta taglines 'test_installcheck: stap watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000 -T 1' tag 'test_installcheck' value 'stap watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000 -T 1' attempting command stap watchdog.stp 'syscall.nanosleep' 'syscall.nanosleep.return' 1000 -T 1 OUT RC 0 PASS: systemtap.examples/general/watchdog run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/general meta taglines 'test_check: stap -p4 whythefail.stp kernel sys_open '$return < 0'' tag 'test_check' value 'stap -p4 whythefail.stp kernel sys_open '$return < 0'' attempting command stap -p4 whythefail.stp kernel sys_open '$return < 0' OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1d/stap_1de7262d87133c13afb25c472f9bdb2c_20912.ko RC 0 PASS: systemtap.examples/general/whythefail build meta taglines 'test_installcheck: stap whythefail.stp kernel sys_open '$return < 0' -c 'cat /root/no-such-file || true'' tag 'test_installcheck' value 'stap whythefail.stp kernel sys_open '$return < 0' -c 'cat /root/no-such-file || true'' attempting command stap whythefail.stp kernel sys_open '$return < 0' -c 'cat /root/no-such-file || true' OUT cat: /root/no-such-file: No such file or directory statistics: RC 0 PASS: systemtap.examples/general/whythefail run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("irq_handler_entry")'' tag 'test_support' value 'stap -l 'kernel.trace("irq_handler_entry")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/interrupt attempting command stap -l 'kernel.trace("irq_handler_entry")' OUT kernel.trace("irq:irq_handler_entry") RC 0 PASS: systemtap.examples/interrupt/interrupts-by-dev support meta taglines 'test_check: stap -p4 interrupts-by-dev.stp' tag 'test_check' value 'stap -p4 interrupts-by-dev.stp' attempting command stap -p4 interrupts-by-dev.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1452e5a63cc4118fa3332f68c2396df_56163.ko RC 0 PASS: systemtap.examples/interrupt/interrupts-by-dev build meta taglines 'test_installcheck: stap interrupts-by-dev.stp -T 1' tag 'test_installcheck' value 'stap interrupts-by-dev.stp -T 1' attempting command stap interrupts-by-dev.stp -T 1 OUT DEVICE NUMBER OF INTERRUPTS arch_timer : 49 eth0-TxRx-0 : 1 arch_timer : 21 arch_timer : 28 eth0-TxRx-0 : 1 arch_timer : 18 arch_timer : 19 arch_timer : 20 arch_timer : 16 arch_timer : 18 arch_timer : 19 eth0-TxRx-0 : 1 RC 0 PASS: systemtap.examples/interrupt/interrupts-by-dev run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/interrupt sourcing scf.tcl for systemtap.examples/interrupt/scf meta taglines 'test_check: stap -p4 scf.stp' tag 'test_check' value 'stap -p4 scf.stp' attempting command stap -p4 scf.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/stap_28a2d4cddf20f0ef8611a45b70429763_4672.ko RC 0 PASS: systemtap.examples/interrupt/scf build meta taglines 'test_installcheck: stap scf.stp -T 1' tag 'test_installcheck' value 'stap scf.stp -T 1' attempting command stap scf.stp -T 1 OUT WARNING: probe kernel.function("smp_call_function@kernel/smp.c:472") (address 0xfffffc0008174ed8) registration error (rc -22) Starting probe, type control-c to stop. RC 0 PASS: systemtap.examples/interrupt/scf run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 deviceseeks.stp' tag 'test_check' value 'stap -p4 deviceseeks.stp' attempting command stap -p4 deviceseeks.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4e/stap_4ed64c13d20d634b724cd2022d09d485_14080.ko RC 0 PASS: systemtap.examples/io/deviceseeks build meta taglines 'test_installcheck: stap deviceseeks.stp -T 1' tag 'test_installcheck' value 'stap deviceseeks.stp -T 1' attempting command stap deviceseeks.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/deviceseeks run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 disktop.stp' tag 'test_check' value 'stap -p4 disktop.stp' attempting command stap -p4 disktop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/stap_f33ebf8d1822ff920ab5489bdd7935cf_37860.ko RC 0 PASS: systemtap.examples/io/disktop build meta taglines 'test_installcheck: stap disktop.stp -T 1' tag 'test_installcheck' value 'stap disktop.stp -T 1' attempting command stap disktop.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/disktop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -gp4 eatmydata.stp -x $$' tag 'test_check' value 'stap -gp4 eatmydata.stp -x $$' attempting command stap -gp4 eatmydata.stp -x $$ OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8f/stap_8f3a1ab36456be6d720b3aec213eeaa6_61588.ko RC 0 PASS: systemtap.examples/io/eatmydata build meta taglines 'test_installcheck: stap -g eatmydata.stp -c 'strace ls || true'' tag 'test_installcheck' value 'stap -g eatmydata.stp -c 'strace ls || true'' attempting command stap -g eatmydata.stp -c 'strace ls || true' OUT execve("/bin/ls", ["ls"], [/* 54 vars */]) = 0 brk(0) = 0x2e9b0000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/libselinux.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffec4e2050, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/libselinux.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffec4e2050, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/libselinux.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffec4e2050, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/libselinux.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffec4e2050, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=39708, ...}) = 0 mmap(NULL, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff8e4d0000 close(3) = 0 openat(AT_FDCWD, "/lib64/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 k\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=204888, ...}) = 0 mmap(NULL, 272688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e480000 mmap(0x3ff8e4b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x3ff8e4b0000 close(3) = 0 openat(AT_FDCWD, "/lib64/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\27\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=69144, ...}) = 0 mmap(NULL, 131604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e450000 mmap(0x3ff8e460000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8e460000 close(3) = 0 openat(AT_FDCWD, "/lib64/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0p \0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=69792, ...}) = 0 mmap(NULL, 131660, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e420000 mmap(0x3ff8e430000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8e430000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1813328, ...}) = 0 mmap(NULL, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e2a0000 mmap(0x3ff8e400000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x150000) = 0x3ff8e400000 close(3) = 0 openat(AT_FDCWD, "/lib64/libpcre.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0p\26\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=265960, ...}) = 0 mmap(NULL, 327912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e240000 mmap(0x3ff8e280000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30000) = 0x3ff8e280000 close(3) = 0 openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\16\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=74520, ...}) = 0 mmap(NULL, 131296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e210000 mmap(0x3ff8e220000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8e220000 close(3) = 0 openat(AT_FDCWD, "/lib64/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\220\25\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=69032, ...}) = 0 mmap(NULL, 131424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8e1e0000 mmap(0x3ff8e1f0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8e1f0000 close(3) = 0 mprotect(0x3ff8e400000, 65536, PROT_READ) = 0 mprotect(0x3ff8e1f0000, 65536, PROT_READ) = 0 mprotect(0x3ff8e220000, 65536, PROT_READ) = 0 mprotect(0x3ff8e280000, 65536, PROT_READ) = 0 mprotect(0x3ff8e430000, 65536, PROT_READ) = 0 mprotect(0x3ff8e460000, 65536, PROT_READ) = 0 mprotect(0x3ff8e4b0000, 65536, PROT_READ) = 0 mprotect(0x420000, 65536, PROT_READ) = 0 mprotect(0x3ff8e520000, 65536, PROT_READ) = 0 munmap(0x3ff8e4d0000, 39708) = 0 statfs64("/sys/fs/selinux", {f_type=0xf97cff8c, f_bsize=65536, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=65536}) = 0 statfs64("/sys/fs/selinux", {f_type=0xf97cff8c, f_bsize=65536, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=65536}) = 0 newfstatat(AT_FDCWD, "/sys/fs/selinux", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0 brk(0) = 0x2e9b0000 brk(0x2e9e0000) = 0x2e9e0000 faccessat(AT_FDCWD, "/etc/selinux/config", F_OK) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x3ffec4e2980) = -1 ENOTTY (Inappropriate ioctl for device) ioctl(1, TIOCGWINSZ, 0x3ffec4e2ab0) = -1 ENOTTY (Inappropriate ioctl for device) openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3 getdents64(3, /* 50 entries */, 32768) = 1792 getdents64(3, /* 0 entries */, 32768) = 0 close(3) = 0 fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3ff8e4d0000 write(1, "deviceseeks.meta\ndeviceseeks.stp"..., 670deviceseeks.meta deviceseeks.stp disktop.meta disktop.stp eatmydata.meta eatmydata.stp eatmydata.txt enospc.meta enospc.stp inodewatch.meta inodewatch.stp inodewatch2.meta inodewatch2.stp io_submit.meta io_submit.stp io_submit.tcl ioblktime.meta ioblktime.stp iodevstats.meta iodevstats.stp iodevstats.txt iostat-scsi.meta iostat-scsi.stp iostat-scsi.txt iostats.meta iostats.stp iostats.txt iotime.meta iotime.stp iotop.meta iotop.stp mbrwatch.meta mbrwatch.stp mbrwatch.tcl mbrwatch.txt nfs_func_users.meta nfs_func_users.stp slowvfs.meta slowvfs.stp switchfile.meta switchfile.stp traceio.meta traceio.stp traceio2.meta traceio2.stp ttyspy.meta ttyspy.stp ttyspy.txt ) = 670 close(1) = 0 munmap(0x3ff8e4d0000, 65536) = 0 close(2) = 0 exit_group(0) = ? +++ exited with 0 +++ Redirecting f*sync by pid 438 to fd -1 Redirected f*sync by pid 438 to fd -1, success 0 times, failed 0 times. Preserved f*sync by other processes 0 times. RC 0 PASS: systemtap.examples/io/eatmydata run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 enospc.stp' tag 'test_check' value 'stap -p4 enospc.stp' attempting command stap -p4 enospc.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a8/stap_a8bee8efc60cf7b43a9bf971365bba43_13958.ko RC 0 PASS: systemtap.examples/io/enospc build meta taglines 'test_installcheck: stap enospc.stp -T 1' tag 'test_installcheck' value 'stap enospc.stp -T 1' attempting command stap enospc.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/enospc run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 inodewatch.stp 0x08 0x01 100' tag 'test_check' value 'stap -p4 inodewatch.stp 0x08 0x01 100' attempting command stap -p4 inodewatch.stp 0x08 0x01 100 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2a/stap_2a7a92da244e3e863ddba6f6908bbe80_11513.ko RC 0 PASS: systemtap.examples/io/inodewatch build meta taglines 'test_installcheck: stap inodewatch.stp 0x08 0x01 100 -T 1' tag 'test_installcheck' value 'stap inodewatch.stp 0x08 0x01 100 -T 1' attempting command stap inodewatch.stp 0x08 0x01 100 -T 1 OUT RC 0 PASS: systemtap.examples/io/inodewatch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 inodewatch2.stp 0x08 0x01 100' tag 'test_check' value 'stap -p4 inodewatch2.stp 0x08 0x01 100' attempting command stap -p4 inodewatch2.stp 0x08 0x01 100 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/stap_12740d3830c3a1eb0a1708ba39dff769_8433.ko RC 0 PASS: systemtap.examples/io/inodewatch2 build meta taglines 'test_installcheck: stap inodewatch2.stp 0x08 0x01 100 -T 1' tag 'test_installcheck' value 'stap inodewatch2.stp 0x08 0x01 100 -T 1' attempting command stap inodewatch2.stp 0x08 0x01 100 -T 1 OUT RC 0 PASS: systemtap.examples/io/inodewatch2 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io sourcing io_submit.tcl for systemtap.examples/io/io_submit meta taglines 'test_check: stap -p4 io_submit.stp' tag 'test_check' value 'stap -p4 io_submit.stp' attempting command stap -p4 io_submit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dd/stap_dda78a66634a0e7d49fd4748ea3f4a65_62096.ko RC 0 PASS: systemtap.examples/io/io_submit build meta taglines 'test_installcheck: stap io_submit.stp -T 1' tag 'test_installcheck' value 'stap io_submit.stp -T 1' attempting command stap io_submit.stp -T 1 OUT WARNING: probe kernel.function("schedule@kernel/sched/core.c:3379") (address 0xfffffc0008900dd0) registration error (rc -22) RC 0 PASS: systemtap.examples/io/io_submit run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 ioblktime.stp' tag 'test_check' value 'stap -p4 ioblktime.stp' attempting command stap -p4 ioblktime.stp OUT semantic error: while processing probe kernel.function("bio_endio@block/bio.c:1741") from: ioblock.end from: ioblock.end semantic error: unable to find member 'bi_rw' for struct bio (alternatives: bi_css, bi_ioc, bi_opf, __bi_cnt, bi_bdev, bi_error, bi_iter, bi_next, bi_pool, bi_vcnt, bi_flags, bi_ioprio, bi_end_io, bi_io_vec, bi_private, bi_integrity, bi_max_vecs, __bi_remaining, bi_inline_vecs, bi_seg_back_size, bi_phys_segments, bi_seg_front_size): operator '->' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp:165:18 source: rw = $bio->bi_rw ^ Pass 2: analysis failed. [man error::pass2] child process exited abnormally RC 1 FAIL: systemtap.examples/io/ioblktime build meta taglines 'test_installcheck: stap ioblktime.stp -T 1' tag 'test_installcheck' value 'stap ioblktime.stp -T 1' UNTESTED: systemtap.examples/io/ioblktime run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 iodevstats.stp' tag 'test_check' value 'stap -p4 iodevstats.stp' attempting command stap -p4 iodevstats.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d456656195476ee40f47810c1cd60793_22393.ko RC 0 PASS: systemtap.examples/io/iodevstats build meta taglines 'test_installcheck: stap iodevstats.stp -T 1' tag 'test_installcheck' value 'stap iodevstats.stp -T 1' attempting command stap iodevstats.stp -T 1 OUT starting probe read read write write name device read KB tot B avg write KB tot B avg systemd-journal 0, 6 1 0 174 0 0 0 in:imjournal 0, 11 1 0 32 0 0 0 stapio 0, 7 7 0 3 0 0 0 sendmail 0, 4 1 0 26 0 0 0 stapio 0, 10 0 0 0 1 0 15 RC 0 PASS: systemtap.examples/io/iodevstats run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'module("st").function("st_do_scsi")!,kernel.function("st_do_scsi")'' tag 'test_support' value 'stap -l 'module("st").function("st_do_scsi")!,kernel.function("st_do_scsi")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io attempting command stap -l 'module("st").function("st_do_scsi")!,kernel.function("st_do_scsi")' OUT module("st").function("st_do_scsi@drivers/scsi/st.c:591")! RC 0 PASS: systemtap.examples/io/iostat-scsi support meta taglines 'test_check: stap -g -p4 iostat-scsi.stp 1' tag 'test_check' value 'stap -g -p4 iostat-scsi.stp 1' attempting command stap -g -p4 iostat-scsi.stp 1 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e32ded4af861be647aab3017a8022566_10987.ko RC 0 PASS: systemtap.examples/io/iostat-scsi build meta taglines 'test_installcheck: stap -g iostat-scsi.stp 1 -T 1' tag 'test_installcheck' value 'stap -g iostat-scsi.stp 1 -T 1' attempting command stap -g iostat-scsi.stp 1 -T 1 OUT RC 0 PASS: systemtap.examples/io/iostat-scsi run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 iostats.stp' tag 'test_check' value 'stap -p4 iostats.stp' attempting command stap -p4 iostats.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/97/stap_97bce23a0ba90a18f55b35284c147be9_62715.ko RC 0 PASS: systemtap.examples/io/iostats build meta taglines 'test_installcheck: stap iostats.stp -T 1' tag 'test_installcheck' value 'stap iostats.stp -T 1' attempting command stap iostats.stp -T 1 OUT starting probe read read write write name open read KB tot B avg write KB tot B avg systemd-journal 0 1 0 174 0 0 0 in:imjournal 0 1 0 32 1 0 123 stapio 0 7 0 3 1 0 15 RC 0 PASS: systemtap.examples/io/iostats run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 iotime.stp' tag 'test_check' value 'stap -p4 iotime.stp' attempting command stap -p4 iotime.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/stap_c8fe66956a85ca8b20506a8b3135e957_69612.ko RC 0 PASS: systemtap.examples/io/iotime build meta taglines 'test_installcheck: stap iotime.stp -T 1' tag 'test_installcheck' value 'stap iotime.stp -T 1' attempting command stap iotime.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/iotime run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 iotop.stp' tag 'test_check' value 'stap -p4 iotop.stp' attempting command stap -p4 iotop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b6/stap_b6f07a9e6e97aeca2d5422d053a84c52_18695.ko RC 0 PASS: systemtap.examples/io/iotop build meta taglines 'test_installcheck: stap iotop.stp -T 1' tag 'test_installcheck' value 'stap iotop.stp -T 1' attempting command stap iotop.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/iotop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io sourcing mbrwatch.tcl for systemtap.examples/io/mbrwatch meta taglines 'test_check: stap -p4 mbrwatch.stp' tag 'test_check' value 'stap -p4 mbrwatch.stp' attempting command stap -p4 mbrwatch.stp OUT semantic error: while processing probe kernel.function("generic_make_request@block/blk-core.c:1993") from: ioblock.request from: ioblock.request semantic error: unable to find member 'bi_rw' for struct bio (alternatives: bi_css, bi_ioc, bi_opf, __bi_cnt, bi_bdev, bi_error, bi_iter, bi_next, bi_pool, bi_vcnt, bi_flags, bi_ioprio, bi_end_io, bi_io_vec, bi_private, bi_integrity, bi_max_vecs, __bi_remaining, bi_inline_vecs, bi_seg_back_size, bi_phys_segments, bi_seg_front_size): operator '->' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp:113:18 source: rw = $bio->bi_rw ^ Pass 2: analysis failed. [man error::pass2] child process exited abnormally RC 1 FAIL: systemtap.examples/io/mbrwatch build meta taglines 'test_installcheck: stap mbrwatch.stp -c "dd of=/dev/null count=1 if=/dev/`grep -v major /proc/partitions | grep . | grep -v 'sr[0-9]' | awk '{print $4}' | head -1`"' tag 'test_installcheck' value 'stap mbrwatch.stp -c "dd of=/dev/null count=1 if=/dev/`grep -v major /proc/partitions | grep . | grep -v 'sr[0-9]' | awk '{print $4}' | head -1`"' UNTESTED: systemtap.examples/io/mbrwatch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 nfs_func_users.stp' tag 'test_check' value 'stap -p4 nfs_func_users.stp' attempting command stap -p4 nfs_func_users.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/47/stap_47d73077e4136c84899e30cf7dd66e3e_1729.ko RC 0 PASS: systemtap.examples/io/nfs_func_users build meta taglines 'test_installcheck: stap nfs_func_users.stp -T 1' tag 'test_installcheck' value 'stap nfs_func_users.stp -T 1' attempting command stap nfs_func_users.stp -T 1 OUT Collecting top NFSD procs... name(pid) nfs ops RC 0 PASS: systemtap.examples/io/nfs_func_users run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'vfs.open.return'' tag 'test_support' value 'stap -l 'vfs.open.return'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io attempting command stap -l 'vfs.open.return' OUT vfs.open.return RC 0 PASS: systemtap.examples/io/slowvfs support meta taglines 'test_check: stap -p4 slowvfs.stp' tag 'test_check' value 'stap -p4 slowvfs.stp' attempting command stap -p4 slowvfs.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b0c1f6c8ccecd1ce8cf910f631a8ce4b_35210.ko RC 0 PASS: systemtap.examples/io/slowvfs build meta taglines 'test_installcheck: stap slowvfs.stp -G sloth=10 -c 'find /proc >/dev/null'' tag 'test_installcheck' value 'stap slowvfs.stp -G sloth=10 -c 'find /proc >/dev/null'' attempting command stap slowvfs.stp -G sloth=10 -c 'find /proc >/dev/null' OUT stapio[5745] 16 /usr/bin/bash stapio[5745] 11 /usr/lib64/ld-2.17.so systemd[1] 13 /proc/630/cgroup sh[5745] 10 /usr/lib64/libc-2.17.so sh[5745] 20 /dev/tty sh[5745] 11 /proc/meminfo sh[5748] 15 /dev/null sh[5748] 11 /usr/lib64/ld-2.17.so find[5748] 29 /root/systemtap_write/systemtap/testsuite/systemtap.examples/io find[5748] 10 /proc/fs find[5748] 10 /proc/fs/nfsd find[5748] 21 /proc/sys/dev/cdrom find[5748] 10 /proc/sys/fs/binfmt_misc find[5748] 10 /proc/sys/kernel/sched_domain/cpu0 find[5748] 11 /proc/sys/kernel/sched_domain/cpu0/domain0 find[5748] 11 /proc/sys/kernel/sched_domain/cpu0/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu1/domain0 find[5748] 11 /proc/sys/kernel/sched_domain/cpu1/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu2 find[5748] 10 /proc/sys/kernel/sched_domain/cpu2/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu2/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu3/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu3/domain1 find[5748] 11 /proc/sys/kernel/sched_domain/cpu4/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu4/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu5 find[5748] 10 /proc/sys/kernel/sched_domain/cpu5/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu5/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu6 find[5748] 10 /proc/sys/kernel/sched_domain/cpu6/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu6/domain1 find[5748] 10 /proc/sys/kernel/sched_domain/cpu7 find[5748] 10 /proc/sys/kernel/sched_domain/cpu7/domain0 find[5748] 10 /proc/sys/kernel/sched_domain/cpu7/domain1 find[5748] 10 /proc/sys/net/ipv4/conf find[5748] 11 /proc/sys/net/ipv4/conf/all find[5748] 11 /proc/sys/net/ipv4/conf/default find[5748] 10 /proc/sys/net/ipv4/conf/eth0 find[5748] 12 /proc/sys/net/ipv4/conf/eth1 find[5748] 10 /proc/sys/net/ipv4/conf/lo find[5748] 10 /proc/sys/net/ipv4/neigh find[5748] 10 /proc/sys/net/ipv4/neigh/default find[5748] 11 /proc/sys/net/ipv4/neigh/eth0 find[5748] 11 /proc/sys/net/ipv4/neigh/eth1 find[5748] 10 /proc/sys/net/ipv4/neigh/lo find[5748] 10 /proc/sys/net/ipv6/conf/all find[5748] 10 /proc/sys/net/ipv6/conf/default find[5748] 10 /proc/sys/net/ipv6/conf/eth0 find[5748] 11 /proc/sys/net/ipv6/conf/eth1 find[5748] 10 /proc/sys/net/ipv6/conf/lo find[5748] 10 /proc/sys/net/ipv6/icmp find[5748] 10 /proc/sys/net/ipv6/neigh find[5748] 11 /proc/sys/net/ipv6/neigh/default find[5748] 11 /proc/sys/net/ipv6/neigh/eth0 find[5748] 10 /proc/sys/net/ipv6/neigh/eth1 find[5748] 10 /proc/sys/net/ipv6/neigh/lo find[5748] 10 /proc/sys/net/ipv6/route find[5748] 10 /proc/sys/net/netfilter/nf_log find[5748] 11 /proc/1/task/1/fd find[5748] 10 /proc/1/task/1/fdinfo find[5748] 10 /proc/1/task/1/net find[5748] 11 /proc/1/task/1/net/rpc find[5748] 11 /proc/1/task/1/net/rpc/nfsd.fh find[5748] 11 /proc/1/task/1/net/rpc/nfsd.export find[5748] 12 /proc/1/task/1/net/rpc/auth.unix.ip find[5748] 11 /proc/1/task/1/net/rpc/auth.unix.gid find[5748] 11 /proc/1/task/1/net/rpc/nfs4.idtoname find[5748] 11 /proc/1/task/1/net/rpc/nfs4.nametoid find[5748] 11 /proc/1/task/1/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1/task/1/net/rpc/auth.rpcsec.context find[5748] 11 /proc/1/task/1/net/stat find[5748] 10 /proc/1/task/1/net/dev_snmp6 find[5748] 10 /proc/1/task/1/net/netfilter find[5748] 10 /proc/1/fdinfo find[5748] 10 /proc/1/net/rpc/nfsd.fh find[5748] 10 /proc/1/net/rpc/nfsd.export find[5748] 10 /proc/1/net/rpc/auth.rpcsec.init find[5748] 10 /proc/2/task/2/ns find[5748] 10 /proc/2/task/2/net/rpc find[5748] 11 /proc/2/task/2/net/rpc/nfsd.fh find[5748] 11 /proc/2/task/2/net/rpc/nfsd.export find[5748] 11 /proc/2/task/2/net/rpc/auth.unix.ip find[5748] 11 /proc/2/task/2/net/rpc/auth.unix.gid find[5748] 11 /proc/2/task/2/net/rpc/nfs4.idtoname find[5748] 11 /proc/2/task/2/net/rpc/nfs4.nametoid find[5748] 11 /proc/2/task/2/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2/task/2/net/rpc/auth.rpcsec.context find[5748] 11 /proc/2/task/2/net/dev_snmp6 find[5748] 10 /proc/2/net/rpc/nfsd.fh find[5748] 21 /proc/2/net/rpc/nfsd.export find[5748] 10 /proc/3/task/3/net/rpc find[5748] 23 /proc/3/task/3/net/rpc/nfsd.fh find[5748] 11 /proc/3/task/3/net/rpc/nfsd.export find[5748] 11 /proc/3/task/3/net/rpc/auth.unix.ip find[5748] 12 /proc/3/task/3/net/rpc/auth.unix.gid find[5748] 11 /proc/3/task/3/net/rpc/nfs4.idtoname find[5748] 11 /proc/3/task/3/net/rpc/nfs4.nametoid find[5748] 11 /proc/3/task/3/net/rpc/auth.rpcsec.init find[5748] 11 /proc/3/task/3/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3/task/3/net/stat find[5748] 10 /proc/3/task/3/net/dev_snmp6 find[5748] 10 /proc/3/task/3/attr find[5748] 10 /proc/3/net/rpc/nfsd.fh find[5748] 10 /proc/3/net/rpc/auth.rpcsec.init find[5748] 10 /proc/3/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5/task/5/net/rpc find[5748] 11 /proc/5/task/5/net/rpc/nfsd.fh find[5748] 11 /proc/5/task/5/net/rpc/nfsd.export find[5748] 11 /proc/5/task/5/net/rpc/auth.unix.ip find[5748] 11 /proc/5/task/5/net/rpc/auth.unix.gid find[5748] 10 /proc/5/task/5/net/rpc/nfs4.idtoname find[5748] 11 /proc/5/task/5/net/rpc/nfs4.nametoid find[5748] 11 /proc/5/task/5/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5/task/5/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5/task/5/net/stat find[5748] 10 /proc/5/task/5/net/dev_snmp6 find[5748] 10 /proc/5/task/5/net/netfilter find[5748] 10 /proc/5/net/rpc/nfsd.export find[5748] 10 /proc/5/net/rpc/auth.rpcsec.init find[5748] 10 /proc/5/net/rpc/auth.rpcsec.context find[5748] 10 /proc/7/task/7/net find[5748] 10 /proc/7/task/7/net/rpc find[5748] 11 /proc/7/task/7/net/rpc/nfsd.fh find[5748] 12 /proc/7/task/7/net/rpc/nfsd.export find[5748] 11 /proc/7/task/7/net/rpc/auth.unix.ip find[5748] 11 /proc/7/task/7/net/rpc/auth.unix.gid find[5748] 10 /proc/7/task/7/net/rpc/nfs4.idtoname find[5748] 11 /proc/7/task/7/net/rpc/nfs4.nametoid find[5748] 11 /proc/7/task/7/net/rpc/auth.rpcsec.init find[5748] 11 /proc/7/task/7/net/rpc/auth.rpcsec.context find[5748] 10 /proc/7/task/7/net/stat find[5748] 10 /proc/7/task/7/net/dev_snmp6 find[5748] 10 /proc/7/task/7/net/netfilter find[5748] 10 /proc/7/task/7/attr find[5748] 10 /proc/7/net/rpc/nfsd.fh find[5748] 10 /proc/7/net/rpc/auth.rpcsec.init find[5748] 10 /proc/7/net/rpc/auth.rpcsec.context find[5748] 10 /proc/8/task/8/fd find[5748] 10 /proc/8/task/8/net/rpc find[5748] 12 /proc/8/task/8/net/rpc/nfsd.fh find[5748] 11 /proc/8/task/8/net/rpc/nfsd.export find[5748] 11 /proc/8/task/8/net/rpc/auth.unix.ip find[5748] 11 /proc/8/task/8/net/rpc/auth.unix.gid find[5748] 20 /proc/8/task/8/net/rpc/nfs4.idtoname find[5748] 11 /proc/8/task/8/net/rpc/nfs4.nametoid find[5748] 11 /proc/8/task/8/net/rpc/auth.rpcsec.init find[5748] 11 /proc/8/task/8/net/rpc/auth.rpcsec.context find[5748] 10 /proc/8/task/8/net/stat find[5748] 10 /proc/8/task/8/net/dev_snmp6 find[5748] 10 /proc/8/task/8/net/netfilter find[5748] 10 /proc/8/net/rpc/auth.unix.gid find[5748] 10 /proc/8/net/rpc/nfs4.idtoname find[5748] 10 /proc/8/net/rpc/auth.rpcsec.init find[5748] 10 /proc/9/task/9/net/rpc find[5748] 10 /proc/9/task/9/net/rpc/nfsd.fh find[5748] 11 /proc/9/task/9/net/rpc/nfsd.export find[5748] 11 /proc/9/task/9/net/rpc/auth.unix.ip find[5748] 11 /proc/9/task/9/net/rpc/auth.unix.gid find[5748] 11 /proc/9/task/9/net/rpc/nfs4.idtoname find[5748] 10 /proc/9/task/9/net/rpc/nfs4.nametoid find[5748] 11 /proc/9/task/9/net/rpc/auth.rpcsec.init find[5748] 12 /proc/9/task/9/net/rpc/auth.rpcsec.context find[5748] 10 /proc/9/task/9/net/stat find[5748] 10 /proc/9/task/9/net/dev_snmp6 find[5748] 10 /proc/9/net/rpc/nfsd.fh find[5748] 10 /proc/9/net/rpc/auth.unix.ip find[5748] 10 /proc/9/net/rpc/auth.rpcsec.init find[5748] 10 /proc/9/net/rpc/auth.rpcsec.context find[5748] 10 /proc/10/task/10/net/rpc find[5748] 11 /proc/10/task/10/net/rpc/nfsd.fh find[5748] 11 /proc/10/task/10/net/rpc/nfsd.export find[5748] 11 /proc/10/task/10/net/rpc/auth.unix.ip find[5748] 11 /proc/10/task/10/net/rpc/auth.unix.gid find[5748] 11 /proc/10/task/10/net/rpc/nfs4.idtoname find[5748] 10 /proc/10/task/10/net/rpc/nfs4.nametoid find[5748] 12 /proc/10/task/10/net/rpc/auth.rpcsec.init find[5748] 11 /proc/10/task/10/net/rpc/auth.rpcsec.context find[5748] 10 /proc/10/task/10/net/stat find[5748] 10 /proc/10/task/10/net/dev_snmp6 find[5748] 10 /proc/10/task/10/attr find[5748] 10 /proc/10/net/rpc/auth.rpcsec.init find[5748] 10 /proc/10/net/rpc/auth.rpcsec.context find[5748] 10 /proc/11/task/11/net/rpc find[5748] 10 /proc/11/task/11/net/rpc/nfsd.fh find[5748] 11 /proc/11/task/11/net/rpc/nfsd.export find[5748] 12 /proc/11/task/11/net/rpc/auth.unix.ip find[5748] 11 /proc/11/task/11/net/rpc/auth.unix.gid find[5748] 11 /proc/11/task/11/net/rpc/nfs4.idtoname find[5748] 10 /proc/11/task/11/net/rpc/nfs4.nametoid find[5748] 11 /proc/11/task/11/net/rpc/auth.rpcsec.init find[5748] 12 /proc/11/task/11/net/rpc/auth.rpcsec.context find[5748] 10 /proc/11/task/11/net/stat find[5748] 10 /proc/11/task/11/net/dev_snmp6 find[5748] 10 /proc/11/task/11/net/netfilter find[5748] 10 /proc/11/net/rpc/auth.rpcsec.init find[5748] 10 /proc/12/task/12/fd find[5748] 10 /proc/12/task/12/fdinfo find[5748] 10 /proc/12/task/12/net/rpc find[5748] 11 /proc/12/task/12/net/rpc/nfsd.fh find[5748] 11 /proc/12/task/12/net/rpc/nfsd.export find[5748] 12 /proc/12/task/12/net/rpc/auth.unix.ip find[5748] 12 /proc/12/task/12/net/rpc/auth.unix.gid find[5748] 11 /proc/12/task/12/net/rpc/nfs4.idtoname find[5748] 11 /proc/12/task/12/net/rpc/nfs4.nametoid find[5748] 12 /proc/12/task/12/net/rpc/auth.rpcsec.init find[5748] 12 /proc/12/task/12/net/rpc/auth.rpcsec.context find[5748] 10 /proc/12/task/12/net/dev_snmp6 find[5748] 10 /proc/12/net/rpc/nfsd.fh find[5748] 10 /proc/12/net/rpc/auth.unix.ip find[5748] 10 /proc/13/task/13/net/rpc find[5748] 11 /proc/13/task/13/net/rpc/nfsd.fh find[5748] 11 /proc/13/task/13/net/rpc/nfsd.export find[5748] 11 /proc/13/task/13/net/rpc/auth.unix.ip find[5748] 11 /proc/13/task/13/net/rpc/auth.unix.gid find[5748] 11 /proc/13/task/13/net/rpc/nfs4.idtoname find[5748] 10 /proc/13/task/13/net/rpc/nfs4.nametoid find[5748] 11 /proc/13/task/13/net/rpc/auth.rpcsec.init find[5748] 11 /proc/13/task/13/net/rpc/auth.rpcsec.context find[5748] 10 /proc/13/task/13/net/stat find[5748] 10 /proc/13/task/13/net/dev_snmp6 find[5748] 10 /proc/13/task/13/net/netfilter find[5748] 10 /proc/13/net/rpc/nfs4.idtoname find[5748] 10 /proc/13/net/rpc/auth.rpcsec.context find[5748] 10 /proc/14/task/14/net/rpc find[5748] 11 /proc/14/task/14/net/rpc/nfsd.fh find[5748] 11 /proc/14/task/14/net/rpc/nfsd.export find[5748] 12 /proc/14/task/14/net/rpc/auth.unix.ip find[5748] 11 /proc/14/task/14/net/rpc/auth.unix.gid find[5748] 10 /proc/14/task/14/net/rpc/nfs4.idtoname find[5748] 11 /proc/14/task/14/net/rpc/nfs4.nametoid find[5748] 11 /proc/14/task/14/net/rpc/auth.rpcsec.init find[5748] 11 /proc/14/task/14/net/rpc/auth.rpcsec.context find[5748] 10 /proc/14/task/14/net/stat find[5748] 10 /proc/14/task/14/net/dev_snmp6 find[5748] 10 /proc/14/task/14/net/netfilter find[5748] 10 /proc/14/task/14/attr find[5748] 10 /proc/14/net/rpc/auth.unix.ip find[5748] 10 /proc/14/net/rpc/auth.rpcsec.context find[5748] 11 /proc/15/task/15/net/rpc/nfsd.fh find[5748] 11 /proc/15/task/15/net/rpc/nfsd.export find[5748] 11 /proc/15/task/15/net/rpc/auth.unix.ip find[5748] 11 /proc/15/task/15/net/rpc/auth.unix.gid find[5748] 10 /proc/15/task/15/net/rpc/nfs4.idtoname find[5748] 11 /proc/15/task/15/net/rpc/nfs4.nametoid find[5748] 11 /proc/15/task/15/net/rpc/auth.rpcsec.init find[5748] 11 /proc/15/task/15/net/rpc/auth.rpcsec.context find[5748] 10 /proc/15/task/15/net/stat find[5748] 10 /proc/15/task/15/net/dev_snmp6 find[5748] 10 /proc/15/task/15/net/netfilter find[5748] 10 /proc/15/task/15/attr find[5748] 10 /proc/15/net/rpc/auth.rpcsec.init find[5748] 10 /proc/16/task/16/fd find[5748] 10 /proc/16/task/16/fdinfo find[5748] 10 /proc/16/task/16/net/rpc find[5748] 11 /proc/16/task/16/net/rpc/nfsd.fh find[5748] 11 /proc/16/task/16/net/rpc/nfsd.export find[5748] 11 /proc/16/task/16/net/rpc/auth.unix.ip find[5748] 11 /proc/16/task/16/net/rpc/auth.unix.gid find[5748] 11 /proc/16/task/16/net/rpc/nfs4.idtoname find[5748] 11 /proc/16/task/16/net/rpc/nfs4.nametoid find[5748] 11 /proc/16/task/16/net/rpc/auth.rpcsec.init find[5748] 11 /proc/16/task/16/net/rpc/auth.rpcsec.context find[5748] 10 /proc/16/task/16/net/stat find[5748] 10 /proc/16/task/16/net/dev_snmp6 find[5748] 10 /proc/16/task/16/net/netfilter find[5748] 10 /proc/16/task/16/attr find[5748] 12 /proc/16/net/rpc/nfs4.idtoname find[5748] 11 /proc/16/net/rpc/nfs4.nametoid find[5748] 11 /proc/16/net/rpc/auth.rpcsec.init find[5748] 10 /proc/16/net/rpc/auth.rpcsec.context find[5748] 10 /proc/18/task/18/net/rpc find[5748] 11 /proc/18/task/18/net/rpc/nfsd.fh find[5748] 11 /proc/18/task/18/net/rpc/nfsd.export find[5748] 12 /proc/18/task/18/net/rpc/auth.unix.ip find[5748] 11 /proc/18/task/18/net/rpc/auth.unix.gid find[5748] 11 /proc/18/task/18/net/rpc/nfs4.idtoname find[5748] 10 /proc/18/task/18/net/rpc/nfs4.nametoid find[5748] 11 /proc/18/task/18/net/rpc/auth.rpcsec.init find[5748] 11 /proc/18/task/18/net/rpc/auth.rpcsec.context find[5748] 10 /proc/18/task/18/net/stat find[5748] 10 /proc/18/task/18/net/dev_snmp6 find[5748] 10 /proc/18/task/18/net/netfilter find[5748] 10 /proc/18/net/rpc/nfsd.export find[5748] 10 /proc/18/net/rpc/auth.unix.ip find[5748] 10 /proc/18/net/rpc/nfs4.idtoname find[5748] 10 /proc/18/net/rpc/auth.rpcsec.init find[5748] 10 /proc/18/net/rpc/auth.rpcsec.context find[5748] 10 /proc/19/task/19/fd find[5748] 10 /proc/19/task/19/net/rpc find[5748] 12 /proc/19/task/19/net/rpc/nfsd.fh find[5748] 11 /proc/19/task/19/net/rpc/nfsd.export find[5748] 12 /proc/19/task/19/net/rpc/auth.unix.ip find[5748] 12 /proc/19/task/19/net/rpc/auth.unix.gid find[5748] 11 /proc/19/task/19/net/rpc/nfs4.idtoname find[5748] 10 /proc/19/task/19/net/rpc/nfs4.nametoid find[5748] 11 /proc/19/task/19/net/rpc/auth.rpcsec.init find[5748] 11 /proc/19/task/19/net/rpc/auth.rpcsec.context find[5748] 10 /proc/19/task/19/net/stat find[5748] 10 /proc/19/task/19/net/dev_snmp6 find[5748] 10 /proc/19/task/19/net/netfilter find[5748] 10 /proc/19/net/rpc/nfsd.export find[5748] 10 /proc/19/net/rpc/auth.unix.gid find[5748] 10 /proc/19/net/rpc/auth.rpcsec.init find[5748] 10 /proc/20/task/20/net/rpc find[5748] 11 /proc/20/task/20/net/rpc/nfsd.fh find[5748] 11 /proc/20/task/20/net/rpc/nfsd.export find[5748] 11 /proc/20/task/20/net/rpc/auth.unix.ip find[5748] 11 /proc/20/task/20/net/rpc/auth.unix.gid find[5748] 11 /proc/20/task/20/net/rpc/nfs4.idtoname find[5748] 10 /proc/20/task/20/net/rpc/nfs4.nametoid find[5748] 11 /proc/20/task/20/net/rpc/auth.rpcsec.init find[5748] 12 /proc/20/task/20/net/rpc/auth.rpcsec.context find[5748] 10 /proc/20/task/20/net/stat find[5748] 10 /proc/20/task/20/net/dev_snmp6 find[5748] 10 /proc/20/task/20/net/netfilter find[5748] 10 /proc/20/task/20/attr find[5748] 313 /proc/20/net/rpc/nfs4.idtoname find[5748] 10 /proc/20/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21/task/21/fd find[5748] 11 /proc/21/task/21/net/rpc find[5748] 11 /proc/21/task/21/net/rpc/nfsd.fh find[5748] 11 /proc/21/task/21/net/rpc/nfsd.export find[5748] 11 /proc/21/task/21/net/rpc/auth.unix.ip find[5748] 11 /proc/21/task/21/net/rpc/auth.unix.gid find[5748] 10 /proc/21/task/21/net/rpc/nfs4.idtoname find[5748] 10 /proc/21/task/21/net/rpc/nfs4.nametoid find[5748] 11 /proc/21/task/21/net/rpc/auth.rpcsec.init find[5748] 10 /proc/21/task/21/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21/task/21/net/stat find[5748] 10 /proc/21/task/21/net/dev_snmp6 find[5748] 10 /proc/21/task/21/net/netfilter find[5748] 10 /proc/21/task/21/attr find[5748] 10 /proc/21/net/rpc/nfsd.export find[5748] 10 /proc/21/net/rpc/auth.unix.ip find[5748] 10 /proc/21/net/rpc/auth.rpcsec.context find[5748] 10 /proc/22/task/22/net/rpc find[5748] 11 /proc/22/task/22/net/rpc/nfsd.fh find[5748] 11 /proc/22/task/22/net/rpc/nfsd.export find[5748] 12 /proc/22/task/22/net/rpc/auth.unix.ip find[5748] 11 /proc/22/task/22/net/rpc/auth.unix.gid find[5748] 10 /proc/22/task/22/net/rpc/nfs4.idtoname find[5748] 10 /proc/22/task/22/net/rpc/nfs4.nametoid find[5748] 11 /proc/22/task/22/net/rpc/auth.rpcsec.init find[5748] 11 /proc/22/task/22/net/rpc/auth.rpcsec.context find[5748] 10 /proc/22/task/22/net/stat find[5748] 11 /proc/22/task/22/net/dev_snmp6 find[5748] 10 /proc/22/task/22/net/netfilter find[5748] 10 /proc/22/net/rpc/nfsd.fh find[5748] 10 /proc/22/net/rpc/auth.unix.ip find[5748] 10 /proc/22/net/rpc/auth.rpcsec.context find[5748] 11 /proc/24/task/24/net/rpc find[5748] 10 /proc/24/task/24/net/rpc/nfsd.fh find[5748] 11 /proc/24/task/24/net/rpc/nfsd.export find[5748] 11 /proc/24/task/24/net/rpc/auth.unix.ip find[5748] 11 /proc/24/task/24/net/rpc/auth.unix.gid find[5748] 11 /proc/24/task/24/net/rpc/nfs4.idtoname find[5748] 11 /proc/24/task/24/net/rpc/nfs4.nametoid find[5748] 11 /proc/24/task/24/net/rpc/auth.rpcsec.init find[5748] 12 /proc/24/task/24/net/rpc/auth.rpcsec.context find[5748] 10 /proc/24/task/24/net/stat find[5748] 10 /proc/24/task/24/net/dev_snmp6 find[5748] 10 /proc/24/net/rpc/nfsd.fh find[5748] 10 /proc/24/net/rpc/auth.rpcsec.context find[5748] 11 /proc/25/task/25/net/rpc find[5748] 11 /proc/25/task/25/net/rpc/nfsd.fh find[5748] 11 /proc/25/task/25/net/rpc/nfsd.export find[5748] 11 /proc/25/task/25/net/rpc/auth.unix.ip find[5748] 11 /proc/25/task/25/net/rpc/auth.unix.gid find[5748] 11 /proc/25/task/25/net/rpc/nfs4.idtoname find[5748] 11 /proc/25/task/25/net/rpc/nfs4.nametoid find[5748] 12 /proc/25/task/25/net/rpc/auth.rpcsec.init find[5748] 11 /proc/25/task/25/net/rpc/auth.rpcsec.context find[5748] 10 /proc/25/task/25/net/stat find[5748] 10 /proc/25/task/25/net/dev_snmp6 find[5748] 10 /proc/25/task/25/net/netfilter find[5748] 10 /proc/25/task/25/attr find[5748] 10 /proc/26/task/26/net/rpc find[5748] 11 /proc/26/task/26/net/rpc/nfsd.fh find[5748] 11 /proc/26/task/26/net/rpc/nfsd.export find[5748] 12 /proc/26/task/26/net/rpc/auth.unix.ip find[5748] 11 /proc/26/task/26/net/rpc/auth.unix.gid find[5748] 11 /proc/26/task/26/net/rpc/nfs4.idtoname find[5748] 10 /proc/26/task/26/net/rpc/nfs4.nametoid find[5748] 11 /proc/26/task/26/net/rpc/auth.rpcsec.init find[5748] 11 /proc/26/task/26/net/rpc/auth.rpcsec.context find[5748] 10 /proc/26/task/26/net/dev_snmp6 find[5748] 10 /proc/26/task/26/net/netfilter find[5748] 10 /proc/26/net/rpc/auth.rpcsec.context find[5748] 10 /proc/27/task/27/net/rpc find[5748] 11 /proc/27/task/27/net/rpc/nfsd.fh find[5748] 11 /proc/27/task/27/net/rpc/nfsd.export find[5748] 12 /proc/27/task/27/net/rpc/auth.unix.ip find[5748] 11 /proc/27/task/27/net/rpc/auth.unix.gid find[5748] 11 /proc/27/task/27/net/rpc/nfs4.idtoname find[5748] 11 /proc/27/task/27/net/rpc/nfs4.nametoid find[5748] 11 /proc/27/task/27/net/rpc/auth.rpcsec.init find[5748] 11 /proc/27/task/27/net/rpc/auth.rpcsec.context find[5748] 10 /proc/27/task/27/net/stat find[5748] 10 /proc/27/task/27/net/dev_snmp6 find[5748] 10 /proc/27/task/27/net/netfilter find[5748] 10 /proc/27/net/rpc/nfs4.idtoname find[5748] 216 /proc/28/task/28/fdinfo find[5748] 10 /proc/28/task/28/net/rpc find[5748] 10 /proc/28/task/28/net/rpc/nfsd.fh find[5748] 11 /proc/28/task/28/net/rpc/nfsd.export find[5748] 10 /proc/28/task/28/net/rpc/auth.unix.ip find[5748] 11 /proc/28/task/28/net/rpc/auth.unix.gid find[5748] 11 /proc/28/task/28/net/rpc/nfs4.idtoname find[5748] 11 /proc/28/task/28/net/rpc/nfs4.nametoid find[5748] 11 /proc/28/task/28/net/rpc/auth.rpcsec.init find[5748] 12 /proc/28/task/28/net/rpc/auth.rpcsec.context find[5748] 10 /proc/28/task/28/net/stat find[5748] 10 /proc/28/task/28/net/dev_snmp6 find[5748] 10 /proc/28/task/28/net/netfilter find[5748] 10 /proc/28/net/rpc/auth.rpcsec.init find[5748] 10 /proc/30/task/30/fd find[5748] 10 /proc/30/task/30/net/rpc find[5748] 11 /proc/30/task/30/net/rpc/nfsd.fh find[5748] 11 /proc/30/task/30/net/rpc/nfsd.export find[5748] 11 /proc/30/task/30/net/rpc/auth.unix.ip find[5748] 11 /proc/30/task/30/net/rpc/auth.unix.gid find[5748] 11 /proc/30/task/30/net/rpc/nfs4.idtoname find[5748] 11 /proc/30/task/30/net/rpc/nfs4.nametoid find[5748] 11 /proc/30/task/30/net/rpc/auth.rpcsec.init find[5748] 11 /proc/30/task/30/net/rpc/auth.rpcsec.context find[5748] 10 /proc/30/task/30/net/stat find[5748] 10 /proc/30/task/30/net/dev_snmp6 find[5748] 10 /proc/30/net/rpc/auth.rpcsec.init find[5748] 10 /proc/30/net/rpc/auth.rpcsec.context find[5748] 10 /proc/31/task/31/fdinfo find[5748] 10 /proc/31/task/31/net/rpc find[5748] 10 /proc/31/task/31/net/rpc/nfsd.fh find[5748] 11 /proc/31/task/31/net/rpc/nfsd.export find[5748] 11 /proc/31/task/31/net/rpc/auth.unix.ip find[5748] 11 /proc/31/task/31/net/rpc/auth.unix.gid find[5748] 11 /proc/31/task/31/net/rpc/nfs4.idtoname find[5748] 11 /proc/31/task/31/net/rpc/nfs4.nametoid find[5748] 11 /proc/31/task/31/net/rpc/auth.rpcsec.init find[5748] 11 /proc/31/task/31/net/rpc/auth.rpcsec.context find[5748] 10 /proc/31/task/31/net/stat find[5748] 10 /proc/31/task/31/net/dev_snmp6 find[5748] 10 /proc/31/task/31/net/netfilter find[5748] 10 /proc/31/net/rpc/nfsd.fh find[5748] 10 /proc/31/net/rpc/auth.unix.ip find[5748] 10 /proc/31/net/rpc/auth.rpcsec.init find[5748] 10 /proc/32/task/32/net/rpc find[5748] 11 /proc/32/task/32/net/rpc/nfsd.fh find[5748] 11 /proc/32/task/32/net/rpc/nfsd.export find[5748] 12 /proc/32/task/32/net/rpc/auth.unix.ip find[5748] 11 /proc/32/task/32/net/rpc/auth.unix.gid find[5748] 10 /proc/32/task/32/net/rpc/nfs4.idtoname find[5748] 10 /proc/32/task/32/net/rpc/nfs4.nametoid find[5748] 11 /proc/32/task/32/net/rpc/auth.rpcsec.init find[5748] 11 /proc/32/task/32/net/rpc/auth.rpcsec.context find[5748] 11 /proc/32/task/32/net/stat find[5748] 10 /proc/32/task/32/net/dev_snmp6 find[5748] 10 /proc/32/task/32/net/netfilter find[5748] 10 /proc/32/net/rpc/nfsd.fh find[5748] 10 /proc/32/net/rpc/auth.rpcsec.context find[5748] 10 /proc/33/task/33/fdinfo find[5748] 10 /proc/33/task/33/net/rpc find[5748] 66 /proc/33/task/33/net/rpc/nfsd.fh find[5748] 11 /proc/33/task/33/net/rpc/nfsd.export find[5748] 11 /proc/33/task/33/net/rpc/auth.unix.ip find[5748] 10 /proc/33/task/33/net/rpc/auth.unix.gid find[5748] 10 /proc/33/task/33/net/rpc/nfs4.idtoname find[5748] 10 /proc/33/task/33/net/rpc/nfs4.nametoid find[5748] 10 /proc/33/task/33/net/rpc/auth.rpcsec.init find[5748] 11 /proc/33/task/33/net/rpc/auth.rpcsec.context find[5748] 11 /proc/33/task/33/net/stat find[5748] 10 /proc/33/task/33/net/dev_snmp6 find[5748] 10 /proc/33/task/33/net/netfilter find[5748] 10 /proc/33/task/33/attr find[5748] 10 /proc/33/net/rpc/auth.rpcsec.init find[5748] 10 /proc/33/net/rpc/auth.rpcsec.context find[5748] 10 /proc/34/task/34/net/rpc find[5748] 11 /proc/34/task/34/net/rpc/nfsd.fh find[5748] 11 /proc/34/task/34/net/rpc/nfsd.export find[5748] 11 /proc/34/task/34/net/rpc/auth.unix.ip find[5748] 11 /proc/34/task/34/net/rpc/auth.unix.gid find[5748] 11 /proc/34/task/34/net/rpc/nfs4.idtoname find[5748] 10 /proc/34/task/34/net/rpc/nfs4.nametoid find[5748] 11 /proc/34/task/34/net/rpc/auth.rpcsec.init find[5748] 11 /proc/34/task/34/net/rpc/auth.rpcsec.context find[5748] 10 /proc/34/task/34/net/stat find[5748] 11 /proc/34/task/34/net/dev_snmp6 find[5748] 10 /proc/34/net/rpc/nfsd.fh find[5748] 10 /proc/34/net/rpc/auth.unix.gid find[5748] 10 /proc/34/net/rpc/auth.rpcsec.init find[5748] 10 /proc/34/net/rpc/auth.rpcsec.context find[5748] 11 /proc/36/task/36/net/rpc find[5748] 12 /proc/36/task/36/net/rpc/nfsd.fh find[5748] 11 /proc/36/task/36/net/rpc/nfsd.export find[5748] 11 /proc/36/task/36/net/rpc/auth.unix.ip find[5748] 11 /proc/36/task/36/net/rpc/auth.unix.gid find[5748] 10 /proc/36/task/36/net/rpc/nfs4.idtoname find[5748] 11 /proc/36/task/36/net/rpc/nfs4.nametoid find[5748] 10 /proc/36/task/36/net/rpc/auth.rpcsec.init find[5748] 11 /proc/36/task/36/net/rpc/auth.rpcsec.context find[5748] 10 /proc/36/task/36/net/stat find[5748] 10 /proc/36/task/36/net/dev_snmp6 find[5748] 10 /proc/36/task/36/net/netfilter find[5748] 10 /proc/36/net/rpc/auth.rpcsec.init find[5748] 10 /proc/37/task/37/net/rpc find[5748] 11 /proc/37/task/37/net/rpc/nfsd.fh find[5748] 11 /proc/37/task/37/net/rpc/nfsd.export find[5748] 11 /proc/37/task/37/net/rpc/auth.unix.ip find[5748] 11 /proc/37/task/37/net/rpc/auth.unix.gid find[5748] 10 /proc/37/task/37/net/rpc/nfs4.idtoname find[5748] 10 /proc/37/task/37/net/rpc/nfs4.nametoid find[5748] 11 /proc/37/task/37/net/rpc/auth.rpcsec.init find[5748] 11 /proc/37/task/37/net/rpc/auth.rpcsec.context find[5748] 10 /proc/37/task/37/net/stat find[5748] 10 /proc/37/task/37/net/netfilter find[5748] 10 /proc/37/net/rpc/nfsd.fh find[5748] 10 /proc/37/net/rpc/auth.unix.ip find[5748] 10 /proc/37/net/rpc/auth.unix.gid find[5748] 10 /proc/37/net/rpc/auth.rpcsec.context find[5748] 10 /proc/38/task/38/net/rpc find[5748] 11 /proc/38/task/38/net/rpc/nfsd.fh find[5748] 11 /proc/38/task/38/net/rpc/nfsd.export find[5748] 10 /proc/38/task/38/net/rpc/auth.unix.ip find[5748] 11 /proc/38/task/38/net/rpc/auth.unix.gid find[5748] 14 /proc/38/task/38/net/rpc/nfs4.idtoname find[5748] 11 /proc/38/task/38/net/rpc/nfs4.nametoid find[5748] 12 /proc/38/task/38/net/rpc/auth.rpcsec.init find[5748] 11 /proc/38/task/38/net/rpc/auth.rpcsec.context find[5748] 10 /proc/38/task/38/net/stat find[5748] 10 /proc/38/task/38/net/dev_snmp6 find[5748] 10 /proc/38/task/38/net/netfilter find[5748] 10 /proc/38/task/38/attr find[5748] 300 /proc/39/task find[5748] 10 /proc/39/task/39/net/rpc find[5748] 11 /proc/39/task/39/net/rpc/nfsd.fh find[5748] 12 /proc/39/task/39/net/rpc/nfsd.export find[5748] 11 /proc/39/task/39/net/rpc/auth.unix.ip find[5748] 10 /proc/39/task/39/net/rpc/auth.unix.gid find[5748] 11 /proc/39/task/39/net/rpc/nfs4.idtoname find[5748] 11 /proc/39/task/39/net/rpc/nfs4.nametoid find[5748] 11 /proc/39/task/39/net/rpc/auth.rpcsec.init find[5748] 11 /proc/39/task/39/net/rpc/auth.rpcsec.context find[5748] 11 /proc/39/task/39/net/stat find[5748] 10 /proc/39/task/39/net/dev_snmp6 find[5748] 10 /proc/39/task/39/net/netfilter find[5748] 10 /proc/39/net/rpc/nfsd.export find[5748] 10 /proc/39/net/rpc/auth.rpcsec.context find[5748] 10 /proc/40/task/40/net/rpc find[5748] 11 /proc/40/task/40/net/rpc/nfsd.fh find[5748] 11 /proc/40/task/40/net/rpc/nfsd.export find[5748] 11 /proc/40/task/40/net/rpc/auth.unix.ip find[5748] 11 /proc/40/task/40/net/rpc/auth.unix.gid find[5748] 10 /proc/40/task/40/net/rpc/nfs4.idtoname find[5748] 10 /proc/40/task/40/net/rpc/nfs4.nametoid find[5748] 11 /proc/40/task/40/net/rpc/auth.rpcsec.init find[5748] 11 /proc/40/task/40/net/rpc/auth.rpcsec.context find[5748] 10 /proc/40/task/40/net/stat find[5748] 10 /proc/40/task/40/net/dev_snmp6 find[5748] 10 /proc/40/task/40/net/netfilter find[5748] 10 /proc/40/task/40/attr find[5748] 10 /proc/42/task/42/net/rpc find[5748] 10 /proc/42/task/42/net/rpc/nfsd.fh find[5748] 11 /proc/42/task/42/net/rpc/nfsd.export find[5748] 11 /proc/42/task/42/net/rpc/auth.unix.ip find[5748] 10 /proc/42/task/42/net/rpc/auth.unix.gid find[5748] 10 /proc/42/task/42/net/rpc/nfs4.idtoname find[5748] 10 /proc/42/task/42/net/rpc/nfs4.nametoid find[5748] 11 /proc/42/task/42/net/rpc/auth.rpcsec.init find[5748] 10 /proc/42/task/42/net/rpc/auth.rpcsec.context find[5748] 10 /proc/42/task/42/net/stat find[5748] 10 /proc/42/task/42/net/dev_snmp6 find[5748] 10 /proc/42/task/42/net/netfilter find[5748] 10 /proc/42/task/42/attr find[5748] 10 /proc/42/net/rpc/nfsd.export find[5748] 10 /proc/42/net/rpc/auth.rpcsec.init find[5748] 10 /proc/43/task/43/net/rpc find[5748] 11 /proc/43/task/43/net/rpc/nfsd.fh find[5748] 11 /proc/43/task/43/net/rpc/nfsd.export find[5748] 11 /proc/43/task/43/net/rpc/auth.unix.ip find[5748] 11 /proc/43/task/43/net/rpc/auth.unix.gid find[5748] 10 /proc/43/task/43/net/rpc/nfs4.idtoname find[5748] 10 /proc/43/task/43/net/rpc/nfs4.nametoid find[5748] 11 /proc/43/task/43/net/rpc/auth.rpcsec.init find[5748] 11 /proc/43/task/43/net/rpc/auth.rpcsec.context find[5748] 10 /proc/43/task/43/net/dev_snmp6 find[5748] 10 /proc/43/net/rpc/auth.rpcsec.init find[5748] 10 /proc/44/task/44/fd find[5748] 10 /proc/44/task/44/net/rpc find[5748] 11 /proc/44/task/44/net/rpc/nfsd.fh find[5748] 11 /proc/44/task/44/net/rpc/nfsd.export find[5748] 11 /proc/44/task/44/net/rpc/auth.unix.ip find[5748] 10 /proc/44/task/44/net/rpc/auth.unix.gid find[5748] 10 /proc/44/task/44/net/rpc/nfs4.idtoname find[5748] 10 /proc/44/task/44/net/rpc/nfs4.nametoid find[5748] 11 /proc/44/task/44/net/rpc/auth.rpcsec.init find[5748] 11 /proc/44/task/44/net/rpc/auth.rpcsec.context find[5748] 10 /proc/44/task/44/net/stat find[5748] 10 /proc/44/task/44/net/dev_snmp6 find[5748] 10 /proc/44/net/rpc/auth.rpcsec.context find[5748] 10 /proc/45/task/45/fd find[5748] 10 /proc/45/task/45/net/rpc find[5748] 10 /proc/45/task/45/net/rpc/nfsd.fh find[5748] 11 /proc/45/task/45/net/rpc/nfsd.export find[5748] 11 /proc/45/task/45/net/rpc/auth.unix.ip find[5748] 11 /proc/45/task/45/net/rpc/auth.unix.gid find[5748] 10 /proc/45/task/45/net/rpc/nfs4.idtoname find[5748] 11 /proc/45/task/45/net/rpc/nfs4.nametoid find[5748] 10 /proc/45/task/45/net/rpc/auth.rpcsec.init find[5748] 11 /proc/45/task/45/net/rpc/auth.rpcsec.context find[5748] 264 /proc/45/task/45/net/stat find[5748] 10 /proc/45/task/45/net/dev_snmp6 find[5748] 10 /proc/45/task/45/net/netfilter find[5748] 10 /proc/45/task/45/attr find[5748] 10 /proc/45/net/rpc/auth.unix.ip find[5748] 10 /proc/45/net/rpc/auth.rpcsec.context find[5748] 10 /proc/46/task/46/net/rpc find[5748] 10 /proc/46/task/46/net/rpc/nfsd.fh find[5748] 10 /proc/46/task/46/net/rpc/nfsd.export find[5748] 11 /proc/46/task/46/net/rpc/auth.unix.ip find[5748] 11 /proc/46/task/46/net/rpc/auth.unix.gid find[5748] 10 /proc/46/task/46/net/rpc/nfs4.idtoname find[5748] 11 /proc/46/task/46/net/rpc/nfs4.nametoid find[5748] 11 /proc/46/task/46/net/rpc/auth.rpcsec.init find[5748] 11 /proc/46/task/46/net/rpc/auth.rpcsec.context find[5748] 10 /proc/46/task/46/net/stat find[5748] 10 /proc/46/task/46/net/dev_snmp6 find[5748] 10 /proc/46/task/46/net/netfilter find[5748] 10 /proc/46/net/rpc/auth.rpcsec.init find[5748] 10 /proc/49/task/49/net/rpc find[5748] 10 /proc/49/task/49/net/rpc/nfsd.fh find[5748] 11 /proc/49/task/49/net/rpc/nfsd.export find[5748] 11 /proc/49/task/49/net/rpc/auth.unix.ip find[5748] 11 /proc/49/task/49/net/rpc/auth.unix.gid find[5748] 11 /proc/49/task/49/net/rpc/nfs4.idtoname find[5748] 11 /proc/49/task/49/net/rpc/nfs4.nametoid find[5748] 10 /proc/49/task/49/net/rpc/auth.rpcsec.init find[5748] 10 /proc/49/task/49/net/rpc/auth.rpcsec.context find[5748] 10 /proc/49/task/49/net/stat find[5748] 10 /proc/49/task/49/net/dev_snmp6 find[5748] 11 /proc/49/task/49/net/netfilter find[5748] 10 /proc/49/net/rpc/nfsd.fh find[5748] 10 /proc/49/net/rpc/nfsd.export find[5748] 10 /proc/49/net/rpc/auth.rpcsec.context find[5748] 11 /proc/50/task/50/net/rpc/nfsd.fh find[5748] 11 /proc/50/task/50/net/rpc/nfsd.export find[5748] 11 /proc/50/task/50/net/rpc/auth.unix.ip find[5748] 11 /proc/50/task/50/net/rpc/auth.unix.gid find[5748] 10 /proc/50/task/50/net/rpc/nfs4.idtoname find[5748] 11 /proc/50/task/50/net/rpc/nfs4.nametoid find[5748] 11 /proc/50/task/50/net/rpc/auth.rpcsec.init find[5748] 11 /proc/50/task/50/net/rpc/auth.rpcsec.context find[5748] 10 /proc/50/task/50/net/netfilter find[5748] 10 /proc/51/task/51/fd find[5748] 10 /proc/51/task/51/net/rpc find[5748] 11 /proc/51/task/51/net/rpc/nfsd.fh find[5748] 11 /proc/51/task/51/net/rpc/nfsd.export find[5748] 11 /proc/51/task/51/net/rpc/auth.unix.ip find[5748] 11 /proc/51/task/51/net/rpc/auth.unix.gid find[5748] 10 /proc/51/task/51/net/rpc/nfs4.idtoname find[5748] 10 /proc/51/task/51/net/rpc/nfs4.nametoid find[5748] 11 /proc/51/task/51/net/rpc/auth.rpcsec.init find[5748] 11 /proc/51/task/51/net/rpc/auth.rpcsec.context find[5748] 10 /proc/51/task/51/net/stat find[5748] 10 /proc/51/task/51/attr find[5748] 10 /proc/51/net/rpc/nfsd.export find[5748] 10 /proc/52/task/52/fd find[5748] 10 /proc/52/task/52/net/rpc find[5748] 13 /proc/52/task/52/net/rpc/nfsd.fh find[5748] 11 /proc/52/task/52/net/rpc/nfsd.export find[5748] 12 /proc/52/task/52/net/rpc/auth.unix.ip find[5748] 11 /proc/52/task/52/net/rpc/auth.unix.gid find[5748] 11 /proc/52/task/52/net/rpc/nfs4.idtoname find[5748] 11 /proc/52/task/52/net/rpc/nfs4.nametoid find[5748] 11 /proc/52/task/52/net/rpc/auth.rpcsec.init find[5748] 11 /proc/52/task/52/net/rpc/auth.rpcsec.context find[5748] 10 /proc/52/task/52/net/stat find[5748] 10 /proc/52/net/rpc/auth.rpcsec.context find[5748] 10 /proc/55/task/55/fd find[5748] 10 /proc/55/task/55/net/rpc find[5748] 11 /proc/55/task/55/net/rpc/nfsd.fh find[5748] 11 /proc/55/task/55/net/rpc/nfsd.export find[5748] 11 /proc/55/task/55/net/rpc/auth.unix.ip find[5748] 11 /proc/55/task/55/net/rpc/auth.unix.gid find[5748] 10 /proc/55/task/55/net/rpc/nfs4.idtoname find[5748] 10 /proc/55/task/55/net/rpc/nfs4.nametoid find[5748] 10 /proc/55/task/55/net/rpc/auth.rpcsec.init find[5748] 11 /proc/55/task/55/net/rpc/auth.rpcsec.context find[5748] 10 /proc/55/task/55/net/stat find[5748] 10 /proc/55/task/55/net/dev_snmp6 find[5748] 10 /proc/55/task/55/net/netfilter find[5748] 10 /proc/56/task/56/fd find[5748] 10 /proc/56/task/56/net/rpc find[5748] 11 /proc/56/task/56/net/rpc/nfsd.fh find[5748] 11 /proc/56/task/56/net/rpc/nfsd.export find[5748] 11 /proc/56/task/56/net/rpc/auth.unix.ip find[5748] 11 /proc/56/task/56/net/rpc/auth.unix.gid find[5748] 11 /proc/56/task/56/net/rpc/nfs4.idtoname find[5748] 11 /proc/56/task/56/net/rpc/nfs4.nametoid find[5748] 11 /proc/56/task/56/net/rpc/auth.rpcsec.init find[5748] 11 /proc/56/task/56/net/rpc/auth.rpcsec.context find[5748] 10 /proc/56/task/56/net/stat find[5748] 11 /proc/56/task/56/net/dev_snmp6 find[5748] 10 /proc/56/task/56/net/netfilter find[5748] 10 /proc/56/net/rpc/auth.unix.ip find[5748] 10 /proc/57/task/57/net/rpc find[5748] 11 /proc/57/task/57/net/rpc/nfsd.fh find[5748] 11 /proc/57/task/57/net/rpc/nfsd.export find[5748] 11 /proc/57/task/57/net/rpc/auth.unix.ip find[5748] 11 /proc/57/task/57/net/rpc/auth.unix.gid find[5748] 11 /proc/57/task/57/net/rpc/nfs4.idtoname find[5748] 11 /proc/57/task/57/net/rpc/nfs4.nametoid find[5748] 11 /proc/57/task/57/net/rpc/auth.rpcsec.init find[5748] 11 /proc/57/task/57/net/rpc/auth.rpcsec.context find[5748] 10 /proc/57/task/57/net/stat find[5748] 11 /proc/57/task/57/net/dev_snmp6 find[5748] 10 /proc/57/task/57/net/netfilter find[5748] 10 /proc/57/net/rpc/nfsd.fh find[5748] 10 /proc/58/task/58/net/rpc find[5748] 11 /proc/58/task/58/net/rpc/nfsd.fh find[5748] 11 /proc/58/task/58/net/rpc/nfsd.export find[5748] 11 /proc/58/task/58/net/rpc/auth.unix.ip find[5748] 11 /proc/58/task/58/net/rpc/auth.unix.gid find[5748] 10 /proc/58/task/58/net/rpc/nfs4.idtoname find[5748] 10 /proc/58/task/58/net/rpc/nfs4.nametoid find[5748] 11 /proc/58/task/58/net/rpc/auth.rpcsec.init find[5748] 11 /proc/58/task/58/net/rpc/auth.rpcsec.context find[5748] 10 /proc/58/task/58/net/stat find[5748] 10 /proc/58/task/58/net/dev_snmp6 find[5748] 10 /proc/58/task/58/net/netfilter find[5748] 19 /proc/58/net/rpc/auth.unix.ip find[5748] 10 /proc/59/task/59/fdinfo find[5748] 10 /proc/59/task/59/net/rpc find[5748] 10 /proc/59/task/59/net/rpc/nfsd.fh find[5748] 11 /proc/59/task/59/net/rpc/nfsd.export find[5748] 11 /proc/59/task/59/net/rpc/auth.unix.ip find[5748] 10 /proc/59/task/59/net/rpc/auth.unix.gid find[5748] 11 /proc/59/task/59/net/rpc/nfs4.idtoname find[5748] 10 /proc/59/task/59/net/rpc/nfs4.nametoid find[5748] 11 /proc/59/task/59/net/rpc/auth.rpcsec.init find[5748] 11 /proc/59/task/59/net/rpc/auth.rpcsec.context find[5748] 10 /proc/59/task/59/net/stat find[5748] 10 /proc/59/task/59/net/dev_snmp6 find[5748] 10 /proc/59/task/59/net/netfilter find[5748] 11 /proc/60/task/60/net/rpc/nfsd.fh find[5748] 12 /proc/60/task/60/net/rpc/nfsd.export find[5748] 11 /proc/60/task/60/net/rpc/auth.unix.ip find[5748] 10 /proc/60/task/60/net/rpc/auth.unix.gid find[5748] 10 /proc/60/task/60/net/rpc/nfs4.idtoname find[5748] 10 /proc/60/task/60/net/rpc/nfs4.nametoid find[5748] 10 /proc/60/task/60/net/rpc/auth.rpcsec.init find[5748] 13 /proc/60/task/60/net/rpc/auth.rpcsec.context find[5748] 10 /proc/60/task/60/net/stat find[5748] 10 /proc/60/task/60/net/dev_snmp6 find[5748] 10 /proc/60/task/60/attr find[5748] 10 /proc/60/net/rpc/nfsd.export find[5748] 11 /proc/62/task/62/fd find[5748] 10 /proc/62/task/62/net/rpc find[5748] 10 /proc/62/task/62/net/rpc/nfsd.fh find[5748] 12 /proc/62/task/62/net/rpc/nfsd.export find[5748] 11 /proc/62/task/62/net/rpc/auth.unix.ip find[5748] 12 /proc/62/task/62/net/rpc/auth.unix.gid find[5748] 10 /proc/62/task/62/net/rpc/nfs4.idtoname find[5748] 10 /proc/62/task/62/net/rpc/nfs4.nametoid find[5748] 10 /proc/62/task/62/net/rpc/auth.rpcsec.init find[5748] 11 /proc/62/task/62/net/rpc/auth.rpcsec.context find[5748] 10 /proc/62/task/62/net/stat find[5748] 10 /proc/62/task/62/net/dev_snmp6 find[5748] 10 /proc/62/net/rpc/nfsd.fh find[5748] 10 /proc/62/net/rpc/nfsd.export find[5748] 10 /proc/62/net/rpc/auth.unix.ip find[5748] 10 /proc/63/task/63/fdinfo find[5748] 10 /proc/63/task/63/net/rpc find[5748] 11 /proc/63/task/63/net/rpc/nfsd.fh find[5748] 11 /proc/63/task/63/net/rpc/nfsd.export find[5748] 11 /proc/63/task/63/net/rpc/auth.unix.ip find[5748] 11 /proc/63/task/63/net/rpc/auth.unix.gid find[5748] 11 /proc/63/task/63/net/rpc/nfs4.idtoname find[5748] 10 /proc/63/task/63/net/rpc/nfs4.nametoid find[5748] 11 /proc/63/task/63/net/rpc/auth.rpcsec.init find[5748] 11 /proc/63/task/63/net/rpc/auth.rpcsec.context find[5748] 11 /proc/63/task/63/net/stat find[5748] 10 /proc/63/task/63/net/netfilter find[5748] 10 /proc/63/task/63/attr find[5748] 10 /proc/63/net/dev_snmp6 find[5748] 10 /proc/64/task/64/fd find[5748] 10 /proc/64/task/64/net/rpc find[5748] 11 /proc/64/task/64/net/rpc/nfsd.fh find[5748] 10 /proc/64/task/64/net/rpc/nfsd.export find[5748] 11 /proc/64/task/64/net/rpc/auth.unix.ip find[5748] 11 /proc/64/task/64/net/rpc/auth.unix.gid find[5748] 10 /proc/64/task/64/net/rpc/nfs4.idtoname find[5748] 10 /proc/64/task/64/net/rpc/nfs4.nametoid find[5748] 11 /proc/64/task/64/net/rpc/auth.rpcsec.init find[5748] 11 /proc/64/task/64/net/rpc/auth.rpcsec.context find[5748] 10 /proc/64/task/64/net/stat find[5748] 10 /proc/64/task/64/net/dev_snmp6 find[5748] 10 /proc/64/net/rpc/auth.rpcsec.init find[5748] 10 /proc/64/net/rpc/auth.rpcsec.context find[5748] 10 /proc/65/task/65/net/rpc find[5748] 10 /proc/65/task/65/net/rpc/nfsd.fh find[5748] 11 /proc/65/task/65/net/rpc/nfsd.export find[5748] 11 /proc/65/task/65/net/rpc/auth.unix.ip find[5748] 11 /proc/65/task/65/net/rpc/auth.unix.gid find[5748] 10 /proc/65/task/65/net/rpc/nfs4.idtoname find[5748] 10 /proc/65/task/65/net/rpc/nfs4.nametoid find[5748] 11 /proc/65/task/65/net/rpc/auth.rpcsec.init find[5748] 11 /proc/65/task/65/net/rpc/auth.rpcsec.context find[5748] 10 /proc/65/task/65/net/stat find[5748] 10 /proc/65/task/65/net/dev_snmp6 find[5748] 10 /proc/65/task/65/net/netfilter find[5748] 10 /proc/65/net/rpc/nfsd.fh find[5748] 10 /proc/65/net/rpc/auth.unix.ip find[5748] 20 /proc/65/net/rpc/auth.rpcsec.init find[5748] 10 /proc/65/net/rpc/auth.rpcsec.context find[5748] 10 /proc/66/task/66/fd find[5748] 10 /proc/66/task/66/net/rpc find[5748] 11 /proc/66/task/66/net/rpc/nfsd.fh find[5748] 11 /proc/66/task/66/net/rpc/nfsd.export find[5748] 11 /proc/66/task/66/net/rpc/auth.unix.ip find[5748] 11 /proc/66/task/66/net/rpc/auth.unix.gid find[5748] 11 /proc/66/task/66/net/rpc/nfs4.idtoname find[5748] 10 /proc/66/task/66/net/rpc/nfs4.nametoid find[5748] 11 /proc/66/task/66/net/rpc/auth.rpcsec.init find[5748] 12 /proc/66/task/66/net/rpc/auth.rpcsec.context find[5748] 10 /proc/66/task/66/net/stat find[5748] 10 /proc/66/task/66/net/dev_snmp6 find[5748] 10 /proc/66/task/66/net/netfilter find[5748] 17 /proc find[5748] 10 /proc/67/task/67/fdinfo find[5748] 10 /proc/67/task/67/net/rpc find[5748] 11 /proc/67/task/67/net/rpc/nfsd.fh find[5748] 11 /proc/67/task/67/net/rpc/nfsd.export find[5748] 11 /proc/67/task/67/net/rpc/auth.unix.ip find[5748] 11 /proc/67/task/67/net/rpc/auth.unix.gid find[5748] 11 /proc/67/task/67/net/rpc/nfs4.idtoname find[5748] 11 /proc/67/task/67/net/rpc/nfs4.nametoid find[5748] 10 /proc/67/task/67/net/rpc/auth.rpcsec.init find[5748] 11 /proc/67/task/67/net/rpc/auth.rpcsec.context find[5748] 10 /proc/67/task/67/net/stat find[5748] 10 /proc/67/task/67/net/dev_snmp6 find[5748] 10 /proc/67/task/67/net/netfilter find[5748] 10 /proc/67/net/rpc/auth.rpcsec.context find[5748] 11 /proc/68/task/68/net/rpc/nfsd.fh find[5748] 28 /proc/68/task/68/net/rpc/nfsd.export find[5748] 11 /proc/68/task/68/net/rpc/auth.unix.ip find[5748] 12 /proc/68/task/68/net/rpc/auth.unix.gid find[5748] 11 /proc/68/task/68/net/rpc/nfs4.idtoname find[5748] 11 /proc/68/task/68/net/rpc/nfs4.nametoid find[5748] 10 /proc/68/task/68/net/rpc/auth.rpcsec.init find[5748] 11 /proc/68/task/68/net/rpc/auth.rpcsec.context find[5748] 10 /proc/68/task/68/net/stat find[5748] 10 /proc/68/task/68/net/dev_snmp6 find[5748] 11 /proc/68/task/68/net/netfilter find[5748] 10 /proc/68/task/68/attr find[5748] 10 /proc/68/net/rpc/auth.rpcsec.context find[5748] 10 /proc/69/task/69/ns find[5748] 10 /proc/69/task/69/net/rpc find[5748] 11 /proc/69/task/69/net/rpc/nfsd.fh find[5748] 11 /proc/69/task/69/net/rpc/nfsd.export find[5748] 11 /proc/69/task/69/net/rpc/auth.unix.ip find[5748] 11 /proc/69/task/69/net/rpc/auth.unix.gid find[5748] 11 /proc/69/task/69/net/rpc/nfs4.idtoname find[5748] 11 /proc/69/task/69/net/rpc/nfs4.nametoid find[5748] 11 /proc/69/task/69/net/rpc/auth.rpcsec.init find[5748] 11 /proc/69/task/69/net/rpc/auth.rpcsec.context find[5748] 10 /proc/69/task/69/net/stat find[5748] 10 /proc/69/task/69/net/dev_snmp6 find[5748] 10 /proc/69/task/69/net/netfilter find[5748] 10 /proc/69/net/rpc/nfsd.export find[5748] 10 /proc/69/net/rpc/auth.unix.ip find[5748] 10 /proc/69/net/rpc/auth.rpcsec.context find[5748] 10 /proc/70/task/70/fdinfo find[5748] 10 /proc/70/task/70/net find[5748] 11 /proc/70/task/70/net/rpc/nfsd.fh find[5748] 11 /proc/70/task/70/net/rpc/nfsd.export find[5748] 11 /proc/70/task/70/net/rpc/auth.unix.ip find[5748] 11 /proc/70/task/70/net/rpc/auth.unix.gid find[5748] 11 /proc/70/task/70/net/rpc/nfs4.idtoname find[5748] 10 /proc/70/task/70/net/rpc/nfs4.nametoid find[5748] 11 /proc/70/task/70/net/rpc/auth.rpcsec.init find[5748] 12 /proc/70/task/70/net/rpc/auth.rpcsec.context find[5748] 10 /proc/70/task/70/net/stat find[5748] 10 /proc/70/task/70/net/dev_snmp6 find[5748] 10 /proc/70/net/rpc/nfsd.export find[5748] 10 /proc/72/task/72/net/rpc find[5748] 11 /proc/72/task/72/net/rpc/nfsd.fh find[5748] 11 /proc/72/task/72/net/rpc/nfsd.export find[5748] 11 /proc/72/task/72/net/rpc/auth.unix.ip find[5748] 11 /proc/72/task/72/net/rpc/auth.unix.gid find[5748] 10 /proc/72/task/72/net/rpc/nfs4.idtoname find[5748] 10 /proc/72/task/72/net/rpc/nfs4.nametoid find[5748] 11 /proc/72/task/72/net/rpc/auth.rpcsec.init find[5748] 11 /proc/72/task/72/net/rpc/auth.rpcsec.context find[5748] 10 /proc/72/task/72/net/stat find[5748] 10 /proc/72/task/72/net/dev_snmp6 find[5748] 10 /proc/72/task/72/net/netfilter find[5748] 10 /proc/72/task/72/attr find[5748] 19 /proc/72/net/rpc/nfsd.export find[5748] 10 /proc/72/net/rpc/auth.unix.ip find[5748] 10 /proc/73/task/73/net find[5748] 10 /proc/73/task/73/net/rpc find[5748] 11 /proc/73/task/73/net/rpc/nfsd.fh find[5748] 11 /proc/73/task/73/net/rpc/nfsd.export find[5748] 11 /proc/73/task/73/net/rpc/auth.unix.ip find[5748] 11 /proc/73/task/73/net/rpc/auth.unix.gid find[5748] 11 /proc/73/task/73/net/rpc/nfs4.idtoname find[5748] 11 /proc/73/task/73/net/rpc/nfs4.nametoid find[5748] 11 /proc/73/task/73/net/rpc/auth.rpcsec.init find[5748] 11 /proc/73/task/73/net/rpc/auth.rpcsec.context find[5748] 10 /proc/73/task/73/net/stat find[5748] 10 /proc/73/task/73/net/dev_snmp6 find[5748] 10 /proc/73/task/73/net/netfilter find[5748] 10 /proc/73/net/rpc/auth.rpcsec.init find[5748] 10 /proc/73/net/rpc/auth.rpcsec.context find[5748] 10 /proc/104/task/104/fd find[5748] 10 /proc/104/task/104/fdinfo find[5748] 10 /proc/104/task/104/net/rpc find[5748] 11 /proc/104/task/104/net/rpc/nfsd.fh find[5748] 11 /proc/104/task/104/net/rpc/nfsd.export find[5748] 11 /proc/104/task/104/net/rpc/auth.unix.ip find[5748] 11 /proc/104/task/104/net/rpc/auth.unix.gid find[5748] 11 /proc/104/task/104/net/rpc/nfs4.idtoname find[5748] 11 /proc/104/task/104/net/rpc/nfs4.nametoid find[5748] 11 /proc/104/task/104/net/rpc/auth.rpcsec.init find[5748] 11 /proc/104/task/104/net/rpc/auth.rpcsec.context find[5748] 10 /proc/104/task/104/net/stat find[5748] 315 /proc/104/task/104/net/dev_snmp6 find[5748] 10 /proc/104/task/104/net/netfilter find[5748] 10 /proc/104/net/rpc/auth.unix.gid find[5748] 10 /proc/104/net/rpc/auth.rpcsec.init find[5748] 10 /proc/105/task/105/net/rpc find[5748] 10 /proc/105/task/105/net/rpc/nfsd.fh find[5748] 11 /proc/105/task/105/net/rpc/nfsd.export find[5748] 10 /proc/105/task/105/net/rpc/auth.unix.ip find[5748] 11 /proc/105/task/105/net/rpc/auth.unix.gid find[5748] 11 /proc/105/task/105/net/rpc/nfs4.idtoname find[5748] 10 /proc/105/task/105/net/rpc/nfs4.nametoid find[5748] 11 /proc/105/task/105/net/rpc/auth.rpcsec.init find[5748] 11 /proc/105/task/105/net/rpc/auth.rpcsec.context find[5748] 10 /proc/105/task/105/net/dev_snmp6 find[5748] 10 /proc/105/task/105/net/netfilter find[5748] 10 /proc/150/task/150/fd find[5748] 10 /proc/150/task/150/net/rpc find[5748] 11 /proc/150/task/150/net/rpc/nfsd.fh find[5748] 11 /proc/150/task/150/net/rpc/nfsd.export find[5748] 11 /proc/150/task/150/net/rpc/auth.unix.ip find[5748] 11 /proc/150/task/150/net/rpc/auth.unix.gid find[5748] 10 /proc/150/task/150/net/rpc/nfs4.idtoname find[5748] 10 /proc/150/task/150/net/rpc/nfs4.nametoid find[5748] 12 /proc/150/task/150/net/rpc/auth.rpcsec.init find[5748] 12 /proc/150/task/150/net/rpc/auth.rpcsec.context find[5748] 10 /proc/150/task/150/net/stat find[5748] 10 /proc/150/task/150/net/netfilter find[5748] 10 /proc/150/net/rpc/auth.unix.ip find[5748] 10 /proc/153/task/153/fd find[5748] 11 /proc/153/task/153/net/rpc/nfsd.fh find[5748] 11 /proc/153/task/153/net/rpc/nfsd.export find[5748] 11 /proc/153/task/153/net/rpc/auth.unix.ip find[5748] 11 /proc/153/task/153/net/rpc/auth.unix.gid find[5748] 10 /proc/153/task/153/net/rpc/nfs4.idtoname find[5748] 10 /proc/153/task/153/net/rpc/nfs4.nametoid find[5748] 11 /proc/153/task/153/net/rpc/auth.rpcsec.init find[5748] 11 /proc/153/task/153/net/rpc/auth.rpcsec.context find[5748] 10 /proc/153/task/153/net/stat find[5748] 10 /proc/153/task/153/net/dev_snmp6 find[5748] 10 /proc/153/task/153/net/netfilter find[5748] 10 /proc/153/net/rpc/auth.unix.ip find[5748] 10 /proc/153/net/rpc/nfs4.idtoname find[5748] 10 /proc/153/net/rpc/auth.rpcsec.init find[5748] 10 /proc/154/task/154/net/rpc find[5748] 10 /proc/154/task/154/net/rpc/nfsd.fh find[5748] 11 /proc/154/task/154/net/rpc/nfsd.export find[5748] 11 /proc/154/task/154/net/rpc/auth.unix.ip find[5748] 11 /proc/154/task/154/net/rpc/auth.unix.gid find[5748] 11 /proc/154/task/154/net/rpc/nfs4.idtoname find[5748] 11 /proc/154/task/154/net/rpc/nfs4.nametoid find[5748] 11 /proc/154/task/154/net/rpc/auth.rpcsec.init find[5748] 11 /proc/154/task/154/net/rpc/auth.rpcsec.context find[5748] 10 /proc/154/task/154/net/stat find[5748] 10 /proc/154/task/154/net/dev_snmp6 find[5748] 10 /proc/154/net/rpc/nfs4.nametoid find[5748] 10 /proc/154/net/rpc/auth.rpcsec.init find[5748] 10 /proc/155/task/155/net find[5748] 10 /proc/155/task/155/net/rpc find[5748] 10 /proc/155/task/155/net/rpc/nfsd.fh find[5748] 11 /proc/155/task/155/net/rpc/nfsd.export find[5748] 11 /proc/155/task/155/net/rpc/auth.unix.ip find[5748] 10 /proc/155/task/155/net/rpc/auth.unix.gid find[5748] 10 /proc/155/task/155/net/rpc/nfs4.idtoname find[5748] 11 /proc/155/task/155/net/rpc/nfs4.nametoid find[5748] 11 /proc/155/task/155/net/rpc/auth.rpcsec.init find[5748] 11 /proc/155/task/155/net/rpc/auth.rpcsec.context find[5748] 10 /proc/155/task/155/net/stat find[5748] 10 /proc/155/task/155/net/dev_snmp6 find[5748] 10 /proc/155/task/155/net/netfilter find[5748] 10 /proc/155/net/rpc/nfsd.export find[5748] 10 /proc/155/net/rpc/auth.unix.gid find[5748] 10 /proc/156/task/156/net find[5748] 10 /proc/156/task/156/net/rpc find[5748] 10 /proc/156/task/156/net/rpc/nfsd.fh find[5748] 12 /proc/156/task/156/net/rpc/nfsd.export find[5748] 11 /proc/156/task/156/net/rpc/auth.unix.ip find[5748] 11 /proc/156/task/156/net/rpc/auth.unix.gid find[5748] 11 /proc/156/task/156/net/rpc/nfs4.idtoname find[5748] 11 /proc/156/task/156/net/rpc/nfs4.nametoid find[5748] 12 /proc/156/task/156/net/rpc/auth.rpcsec.init find[5748] 12 /proc/156/task/156/net/rpc/auth.rpcsec.context find[5748] 10 /proc/156/task/156/net/stat find[5748] 10 /proc/156/task/156/net/dev_snmp6 find[5748] 10 /proc/156/task/156/net/netfilter find[5748] 10 /proc/156/fdinfo find[5748] 10 /proc/156/net/rpc/nfsd.fh find[5748] 10 /proc/156/net/rpc/nfsd.export find[5748] 10 /proc/156/net/rpc/auth.unix.ip find[5748] 10 /proc/156/net/rpc/auth.rpcsec.init find[5748] 10 /proc/157/task/157/fd find[5748] 10 /proc/157/task/157/net find[5748] 10 /proc/157/task/157/net/rpc find[5748] 11 /proc/157/task/157/net/rpc/nfsd.fh find[5748] 10 /proc/157/task/157/net/rpc/nfsd.export find[5748] 11 /proc/157/task/157/net/rpc/auth.unix.ip find[5748] 11 /proc/157/task/157/net/rpc/auth.unix.gid find[5748] 11 /proc/157/task/157/net/rpc/nfs4.idtoname find[5748] 11 /proc/157/task/157/net/rpc/nfs4.nametoid find[5748] 11 /proc/157/task/157/net/rpc/auth.rpcsec.init find[5748] 11 /proc/157/task/157/net/rpc/auth.rpcsec.context find[5748] 10 /proc/157/task/157/net/stat find[5748] 10 /proc/157/task/157/net/dev_snmp6 find[5748] 10 /proc/157/task/157/net/netfilter find[5748] 10 /proc/158/task/158/net/rpc find[5748] 11 /proc/158/task/158/net/rpc/nfsd.fh find[5748] 11 /proc/158/task/158/net/rpc/nfsd.export find[5748] 11 /proc/158/task/158/net/rpc/auth.unix.ip find[5748] 10 /proc/158/task/158/net/rpc/auth.unix.gid find[5748] 11 /proc/158/task/158/net/rpc/nfs4.idtoname find[5748] 10 /proc/158/task/158/net/rpc/nfs4.nametoid find[5748] 11 /proc/158/task/158/net/rpc/auth.rpcsec.init find[5748] 12 /proc/158/task/158/net/rpc/auth.rpcsec.context find[5748] 10 /proc/158/task/158/net/stat find[5748] 10 /proc/158/task/158/net/dev_snmp6 find[5748] 10 /proc/159/task/159/net find[5748] 11 /proc/159/task/159/net/rpc find[5748] 11 /proc/159/task/159/net/rpc/nfsd.fh find[5748] 11 /proc/159/task/159/net/rpc/nfsd.export find[5748] 11 /proc/159/task/159/net/rpc/auth.unix.ip find[5748] 10 /proc/159/task/159/net/rpc/auth.unix.gid find[5748] 11 /proc/159/task/159/net/rpc/nfs4.idtoname find[5748] 11 /proc/159/task/159/net/rpc/nfs4.nametoid find[5748] 11 /proc/159/task/159/net/rpc/auth.rpcsec.init find[5748] 11 /proc/159/task/159/net/rpc/auth.rpcsec.context find[5748] 10 /proc/159/task/159/net/stat find[5748] 10 /proc/159/task/159/net/dev_snmp6 find[5748] 10 /proc/159/net/rpc/auth.rpcsec.context find[5748] 10 /proc/160/task/160/net/rpc find[5748] 10 /proc/160/task/160/net/rpc/nfsd.fh find[5748] 11 /proc/160/task/160/net/rpc/nfsd.export find[5748] 11 /proc/160/task/160/net/rpc/auth.unix.ip find[5748] 11 /proc/160/task/160/net/rpc/auth.unix.gid find[5748] 11 /proc/160/task/160/net/rpc/nfs4.idtoname find[5748] 11 /proc/160/task/160/net/rpc/nfs4.nametoid find[5748] 11 /proc/160/task/160/net/rpc/auth.rpcsec.init find[5748] 11 /proc/160/task/160/net/rpc/auth.rpcsec.context find[5748] 10 /proc/160/task/160/net/stat find[5748] 10 /proc/160/task/160/net/dev_snmp6 find[5748] 10 /proc/160/task/160/net/netfilter find[5748] 10 /proc/160/net/rpc/auth.rpcsec.context find[5748] 17 /proc/161/task/161 find[5748] 10 /proc/161/task/161/fd find[5748] 10 /proc/161/task/161/net/rpc find[5748] 11 /proc/161/task/161/net/rpc/nfsd.fh find[5748] 10 /proc/161/task/161/net/rpc/nfsd.export find[5748] 11 /proc/161/task/161/net/rpc/auth.unix.ip find[5748] 11 /proc/161/task/161/net/rpc/auth.unix.gid find[5748] 11 /proc/161/task/161/net/rpc/nfs4.idtoname find[5748] 10 /proc/161/task/161/net/rpc/nfs4.nametoid find[5748] 11 /proc/161/task/161/net/rpc/auth.rpcsec.init find[5748] 12 /proc/161/task/161/net/rpc/auth.rpcsec.context find[5748] 10 /proc/161/task/161/net/stat find[5748] 10 /proc/161/task/161/net/dev_snmp6 find[5748] 10 /proc/161/task/161/net/netfilter find[5748] 10 /proc/162/task/162/fd find[5748] 11 /proc/162/task/162/net/rpc/nfsd.fh find[5748] 11 /proc/162/task/162/net/rpc/nfsd.export find[5748] 11 /proc/162/task/162/net/rpc/auth.unix.ip find[5748] 10 /proc/162/task/162/net/rpc/auth.unix.gid find[5748] 10 /proc/162/task/162/net/rpc/nfs4.idtoname find[5748] 11 /proc/162/task/162/net/rpc/nfs4.nametoid find[5748] 11 /proc/162/task/162/net/rpc/auth.rpcsec.init find[5748] 11 /proc/162/task/162/net/rpc/auth.rpcsec.context find[5748] 10 /proc/162/task/162/net/stat find[5748] 10 /proc/162/net/rpc/auth.rpcsec.context find[5748] 10 /proc/163/task/163/fd find[5748] 10 /proc/163/task/163/fdinfo find[5748] 10 /proc/163/task/163/net/rpc find[5748] 11 /proc/163/task/163/net/rpc/nfsd.fh find[5748] 11 /proc/163/task/163/net/rpc/nfsd.export find[5748] 11 /proc/163/task/163/net/rpc/auth.unix.ip find[5748] 11 /proc/163/task/163/net/rpc/auth.unix.gid find[5748] 11 /proc/163/task/163/net/rpc/nfs4.idtoname find[5748] 11 /proc/163/task/163/net/rpc/nfs4.nametoid find[5748] 10 /proc/163/task/163/net/rpc/auth.rpcsec.init find[5748] 11 /proc/163/task/163/net/rpc/auth.rpcsec.context find[5748] 10 /proc/163/task/163/net/stat find[5748] 10 /proc/163/task/163/net/dev_snmp6 find[5748] 10 /proc/163/net/rpc/auth.unix.ip find[5748] 10 /proc/164/task/164/net/rpc find[5748] 11 /proc/164/task/164/net/rpc/nfsd.fh find[5748] 11 /proc/164/task/164/net/rpc/nfsd.export find[5748] 11 /proc/164/task/164/net/rpc/auth.unix.ip find[5748] 11 /proc/164/task/164/net/rpc/auth.unix.gid find[5748] 10 /proc/164/task/164/net/rpc/nfs4.idtoname find[5748] 10 /proc/164/task/164/net/rpc/nfs4.nametoid find[5748] 12 /proc/164/task/164/net/rpc/auth.rpcsec.init find[5748] 11 /proc/164/task/164/net/rpc/auth.rpcsec.context find[5748] 10 /proc/164/task/164/net/stat find[5748] 10 /proc/164/task/164/net/dev_snmp6 find[5748] 10 /proc/164/net/rpc/auth.unix.ip find[5748] 11 /proc/165/task/165/net/rpc find[5748] 11 /proc/165/task/165/net/rpc/nfsd.fh find[5748] 12 /proc/165/task/165/net/rpc/nfsd.export find[5748] 11 /proc/165/task/165/net/rpc/auth.unix.ip find[5748] 11 /proc/165/task/165/net/rpc/auth.unix.gid find[5748] 10 /proc/165/task/165/net/rpc/nfs4.idtoname find[5748] 10 /proc/165/task/165/net/rpc/nfs4.nametoid find[5748] 11 /proc/165/task/165/net/rpc/auth.rpcsec.init find[5748] 12 /proc/165/task/165/net/rpc/auth.rpcsec.context find[5748] 11 /proc/165/task/165/net/stat find[5748] 10 /proc/165/task/165/net/dev_snmp6 find[5748] 10 /proc/165/net/rpc/nfsd.export find[5748] 10 /proc/165/net/rpc/auth.unix.ip find[5748] 10 /proc/165/net/rpc/auth.rpcsec.init find[5748] 10 /proc/165/net/rpc/auth.rpcsec.context find[5748] 10 /proc/166/task/166/net/rpc find[5748] 11 /proc/166/task/166/net/rpc/nfsd.fh find[5748] 11 /proc/166/task/166/net/rpc/nfsd.export find[5748] 11 /proc/166/task/166/net/rpc/auth.unix.ip find[5748] 11 /proc/166/task/166/net/rpc/auth.unix.gid find[5748] 11 /proc/166/task/166/net/rpc/nfs4.idtoname find[5748] 10 /proc/166/task/166/net/rpc/nfs4.nametoid find[5748] 12 /proc/166/task/166/net/rpc/auth.rpcsec.init find[5748] 11 /proc/166/task/166/net/rpc/auth.rpcsec.context find[5748] 10 /proc/166/task/166/net/stat find[5748] 10 /proc/166/task/166/net/dev_snmp6 find[5748] 10 /proc/166/task/166/net/netfilter find[5748] 10 /proc/166/net/rpc/auth.rpcsec.context find[5748] 10 /proc/167/task/167/net/rpc find[5748] 11 /proc/167/task/167/net/rpc/nfsd.fh find[5748] 11 /proc/167/task/167/net/rpc/nfsd.export find[5748] 12 /proc/167/task/167/net/rpc/auth.unix.ip find[5748] 11 /proc/167/task/167/net/rpc/auth.unix.gid find[5748] 10 /proc/167/task/167/net/rpc/nfs4.idtoname find[5748] 11 /proc/167/task/167/net/rpc/nfs4.nametoid find[5748] 12 /proc/167/task/167/net/rpc/auth.rpcsec.init find[5748] 12 /proc/167/task/167/net/rpc/auth.rpcsec.context find[5748] 10 /proc/167/task/167/net/stat find[5748] 11 /proc/167/task/167/net/dev_snmp6 find[5748] 10 /proc/167/task/167/net/netfilter find[5748] 10 /proc/167/net/rpc/nfsd.export find[5748] 10 /proc/167/net/rpc/auth.rpcsec.init find[5748] 10 /proc/168/task/168/net/rpc find[5748] 10 /proc/168/task/168/net/rpc/nfsd.fh find[5748] 10 /proc/168/task/168/net/rpc/nfsd.export find[5748] 11 /proc/168/task/168/net/rpc/auth.unix.ip find[5748] 10 /proc/168/task/168/net/rpc/auth.unix.gid find[5748] 10 /proc/168/task/168/net/rpc/nfs4.idtoname find[5748] 10 /proc/168/task/168/net/rpc/nfs4.nametoid find[5748] 11 /proc/168/task/168/net/rpc/auth.rpcsec.init find[5748] 12 /proc/168/task/168/net/rpc/auth.rpcsec.context find[5748] 10 /proc/168/task/168/net/stat find[5748] 10 /proc/168/task/168/net/dev_snmp6 find[5748] 10 /proc/168/net/rpc/auth.unix.gid find[5748] 10 /proc/168/net/rpc/auth.rpcsec.init find[5748] 10 /proc/176/task/176/fd find[5748] 10 /proc/176/task/176/net/rpc find[5748] 10 /proc/176/task/176/net/rpc/nfsd.fh find[5748] 11 /proc/176/task/176/net/rpc/nfsd.export find[5748] 11 /proc/176/task/176/net/rpc/auth.unix.ip find[5748] 11 /proc/176/task/176/net/rpc/auth.unix.gid find[5748] 10 /proc/176/task/176/net/rpc/nfs4.idtoname find[5748] 11 /proc/176/task/176/net/rpc/nfs4.nametoid find[5748] 11 /proc/176/task/176/net/rpc/auth.rpcsec.init find[5748] 11 /proc/176/task/176/net/rpc/auth.rpcsec.context find[5748] 10 /proc/176/task/176/net/stat find[5748] 10 /proc/176/task/176/net/dev_snmp6 find[5748] 10 /proc/176/task/176/net/netfilter find[5748] 10 /proc/177/task/177/net/rpc find[5748] 13 /proc/177/task/177/net/rpc/nfsd.fh find[5748] 11 /proc/177/task/177/net/rpc/nfsd.export find[5748] 11 /proc/177/task/177/net/rpc/auth.unix.ip find[5748] 11 /proc/177/task/177/net/rpc/auth.unix.gid find[5748] 11 /proc/177/task/177/net/rpc/nfs4.idtoname find[5748] 10 /proc/177/task/177/net/rpc/nfs4.nametoid find[5748] 11 /proc/177/task/177/net/rpc/auth.rpcsec.init find[5748] 11 /proc/177/task/177/net/rpc/auth.rpcsec.context find[5748] 10 /proc/177/task/177/net/stat find[5748] 10 /proc/177/task/177/net/dev_snmp6 find[5748] 10 /proc/177/task/177/net/netfilter find[5748] 11 /proc/177/net/rpc/auth.unix.gid find[5748] 10 /proc/177/net/rpc/auth.rpcsec.init find[5748] 10 /proc/178/task/178/fd find[5748] 11 /proc/178/task/178/net/rpc find[5748] 11 /proc/178/task/178/net/rpc/nfsd.fh find[5748] 11 /proc/178/task/178/net/rpc/nfsd.export find[5748] 12 /proc/178/task/178/net/rpc/auth.unix.ip find[5748] 11 /proc/178/task/178/net/rpc/auth.unix.gid find[5748] 10 /proc/178/task/178/net/rpc/nfs4.idtoname find[5748] 10 /proc/178/task/178/net/rpc/nfs4.nametoid find[5748] 11 /proc/178/task/178/net/rpc/auth.rpcsec.init find[5748] 12 /proc/178/task/178/net/rpc/auth.rpcsec.context find[5748] 11 /proc/178/task/178/net/dev_snmp6 find[5748] 11 /proc/188/task/188/net/rpc find[5748] 11 /proc/188/task/188/net/rpc/nfsd.fh find[5748] 12 /proc/188/task/188/net/rpc/nfsd.export find[5748] 11 /proc/188/task/188/net/rpc/auth.unix.ip find[5748] 11 /proc/188/task/188/net/rpc/auth.unix.gid find[5748] 10 /proc/188/task/188/net/rpc/nfs4.idtoname find[5748] 10 /proc/188/task/188/net/rpc/nfs4.nametoid find[5748] 10 /proc/188/task/188/net/rpc/auth.rpcsec.init find[5748] 11 /proc/188/task/188/net/rpc/auth.rpcsec.context find[5748] 10 /proc/188/task/188/net/stat find[5748] 11 /proc/188/task/188/net/dev_snmp6 find[5748] 10 /proc/188/task/188/attr find[5748] 10 /proc/189/task/189/fd find[5748] 10 /proc/189/task/189/fdinfo find[5748] 10 /proc/189/task/189/net/rpc find[5748] 11 /proc/189/task/189/net/rpc/nfsd.fh find[5748] 11 /proc/189/task/189/net/rpc/nfsd.export find[5748] 11 /proc/189/task/189/net/rpc/auth.unix.ip find[5748] 11 /proc/189/task/189/net/rpc/auth.unix.gid find[5748] 10 /proc/189/task/189/net/rpc/nfs4.idtoname find[5748] 10 /proc/189/task/189/net/rpc/nfs4.nametoid find[5748] 10 /proc/189/task/189/net/rpc/auth.rpcsec.init find[5748] 12 /proc/189/task/189/net/rpc/auth.rpcsec.context find[5748] 10 /proc/189/task/189/net/stat find[5748] 10 /proc/189/task/189/net/dev_snmp6 find[5748] 11 /proc/189/task/189/net/netfilter find[5748] 10 /proc/189/net/rpc/auth.rpcsec.init find[5748] 20 /proc/189/net/dev_snmp6 find[5748] 10 /proc/191/task/191/net/rpc find[5748] 11 /proc/191/task/191/net/rpc/nfsd.fh find[5748] 11 /proc/191/task/191/net/rpc/nfsd.export find[5748] 11 /proc/191/task/191/net/rpc/auth.unix.ip find[5748] 11 /proc/191/task/191/net/rpc/auth.unix.gid find[5748] 11 /proc/191/task/191/net/rpc/nfs4.idtoname find[5748] 11 /proc/191/task/191/net/rpc/nfs4.nametoid find[5748] 11 /proc/191/task/191/net/rpc/auth.rpcsec.init find[5748] 11 /proc/191/task/191/net/rpc/auth.rpcsec.context find[5748] 10 /proc/191/task/191/net/stat find[5748] 10 /proc/191/task/191/net/dev_snmp6 find[5748] 10 /proc/191/task/191/net/netfilter find[5748] 10 /proc/191/task/191/attr find[5748] 289 /proc/191/net/rpc/nfs4.nametoid find[5748] 10 /proc/191/net/rpc/auth.rpcsec.init find[5748] 10 /proc/191/net/rpc/auth.rpcsec.context find[5748] 10 /proc/198/task/198/net/rpc find[5748] 11 /proc/198/task/198/net/rpc/nfsd.fh find[5748] 11 /proc/198/task/198/net/rpc/nfsd.export find[5748] 11 /proc/198/task/198/net/rpc/auth.unix.ip find[5748] 11 /proc/198/task/198/net/rpc/auth.unix.gid find[5748] 11 /proc/198/task/198/net/rpc/nfs4.idtoname find[5748] 10 /proc/198/task/198/net/rpc/nfs4.nametoid find[5748] 11 /proc/198/task/198/net/rpc/auth.rpcsec.init find[5748] 11 /proc/198/task/198/net/rpc/auth.rpcsec.context find[5748] 10 /proc/198/task/198/net/stat find[5748] 10 /proc/198/task/198/net/dev_snmp6 find[5748] 10 /proc/198/task/198/net/netfilter find[5748] 10 /proc/266/task/266/fdinfo find[5748] 10 /proc/266/task/266/net find[5748] 10 /proc/266/task/266/net/rpc find[5748] 11 /proc/266/task/266/net/rpc/nfsd.fh find[5748] 11 /proc/266/task/266/net/rpc/nfsd.export find[5748] 10 /proc/266/task/266/net/rpc/auth.unix.ip find[5748] 11 /proc/266/task/266/net/rpc/auth.unix.gid find[5748] 10 /proc/266/task/266/net/rpc/nfs4.idtoname find[5748] 10 /proc/266/task/266/net/rpc/nfs4.nametoid find[5748] 11 /proc/266/task/266/net/rpc/auth.rpcsec.init find[5748] 11 /proc/266/task/266/net/rpc/auth.rpcsec.context find[5748] 10 /proc/266/task/266/net/dev_snmp6 find[5748] 10 /proc/266/net/rpc/nfsd.export find[5748] 10 /proc/266/net/rpc/auth.rpcsec.context find[5748] 10 /proc/420/task/420/net find[5748] 10 /proc/420/task/420/net/rpc find[5748] 11 /proc/420/task/420/net/rpc/nfsd.fh find[5748] 10 /proc/420/task/420/net/rpc/nfsd.export find[5748] 10 /proc/420/task/420/net/rpc/auth.unix.ip find[5748] 11 /proc/420/task/420/net/rpc/auth.unix.gid find[5748] 12 /proc/420/task/420/net/rpc/nfs4.idtoname find[5748] 11 /proc/420/task/420/net/rpc/nfs4.nametoid find[5748] 11 /proc/420/task/420/net/rpc/auth.rpcsec.init find[5748] 11 /proc/420/task/420/net/rpc/auth.rpcsec.context find[5748] 10 /proc/420/task/420/net/stat find[5748] 10 /proc/420/task/420/net/dev_snmp6 find[5748] 11 /proc/420/task/420/net/netfilter find[5748] 10 /proc/420/net/rpc/nfsd.fh find[5748] 10 /proc/420/net/rpc/auth.unix.ip find[5748] 10 /proc/422/task/422/net/rpc find[5748] 10 /proc/422/task/422/net/rpc/nfsd.fh find[5748] 11 /proc/422/task/422/net/rpc/nfsd.export find[5748] 11 /proc/422/task/422/net/rpc/auth.unix.ip find[5748] 11 /proc/422/task/422/net/rpc/auth.unix.gid find[5748] 10 /proc/422/task/422/net/rpc/nfs4.idtoname find[5748] 11 /proc/422/task/422/net/rpc/nfs4.nametoid find[5748] 11 /proc/422/task/422/net/rpc/auth.rpcsec.init find[5748] 11 /proc/422/task/422/net/rpc/auth.rpcsec.context find[5748] 10 /proc/422/task/422/net/stat find[5748] 10 /proc/422/task/422/net/dev_snmp6 find[5748] 10 /proc/422/task/422/net/netfilter find[5748] 10 /proc/422/net/rpc/auth.unix.ip find[5748] 10 /proc/422/net/rpc/auth.rpcsec.init find[5748] 10 /proc/423/task/423/net/rpc find[5748] 10 /proc/423/task/423/net/rpc/nfsd.fh find[5748] 11 /proc/423/task/423/net/rpc/nfsd.export find[5748] 12 /proc/423/task/423/net/rpc/auth.unix.ip find[5748] 11 /proc/423/task/423/net/rpc/auth.unix.gid find[5748] 11 /proc/423/task/423/net/rpc/nfs4.idtoname find[5748] 11 /proc/423/task/423/net/rpc/nfs4.nametoid find[5748] 11 /proc/423/task/423/net/rpc/auth.rpcsec.init find[5748] 12 /proc/423/task/423/net/rpc/auth.rpcsec.context find[5748] 10 /proc/423/task/423/net/stat find[5748] 10 /proc/423/task/423/net/dev_snmp6 find[5748] 10 /proc/423/task/423/net/netfilter find[5748] 10 /proc/425/task/425/fdinfo find[5748] 10 /proc/425/task/425/net/rpc find[5748] 10 /proc/425/task/425/net/rpc/nfsd.fh find[5748] 11 /proc/425/task/425/net/rpc/nfsd.export find[5748] 11 /proc/425/task/425/net/rpc/auth.unix.ip find[5748] 11 /proc/425/task/425/net/rpc/auth.unix.gid find[5748] 10 /proc/425/task/425/net/rpc/nfs4.idtoname find[5748] 11 /proc/425/task/425/net/rpc/nfs4.nametoid find[5748] 11 /proc/425/task/425/net/rpc/auth.rpcsec.init find[5748] 12 /proc/425/task/425/net/rpc/auth.rpcsec.context find[5748] 10 /proc/425/task/425/net/dev_snmp6 find[5748] 10 /proc/425/task/425/net/netfilter find[5748] 11 /proc/425/net/rpc/auth.unix.gid find[5748] 10 /proc/425/net/rpc/auth.rpcsec.init find[5748] 10 /proc/425/net/rpc/auth.rpcsec.context find[5748] 10 /proc/426/task/426/fd find[5748] 10 /proc/426/task/426/net find[5748] 11 /proc/426/task/426/net/rpc find[5748] 11 /proc/426/task/426/net/rpc/nfsd.fh find[5748] 11 /proc/426/task/426/net/rpc/nfsd.export find[5748] 11 /proc/426/task/426/net/rpc/auth.unix.ip find[5748] 11 /proc/426/task/426/net/rpc/auth.unix.gid find[5748] 10 /proc/426/task/426/net/rpc/nfs4.idtoname find[5748] 11 /proc/426/task/426/net/rpc/nfs4.nametoid find[5748] 11 /proc/426/task/426/net/rpc/auth.rpcsec.init find[5748] 12 /proc/426/task/426/net/rpc/auth.rpcsec.context find[5748] 10 /proc/426/task/426/net/stat find[5748] 10 /proc/426/task/426/net/dev_snmp6 find[5748] 10 /proc/426/task/426/net/netfilter find[5748] 10 /proc/426/net/rpc/auth.unix.gid find[5748] 10 /proc/428/task/428/fd find[5748] 10 /proc/428/task/428/net/rpc find[5748] 11 /proc/428/task/428/net/rpc/nfsd.fh find[5748] 11 /proc/428/task/428/net/rpc/nfsd.export find[5748] 11 /proc/428/task/428/net/rpc/auth.unix.ip find[5748] 11 /proc/428/task/428/net/rpc/auth.unix.gid find[5748] 10 /proc/428/task/428/net/rpc/nfs4.idtoname find[5748] 10 /proc/428/task/428/net/rpc/nfs4.nametoid find[5748] 11 /proc/428/task/428/net/rpc/auth.rpcsec.init find[5748] 11 /proc/428/task/428/net/rpc/auth.rpcsec.context find[5748] 11 /proc/428/task/428/net/stat find[5748] 10 /proc/428/task/428/net/dev_snmp6 find[5748] 10 /proc/428/task/428/net/netfilter find[5748] 10 /proc/429/task/429/net find[5748] 11 /proc/429/task/429/net/rpc find[5748] 11 /proc/429/task/429/net/rpc/nfsd.fh find[5748] 10 /proc/429/task/429/net/rpc/nfsd.export find[5748] 11 /proc/429/task/429/net/rpc/auth.unix.ip find[5748] 11 /proc/429/task/429/net/rpc/auth.unix.gid find[5748] 11 /proc/429/task/429/net/rpc/nfs4.idtoname find[5748] 11 /proc/429/task/429/net/rpc/nfs4.nametoid find[5748] 11 /proc/429/task/429/net/rpc/auth.rpcsec.init find[5748] 11 /proc/429/task/429/net/rpc/auth.rpcsec.context find[5748] 10 /proc/429/task/429/net/stat find[5748] 10 /proc/429/task/429/net/dev_snmp6 find[5748] 10 /proc/429/task/429/net/netfilter find[5748] 10 /proc/432/task/432/fdinfo find[5748] 10 /proc/432/task/432/net/rpc find[5748] 10 /proc/432/task/432/net/rpc/nfsd.fh find[5748] 11 /proc/432/task/432/net/rpc/nfsd.export find[5748] 11 /proc/432/task/432/net/rpc/auth.unix.ip find[5748] 11 /proc/432/task/432/net/rpc/auth.unix.gid find[5748] 11 /proc/432/task/432/net/rpc/nfs4.idtoname find[5748] 10 /proc/432/task/432/net/rpc/nfs4.nametoid find[5748] 11 /proc/432/task/432/net/rpc/auth.rpcsec.init find[5748] 11 /proc/432/task/432/net/rpc/auth.rpcsec.context find[5748] 11 /proc/432/task/432/net/stat find[5748] 10 /proc/432/task/432/net/dev_snmp6 find[5748] 10 /proc/432/task/432/net/netfilter find[5748] 10 /proc/432/task/432/attr find[5748] 10 /proc/432/net/rpc/auth.rpcsec.init find[5748] 10 /proc/432/net/rpc/auth.rpcsec.context find[5748] 10 /proc/453/task/453/net find[5748] 11 /proc/453/task/453/net/rpc find[5748] 11 /proc/453/task/453/net/rpc/nfsd.fh find[5748] 10 /proc/453/task/453/net/rpc/nfsd.export find[5748] 12 /proc/453/task/453/net/rpc/auth.unix.ip find[5748] 12 /proc/453/task/453/net/rpc/auth.unix.gid find[5748] 11 /proc/453/task/453/net/rpc/nfs4.idtoname find[5748] 10 /proc/453/task/453/net/rpc/nfs4.nametoid find[5748] 11 /proc/453/task/453/net/rpc/auth.rpcsec.init find[5748] 11 /proc/453/task/453/net/rpc/auth.rpcsec.context find[5748] 10 /proc/453/task/453/net/stat find[5748] 11 /proc/453/task/453/net/dev_snmp6 find[5748] 10 /proc/453/task/453/net/netfilter find[5748] 10 /proc/453/net/rpc/nfsd.fh find[5748] 10 /proc/453/net/rpc/auth.rpcsec.init find[5748] 10 /proc/453/net/rpc/auth.rpcsec.context find[5748] 10 /proc/461/task/461/ns find[5748] 11 /proc/461/task/461/net/rpc find[5748] 11 /proc/461/task/461/net/rpc/nfsd.fh find[5748] 11 /proc/461/task/461/net/rpc/nfsd.export find[5748] 11 /proc/461/task/461/net/rpc/auth.unix.ip find[5748] 11 /proc/461/task/461/net/rpc/auth.unix.gid find[5748] 10 /proc/461/task/461/net/rpc/nfs4.idtoname find[5748] 10 /proc/461/task/461/net/rpc/nfs4.nametoid find[5748] 21 /proc/461/task/461/net/rpc/auth.rpcsec.init find[5748] 11 /proc/461/task/461/net/rpc/auth.rpcsec.context find[5748] 10 /proc/461/task/461/net/stat find[5748] 10 /proc/461/task/461/net/dev_snmp6 find[5748] 10 /proc/461/net/rpc/nfs4.nametoid find[5748] 10 /proc/461/net/rpc/auth.rpcsec.context find[5748] 10 /proc/521/task/521/net/rpc find[5748] 11 /proc/521/task/521/net/rpc/nfsd.fh find[5748] 11 /proc/521/task/521/net/rpc/nfsd.export find[5748] 11 /proc/521/task/521/net/rpc/auth.unix.ip find[5748] 11 /proc/521/task/521/net/rpc/auth.unix.gid find[5748] 11 /proc/521/task/521/net/rpc/nfs4.idtoname find[5748] 11 /proc/521/task/521/net/rpc/nfs4.nametoid find[5748] 10 /proc/521/task/521/net/rpc/auth.rpcsec.init find[5748] 11 /proc/521/task/521/net/rpc/auth.rpcsec.context find[5748] 10 /proc/521/task/521/net/stat find[5748] 10 /proc/521/task/521/net/dev_snmp6 find[5748] 10 /proc/521/net/rpc/auth.unix.ip find[5748] 10 /proc/521/net/rpc/auth.rpcsec.init find[5748] 10 /proc/522/task/522/fdinfo find[5748] 10 /proc/522/task/522/net/rpc find[5748] 11 /proc/522/task/522/net/rpc/nfsd.fh find[5748] 11 /proc/522/task/522/net/rpc/nfsd.export find[5748] 11 /proc/522/task/522/net/rpc/auth.unix.ip find[5748] 11 /proc/522/task/522/net/rpc/auth.unix.gid find[5748] 10 /proc/522/task/522/net/rpc/nfs4.idtoname find[5748] 10 /proc/522/task/522/net/rpc/nfs4.nametoid find[5748] 11 /proc/522/task/522/net/rpc/auth.rpcsec.init find[5748] 12 /proc/522/task/522/net/rpc/auth.rpcsec.context find[5748] 10 /proc/522/task/522/net/stat find[5748] 11 /proc/522/task/522/net/dev_snmp6 find[5748] 10 /proc/522/task/522/net/netfilter find[5748] 10 /proc/522/net/rpc/auth.unix.ip find[5748] 10 /proc/534/task/534/fd find[5748] 11 /proc/534/task/534/net/rpc/nfsd.fh find[5748] 11 /proc/534/task/534/net/rpc/nfsd.export find[5748] 11 /proc/534/task/534/net/rpc/auth.unix.ip find[5748] 11 /proc/534/task/534/net/rpc/auth.unix.gid find[5748] 11 /proc/534/task/534/net/rpc/nfs4.idtoname find[5748] 11 /proc/534/task/534/net/rpc/nfs4.nametoid find[5748] 10 /proc/534/task/534/net/rpc/auth.rpcsec.init find[5748] 11 /proc/534/task/534/net/rpc/auth.rpcsec.context find[5748] 10 /proc/534/task/534/net/stat find[5748] 10 /proc/534/task/534/net/dev_snmp6 find[5748] 10 /proc/534/task/534/net/netfilter find[5748] 10 /proc/535/task/535/fd find[5748] 10 /proc/535/task/535/net/rpc find[5748] 10 /proc/535/task/535/net/rpc/nfsd.fh find[5748] 11 /proc/535/task/535/net/rpc/nfsd.export find[5748] 11 /proc/535/task/535/net/rpc/auth.unix.ip find[5748] 11 /proc/535/task/535/net/rpc/auth.unix.gid find[5748] 11 /proc/535/task/535/net/rpc/nfs4.idtoname find[5748] 10 /proc/535/task/535/net/rpc/nfs4.nametoid find[5748] 10 /proc/535/task/535/net/rpc/auth.rpcsec.init find[5748] 12 /proc/535/task/535/net/rpc/auth.rpcsec.context find[5748] 11 /proc/535/task/535/net/stat find[5748] 10 /proc/535/task/535/net/dev_snmp6 find[5748] 10 /proc/535/task/535/net/netfilter find[5748] 10 /proc/535/net/rpc/nfsd.export find[5748] 10 /proc/535/net/rpc/auth.unix.ip find[5748] 10 /proc/535/net/rpc/auth.unix.gid find[5748] 20 /proc/535/net/stat find[5748] 20 /proc/548/task/548/net find[5748] 10 /proc/548/task/548/net/rpc find[5748] 10 /proc/548/task/548/net/rpc/nfsd.fh find[5748] 11 /proc/548/task/548/net/rpc/nfsd.export find[5748] 11 /proc/548/task/548/net/rpc/auth.unix.ip find[5748] 11 /proc/548/task/548/net/rpc/auth.unix.gid find[5748] 10 /proc/548/task/548/net/rpc/nfs4.idtoname find[5748] 11 /proc/548/task/548/net/rpc/nfs4.nametoid find[5748] 12 /proc/548/task/548/net/rpc/auth.rpcsec.init find[5748] 11 /proc/548/task/548/net/rpc/auth.rpcsec.context find[5748] 11 /proc/548/task/548/net/stat find[5748] 10 /proc/548/task/548/net/dev_snmp6 find[5748] 11 /proc/548/task/548/net/netfilter find[5748] 10 /proc/548/net/rpc/nfsd.export find[5748] 10 /proc/548/net/rpc/auth.rpcsec.init find[5748] 12 /proc/549/task/549/net/rpc find[5748] 11 /proc/549/task/549/net/rpc/nfsd.fh find[5748] 11 /proc/549/task/549/net/rpc/nfsd.export find[5748] 11 /proc/549/task/549/net/rpc/auth.unix.ip find[5748] 10 /proc/549/task/549/net/rpc/auth.unix.gid find[5748] 12 /proc/549/task/549/net/rpc/nfs4.idtoname find[5748] 11 /proc/549/task/549/net/rpc/nfs4.nametoid find[5748] 11 /proc/549/task/549/net/rpc/auth.rpcsec.init find[5748] 12 /proc/549/task/549/net/rpc/auth.rpcsec.context find[5748] 10 /proc/549/task/549/net/stat find[5748] 10 /proc/549/task/549/net/dev_snmp6 find[5748] 10 /proc/549/task/549/net/netfilter find[5748] 10 /proc/549/net/rpc/nfs4.nametoid find[5748] 10 /proc/549/net/rpc/auth.rpcsec.init find[5748] 10 /proc/549/net/rpc/auth.rpcsec.context find[5748] 10 /proc/550/task/550/fd find[5748] 11 /proc/550/task/550/net/rpc find[5748] 11 /proc/550/task/550/net/rpc/nfsd.fh find[5748] 11 /proc/550/task/550/net/rpc/nfsd.export find[5748] 11 /proc/550/task/550/net/rpc/auth.unix.ip find[5748] 11 /proc/550/task/550/net/rpc/auth.unix.gid find[5748] 11 /proc/550/task/550/net/rpc/nfs4.idtoname find[5748] 11 /proc/550/task/550/net/rpc/nfs4.nametoid find[5748] 12 /proc/550/task/550/net/rpc/auth.rpcsec.init find[5748] 11 /proc/550/task/550/net/rpc/auth.rpcsec.context find[5748] 10 /proc/550/task/550/net/stat find[5748] 11 /proc/550/task/550/net/dev_snmp6 find[5748] 10 /proc/550/task/550/net/netfilter find[5748] 10 /proc/550/net/rpc/nfsd.export find[5748] 10 /proc/550/net/rpc/nfs4.idtoname find[5748] 10 /proc/551/task/551/fd find[5748] 11 /proc/551/task/551/net/rpc/nfsd.fh find[5748] 11 /proc/551/task/551/net/rpc/nfsd.export find[5748] 11 /proc/551/task/551/net/rpc/auth.unix.ip find[5748] 11 /proc/551/task/551/net/rpc/auth.unix.gid find[5748] 11 /proc/551/task/551/net/rpc/nfs4.idtoname find[5748] 10 /proc/551/task/551/net/rpc/nfs4.nametoid find[5748] 11 /proc/551/task/551/net/rpc/auth.rpcsec.init find[5748] 11 /proc/551/task/551/net/rpc/auth.rpcsec.context find[5748] 10 /proc/551/task/551/net/stat find[5748] 10 /proc/551/task/551/net/dev_snmp6 find[5748] 10 /proc/551/task/551/net/netfilter find[5748] 10 /proc/551/net/rpc/auth.rpcsec.context find[5748] 10 /proc/552/task/552/ns find[5748] 11 /proc/552/task/552/net/rpc find[5748] 11 /proc/552/task/552/net/rpc/nfsd.fh find[5748] 11 /proc/552/task/552/net/rpc/nfsd.export find[5748] 11 /proc/552/task/552/net/rpc/auth.unix.ip find[5748] 11 /proc/552/task/552/net/rpc/auth.unix.gid find[5748] 10 /proc/552/task/552/net/rpc/nfs4.idtoname find[5748] 10 /proc/552/task/552/net/rpc/nfs4.nametoid find[5748] 11 /proc/552/task/552/net/rpc/auth.rpcsec.init find[5748] 11 /proc/552/task/552/net/rpc/auth.rpcsec.context find[5748] 10 /proc/552/task/552/net/stat find[5748] 10 /proc/552/task/552/net/dev_snmp6 find[5748] 10 /proc/552/task/552/net/netfilter find[5748] 10 /proc/552/net/rpc/nfsd.export find[5748] 10 /proc/553/task/553/net/rpc find[5748] 11 /proc/553/task/553/net/rpc/nfsd.fh find[5748] 11 /proc/553/task/553/net/rpc/nfsd.export find[5748] 10 /proc/553/task/553/net/rpc/auth.unix.ip find[5748] 11 /proc/553/task/553/net/rpc/auth.unix.gid find[5748] 11 /proc/553/task/553/net/rpc/nfs4.idtoname find[5748] 11 /proc/553/task/553/net/rpc/nfs4.nametoid find[5748] 11 /proc/553/task/553/net/rpc/auth.rpcsec.init find[5748] 12 /proc/553/task/553/net/rpc/auth.rpcsec.context find[5748] 11 /proc/553/task/553/net/stat find[5748] 10 /proc/553/task/553/net/dev_snmp6 find[5748] 10 /proc/553/task/553/net/netfilter find[5748] 10 /proc/553/net/rpc/auth.rpcsec.init find[5748] 10 /proc/554/task/554/net find[5748] 10 /proc/554/task/554/net/rpc find[5748] 10 /proc/554/task/554/net/rpc/nfsd.fh find[5748] 12 /proc/554/task/554/net/rpc/nfsd.export find[5748] 11 /proc/554/task/554/net/rpc/auth.unix.ip find[5748] 11 /proc/554/task/554/net/rpc/auth.unix.gid find[5748] 11 /proc/554/task/554/net/rpc/nfs4.idtoname find[5748] 10 /proc/554/task/554/net/rpc/nfs4.nametoid find[5748] 11 /proc/554/task/554/net/rpc/auth.rpcsec.init find[5748] 11 /proc/554/task/554/net/rpc/auth.rpcsec.context find[5748] 10 /proc/554/task/554/net/stat find[5748] 10 /proc/554/task/554/net/dev_snmp6 find[5748] 10 /proc/554/task/554/net/netfilter find[5748] 10 /proc/554/net/rpc/nfsd.export find[5748] 10 /proc/554/net/rpc/auth.unix.gid find[5748] 10 /proc/554/net/rpc/auth.rpcsec.context find[5748] 11 /proc/555/task/555/net/rpc/nfsd.fh find[5748] 11 /proc/555/task/555/net/rpc/nfsd.export find[5748] 11 /proc/555/task/555/net/rpc/auth.unix.ip find[5748] 11 /proc/555/task/555/net/rpc/auth.unix.gid find[5748] 10 /proc/555/task/555/net/rpc/nfs4.idtoname find[5748] 10 /proc/555/task/555/net/rpc/nfs4.nametoid find[5748] 11 /proc/555/task/555/net/rpc/auth.rpcsec.init find[5748] 11 /proc/555/task/555/net/rpc/auth.rpcsec.context find[5748] 10 /proc/555/task/555/net/stat find[5748] 10 /proc/555/task/555/net/dev_snmp6 find[5748] 10 /proc/555/task/555/net/netfilter find[5748] 10 /proc/556/task/556/fd find[5748] 10 /proc/556/task/556/net/rpc find[5748] 10 /proc/556/task/556/net/rpc/nfsd.fh find[5748] 11 /proc/556/task/556/net/rpc/nfsd.export find[5748] 11 /proc/556/task/556/net/rpc/auth.unix.ip find[5748] 11 /proc/556/task/556/net/rpc/auth.unix.gid find[5748] 11 /proc/556/task/556/net/rpc/nfs4.idtoname find[5748] 11 /proc/556/task/556/net/rpc/nfs4.nametoid find[5748] 11 /proc/556/task/556/net/rpc/auth.rpcsec.init find[5748] 11 /proc/556/task/556/net/rpc/auth.rpcsec.context find[5748] 10 /proc/556/task/556/net/stat find[5748] 10 /proc/556/task/556/net/dev_snmp6 find[5748] 10 /proc/556/net/rpc/auth.unix.ip find[5748] 10 /proc/556/net/rpc/nfs4.idtoname find[5748] 10 /proc/556/net/rpc/nfs4.nametoid find[5748] 10 /proc/556/net/rpc/auth.rpcsec.init find[5748] 10 /proc/556/net/rpc/auth.rpcsec.context find[5748] 10 /proc/557/task/557/net/rpc find[5748] 11 /proc/557/task/557/net/rpc/nfsd.fh find[5748] 11 /proc/557/task/557/net/rpc/nfsd.export find[5748] 11 /proc/557/task/557/net/rpc/auth.unix.ip find[5748] 11 /proc/557/task/557/net/rpc/auth.unix.gid find[5748] 11 /proc/557/task/557/net/rpc/nfs4.idtoname find[5748] 10 /proc/557/task/557/net/rpc/nfs4.nametoid find[5748] 11 /proc/557/task/557/net/rpc/auth.rpcsec.init find[5748] 11 /proc/557/task/557/net/rpc/auth.rpcsec.context find[5748] 10 /proc/557/task/557/net/stat find[5748] 10 /proc/557/task/557/net/dev_snmp6 find[5748] 10 /proc/557/net/rpc/auth.unix.ip find[5748] 10 /proc/557/net/rpc/auth.rpcsec.context find[5748] 10 /proc/558/task/558/fd find[5748] 10 /proc/558/task/558/net find[5748] 10 /proc/558/task/558/net/rpc find[5748] 11 /proc/558/task/558/net/rpc/nfsd.fh find[5748] 11 /proc/558/task/558/net/rpc/nfsd.export find[5748] 12 /proc/558/task/558/net/rpc/auth.unix.ip find[5748] 11 /proc/558/task/558/net/rpc/auth.unix.gid find[5748] 11 /proc/558/task/558/net/rpc/nfs4.idtoname find[5748] 11 /proc/558/task/558/net/rpc/nfs4.nametoid find[5748] 12 /proc/558/task/558/net/rpc/auth.rpcsec.init find[5748] 12 /proc/558/task/558/net/rpc/auth.rpcsec.context find[5748] 10 /proc/558/task/558/net/stat find[5748] 10 /proc/558/task/558/net/dev_snmp6 find[5748] 10 /proc/558/task/558/net/netfilter find[5748] 10 /proc/558/net/rpc/auth.unix.ip find[5748] 10 /proc/558/net/rpc/nfs4.idtoname find[5748] 10 /proc/558/net/rpc/auth.rpcsec.context find[5748] 10 /proc/558/net/dev_snmp6 find[5748] 11 /proc/628/task/628/net/rpc find[5748] 11 /proc/628/task/628/net/rpc/nfsd.fh find[5748] 11 /proc/628/task/628/net/rpc/nfsd.export find[5748] 11 /proc/628/task/628/net/rpc/auth.unix.ip find[5748] 10 /proc/628/task/628/net/rpc/auth.unix.gid find[5748] 11 /proc/628/task/628/net/rpc/nfs4.idtoname find[5748] 11 /proc/628/task/628/net/rpc/nfs4.nametoid find[5748] 11 /proc/628/task/628/net/rpc/auth.rpcsec.init find[5748] 11 /proc/628/task/628/net/rpc/auth.rpcsec.context find[5748] 10 /proc/628/task/628/net/stat find[5748] 11 /proc/628/task/628/net/dev_snmp6 find[5748] 268 /proc/628/net find[5748] 10 /proc/628/net/rpc/auth.unix.ip find[5748] 10 /proc/628/net/rpc/nfs4.nametoid find[5748] 10 /proc/630/task/630/fd find[5748] 10 /proc/630/task/630/net/rpc find[5748] 11 /proc/630/task/630/net/rpc/nfsd.fh find[5748] 11 /proc/630/task/630/net/rpc/nfsd.export find[5748] 10 /proc/630/task/630/net/rpc/auth.unix.ip find[5748] 11 /proc/630/task/630/net/rpc/auth.unix.gid find[5748] 11 /proc/630/task/630/net/rpc/nfs4.idtoname find[5748] 10 /proc/630/task/630/net/rpc/nfs4.nametoid find[5748] 12 /proc/630/task/630/net/rpc/auth.rpcsec.init find[5748] 12 /proc/630/task/630/net/rpc/auth.rpcsec.context find[5748] 10 /proc/630/task/630/net/stat find[5748] 10 /proc/630/task/630/net/dev_snmp6 find[5748] 10 /proc/630/net/rpc/nfsd.export find[5748] 11 /proc/649/task/649/net/rpc/nfsd.fh find[5748] 10 /proc/649/task/649/net/rpc/nfsd.export find[5748] 11 /proc/649/task/649/net/rpc/auth.unix.ip find[5748] 11 /proc/649/task/649/net/rpc/auth.unix.gid find[5748] 11 /proc/649/task/649/net/rpc/nfs4.idtoname find[5748] 10 /proc/649/task/649/net/rpc/nfs4.nametoid find[5748] 11 /proc/649/task/649/net/rpc/auth.rpcsec.init find[5748] 11 /proc/649/task/649/net/rpc/auth.rpcsec.context find[5748] 10 /proc/649/task/649/net/stat find[5748] 10 /proc/649/task/649/net/dev_snmp6 find[5748] 10 /proc/649/task/649/net/netfilter find[5748] 10 /proc/664/task/664/ns find[5748] 10 /proc/664/task/664/net find[5748] 10 /proc/664/task/664/net/rpc find[5748] 11 /proc/664/task/664/net/rpc/nfsd.fh find[5748] 11 /proc/664/task/664/net/rpc/nfsd.export find[5748] 10 /proc/664/task/664/net/rpc/auth.unix.ip find[5748] 10 /proc/664/task/664/net/rpc/auth.unix.gid find[5748] 11 /proc/664/task/664/net/rpc/nfs4.idtoname find[5748] 10 /proc/664/task/664/net/rpc/nfs4.nametoid find[5748] 11 /proc/664/task/664/net/rpc/auth.rpcsec.init find[5748] 11 /proc/664/task/664/net/rpc/auth.rpcsec.context find[5748] 10 /proc/664/task/664/net/stat find[5748] 10 /proc/664/task/664/net/dev_snmp6 find[5748] 10 /proc/712/task/712/fd find[5748] 10 /proc/712/task/712/net/rpc find[5748] 11 /proc/712/task/712/net/rpc/nfsd.fh find[5748] 10 /proc/712/task/712/net/rpc/nfsd.export find[5748] 11 /proc/712/task/712/net/rpc/auth.unix.ip find[5748] 11 /proc/712/task/712/net/rpc/auth.unix.gid find[5748] 10 /proc/712/task/712/net/rpc/nfs4.idtoname find[5748] 11 /proc/712/task/712/net/rpc/nfs4.nametoid find[5748] 10 /proc/712/task/712/net/rpc/auth.rpcsec.init find[5748] 11 /proc/712/task/712/net/rpc/auth.rpcsec.context find[5748] 10 /proc/712/task/712/net/stat find[5748] 10 /proc/712/task/712/net/dev_snmp6 find[5748] 10 /proc/712/net/rpc/auth.unix.ip find[5748] 10 /proc/713/task/713/net/rpc find[5748] 11 /proc/713/task/713/net/rpc/nfsd.fh find[5748] 11 /proc/713/task/713/net/rpc/nfsd.export find[5748] 11 /proc/713/task/713/net/rpc/auth.unix.ip find[5748] 10 /proc/713/task/713/net/rpc/auth.unix.gid find[5748] 11 /proc/713/task/713/net/rpc/nfs4.idtoname find[5748] 10 /proc/713/task/713/net/rpc/nfs4.nametoid find[5748] 10 /proc/713/task/713/net/rpc/auth.rpcsec.init find[5748] 11 /proc/713/task/713/net/rpc/auth.rpcsec.context find[5748] 10 /proc/713/task/713/net/stat find[5748] 10 /proc/713/task/713/net/dev_snmp6 find[5748] 10 /proc/713/task/713/net/netfilter find[5748] 10 /proc/714/task/714/fd find[5748] 10 /proc/714/task/714/net/rpc find[5748] 11 /proc/714/task/714/net/rpc/nfsd.fh find[5748] 11 /proc/714/task/714/net/rpc/nfsd.export find[5748] 10 /proc/714/task/714/net/rpc/auth.unix.ip find[5748] 11 /proc/714/task/714/net/rpc/auth.unix.gid find[5748] 10 /proc/714/task/714/net/rpc/nfs4.idtoname find[5748] 11 /proc/714/task/714/net/rpc/nfs4.nametoid find[5748] 10 /proc/714/task/714/net/rpc/auth.rpcsec.init find[5748] 11 /proc/714/task/714/net/rpc/auth.rpcsec.context find[5748] 10 /proc/714/task/714/net/stat find[5748] 10 /proc/714/task/714/net/dev_snmp6 find[5748] 10 /proc/714/task/714/net/netfilter find[5748] 10 /proc/714/task/714/attr find[5748] 17 /proc/714/ns find[5748] 10 /proc/715/task/715/net find[5748] 10 /proc/715/task/715/net/rpc find[5748] 10 /proc/715/task/715/net/rpc/nfsd.fh find[5748] 11 /proc/715/task/715/net/rpc/nfsd.export find[5748] 11 /proc/715/task/715/net/rpc/auth.unix.ip find[5748] 10 /proc/715/task/715/net/rpc/auth.unix.gid find[5748] 11 /proc/715/task/715/net/rpc/nfs4.idtoname find[5748] 11 /proc/715/task/715/net/rpc/nfs4.nametoid find[5748] 11 /proc/715/task/715/net/rpc/auth.rpcsec.init find[5748] 11 /proc/715/task/715/net/rpc/auth.rpcsec.context find[5748] 10 /proc/715/task/715/net/stat find[5748] 10 /proc/715/task/715/net/dev_snmp6 find[5748] 10 /proc/715/net/rpc/nfs4.idtoname find[5748] 11 /proc/716/task/716/net/rpc/nfsd.fh find[5748] 11 /proc/716/task/716/net/rpc/nfsd.export find[5748] 11 /proc/716/task/716/net/rpc/auth.unix.ip find[5748] 10 /proc/716/task/716/net/rpc/auth.unix.gid find[5748] 10 /proc/716/task/716/net/rpc/nfs4.idtoname find[5748] 10 /proc/716/task/716/net/rpc/nfs4.nametoid find[5748] 11 /proc/716/task/716/net/rpc/auth.rpcsec.init find[5748] 11 /proc/716/task/716/net/rpc/auth.rpcsec.context find[5748] 10 /proc/716/task/716/net/dev_snmp6 find[5748] 10 /proc/716/task/716/net/netfilter find[5748] 20 /proc/717/task/717/fdinfo find[5748] 10 /proc/717/task/717/net/rpc find[5748] 11 /proc/717/task/717/net/rpc/nfsd.fh find[5748] 11 /proc/717/task/717/net/rpc/nfsd.export find[5748] 11 /proc/717/task/717/net/rpc/auth.unix.ip find[5748] 10 /proc/717/task/717/net/rpc/auth.unix.gid find[5748] 10 /proc/717/task/717/net/rpc/nfs4.idtoname find[5748] 10 /proc/717/task/717/net/rpc/nfs4.nametoid find[5748] 11 /proc/717/task/717/net/rpc/auth.rpcsec.init find[5748] 11 /proc/717/task/717/net/rpc/auth.rpcsec.context find[5748] 10 /proc/717/task/717/net/stat find[5748] 10 /proc/717/task/717/net/dev_snmp6 find[5748] 10 /proc/717/task/717/net/netfilter find[5748] 10 /proc/717/net/rpc/nfs4.idtoname find[5748] 10 /proc/717/net/rpc/auth.rpcsec.init find[5748] 10 /proc/721/task/721/net/rpc find[5748] 11 /proc/721/task/721/net/rpc/nfsd.fh find[5748] 11 /proc/721/task/721/net/rpc/nfsd.export find[5748] 11 /proc/721/task/721/net/rpc/auth.unix.ip find[5748] 11 /proc/721/task/721/net/rpc/auth.unix.gid find[5748] 10 /proc/721/task/721/net/rpc/nfs4.idtoname find[5748] 10 /proc/721/task/721/net/rpc/nfs4.nametoid find[5748] 21 /proc/721/task/721/net/rpc/auth.rpcsec.init find[5748] 12 /proc/721/task/721/net/rpc/auth.rpcsec.context find[5748] 10 /proc/721/task/721/net/stat find[5748] 10 /proc/721/task/721/net/dev_snmp6 find[5748] 10 /proc/721/net/rpc/auth.rpcsec.context find[5748] 17 /proc/722/task/722/ns find[5748] 10 /proc/722/task/722/net/rpc find[5748] 11 /proc/722/task/722/net/rpc/nfsd.fh find[5748] 11 /proc/722/task/722/net/rpc/nfsd.export find[5748] 11 /proc/722/task/722/net/rpc/auth.unix.ip find[5748] 11 /proc/722/task/722/net/rpc/auth.unix.gid find[5748] 11 /proc/722/task/722/net/rpc/nfs4.idtoname find[5748] 11 /proc/722/task/722/net/rpc/nfs4.nametoid find[5748] 11 /proc/722/task/722/net/rpc/auth.rpcsec.init find[5748] 11 /proc/722/task/722/net/rpc/auth.rpcsec.context find[5748] 10 /proc/722/task/722/net/dev_snmp6 find[5748] 10 /proc/722/task/722/net/netfilter find[5748] 10 /proc/722/net/rpc/auth.rpcsec.init find[5748] 10 /proc/722/net/rpc/auth.rpcsec.context find[5748] 10 /proc/731/task/731/net/rpc find[5748] 11 /proc/731/task/731/net/rpc/nfsd.fh find[5748] 11 /proc/731/task/731/net/rpc/nfsd.export find[5748] 11 /proc/731/task/731/net/rpc/auth.unix.ip find[5748] 11 /proc/731/task/731/net/rpc/auth.unix.gid find[5748] 10 /proc/731/task/731/net/rpc/nfs4.idtoname find[5748] 10 /proc/731/task/731/net/rpc/nfs4.nametoid find[5748] 11 /proc/731/task/731/net/rpc/auth.rpcsec.init find[5748] 12 /proc/731/task/731/net/rpc/auth.rpcsec.context find[5748] 10 /proc/731/task/731/net/stat find[5748] 10 /proc/731/task/731/net/dev_snmp6 find[5748] 10 /proc/732/task/732/net/rpc find[5748] 11 /proc/732/task/732/net/rpc/nfsd.fh find[5748] 10 /proc/732/task/732/net/rpc/nfsd.export find[5748] 11 /proc/732/task/732/net/rpc/auth.unix.ip find[5748] 11 /proc/732/task/732/net/rpc/auth.unix.gid find[5748] 11 /proc/732/task/732/net/rpc/nfs4.idtoname find[5748] 11 /proc/732/task/732/net/rpc/nfs4.nametoid find[5748] 12 /proc/732/task/732/net/rpc/auth.rpcsec.init find[5748] 12 /proc/732/task/732/net/rpc/auth.rpcsec.context find[5748] 10 /proc/732/task/732/net/stat find[5748] 10 /proc/732/task/732/net/dev_snmp6 find[5748] 10 /proc/732/net/rpc/auth.unix.ip find[5748] 10 /proc/732/net/rpc/auth.rpcsec.init find[5748] 10 /proc/732/net/rpc/auth.rpcsec.context find[5748] 10 /proc/739/task/739/net find[5748] 11 /proc/739/task/739/net/rpc find[5748] 11 /proc/739/task/739/net/rpc/nfsd.fh find[5748] 11 /proc/739/task/739/net/rpc/nfsd.export find[5748] 11 /proc/739/task/739/net/rpc/auth.unix.ip find[5748] 11 /proc/739/task/739/net/rpc/auth.unix.gid find[5748] 10 /proc/739/task/739/net/rpc/nfs4.idtoname find[5748] 10 /proc/739/task/739/net/rpc/nfs4.nametoid find[5748] 11 /proc/739/task/739/net/rpc/auth.rpcsec.init find[5748] 12 /proc/739/task/739/net/rpc/auth.rpcsec.context find[5748] 10 /proc/739/task/739/net/stat find[5748] 10 /proc/739/task/739/net/dev_snmp6 find[5748] 10 /proc/739/task/739/net/netfilter find[5748] 10 /proc/739/net/rpc/nfsd.export find[5748] 10 /proc/739/net/rpc/auth.unix.ip find[5748] 10 /proc/739/net/rpc/auth.rpcsec.context find[5748] 10 /proc/740/task/740/net/rpc find[5748] 11 /proc/740/task/740/net/rpc/nfsd.fh find[5748] 12 /proc/740/task/740/net/rpc/nfsd.export find[5748] 11 /proc/740/task/740/net/rpc/auth.unix.ip find[5748] 11 /proc/740/task/740/net/rpc/auth.unix.gid find[5748] 11 /proc/740/task/740/net/rpc/nfs4.idtoname find[5748] 10 /proc/740/task/740/net/rpc/nfs4.nametoid find[5748] 11 /proc/740/task/740/net/rpc/auth.rpcsec.init find[5748] 11 /proc/740/task/740/net/rpc/auth.rpcsec.context find[5748] 11 /proc/740/task/740/net/stat find[5748] 11 /proc/740/task/740/net/dev_snmp6 find[5748] 10 /proc/740/task/740/net/netfilter find[5748] 10 /proc/740/task/740/attr find[5748] 10 /proc/740/net/rpc/auth.rpcsec.init find[5748] 10 /proc/740/net/rpc/auth.rpcsec.context find[5748] 10 /proc/741/task/741/fd find[5748] 16 /proc/741/task/741/net/rpc find[5748] 13 /proc/741/task/741/net/rpc/nfsd.fh find[5748] 12 /proc/741/task/741/net/rpc/nfsd.export find[5748] 12 /proc/741/task/741/net/rpc/auth.unix.ip find[5748] 12 /proc/741/task/741/net/rpc/auth.unix.gid find[5748] 11 /proc/741/task/741/net/rpc/nfs4.idtoname find[5748] 10 /proc/741/task/741/net/rpc/nfs4.nametoid find[5748] 11 /proc/741/task/741/net/rpc/auth.rpcsec.init find[5748] 12 /proc/741/task/741/net/rpc/auth.rpcsec.context find[5748] 11 /proc/741/task/741/net/stat find[5748] 10 /proc/741/task/741/net/dev_snmp6 find[5748] 10 /proc/741/task/741/net/netfilter find[5748] 10 /proc/741/task/741/attr find[5748] 10 /proc/741/net/rpc/auth.rpcsec.init find[5748] 10 /proc/742/task/742/fdinfo find[5748] 10 /proc/742/task/742/net/rpc find[5748] 11 /proc/742/task/742/net/rpc/nfsd.fh find[5748] 11 /proc/742/task/742/net/rpc/nfsd.export find[5748] 11 /proc/742/task/742/net/rpc/auth.unix.ip find[5748] 11 /proc/742/task/742/net/rpc/auth.unix.gid find[5748] 11 /proc/742/task/742/net/rpc/nfs4.idtoname find[5748] 10 /proc/742/task/742/net/rpc/nfs4.nametoid find[5748] 11 /proc/742/task/742/net/rpc/auth.rpcsec.init find[5748] 12 /proc/742/task/742/net/rpc/auth.rpcsec.context find[5748] 10 /proc/742/task/742/net/stat find[5748] 10 /proc/742/task/742/net/dev_snmp6 find[5748] 12 /proc/742/task/742/net/netfilter find[5748] 10 /proc/742/task/742/attr find[5748] 10 /proc/742/net/rpc/auth.rpcsec.context find[5748] 10 /proc/743/task/743/ns find[5748] 11 /proc/743/task/743/net/rpc find[5748] 11 /proc/743/task/743/net/rpc/nfsd.fh find[5748] 11 /proc/743/task/743/net/rpc/nfsd.export find[5748] 11 /proc/743/task/743/net/rpc/auth.unix.ip find[5748] 11 /proc/743/task/743/net/rpc/auth.unix.gid find[5748] 10 /proc/743/task/743/net/rpc/nfs4.idtoname find[5748] 11 /proc/743/task/743/net/rpc/nfs4.nametoid find[5748] 11 /proc/743/task/743/net/rpc/auth.rpcsec.init find[5748] 11 /proc/743/task/743/net/rpc/auth.rpcsec.context find[5748] 10 /proc/743/task/743/net/stat find[5748] 10 /proc/743/task/743/net/dev_snmp6 find[5748] 10 /proc/743/task/743/net/netfilter find[5748] 10 /proc/743/net/rpc/auth.rpcsec.init find[5748] 10 /proc/743/net/rpc/auth.rpcsec.context find[5748] 10 /proc/744/task/744/net/rpc/nfsd.fh find[5748] 11 /proc/744/task/744/net/rpc/nfsd.export find[5748] 11 /proc/744/task/744/net/rpc/auth.unix.ip find[5748] 11 /proc/744/task/744/net/rpc/auth.unix.gid find[5748] 10 /proc/744/task/744/net/rpc/nfs4.idtoname find[5748] 11 /proc/744/task/744/net/rpc/nfs4.nametoid find[5748] 11 /proc/744/task/744/net/rpc/auth.rpcsec.init find[5748] 12 /proc/744/task/744/net/rpc/auth.rpcsec.context find[5748] 10 /proc/744/task/744/net/stat find[5748] 10 /proc/744/task/744/net/dev_snmp6 find[5748] 10 /proc/744/task/744/net/netfilter find[5748] 10 /proc/744/task/744/attr find[5748] 20 /proc/744/net/rpc/auth.rpcsec.context find[5748] 10 /proc/745/task/745/net/rpc find[5748] 11 /proc/745/task/745/net/rpc/nfsd.fh find[5748] 11 /proc/745/task/745/net/rpc/nfsd.export find[5748] 11 /proc/745/task/745/net/rpc/auth.unix.ip find[5748] 11 /proc/745/task/745/net/rpc/auth.unix.gid find[5748] 10 /proc/745/task/745/net/rpc/nfs4.idtoname find[5748] 10 /proc/745/task/745/net/rpc/nfs4.nametoid find[5748] 10 /proc/745/task/745/net/rpc/auth.rpcsec.init find[5748] 11 /proc/745/task/745/net/rpc/auth.rpcsec.context find[5748] 10 /proc/745/task/745/net/dev_snmp6 find[5748] 10 /proc/745/task/745/net/netfilter find[5748] 10 /proc/745/net/rpc/auth.rpcsec.context find[5748] 10 /proc/748/task/748/net/rpc find[5748] 10 /proc/748/task/748/net/rpc/nfsd.fh find[5748] 11 /proc/748/task/748/net/rpc/nfsd.export find[5748] 11 /proc/748/task/748/net/rpc/auth.unix.ip find[5748] 10 /proc/748/task/748/net/rpc/auth.unix.gid find[5748] 11 /proc/748/task/748/net/rpc/nfs4.idtoname find[5748] 11 /proc/748/task/748/net/rpc/nfs4.nametoid find[5748] 21 /proc/748/task/748/net/rpc/auth.rpcsec.init find[5748] 11 /proc/748/task/748/net/rpc/auth.rpcsec.context find[5748] 10 /proc/748/task/748/net/stat find[5748] 10 /proc/748/task/748/net/dev_snmp6 find[5748] 10 /proc/748/task/748/net/netfilter find[5748] 10 /proc/754/task/754/net/rpc find[5748] 10 /proc/754/task/754/net/rpc/nfsd.fh find[5748] 11 /proc/754/task/754/net/rpc/nfsd.export find[5748] 11 /proc/754/task/754/net/rpc/auth.unix.ip find[5748] 10 /proc/754/task/754/net/rpc/auth.unix.gid find[5748] 11 /proc/754/task/754/net/rpc/nfs4.idtoname find[5748] 11 /proc/754/task/754/net/rpc/nfs4.nametoid find[5748] 11 /proc/754/task/754/net/rpc/auth.rpcsec.init find[5748] 11 /proc/754/task/754/net/rpc/auth.rpcsec.context find[5748] 10 /proc/754/task/754/net/stat find[5748] 10 /proc/754/net/rpc/auth.rpcsec.init find[5748] 11 /proc/755/task/755/net/rpc find[5748] 11 /proc/755/task/755/net/rpc/nfsd.fh find[5748] 10 /proc/755/task/755/net/rpc/nfsd.export find[5748] 11 /proc/755/task/755/net/rpc/auth.unix.ip find[5748] 10 /proc/755/task/755/net/rpc/auth.unix.gid find[5748] 11 /proc/755/task/755/net/rpc/nfs4.idtoname find[5748] 10 /proc/755/task/755/net/rpc/nfs4.nametoid find[5748] 11 /proc/755/task/755/net/rpc/auth.rpcsec.init find[5748] 12 /proc/755/task/755/net/rpc/auth.rpcsec.context find[5748] 11 /proc/755/task/755/net/stat find[5748] 10 /proc/755/task/755/net/netfilter find[5748] 10 /proc/755/net/rpc/auth.rpcsec.init find[5748] 10 /proc/756/task/756/net/rpc find[5748] 11 /proc/756/task/756/net/rpc/nfsd.fh find[5748] 11 /proc/756/task/756/net/rpc/nfsd.export find[5748] 11 /proc/756/task/756/net/rpc/auth.unix.ip find[5748] 10 /proc/756/task/756/net/rpc/auth.unix.gid find[5748] 11 /proc/756/task/756/net/rpc/nfs4.idtoname find[5748] 11 /proc/756/task/756/net/rpc/nfs4.nametoid find[5748] 11 /proc/756/task/756/net/rpc/auth.rpcsec.init find[5748] 11 /proc/756/task/756/net/rpc/auth.rpcsec.context find[5748] 10 /proc/756/task/756/net/stat find[5748] 10 /proc/756/task/756/attr find[5748] 13 /proc/756/net/rpc/auth.unix.gid find[5748] 11 /proc/756/net/rpc/nfs4.idtoname find[5748] 10 /proc/756/net/rpc/nfs4.nametoid find[5748] 10 /proc/756/net/rpc/auth.rpcsec.context find[5748] 10 /proc/757/task/757/net find[5748] 11 /proc/757/task/757/net/rpc find[5748] 11 /proc/757/task/757/net/rpc/nfsd.fh find[5748] 11 /proc/757/task/757/net/rpc/nfsd.export find[5748] 11 /proc/757/task/757/net/rpc/auth.unix.ip find[5748] 12 /proc/757/task/757/net/rpc/auth.unix.gid find[5748] 11 /proc/757/task/757/net/rpc/nfs4.idtoname find[5748] 11 /proc/757/task/757/net/rpc/nfs4.nametoid find[5748] 12 /proc/757/task/757/net/rpc/auth.rpcsec.init find[5748] 11 /proc/757/task/757/net/rpc/auth.rpcsec.context find[5748] 11 /proc/757/task/757/net/stat find[5748] 11 /proc/757/task/757/net/dev_snmp6 find[5748] 11 /proc/757/task/757/net/netfilter find[5748] 10 /proc/757/task/757/attr find[5748] 10 /proc/757/net/rpc/auth.unix.gid find[5748] 10 /proc/757/net/rpc/nfs4.idtoname find[5748] 10 /proc/757/net/rpc/nfs4.nametoid find[5748] 10 /proc/758/task/758/fd find[5748] 10 /proc/758/task/758/net/rpc find[5748] 11 /proc/758/task/758/net/rpc/nfsd.fh find[5748] 11 /proc/758/task/758/net/rpc/nfsd.export find[5748] 11 /proc/758/task/758/net/rpc/auth.unix.ip find[5748] 11 /proc/758/task/758/net/rpc/auth.unix.gid find[5748] 11 /proc/758/task/758/net/rpc/nfs4.idtoname find[5748] 11 /proc/758/task/758/net/rpc/nfs4.nametoid find[5748] 11 /proc/758/task/758/net/rpc/auth.rpcsec.init find[5748] 12 /proc/758/task/758/net/rpc/auth.rpcsec.context find[5748] 10 /proc/758/task/758/net/stat find[5748] 10 /proc/758/task/758/net/dev_snmp6 find[5748] 11 /proc/758/task/758/net/netfilter find[5748] 10 /proc/758/task/758/attr find[5748] 10 /proc/758/net/rpc/nfs4.idtoname find[5748] 10 /proc/758/net/rpc/auth.rpcsec.init find[5748] 10 /proc/759/task/759/net/rpc find[5748] 11 /proc/759/task/759/net/rpc/nfsd.fh find[5748] 11 /proc/759/task/759/net/rpc/nfsd.export find[5748] 11 /proc/759/task/759/net/rpc/auth.unix.ip find[5748] 11 /proc/759/task/759/net/rpc/auth.unix.gid find[5748] 10 /proc/759/task/759/net/rpc/nfs4.idtoname find[5748] 11 /proc/759/task/759/net/rpc/nfs4.nametoid find[5748] 11 /proc/759/task/759/net/rpc/auth.rpcsec.init find[5748] 11 /proc/759/task/759/net/rpc/auth.rpcsec.context find[5748] 10 /proc/759/task/759/net/stat find[5748] 10 /proc/759/task/759/net/dev_snmp6 find[5748] 10 /proc/759/task/759/net/netfilter find[5748] 10 /proc/760/task/760/fd find[5748] 10 /proc/760/task/760/fdinfo find[5748] 10 /proc/760/task/760/net find[5748] 10 /proc/760/task/760/net/rpc find[5748] 11 /proc/760/task/760/net/rpc/nfsd.fh find[5748] 11 /proc/760/task/760/net/rpc/nfsd.export find[5748] 11 /proc/760/task/760/net/rpc/auth.unix.ip find[5748] 11 /proc/760/task/760/net/rpc/auth.unix.gid find[5748] 11 /proc/760/task/760/net/rpc/nfs4.idtoname find[5748] 11 /proc/760/task/760/net/rpc/nfs4.nametoid find[5748] 22 /proc/760/task/760/net/rpc/auth.rpcsec.init find[5748] 11 /proc/760/task/760/net/rpc/auth.rpcsec.context find[5748] 10 /proc/760/task/760/net/stat find[5748] 10 /proc/760/task/760/net/dev_snmp6 find[5748] 20 /proc/761/task/761/fdinfo find[5748] 10 /proc/761/task/761/net/rpc find[5748] 10 /proc/761/task/761/net/rpc/nfsd.fh find[5748] 11 /proc/761/task/761/net/rpc/nfsd.export find[5748] 11 /proc/761/task/761/net/rpc/auth.unix.ip find[5748] 11 /proc/761/task/761/net/rpc/auth.unix.gid find[5748] 11 /proc/761/task/761/net/rpc/nfs4.idtoname find[5748] 11 /proc/761/task/761/net/rpc/nfs4.nametoid find[5748] 11 /proc/761/task/761/net/rpc/auth.rpcsec.init find[5748] 11 /proc/761/task/761/net/rpc/auth.rpcsec.context find[5748] 10 /proc/761/task/761/net/stat find[5748] 10 /proc/761/task/761/net/dev_snmp6 find[5748] 10 /proc/761/task/761/net/netfilter find[5748] 10 /proc/761/task/761/attr find[5748] 10 /proc/761/net/rpc/auth.rpcsec.context find[5748] 10 /proc/785/task/785/net/rpc find[5748] 10 /proc/785/task/785/net/rpc/nfsd.fh find[5748] 11 /proc/785/task/785/net/rpc/nfsd.export find[5748] 11 /proc/785/task/785/net/rpc/auth.unix.ip find[5748] 11 /proc/785/task/785/net/rpc/auth.unix.gid find[5748] 10 /proc/785/task/785/net/rpc/nfs4.idtoname find[5748] 11 /proc/785/task/785/net/rpc/nfs4.nametoid find[5748] 11 /proc/785/task/785/net/rpc/auth.rpcsec.init find[5748] 12 /proc/785/task/785/net/rpc/auth.rpcsec.context find[5748] 10 /proc/785/task/785/net/stat find[5748] 10 /proc/785/task/785/net/dev_snmp6 find[5748] 10 /proc/785/task/788/fd find[5748] 10 /proc/785/task/788/fdinfo find[5748] 10 /proc/785/task/788/net/rpc find[5748] 11 /proc/785/task/788/net/rpc/nfsd.fh find[5748] 11 /proc/785/task/788/net/rpc/nfsd.export find[5748] 11 /proc/785/task/788/net/rpc/auth.unix.ip find[5748] 11 /proc/785/task/788/net/rpc/auth.unix.gid find[5748] 11 /proc/785/task/788/net/rpc/nfs4.idtoname find[5748] 11 /proc/785/task/788/net/rpc/nfs4.nametoid find[5748] 11 /proc/785/task/788/net/rpc/auth.rpcsec.init find[5748] 11 /proc/785/task/788/net/rpc/auth.rpcsec.context find[5748] 10 /proc/785/task/788/net/stat find[5748] 10 /proc/785/task/788/net/dev_snmp6 find[5748] 10 /proc/785/net/rpc/nfsd.export find[5748] 10 /proc/804/task/804/ns find[5748] 11 /proc/804/task/804/net/rpc find[5748] 11 /proc/804/task/804/net/rpc/nfsd.fh find[5748] 10 /proc/804/task/804/net/rpc/nfsd.export find[5748] 11 /proc/804/task/804/net/rpc/auth.unix.ip find[5748] 11 /proc/804/task/804/net/rpc/auth.unix.gid find[5748] 11 /proc/804/task/804/net/rpc/nfs4.idtoname find[5748] 11 /proc/804/task/804/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/804/net/rpc/auth.rpcsec.init find[5748] 11 /proc/804/task/804/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/804/net/stat find[5748] 10 /proc/804/task/804/net/dev_snmp6 find[5748] 10 /proc/804/task/804/net/netfilter find[5748] 10 /proc/804/task/820/net/rpc find[5748] 10 /proc/804/task/820/net/rpc/nfsd.fh find[5748] 12 /proc/804/task/820/net/rpc/nfsd.export find[5748] 11 /proc/804/task/820/net/rpc/auth.unix.ip find[5748] 11 /proc/804/task/820/net/rpc/auth.unix.gid find[5748] 11 /proc/804/task/820/net/rpc/nfs4.idtoname find[5748] 11 /proc/804/task/820/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/820/net/rpc/auth.rpcsec.init find[5748] 11 /proc/804/task/820/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/820/net/stat find[5748] 10 /proc/804/task/820/net/netfilter find[5748] 10 /proc/804/task/822/fd find[5748] 11 /proc/804/task/822/net/rpc/nfsd.fh find[5748] 11 /proc/804/task/822/net/rpc/nfsd.export find[5748] 11 /proc/804/task/822/net/rpc/auth.unix.ip find[5748] 11 /proc/804/task/822/net/rpc/auth.unix.gid find[5748] 10 /proc/804/task/822/net/rpc/nfs4.idtoname find[5748] 10 /proc/804/task/822/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/822/net/rpc/auth.rpcsec.init find[5748] 12 /proc/804/task/822/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/822/net/stat find[5748] 10 /proc/804/task/822/net/dev_snmp6 find[5748] 10 /proc/804/task/822/net/netfilter find[5748] 168 /proc/804/task/836/ns find[5748] 10 /proc/804/task/836/net find[5748] 10 /proc/804/task/836/net/rpc find[5748] 11 /proc/804/task/836/net/rpc/nfsd.fh find[5748] 11 /proc/804/task/836/net/rpc/nfsd.export find[5748] 11 /proc/804/task/836/net/rpc/auth.unix.ip find[5748] 10 /proc/804/task/836/net/rpc/auth.unix.gid find[5748] 10 /proc/804/task/836/net/rpc/nfs4.idtoname find[5748] 20 /proc/804/task/836/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/836/net/rpc/auth.rpcsec.init find[5748] 11 /proc/804/task/836/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/836/net/stat find[5748] 10 /proc/804/task/836/net/dev_snmp6 find[5748] 10 /proc/804/task/836/net/netfilter find[5748] 10 /proc/804/task/841/fdinfo find[5748] 11 /proc/804/task/841/net/rpc find[5748] 10 /proc/804/task/841/net/rpc/nfsd.fh find[5748] 11 /proc/804/task/841/net/rpc/nfsd.export find[5748] 11 /proc/804/task/841/net/rpc/auth.unix.ip find[5748] 11 /proc/804/task/841/net/rpc/auth.unix.gid find[5748] 11 /proc/804/task/841/net/rpc/nfs4.idtoname find[5748] 11 /proc/804/task/841/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/841/net/rpc/auth.rpcsec.init find[5748] 11 /proc/804/task/841/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/841/net/dev_snmp6 find[5748] 10 /proc/804/task/841/net/netfilter find[5748] 10 /proc/804/task/842/fd find[5748] 10 /proc/804/task/842/fdinfo find[5748] 10 /proc/804/task/842/net find[5748] 10 /proc/804/task/842/net/rpc find[5748] 10 /proc/804/task/842/net/rpc/nfsd.fh find[5748] 11 /proc/804/task/842/net/rpc/nfsd.export find[5748] 11 /proc/804/task/842/net/rpc/auth.unix.ip find[5748] 11 /proc/804/task/842/net/rpc/auth.unix.gid find[5748] 11 /proc/804/task/842/net/rpc/nfs4.idtoname find[5748] 10 /proc/804/task/842/net/rpc/nfs4.nametoid find[5748] 11 /proc/804/task/842/net/rpc/auth.rpcsec.init find[5748] 11 /proc/804/task/842/net/rpc/auth.rpcsec.context find[5748] 10 /proc/804/task/842/net/stat find[5748] 10 /proc/804/task/842/net/dev_snmp6 find[5748] 10 /proc/804/task/842/attr find[5748] 10 /proc/804/net/rpc/auth.unix.ip find[5748] 22 /proc/807/task/807/net find[5748] 10 /proc/807/task/807/net/rpc find[5748] 10 /proc/807/task/807/net/rpc/nfsd.fh find[5748] 11 /proc/807/task/807/net/rpc/nfsd.export find[5748] 11 /proc/807/task/807/net/rpc/auth.unix.ip find[5748] 11 /proc/807/task/807/net/rpc/auth.unix.gid find[5748] 11 /proc/807/task/807/net/rpc/nfs4.idtoname find[5748] 11 /proc/807/task/807/net/rpc/nfs4.nametoid find[5748] 11 /proc/807/task/807/net/rpc/auth.rpcsec.init find[5748] 11 /proc/807/task/807/net/rpc/auth.rpcsec.context find[5748] 10 /proc/807/task/807/net/stat find[5748] 10 /proc/807/task/807/net/dev_snmp6 find[5748] 10 /proc/807/task/807/net/netfilter find[5748] 10 /proc/807/net/rpc/nfsd.fh find[5748] 10 /proc/807/net/rpc/auth.unix.ip find[5748] 10 /proc/808/task/808/fd find[5748] 10 /proc/808/task/808/net/rpc find[5748] 10 /proc/808/task/808/net/rpc/nfsd.fh find[5748] 10 /proc/808/task/808/net/rpc/nfsd.export find[5748] 11 /proc/808/task/808/net/rpc/auth.unix.ip find[5748] 10 /proc/808/task/808/net/rpc/auth.unix.gid find[5748] 10 /proc/808/task/808/net/rpc/nfs4.idtoname find[5748] 11 /proc/808/task/808/net/rpc/nfs4.nametoid find[5748] 11 /proc/808/task/808/net/rpc/auth.rpcsec.init find[5748] 11 /proc/808/task/808/net/rpc/auth.rpcsec.context find[5748] 10 /proc/808/task/808/net/stat find[5748] 10 /proc/808/task/808/net/dev_snmp6 find[5748] 10 /proc/808/task/808/net/netfilter find[5748] 10 /proc/810/task/810/net find[5748] 10 /proc/810/task/810/net/rpc find[5748] 11 /proc/810/task/810/net/rpc/nfsd.fh find[5748] 11 /proc/810/task/810/net/rpc/nfsd.export find[5748] 11 /proc/810/task/810/net/rpc/auth.unix.ip find[5748] 11 /proc/810/task/810/net/rpc/auth.unix.gid find[5748] 10 /proc/810/task/810/net/rpc/nfs4.idtoname find[5748] 10 /proc/810/task/810/net/rpc/nfs4.nametoid find[5748] 11 /proc/810/task/810/net/rpc/auth.rpcsec.init find[5748] 11 /proc/810/task/810/net/rpc/auth.rpcsec.context find[5748] 10 /proc/810/task/810/net/stat find[5748] 10 /proc/810/task/810/net/dev_snmp6 find[5748] 10 /proc/810/task/821/fd find[5748] 11 /proc/810/task/821/net/rpc find[5748] 11 /proc/810/task/821/net/rpc/nfsd.fh find[5748] 11 /proc/810/task/821/net/rpc/nfsd.export find[5748] 11 /proc/810/task/821/net/rpc/auth.unix.ip find[5748] 11 /proc/810/task/821/net/rpc/auth.unix.gid find[5748] 10 /proc/810/task/821/net/rpc/nfs4.idtoname find[5748] 10 /proc/810/task/821/net/rpc/nfs4.nametoid find[5748] 11 /proc/810/task/821/net/rpc/auth.rpcsec.init find[5748] 12 /proc/810/task/821/net/rpc/auth.rpcsec.context find[5748] 10 /proc/810/task/821/net/stat find[5748] 10 /proc/810/task/821/net/dev_snmp6 find[5748] 10 /proc/810/task/821/net/netfilter find[5748] 10 /proc/810/net/rpc/auth.unix.ip find[5748] 10 /proc/810/net/rpc/auth.unix.gid find[5748] 10 /proc/812/task/812/fdinfo find[5748] 10 /proc/812/task/812/net/rpc find[5748] 11 /proc/812/task/812/net/rpc/nfsd.fh find[5748] 11 /proc/812/task/812/net/rpc/nfsd.export find[5748] 11 /proc/812/task/812/net/rpc/auth.unix.ip find[5748] 12 /proc/812/task/812/net/rpc/auth.unix.gid find[5748] 11 /proc/812/task/812/net/rpc/nfs4.idtoname find[5748] 10 /proc/812/task/812/net/rpc/nfs4.nametoid find[5748] 11 /proc/812/task/812/net/rpc/auth.rpcsec.init find[5748] 11 /proc/812/task/812/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/812/net/stat find[5748] 10 /proc/812/task/812/net/dev_snmp6 find[5748] 10 /proc/812/task/815/net/rpc find[5748] 11 /proc/812/task/815/net/rpc/nfsd.fh find[5748] 11 /proc/812/task/815/net/rpc/nfsd.export find[5748] 11 /proc/812/task/815/net/rpc/auth.unix.ip find[5748] 11 /proc/812/task/815/net/rpc/auth.unix.gid find[5748] 11 /proc/812/task/815/net/rpc/nfs4.idtoname find[5748] 11 /proc/812/task/815/net/rpc/nfs4.nametoid find[5748] 10 /proc/812/task/815/net/rpc/auth.rpcsec.init find[5748] 11 /proc/812/task/815/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/815/net/stat find[5748] 10 /proc/812/task/815/net/dev_snmp6 find[5748] 10 /proc/812/task/815/net/netfilter find[5748] 10 /proc/812/task/815/attr find[5748] 10 /proc/812/task/816/fd find[5748] 10 /proc/812/task/816/ns find[5748] 10 /proc/812/task/816/net/rpc find[5748] 11 /proc/812/task/816/net/rpc/nfsd.fh find[5748] 11 /proc/812/task/816/net/rpc/nfsd.export find[5748] 11 /proc/812/task/816/net/rpc/auth.unix.ip find[5748] 10 /proc/812/task/816/net/rpc/auth.unix.gid find[5748] 11 /proc/812/task/816/net/rpc/nfs4.idtoname find[5748] 10 /proc/812/task/816/net/rpc/nfs4.nametoid find[5748] 11 /proc/812/task/816/net/rpc/auth.rpcsec.init find[5748] 11 /proc/812/task/816/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/816/net/stat find[5748] 10 /proc/812/task/817/fd find[5748] 10 /proc/812/task/817/net/rpc/nfsd.fh find[5748] 11 /proc/812/task/817/net/rpc/nfsd.export find[5748] 11 /proc/812/task/817/net/rpc/auth.unix.ip find[5748] 11 /proc/812/task/817/net/rpc/auth.unix.gid find[5748] 10 /proc/812/task/817/net/rpc/nfs4.idtoname find[5748] 10 /proc/812/task/817/net/rpc/nfs4.nametoid find[5748] 11 /proc/812/task/817/net/rpc/auth.rpcsec.init find[5748] 11 /proc/812/task/817/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/817/net/dev_snmp6 find[5748] 10 /proc/812/task/817/net/netfilter find[5748] 11 /proc/812/task/818/net/rpc find[5748] 11 /proc/812/task/818/net/rpc/nfsd.fh find[5748] 11 /proc/812/task/818/net/rpc/nfsd.export find[5748] 11 /proc/812/task/818/net/rpc/auth.unix.ip find[5748] 10 /proc/812/task/818/net/rpc/auth.unix.gid find[5748] 10 /proc/812/task/818/net/rpc/nfs4.idtoname find[5748] 11 /proc/812/task/818/net/rpc/nfs4.nametoid find[5748] 11 /proc/812/task/818/net/rpc/auth.rpcsec.init find[5748] 12 /proc/812/task/818/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/818/net/stat find[5748] 10 /proc/812/task/818/net/dev_snmp6 find[5748] 10 /proc/812/task/818/net/netfilter find[5748] 10 /proc/812/task/818/attr find[5748] 10 /proc/812/task/819/fd find[5748] 10 /proc/812/task/819/net/rpc find[5748] 11 /proc/812/task/819/net/rpc/nfsd.fh find[5748] 10 /proc/812/task/819/net/rpc/nfsd.export find[5748] 11 /proc/812/task/819/net/rpc/auth.unix.ip find[5748] 10 /proc/812/task/819/net/rpc/auth.unix.gid find[5748] 11 /proc/812/task/819/net/rpc/nfs4.idtoname find[5748] 10 /proc/812/task/819/net/rpc/nfs4.nametoid find[5748] 11 /proc/812/task/819/net/rpc/auth.rpcsec.init find[5748] 12 /proc/812/task/819/net/rpc/auth.rpcsec.context find[5748] 10 /proc/812/task/819/net/stat find[5748] 10 /proc/812/task/819/net/dev_snmp6 find[5748] 10 /proc/812/task/819/net/netfilter find[5748] 10 /proc/812/task/819/attr find[5748] 10 /proc/812/net/rpc/nfsd.fh find[5748] 10 /proc/812/net/rpc/auth.unix.gid find[5748] 10 /proc/812/net/rpc/auth.rpcsec.context find[5748] 10 /proc/814/task/814/fdinfo find[5748] 10 /proc/814/task/814/net/rpc find[5748] 10 /proc/814/task/814/net/rpc/nfsd.fh find[5748] 11 /proc/814/task/814/net/rpc/nfsd.export find[5748] 11 /proc/814/task/814/net/rpc/auth.unix.ip find[5748] 11 /proc/814/task/814/net/rpc/auth.unix.gid find[5748] 11 /proc/814/task/814/net/rpc/nfs4.idtoname find[5748] 11 /proc/814/task/814/net/rpc/nfs4.nametoid find[5748] 11 /proc/814/task/814/net/rpc/auth.rpcsec.init find[5748] 11 /proc/814/task/814/net/rpc/auth.rpcsec.context find[5748] 10 /proc/814/task/814/net/stat find[5748] 10 /proc/814/task/814/net/dev_snmp6 find[5748] 10 /proc/814/net/rpc/auth.rpcsec.init find[5748] 10 /proc/823/task/823/net/rpc find[5748] 12 /proc/823/task/823/net/rpc/nfsd.fh find[5748] 11 /proc/823/task/823/net/rpc/nfsd.export find[5748] 11 /proc/823/task/823/net/rpc/auth.unix.ip find[5748] 11 /proc/823/task/823/net/rpc/auth.unix.gid find[5748] 10 /proc/823/task/823/net/rpc/nfs4.idtoname find[5748] 11 /proc/823/task/823/net/rpc/nfs4.nametoid find[5748] 11 /proc/823/task/823/net/rpc/auth.rpcsec.init find[5748] 11 /proc/823/task/823/net/rpc/auth.rpcsec.context find[5748] 10 /proc/823/task/823/net/dev_snmp6 find[5748] 10 /proc/823/task/848/fdinfo find[5748] 10 /proc/823/task/848/net/rpc find[5748] 10 /proc/823/task/848/net/rpc/nfsd.fh find[5748] 11 /proc/823/task/848/net/rpc/nfsd.export find[5748] 11 /proc/823/task/848/net/rpc/auth.unix.ip find[5748] 10 /proc/823/task/848/net/rpc/auth.unix.gid find[5748] 11 /proc/823/task/848/net/rpc/nfs4.idtoname find[5748] 10 /proc/823/task/848/net/rpc/nfs4.nametoid find[5748] 10 /proc/823/task/848/net/rpc/auth.rpcsec.init find[5748] 11 /proc/823/task/848/net/rpc/auth.rpcsec.context find[5748] 11 /proc/823/task/848/net/stat find[5748] 10 /proc/823/task/848/net/dev_snmp6 find[5748] 10 /proc/823/task/848/net/netfilter find[5748] 10 /proc/823/task/854/fd find[5748] 10 /proc/823/task/854/net/rpc find[5748] 11 /proc/823/task/854/net/rpc/nfsd.fh find[5748] 11 /proc/823/task/854/net/rpc/nfsd.export find[5748] 10 /proc/823/task/854/net/rpc/auth.unix.ip find[5748] 11 /proc/823/task/854/net/rpc/auth.unix.gid find[5748] 10 /proc/823/task/854/net/rpc/nfs4.idtoname find[5748] 11 /proc/823/task/854/net/rpc/nfs4.nametoid find[5748] 11 /proc/823/task/854/net/rpc/auth.rpcsec.init find[5748] 12 /proc/823/task/854/net/rpc/auth.rpcsec.context find[5748] 10 /proc/823/task/854/net/stat find[5748] 10 /proc/823/task/854/net/dev_snmp6 find[5748] 10 /proc/823/task/854/net/netfilter find[5748] 10 /proc/823/net/rpc/auth.unix.ip find[5748] 10 /proc/823/net/rpc/auth.unix.gid find[5748] 10 /proc/830/task/830/fd find[5748] 10 /proc/830/task/830/net/rpc find[5748] 11 /proc/830/task/830/net/rpc/nfsd.fh find[5748] 11 /proc/830/task/830/net/rpc/nfsd.export find[5748] 11 /proc/830/task/830/net/rpc/auth.unix.ip find[5748] 11 /proc/830/task/830/net/rpc/auth.unix.gid find[5748] 11 /proc/830/task/830/net/rpc/nfs4.idtoname find[5748] 11 /proc/830/task/830/net/rpc/nfs4.nametoid find[5748] 11 /proc/830/task/830/net/rpc/auth.rpcsec.init find[5748] 11 /proc/830/task/830/net/rpc/auth.rpcsec.context find[5748] 10 /proc/830/task/830/net/stat find[5748] 10 /proc/830/task/830/net/dev_snmp6 find[5748] 10 /proc/830/task/830/net/netfilter find[5748] 10 /proc/830/net/rpc/auth.unix.ip find[5748] 10 /proc/835/task/835/fd find[5748] 10 /proc/835/task/835/fdinfo find[5748] 10 /proc/835/task/835/net/rpc find[5748] 11 /proc/835/task/835/net/rpc/nfsd.fh find[5748] 11 /proc/835/task/835/net/rpc/nfsd.export find[5748] 11 /proc/835/task/835/net/rpc/auth.unix.ip find[5748] 11 /proc/835/task/835/net/rpc/auth.unix.gid find[5748] 11 /proc/835/task/835/net/rpc/nfs4.idtoname find[5748] 10 /proc/835/task/835/net/rpc/nfs4.nametoid find[5748] 11 /proc/835/task/835/net/rpc/auth.rpcsec.init find[5748] 12 /proc/835/task/835/net/rpc/auth.rpcsec.context find[5748] 10 /proc/835/task/835/net/stat find[5748] 10 /proc/835/task/835/net/dev_snmp6 find[5748] 10 /proc/835/net/rpc/auth.unix.ip find[5748] 10 /proc/835/net/rpc/auth.unix.gid find[5748] 10 /proc/835/net/rpc/auth.rpcsec.init find[5748] 10 /proc/835/net/rpc/auth.rpcsec.context find[5748] 10 /proc/837/task/837/net/rpc find[5748] 11 /proc/837/task/837/net/rpc/nfsd.fh find[5748] 11 /proc/837/task/837/net/rpc/nfsd.export find[5748] 11 /proc/837/task/837/net/rpc/auth.unix.ip find[5748] 11 /proc/837/task/837/net/rpc/auth.unix.gid find[5748] 11 /proc/837/task/837/net/rpc/nfs4.idtoname find[5748] 11 /proc/837/task/837/net/rpc/nfs4.nametoid find[5748] 10 /proc/837/task/837/net/rpc/auth.rpcsec.init find[5748] 11 /proc/837/task/837/net/rpc/auth.rpcsec.context find[5748] 10 /proc/837/task/837/net/stat find[5748] 10 /proc/837/task/837/net/dev_snmp6 find[5748] 10 /proc/837/task/837/net/netfilter find[5748] 10 /proc/894/task/894/net/rpc find[5748] 11 /proc/894/task/894/net/rpc/nfsd.fh find[5748] 11 /proc/894/task/894/net/rpc/nfsd.export find[5748] 11 /proc/894/task/894/net/rpc/auth.unix.ip find[5748] 11 /proc/894/task/894/net/rpc/auth.unix.gid find[5748] 11 /proc/894/task/894/net/rpc/nfs4.idtoname find[5748] 11 /proc/894/task/894/net/rpc/nfs4.nametoid find[5748] 12 /proc/894/task/894/net/rpc/auth.rpcsec.init find[5748] 11 /proc/894/task/894/net/rpc/auth.rpcsec.context find[5748] 10 /proc/894/task/894/net/stat find[5748] 10 /proc/894/task/894/net/dev_snmp6 find[5748] 10 /proc/894/task/894/net/netfilter find[5748] 10 /proc/894/task/894/attr find[5748] 10 /proc/1158/task/1158/fdinfo find[5748] 11 /proc/1158/task/1158/net/rpc find[5748] 11 /proc/1158/task/1158/net/rpc/nfsd.fh find[5748] 11 /proc/1158/task/1158/net/rpc/nfsd.export find[5748] 11 /proc/1158/task/1158/net/rpc/auth.unix.ip find[5748] 12 /proc/1158/task/1158/net/rpc/auth.unix.gid find[5748] 11 /proc/1158/task/1158/net/rpc/nfs4.idtoname find[5748] 10 /proc/1158/task/1158/net/rpc/nfs4.nametoid find[5748] 10 /proc/1158/task/1158/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1158/task/1158/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1158/task/1158/net/stat find[5748] 10 /proc/1158/task/1158/net/dev_snmp6 find[5748] 10 /proc/1158/task/1158/net/netfilter find[5748] 10 /proc/1158/task/1281/fd find[5748] 10 /proc/1158/task/1281/net/rpc find[5748] 11 /proc/1158/task/1281/net/rpc/nfsd.fh find[5748] 11 /proc/1158/task/1281/net/rpc/nfsd.export find[5748] 12 /proc/1158/task/1281/net/rpc/auth.unix.ip find[5748] 11 /proc/1158/task/1281/net/rpc/auth.unix.gid find[5748] 11 /proc/1158/task/1281/net/rpc/nfs4.idtoname find[5748] 10 /proc/1158/task/1281/net/rpc/nfs4.nametoid find[5748] 11 /proc/1158/task/1281/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1158/task/1281/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1158/task/1281/net/stat find[5748] 10 /proc/1158/task/1281/net/dev_snmp6 find[5748] 10 /proc/1158/task/1281/net/netfilter find[5748] 10 /proc/1158/task/1281/attr find[5748] 10 /proc/1158/task/1282/net/rpc find[5748] 11 /proc/1158/task/1282/net/rpc/nfsd.fh find[5748] 11 /proc/1158/task/1282/net/rpc/nfsd.export find[5748] 11 /proc/1158/task/1282/net/rpc/auth.unix.ip find[5748] 11 /proc/1158/task/1282/net/rpc/auth.unix.gid find[5748] 11 /proc/1158/task/1282/net/rpc/nfs4.idtoname find[5748] 10 /proc/1158/task/1282/net/rpc/nfs4.nametoid find[5748] 11 /proc/1158/task/1282/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1158/task/1282/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1158/task/1282/net/stat find[5748] 10 /proc/1158/task/1282/net/dev_snmp6 find[5748] 10 /proc/1158/task/1282/net/netfilter find[5748] 10 /proc/1158/net/rpc/nfsd.export find[5748] 10 /proc/1158/net/rpc/auth.unix.ip find[5748] 10 /proc/1158/net/rpc/nfs4.idtoname find[5748] 10 /proc/1159/task/1159/net/rpc find[5748] 11 /proc/1159/task/1159/net/rpc/nfsd.fh find[5748] 11 /proc/1159/task/1159/net/rpc/nfsd.export find[5748] 11 /proc/1159/task/1159/net/rpc/auth.unix.ip find[5748] 11 /proc/1159/task/1159/net/rpc/auth.unix.gid find[5748] 11 /proc/1159/task/1159/net/rpc/nfs4.idtoname find[5748] 10 /proc/1159/task/1159/net/rpc/nfs4.nametoid find[5748] 11 /proc/1159/task/1159/net/rpc/auth.rpcsec.init find[5748] 12 /proc/1159/task/1159/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1159/task/1159/net/stat find[5748] 10 /proc/1159/task/1159/net/dev_snmp6 find[5748] 10 /proc/1159/task/1159/attr find[5748] 10 /proc/1159/task/2382/net/rpc find[5748] 11 /proc/1159/task/2382/net/rpc/nfsd.fh find[5748] 11 /proc/1159/task/2382/net/rpc/nfsd.export find[5748] 11 /proc/1159/task/2382/net/rpc/auth.unix.ip find[5748] 11 /proc/1159/task/2382/net/rpc/auth.unix.gid find[5748] 10 /proc/1159/task/2382/net/rpc/nfs4.idtoname find[5748] 10 /proc/1159/task/2382/net/rpc/nfs4.nametoid find[5748] 11 /proc/1159/task/2382/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1159/task/2382/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1159/task/2382/net/dev_snmp6 find[5748] 10 /proc/1159/task/2382/net/netfilter find[5748] 10 /proc/1159/task/2386/net/rpc find[5748] 10 /proc/1159/task/2386/net/rpc/nfsd.fh find[5748] 11 /proc/1159/task/2386/net/rpc/nfsd.export find[5748] 11 /proc/1159/task/2386/net/rpc/auth.unix.ip find[5748] 11 /proc/1159/task/2386/net/rpc/auth.unix.gid find[5748] 11 /proc/1159/task/2386/net/rpc/nfs4.idtoname find[5748] 11 /proc/1159/task/2386/net/rpc/nfs4.nametoid find[5748] 11 /proc/1159/task/2386/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1159/task/2386/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1159/task/2386/net/stat find[5748] 19 /proc/1159/task/2386/net/dev_snmp6 find[5748] 10 /proc/1159/task/2386/attr find[5748] 10 /proc/1159/task/2389/fd find[5748] 10 /proc/1159/task/2389/net/rpc find[5748] 11 /proc/1159/task/2389/net/rpc/nfsd.fh find[5748] 12 /proc/1159/task/2389/net/rpc/nfsd.export find[5748] 11 /proc/1159/task/2389/net/rpc/auth.unix.ip find[5748] 11 /proc/1159/task/2389/net/rpc/auth.unix.gid find[5748] 11 /proc/1159/task/2389/net/rpc/nfs4.idtoname find[5748] 11 /proc/1159/task/2389/net/rpc/nfs4.nametoid find[5748] 11 /proc/1159/task/2389/net/rpc/auth.rpcsec.init find[5748] 12 /proc/1159/task/2389/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1159/task/2389/net/stat find[5748] 10 /proc/1159/task/2389/net/dev_snmp6 find[5748] 10 /proc/1159/task/2389/net/netfilter find[5748] 10 /proc/1159/task/2429/net/rpc find[5748] 11 /proc/1159/task/2429/net/rpc/nfsd.fh find[5748] 11 /proc/1159/task/2429/net/rpc/nfsd.export find[5748] 11 /proc/1159/task/2429/net/rpc/auth.unix.ip find[5748] 11 /proc/1159/task/2429/net/rpc/auth.unix.gid find[5748] 11 /proc/1159/task/2429/net/rpc/nfs4.idtoname find[5748] 10 /proc/1159/task/2429/net/rpc/nfs4.nametoid find[5748] 11 /proc/1159/task/2429/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1159/task/2429/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1159/task/2429/net/stat find[5748] 10 /proc/1159/task/2429/net/dev_snmp6 find[5748] 10 /proc/1159/task/2429/net/netfilter find[5748] 10 /proc/1159/fdinfo find[5748] 10 /proc/1159/net/rpc/auth.unix.ip find[5748] 10 /proc/1159/net/rpc/nfs4.idtoname find[5748] 10 /proc/1159/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1372/task/1372/ns find[5748] 10 /proc/1372/task/1372/net/rpc find[5748] 11 /proc/1372/task/1372/net/rpc/nfsd.fh find[5748] 11 /proc/1372/task/1372/net/rpc/nfsd.export find[5748] 10 /proc/1372/task/1372/net/rpc/auth.unix.ip find[5748] 11 /proc/1372/task/1372/net/rpc/auth.unix.gid find[5748] 12 /proc/1372/task/1372/net/rpc/nfs4.idtoname find[5748] 11 /proc/1372/task/1372/net/rpc/nfs4.nametoid find[5748] 11 /proc/1372/task/1372/net/rpc/auth.rpcsec.init find[5748] 12 /proc/1372/task/1372/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1372/task/1372/net/dev_snmp6 find[5748] 10 /proc/1372/task/1372/net/netfilter find[5748] 10 /proc/1372/task/1372/attr find[5748] 10 /proc/1372/net/rpc/nfsd.fh find[5748] 10 /proc/1372/net/rpc/nfsd.export find[5748] 10 /proc/1372/net/rpc/auth.unix.ip find[5748] 10 /proc/1565/task/1565/fd find[5748] 10 /proc/1565/task/1565/net/rpc find[5748] 12 /proc/1565/task/1565/net/rpc/nfsd.fh find[5748] 11 /proc/1565/task/1565/net/rpc/nfsd.export find[5748] 11 /proc/1565/task/1565/net/rpc/auth.unix.ip find[5748] 12 /proc/1565/task/1565/net/rpc/auth.unix.gid find[5748] 11 /proc/1565/task/1565/net/rpc/nfs4.idtoname find[5748] 10 /proc/1565/task/1565/net/rpc/nfs4.nametoid find[5748] 11 /proc/1565/task/1565/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1565/task/1565/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1565/task/1565/net/stat find[5748] 10 /proc/1565/task/1565/net/dev_snmp6 find[5748] 10 /proc/1565/task/1565/net/netfilter find[5748] 11 /proc/1565/task/1565/attr find[5748] 10 /proc/1565/fdinfo find[5748] 10 /proc/1565/net/rpc/auth.unix.ip find[5748] 10 /proc/1565/net/rpc/auth.unix.gid find[5748] 10 /proc/1565/net/rpc/nfs4.idtoname find[5748] 10 /proc/1565/net/rpc/auth.rpcsec.init find[5748] 10 /proc/1565/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1650/task/1650/fd find[5748] 10 /proc/1650/task/1650/net/rpc find[5748] 12 /proc/1650/task/1650/net/rpc/nfsd.fh find[5748] 11 /proc/1650/task/1650/net/rpc/nfsd.export find[5748] 11 /proc/1650/task/1650/net/rpc/auth.unix.ip find[5748] 11 /proc/1650/task/1650/net/rpc/auth.unix.gid find[5748] 11 /proc/1650/task/1650/net/rpc/nfs4.idtoname find[5748] 11 /proc/1650/task/1650/net/rpc/nfs4.nametoid find[5748] 11 /proc/1650/task/1650/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1650/task/1650/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1650/task/1650/net/stat find[5748] 10 /proc/1650/task/1650/net/dev_snmp6 find[5748] 10 /proc/1650/task/1650/net/netfilter find[5748] 10 /proc/1650/task/1650/attr find[5748] 10 /proc/1650/net/rpc/nfsd.export find[5748] 10 /proc/1650/net/rpc/nfs4.idtoname find[5748] 10 /proc/1650/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1686/task/1686/net/rpc find[5748] 11 /proc/1686/task/1686/net/rpc/nfsd.fh find[5748] 11 /proc/1686/task/1686/net/rpc/nfsd.export find[5748] 11 /proc/1686/task/1686/net/rpc/auth.unix.ip find[5748] 10 /proc/1686/task/1686/net/rpc/auth.unix.gid find[5748] 11 /proc/1686/task/1686/net/rpc/nfs4.idtoname find[5748] 11 /proc/1686/task/1686/net/rpc/nfs4.nametoid find[5748] 11 /proc/1686/task/1686/net/rpc/auth.rpcsec.init find[5748] 11 /proc/1686/task/1686/net/rpc/auth.rpcsec.context find[5748] 10 /proc/1686/task/1686/net/stat find[5748] 10 /proc/1686/task/1686/net/dev_snmp6 find[5748] 10 /proc/1686/task/1686/net/netfilter find[5748] 10 /proc/1686/net/rpc/nfsd.fh find[5748] 10 /proc/1686/net/rpc/nfsd.export find[5748] 11 /proc/2078/task/2078/net/rpc/nfsd.fh find[5748] 11 /proc/2078/task/2078/net/rpc/nfsd.export find[5748] 11 /proc/2078/task/2078/net/rpc/auth.unix.ip find[5748] 11 /proc/2078/task/2078/net/rpc/auth.unix.gid find[5748] 10 /proc/2078/task/2078/net/rpc/nfs4.idtoname find[5748] 11 /proc/2078/task/2078/net/rpc/nfs4.nametoid find[5748] 11 /proc/2078/task/2078/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2078/task/2078/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2078/task/2078/net/stat find[5748] 10 /proc/2078/task/2078/net/dev_snmp6 find[5748] 11 /proc/2078/task/2078/net/netfilter find[5748] 10 /proc/2078/task/2078/attr find[5748] 10 /proc/2078/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2157/task/2157/net/rpc find[5748] 11 /proc/2157/task/2157/net/rpc/nfsd.fh find[5748] 11 /proc/2157/task/2157/net/rpc/nfsd.export find[5748] 11 /proc/2157/task/2157/net/rpc/auth.unix.ip find[5748] 11 /proc/2157/task/2157/net/rpc/auth.unix.gid find[5748] 10 /proc/2157/task/2157/net/rpc/nfs4.idtoname find[5748] 11 /proc/2157/task/2157/net/rpc/nfs4.nametoid find[5748] 11 /proc/2157/task/2157/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2157/task/2157/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2157/task/2157/net/stat find[5748] 10 /proc/2157/task/2157/net/dev_snmp6 find[5748] 10 /proc/2157/task/2157/net/netfilter find[5748] 10 /proc/2157/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2165/task/2165/fdinfo find[5748] 11 /proc/2165/task/2165/net/rpc/nfsd.fh find[5748] 11 /proc/2165/task/2165/net/rpc/nfsd.export find[5748] 11 /proc/2165/task/2165/net/rpc/auth.unix.ip find[5748] 11 /proc/2165/task/2165/net/rpc/auth.unix.gid find[5748] 10 /proc/2165/task/2165/net/rpc/nfs4.idtoname find[5748] 11 /proc/2165/task/2165/net/rpc/nfs4.nametoid find[5748] 11 /proc/2165/task/2165/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2165/task/2165/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2165/task/2165/net/stat find[5748] 10 /proc/2165/task/2165/net/dev_snmp6 find[5748] 10 /proc/2165/task/2165/net/netfilter find[5748] 10 /proc/2165/fdinfo find[5748] 11 /proc/2165/net/rpc/auth.rpcsec.init find[5748] 10 /proc/2186/task/2186/fd find[5748] 10 /proc/2186/task/2186/fdinfo find[5748] 11 /proc/2186/task/2186/net/rpc find[5748] 11 /proc/2186/task/2186/net/rpc/nfsd.fh find[5748] 11 /proc/2186/task/2186/net/rpc/nfsd.export find[5748] 11 /proc/2186/task/2186/net/rpc/auth.unix.ip find[5748] 11 /proc/2186/task/2186/net/rpc/auth.unix.gid find[5748] 11 /proc/2186/task/2186/net/rpc/nfs4.idtoname find[5748] 11 /proc/2186/task/2186/net/rpc/nfs4.nametoid find[5748] 11 /proc/2186/task/2186/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2186/task/2186/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2186/task/2186/net/stat find[5748] 10 /proc/2186/task/2186/net/dev_snmp6 find[5748] 10 /proc/2186/task/2186/net/netfilter find[5748] 10 /proc/2187/task/2187/fd find[5748] 10 /proc/2187/task/2187/net/rpc find[5748] 11 /proc/2187/task/2187/net/rpc/nfsd.fh find[5748] 11 /proc/2187/task/2187/net/rpc/nfsd.export find[5748] 12 /proc/2187/task/2187/net/rpc/auth.unix.ip find[5748] 11 /proc/2187/task/2187/net/rpc/auth.unix.gid find[5748] 11 /proc/2187/task/2187/net/rpc/nfs4.idtoname find[5748] 10 /proc/2187/task/2187/net/rpc/nfs4.nametoid find[5748] 11 /proc/2187/task/2187/net/rpc/auth.rpcsec.init find[5748] 12 /proc/2187/task/2187/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2187/task/2187/net/stat find[5748] 10 /proc/2187/task/2187/net/dev_snmp6 find[5748] 10 /proc/2187/task/2187/net/netfilter find[5748] 10 /proc/2187/net/rpc/nfsd.fh find[5748] 10 /proc/2187/net/rpc/nfsd.export find[5748] 10 /proc/2187/net/rpc/auth.unix.ip find[5748] 10 /proc/2187/net/rpc/auth.unix.gid find[5748] 10 /proc/2187/net/rpc/nfs4.idtoname find[5748] 10 /proc/2187/net/rpc/nfs4.nametoid find[5748] 10 /proc/2187/net/rpc/auth.rpcsec.init find[5748] 10 /proc/2187/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2196/task/2196/net find[5748] 10 /proc/2196/task/2196/net/rpc find[5748] 12 /proc/2196/task/2196/net/rpc/nfsd.fh find[5748] 12 /proc/2196/task/2196/net/rpc/nfsd.export find[5748] 11 /proc/2196/task/2196/net/rpc/auth.unix.ip find[5748] 11 /proc/2196/task/2196/net/rpc/auth.unix.gid find[5748] 11 /proc/2196/task/2196/net/rpc/nfs4.idtoname find[5748] 10 /proc/2196/task/2196/net/rpc/nfs4.nametoid find[5748] 11 /proc/2196/task/2196/net/rpc/auth.rpcsec.init find[5748] 12 /proc/2196/task/2196/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2196/task/2196/net/stat find[5748] 10 /proc/2196/task/2196/net/dev_snmp6 find[5748] 10 /proc/2196/task/2196/net/netfilter find[5748] 10 /proc/2196/task/2196/attr find[5748] 10 /proc/2196/net/rpc/nfsd.fh find[5748] 10 /proc/2196/net/rpc/auth.unix.ip find[5748] 10 /proc/2196/net/rpc/auth.rpcsec.init find[5748] 10 /proc/2342/task/2342/fd find[5748] 10 /proc/2342/task/2342/net/rpc find[5748] 11 /proc/2342/task/2342/net/rpc/nfsd.fh find[5748] 11 /proc/2342/task/2342/net/rpc/nfsd.export find[5748] 11 /proc/2342/task/2342/net/rpc/auth.unix.ip find[5748] 10 /proc/2342/task/2342/net/rpc/auth.unix.gid find[5748] 11 /proc/2342/task/2342/net/rpc/nfs4.idtoname find[5748] 11 /proc/2342/task/2342/net/rpc/nfs4.nametoid find[5748] 11 /proc/2342/task/2342/net/rpc/auth.rpcsec.init find[5748] 11 /proc/2342/task/2342/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2342/task/2342/net/stat find[5748] 10 /proc/2342/task/2342/net/dev_snmp6 find[5748] 10 /proc/2342/net/rpc/auth.unix.gid find[5748] 10 /proc/2581/task/2581/fd find[5748] 10 /proc/2581/task/2581/net/rpc find[5748] 11 /proc/2581/task/2581/net/rpc/nfsd.fh find[5748] 11 /proc/2581/task/2581/net/rpc/nfsd.export find[5748] 11 /proc/2581/task/2581/net/rpc/auth.unix.ip find[5748] 11 /proc/2581/task/2581/net/rpc/auth.unix.gid find[5748] 11 /proc/2581/task/2581/net/rpc/nfs4.idtoname find[5748] 10 /proc/2581/task/2581/net/rpc/nfs4.nametoid find[5748] 11 /proc/2581/task/2581/net/rpc/auth.rpcsec.init find[5748] 12 /proc/2581/task/2581/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2581/task/2581/net/stat find[5748] 10 /proc/2581/task/2581/net/dev_snmp6 find[5748] 10 /proc/2581/task/2581/net/netfilter find[5748] 10 /proc/2709/task/2709/fd find[5748] 10 /proc/2709/task/2709/net find[5748] 11 /proc/2709/task/2709/net/rpc find[5748] 11 /proc/2709/task/2709/net/rpc/nfsd.fh find[5748] 11 /proc/2709/task/2709/net/rpc/nfsd.export find[5748] 11 /proc/2709/task/2709/net/rpc/auth.unix.ip find[5748] 11 /proc/2709/task/2709/net/rpc/auth.unix.gid find[5748] 11 /proc/2709/task/2709/net/rpc/nfs4.idtoname find[5748] 10 /proc/2709/task/2709/net/rpc/nfs4.nametoid find[5748] 14 /proc/2709/task/2709/net/rpc/auth.rpcsec.init find[5748] 12 /proc/2709/task/2709/net/rpc/auth.rpcsec.context find[5748] 10 /proc/2709/task/2709/net/stat find[5748] 10 /proc/2709/task/2709/net/dev_snmp6 find[5748] 10 /proc/2709/task/2709/net/netfilter find[5748] 10 /proc/2709/net/rpc/nfsd.fh find[5748] 10 /proc/2709/net/rpc/nfsd.export find[5748] 10 /proc/2709/net/rpc/auth.unix.ip find[5748] 10 /proc/2709/net/rpc/auth.unix.gid find[5748] 10 /proc/3004/task/3004/fd find[5748] 10 /proc/3004/task/3004/net/rpc find[5748] 10 /proc/3004/task/3004/net/rpc/nfsd.fh find[5748] 11 /proc/3004/task/3004/net/rpc/nfsd.export find[5748] 11 /proc/3004/task/3004/net/rpc/auth.unix.ip find[5748] 12 /proc/3004/task/3004/net/rpc/auth.unix.gid find[5748] 11 /proc/3004/task/3004/net/rpc/nfs4.idtoname find[5748] 11 /proc/3004/task/3004/net/rpc/nfs4.nametoid find[5748] 10 /proc/3004/task/3004/net/rpc/auth.rpcsec.init find[5748] 11 /proc/3004/task/3004/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3004/task/3004/net/stat find[5748] 10 /proc/3004/task/3004/net/dev_snmp6 find[5748] 10 /proc/3004/task/3004/net/netfilter find[5748] 10 /proc/3004/net/rpc/nfsd.export find[5748] 10 /proc/3004/net/rpc/auth.unix.ip find[5748] 10 /proc/3004/net/rpc/nfs4.idtoname find[5748] 10 /proc/3004/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3004/net/netfilter find[5748] 10 /proc/3216/task/3216/net/rpc find[5748] 11 /proc/3216/task/3216/net/rpc/nfsd.fh find[5748] 11 /proc/3216/task/3216/net/rpc/nfsd.export find[5748] 11 /proc/3216/task/3216/net/rpc/auth.unix.ip find[5748] 10 /proc/3216/task/3216/net/rpc/auth.unix.gid find[5748] 10 /proc/3216/task/3216/net/rpc/nfs4.idtoname find[5748] 10 /proc/3216/task/3216/net/rpc/nfs4.nametoid find[5748] 11 /proc/3216/task/3216/net/rpc/auth.rpcsec.init find[5748] 11 /proc/3216/task/3216/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3216/task/3216/net/stat find[5748] 10 /proc/3216/task/3216/net/dev_snmp6 find[5748] 10 /proc/3216/net/rpc/nfsd.export find[5748] 10 /proc/3236/task/3236/fd find[5748] 10 /proc/3236/task/3236/net/rpc find[5748] 11 /proc/3236/task/3236/net/rpc/nfsd.fh find[5748] 11 /proc/3236/task/3236/net/rpc/nfsd.export find[5748] 11 /proc/3236/task/3236/net/rpc/auth.unix.ip find[5748] 11 /proc/3236/task/3236/net/rpc/auth.unix.gid find[5748] 10 /proc/3236/task/3236/net/rpc/nfs4.idtoname find[5748] 11 /proc/3236/task/3236/net/rpc/nfs4.nametoid find[5748] 11 /proc/3236/task/3236/net/rpc/auth.rpcsec.init find[5748] 11 /proc/3236/task/3236/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3236/task/3236/net/stat find[5748] 10 /proc/3236/task/3236/net/dev_snmp6 find[5748] 10 /proc/3236/task/3236/net/netfilter find[5748] 10 /proc/3236/net/rpc/auth.rpcsec.init find[5748] 10 /proc/3236/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3597/task/3597/net/rpc find[5748] 11 /proc/3597/task/3597/net/rpc/nfsd.fh find[5748] 11 /proc/3597/task/3597/net/rpc/nfsd.export find[5748] 11 /proc/3597/task/3597/net/rpc/auth.unix.ip find[5748] 10 /proc/3597/task/3597/net/rpc/auth.unix.gid find[5748] 11 /proc/3597/task/3597/net/rpc/nfs4.idtoname find[5748] 10 /proc/3597/task/3597/net/rpc/nfs4.nametoid find[5748] 10 /proc/3597/task/3597/net/rpc/auth.rpcsec.init find[5748] 12 /proc/3597/task/3597/net/rpc/auth.rpcsec.context find[5748] 11 /proc/3597/task/3597/net/stat find[5748] 10 /proc/3597/task/3597/net/dev_snmp6 find[5748] 10 /proc/3597/task/3597/net/netfilter find[5748] 10 /proc/3597/task/3597/attr find[5748] 10 /proc/3597/fdinfo find[5748] 10 /proc/3597/net/rpc/auth.rpcsec.init find[5748] 10 /proc/3597/net/rpc/auth.rpcsec.context find[5748] 11 /proc/3605/task/3605/net/rpc/nfsd.fh find[5748] 11 /proc/3605/task/3605/net/rpc/nfsd.export find[5748] 10 /proc/3605/task/3605/net/rpc/auth.unix.ip find[5748] 10 /proc/3605/task/3605/net/rpc/auth.unix.gid find[5748] 10 /proc/3605/task/3605/net/rpc/nfs4.idtoname find[5748] 10 /proc/3605/task/3605/net/rpc/nfs4.nametoid find[5748] 11 /proc/3605/task/3605/net/rpc/auth.rpcsec.init find[5748] 11 /proc/3605/task/3605/net/rpc/auth.rpcsec.context find[5748] 10 /proc/3605/task/3605/net/stat find[5748] 10 /proc/3605/task/3605/net/dev_snmp6 find[5748] 10 /proc/3605/task/3605/net/netfilter find[5748] 10 /proc/3605/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5317/task/5317/fdinfo find[5748] 10 /proc/5317/task/5317/net/rpc find[5748] 11 /proc/5317/task/5317/net/rpc/nfsd.fh find[5748] 11 /proc/5317/task/5317/net/rpc/nfsd.export find[5748] 11 /proc/5317/task/5317/net/rpc/auth.unix.ip find[5748] 11 /proc/5317/task/5317/net/rpc/auth.unix.gid find[5748] 11 /proc/5317/task/5317/net/rpc/nfs4.idtoname find[5748] 11 /proc/5317/task/5317/net/rpc/nfs4.nametoid find[5748] 11 /proc/5317/task/5317/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5317/task/5317/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5317/task/5317/net/stat find[5748] 10 /proc/5317/task/5317/net/dev_snmp6 find[5748] 11 /proc/5317/task/5317/net/netfilter find[5748] 10 /proc/5317/net/rpc/auth.unix.gid find[5748] 10 /proc/5317/net/rpc/auth.rpcsec.init find[5748] 10 /proc/5319/task/5319/net/rpc find[5748] 11 /proc/5319/task/5319/net/rpc/nfsd.fh find[5748] 11 /proc/5319/task/5319/net/rpc/nfsd.export find[5748] 11 /proc/5319/task/5319/net/rpc/auth.unix.ip find[5748] 11 /proc/5319/task/5319/net/rpc/auth.unix.gid find[5748] 10 /proc/5319/task/5319/net/rpc/nfs4.idtoname find[5748] 10 /proc/5319/task/5319/net/rpc/nfs4.nametoid find[5748] 11 /proc/5319/task/5319/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5319/task/5319/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5319/task/5319/net/stat find[5748] 10 /proc/5319/task/5319/net/dev_snmp6 find[5748] 10 /proc/5319/task/5319/net/netfilter find[5748] 10 /proc/5319/task/5319/attr find[5748] 10 /proc/5319/net/rpc/auth.rpcsec.init find[5748] 21 /proc/5347/task/5347/fdinfo find[5748] 10 /proc/5347/task/5347/net/rpc find[5748] 11 /proc/5347/task/5347/net/rpc/nfsd.fh find[5748] 11 /proc/5347/task/5347/net/rpc/nfsd.export find[5748] 11 /proc/5347/task/5347/net/rpc/auth.unix.ip find[5748] 11 /proc/5347/task/5347/net/rpc/auth.unix.gid find[5748] 10 /proc/5347/task/5347/net/rpc/nfs4.idtoname find[5748] 11 /proc/5347/task/5347/net/rpc/nfs4.nametoid find[5748] 11 /proc/5347/task/5347/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5347/task/5347/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5347/task/5347/net/stat find[5748] 10 /proc/5347/task/5347/net/dev_snmp6 find[5748] 10 /proc/5347/task/5347/net/netfilter find[5748] 10 /proc/5347/net/rpc/auth.unix.ip find[5748] 10 /proc/5347/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5366/task/5366/net/rpc find[5748] 10 /proc/5366/task/5366/net/rpc/nfsd.fh find[5748] 10 /proc/5366/task/5366/net/rpc/nfsd.export find[5748] 11 /proc/5366/task/5366/net/rpc/auth.unix.ip find[5748] 11 /proc/5366/task/5366/net/rpc/auth.unix.gid find[5748] 10 /proc/5366/task/5366/net/rpc/nfs4.idtoname find[5748] 11 /proc/5366/task/5366/net/rpc/nfs4.nametoid find[5748] 10 /proc/5366/task/5366/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5366/task/5366/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5366/task/5366/net/stat find[5748] 10 /proc/5366/task/5366/net/netfilter find[5748] 10 /proc/5366/task/5366/attr find[5748] 10 /proc/5366/net/rpc/auth.unix.ip find[5748] 10 /proc/5366/net/rpc/auth.unix.gid find[5748] 10 /proc/5366/net/rpc/nfs4.idtoname find[5748] 12 /proc/5406/task/5406/net/rpc/nfsd.fh find[5748] 11 /proc/5406/task/5406/net/rpc/nfsd.export find[5748] 11 /proc/5406/task/5406/net/rpc/auth.unix.ip find[5748] 10 /proc/5406/task/5406/net/rpc/auth.unix.gid find[5748] 11 /proc/5406/task/5406/net/rpc/nfs4.idtoname find[5748] 10 /proc/5406/task/5406/net/rpc/nfs4.nametoid find[5748] 11 /proc/5406/task/5406/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5406/task/5406/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5406/task/5406/net/stat find[5748] 11 /proc/5406/task/5406/net/dev_snmp6 find[5748] 10 /proc/5406/task/5406/net/netfilter find[5748] 10 /proc/5406/net/rpc/nfsd.fh find[5748] 10 /proc/5406/net/rpc/auth.unix.ip find[5748] 10 /proc/5407/task/5407/fdinfo find[5748] 10 /proc/5407/task/5407/ns find[5748] 10 /proc/5407/task/5407/net/rpc find[5748] 11 /proc/5407/task/5407/net/rpc/nfsd.fh find[5748] 11 /proc/5407/task/5407/net/rpc/nfsd.export find[5748] 11 /proc/5407/task/5407/net/rpc/auth.unix.ip find[5748] 11 /proc/5407/task/5407/net/rpc/auth.unix.gid find[5748] 10 /proc/5407/task/5407/net/rpc/nfs4.idtoname find[5748] 11 /proc/5407/task/5407/net/rpc/nfs4.nametoid find[5748] 11 /proc/5407/task/5407/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5407/task/5407/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5407/task/5407/net/stat find[5748] 10 /proc/5407/task/5407/net/dev_snmp6 find[5748] 10 /proc/5407/task/5407/net/netfilter find[5748] 10 /proc/5407/task/5430/net/rpc find[5748] 11 /proc/5407/task/5430/net/rpc/nfsd.fh find[5748] 11 /proc/5407/task/5430/net/rpc/nfsd.export find[5748] 11 /proc/5407/task/5430/net/rpc/auth.unix.ip find[5748] 11 /proc/5407/task/5430/net/rpc/auth.unix.gid find[5748] 11 /proc/5407/task/5430/net/rpc/nfs4.idtoname find[5748] 10 /proc/5407/task/5430/net/rpc/nfs4.nametoid find[5748] 11 /proc/5407/task/5430/net/rpc/auth.rpcsec.init find[5748] 12 /proc/5407/task/5430/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5407/task/5430/net/stat find[5748] 10 /proc/5407/net/rpc/nfsd.export find[5748] 18 /proc/5407/net/rpc/nfs4.idtoname find[5748] 10 /proc/5519/task/5519/fdinfo find[5748] 11 /proc/5519/task/5519/net/rpc find[5748] 10 /proc/5519/task/5519/net/rpc/nfsd.fh find[5748] 11 /proc/5519/task/5519/net/rpc/nfsd.export find[5748] 11 /proc/5519/task/5519/net/rpc/auth.unix.ip find[5748] 11 /proc/5519/task/5519/net/rpc/auth.unix.gid find[5748] 11 /proc/5519/task/5519/net/rpc/nfs4.idtoname find[5748] 10 /proc/5519/task/5519/net/rpc/nfs4.nametoid find[5748] 11 /proc/5519/task/5519/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5519/task/5519/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5519/task/5519/net/stat find[5748] 10 /proc/5519/task/5519/net/dev_snmp6 find[5748] 10 /proc/5519/task/5519/net/netfilter find[5748] 10 /proc/5519/task/5519/attr find[5748] 10 /proc/5519/net/rpc/auth.unix.ip find[5748] 10 /proc/5519/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5741/task/5741/fd find[5748] 10 /proc/5741/task/5741/net/rpc find[5748] 12 /proc/5741/task/5741/net/rpc/nfsd.fh find[5748] 11 /proc/5741/task/5741/net/rpc/nfsd.export find[5748] 11 /proc/5741/task/5741/net/rpc/auth.unix.ip find[5748] 10 /proc/5741/task/5741/net/rpc/auth.unix.gid find[5748] 11 /proc/5741/task/5741/net/rpc/nfs4.idtoname find[5748] 10 /proc/5741/task/5741/net/rpc/nfs4.nametoid find[5748] 12 /proc/5741/task/5741/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5741/task/5741/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5741/task/5741/net/stat find[5748] 10 /proc/5741/task/5741/net/dev_snmp6 find[5748] 10 /proc/5741/task/5741/net/netfilter find[5748] 10 /proc/5741/net/rpc/auth.unix.gid find[5748] 10 /proc/5741/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5743/task/5743/fd find[5748] 10 /proc/5743/task/5743/fdinfo find[5748] 10 /proc/5743/task/5743/ns find[5748] 10 /proc/5743/task/5743/net/rpc find[5748] 12 /proc/5743/task/5743/net/rpc/nfsd.fh find[5748] 12 /proc/5743/task/5743/net/rpc/nfsd.export find[5748] 11 /proc/5743/task/5743/net/rpc/auth.unix.ip find[5748] 11 /proc/5743/task/5743/net/rpc/auth.unix.gid find[5748] 11 /proc/5743/task/5743/net/rpc/nfs4.idtoname find[5748] 10 /proc/5743/task/5743/net/rpc/nfs4.nametoid find[5748] 11 /proc/5743/task/5743/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5743/task/5743/net/rpc/auth.rpcsec.context find[5748] 11 /proc/5743/task/5743/net/stat find[5748] 10 /proc/5743/task/5743/net/dev_snmp6 find[5748] 10 /proc/5743/task/5746/fd find[5748] 11 /proc/5743/task/5746/net/rpc find[5748] 11 /proc/5743/task/5746/net/rpc/nfsd.fh find[5748] 11 /proc/5743/task/5746/net/rpc/nfsd.export find[5748] 10 /proc/5743/task/5746/net/rpc/auth.unix.ip find[5748] 11 /proc/5743/task/5746/net/rpc/auth.unix.gid find[5748] 11 /proc/5743/task/5746/net/rpc/nfs4.idtoname find[5748] 10 /proc/5743/task/5746/net/rpc/nfs4.nametoid find[5748] 10 /proc/5743/task/5746/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5743/task/5746/net/rpc/auth.rpcsec.context find[5748] 11 /proc/5743/task/5746/net/stat find[5748] 10 /proc/5743/task/5746/net/dev_snmp6 find[5748] 10 /proc/5743/task/5746/net/netfilter find[5748] 10 /proc/5743/task/5747/fd find[5748] 10 /proc/5743/task/5747/net/rpc find[5748] 11 /proc/5743/task/5747/net/rpc/nfsd.fh find[5748] 11 /proc/5743/task/5747/net/rpc/nfsd.export find[5748] 11 /proc/5743/task/5747/net/rpc/auth.unix.ip find[5748] 11 /proc/5743/task/5747/net/rpc/auth.unix.gid find[5748] 10 /proc/5743/task/5747/net/rpc/nfs4.idtoname find[5748] 10 /proc/5743/task/5747/net/rpc/nfs4.nametoid find[5748] 11 /proc/5743/task/5747/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5743/task/5747/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5743/task/5747/net/stat find[5748] 10 /proc/5743/task/5747/net/dev_snmp6 find[5748] 10 /proc/5743/task/5747/net/netfilter find[5748] 10 /proc/5743/net/rpc/auth.rpcsec.init find[5748] 10 /proc/5744/task/5744/fd find[5748] 10 /proc/5744/task/5744/net/rpc find[5748] 11 /proc/5744/task/5744/net/rpc/nfsd.fh find[5748] 11 /proc/5744/task/5744/net/rpc/nfsd.export find[5748] 11 /proc/5744/task/5744/net/rpc/auth.unix.ip find[5748] 11 /proc/5744/task/5744/net/rpc/auth.unix.gid find[5748] 10 /proc/5744/task/5744/net/rpc/nfs4.idtoname find[5748] 11 /proc/5744/task/5744/net/rpc/nfs4.nametoid find[5748] 11 /proc/5744/task/5744/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5744/task/5744/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5744/task/5744/net/stat find[5748] 10 /proc/5744/task/5744/net/dev_snmp6 find[5748] 10 /proc/5744/task/5744/net/netfilter find[5748] 10 /proc/5745/task/5745/fd find[5748] 10 /proc/5745/task/5745/net/rpc find[5748] 11 /proc/5745/task/5745/net/rpc/nfsd.fh find[5748] 11 /proc/5745/task/5745/net/rpc/nfsd.export find[5748] 11 /proc/5745/task/5745/net/rpc/auth.unix.ip find[5748] 11 /proc/5745/task/5745/net/rpc/auth.unix.gid find[5748] 10 /proc/5745/task/5745/net/rpc/nfs4.idtoname find[5748] 11 /proc/5745/task/5745/net/rpc/nfs4.nametoid find[5748] 10 /proc/5745/task/5745/net/rpc/auth.rpcsec.init find[5748] 11 /proc/5745/task/5745/net/rpc/auth.rpcsec.context find[5748] 11 /proc/5745/task/5745/net/stat find[5748] 10 /proc/5745/task/5745/net/dev_snmp6 find[5748] 10 /proc/5745/task/5745/net/netfilter find[5748] 10 /proc/5745/net/rpc/nfsd.fh find[5748] 10 /proc/5745/net/rpc/auth.unix.ip find[5748] 10 /proc/5745/net/rpc/auth.unix.gid find[5748] 10 /proc/5745/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5748/task/5748/fd find[5748] 10 /proc/5748/task/5748/net/rpc find[5748] 11 /proc/5748/task/5748/net/rpc/nfsd.fh find[5748] 11 /proc/5748/task/5748/net/rpc/nfsd.export find[5748] 11 /proc/5748/task/5748/net/rpc/auth.unix.ip find[5748] 11 /proc/5748/task/5748/net/rpc/auth.unix.gid find[5748] 11 /proc/5748/task/5748/net/rpc/nfs4.idtoname find[5748] 10 /proc/5748/task/5748/net/rpc/nfs4.nametoid find[5748] 11 /proc/5748/task/5748/net/rpc/auth.rpcsec.init find[5748] 12 /proc/5748/task/5748/net/rpc/auth.rpcsec.context find[5748] 10 /proc/5748/task/5748/net/stat find[5748] 11 /proc/5748/task/5748/net/netfilter find[5748] 10 /proc/6064/task/6064/fd find[5748] 10 /proc/6064/task/6064/net/rpc find[5748] 10 /proc/6064/task/6064/net/rpc/nfsd.fh find[5748] 11 /proc/6064/task/6064/net/rpc/nfsd.export find[5748] 11 /proc/6064/task/6064/net/rpc/auth.unix.ip find[5748] 10 /proc/6064/task/6064/net/rpc/auth.unix.gid find[5748] 10 /proc/6064/task/6064/net/rpc/nfs4.idtoname find[5748] 11 /proc/6064/task/6064/net/rpc/nfs4.nametoid find[5748] 11 /proc/6064/task/6064/net/rpc/auth.rpcsec.init find[5748] 11 /proc/6064/task/6064/net/rpc/auth.rpcsec.context find[5748] 10 /proc/6064/task/6064/net/stat find[5748] 10 /proc/6064/task/6064/net/dev_snmp6 find[5748] 10 /proc/6064/task/6064/net/netfilter find[5748] 218 /proc/6064/net/rpc/nfsd.export find[5748] 10 /proc/6064/net/rpc/nfs4.idtoname find[5748] 10 /proc/6064/net/rpc/auth.rpcsec.context find[5748] 10 /proc/7633/task/7633/net/rpc find[5748] 11 /proc/7633/task/7633/net/rpc/nfsd.fh find[5748] 11 /proc/7633/task/7633/net/rpc/nfsd.export find[5748] 11 /proc/7633/task/7633/net/rpc/auth.unix.ip find[5748] 11 /proc/7633/task/7633/net/rpc/auth.unix.gid find[5748] 10 /proc/7633/task/7633/net/rpc/nfs4.idtoname find[5748] 10 /proc/7633/task/7633/net/rpc/nfs4.nametoid find[5748] 11 /proc/7633/task/7633/net/rpc/auth.rpcsec.init find[5748] 11 /proc/7633/task/7633/net/rpc/auth.rpcsec.context find[5748] 10 /proc/7633/task/7633/net/stat find[5748] 10 /proc/7633/task/7633/net/dev_snmp6 find[5748] 10 /proc/7633/task/7633/net/netfilter find[5748] 10 /proc/7633/net/rpc/auth.unix.ip find[5748] 10 /proc/9276/task/9276/net/rpc find[5748] 10 /proc/9276/task/9276/net/rpc/nfsd.fh find[5748] 11 /proc/9276/task/9276/net/rpc/nfsd.export find[5748] 10 /proc/9276/task/9276/net/rpc/auth.unix.ip find[5748] 11 /proc/9276/task/9276/net/rpc/auth.unix.gid find[5748] 10 /proc/9276/task/9276/net/rpc/nfs4.idtoname find[5748] 11 /proc/9276/task/9276/net/rpc/nfs4.nametoid find[5748] 11 /proc/9276/task/9276/net/rpc/auth.rpcsec.init find[5748] 11 /proc/9276/task/9276/net/rpc/auth.rpcsec.context find[5748] 10 /proc/9276/task/9276/net/stat find[5748] 10 /proc/9276/task/9276/net/dev_snmp6 find[5748] 10 /proc/9276/task/9276/net/netfilter find[5748] 10 /proc/9276/net/rpc/auth.rpcsec.init find[5748] 10 /proc/9276/net/rpc/auth.rpcsec.context find[5748] 10 /proc/12609/task/12609/net/rpc find[5748] 11 /proc/12609/task/12609/net/rpc/nfsd.fh find[5748] 11 /proc/12609/task/12609/net/rpc/nfsd.export find[5748] 11 /proc/12609/task/12609/net/rpc/auth.unix.ip find[5748] 11 /proc/12609/task/12609/net/rpc/auth.unix.gid find[5748] 10 /proc/12609/task/12609/net/rpc/nfs4.idtoname find[5748] 11 /proc/12609/task/12609/net/rpc/nfs4.nametoid find[5748] 11 /proc/12609/task/12609/net/rpc/auth.rpcsec.init find[5748] 12 /proc/12609/task/12609/net/rpc/auth.rpcsec.context find[5748] 10 /proc/12609/task/12609/net/stat find[5748] 10 /proc/12609/task/12609/net/dev_snmp6 find[5748] 10 /proc/12609/task/12609/net/netfilter find[5748] 10 /proc/15868/task/15868/net/rpc find[5748] 11 /proc/15868/task/15868/net/rpc/nfsd.fh find[5748] 11 /proc/15868/task/15868/net/rpc/nfsd.export find[5748] 10 /proc/15868/task/15868/net/rpc/auth.unix.ip find[5748] 11 /proc/15868/task/15868/net/rpc/auth.unix.gid find[5748] 11 /proc/15868/task/15868/net/rpc/nfs4.idtoname find[5748] 10 /proc/15868/task/15868/net/rpc/nfs4.nametoid find[5748] 11 /proc/15868/task/15868/net/rpc/auth.rpcsec.init find[5748] 12 /proc/15868/task/15868/net/rpc/auth.rpcsec.context find[5748] 10 /proc/15868/task/15868/net/stat find[5748] 10 /proc/15868/task/15868/net/dev_snmp6 find[5748] 10 /proc/15868/task/15868/net/netfilter find[5748] 10 /proc/15868/net/rpc/nfsd.export find[5748] 10 /proc/15868/net/rpc/auth.unix.ip find[5748] 10 /proc/15868/net/rpc/auth.rpcsec.init find[5748] 10 /proc/19754/task/19754/fd find[5748] 10 /proc/19754/task/19754/net/rpc find[5748] 11 /proc/19754/task/19754/net/rpc/nfsd.fh find[5748] 11 /proc/19754/task/19754/net/rpc/nfsd.export find[5748] 11 /proc/19754/task/19754/net/rpc/auth.unix.ip find[5748] 11 /proc/19754/task/19754/net/rpc/auth.unix.gid find[5748] 12 /proc/19754/task/19754/net/rpc/nfs4.idtoname find[5748] 10 /proc/19754/task/19754/net/rpc/nfs4.nametoid find[5748] 11 /proc/19754/task/19754/net/rpc/auth.rpcsec.init find[5748] 11 /proc/19754/task/19754/net/rpc/auth.rpcsec.context find[5748] 10 /proc/19754/task/19754/net/stat find[5748] 10 /proc/19754/task/19754/net/dev_snmp6 find[5748] 10 /proc/21021/task/21021/fdinfo find[5748] 10 /proc/21021/task/21021/net/rpc find[5748] 11 /proc/21021/task/21021/net/rpc/nfsd.fh find[5748] 11 /proc/21021/task/21021/net/rpc/nfsd.export find[5748] 11 /proc/21021/task/21021/net/rpc/auth.unix.ip find[5748] 11 /proc/21021/task/21021/net/rpc/auth.unix.gid find[5748] 10 /proc/21021/task/21021/net/rpc/nfs4.idtoname find[5748] 10 /proc/21021/task/21021/net/rpc/nfs4.nametoid find[5748] 12 /proc/21021/task/21021/net/rpc/auth.rpcsec.init find[5748] 11 /proc/21021/task/21021/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21021/task/21021/net/stat find[5748] 10 /proc/21021/task/21021/net/dev_snmp6 find[5748] 10 /proc/21021/task/21021/net/netfilter find[5748] 10 /proc/21021/net/rpc/nfs4.nametoid find[5748] 10 /proc/21021/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21181/task/21181/fd find[5748] 10 /proc/21181/task/21181/ns find[5748] 10 /proc/21181/task/21181/net/rpc find[5748] 11 /proc/21181/task/21181/net/rpc/nfsd.fh find[5748] 11 /proc/21181/task/21181/net/rpc/nfsd.export find[5748] 11 /proc/21181/task/21181/net/rpc/auth.unix.ip find[5748] 11 /proc/21181/task/21181/net/rpc/auth.unix.gid find[5748] 10 /proc/21181/task/21181/net/rpc/nfs4.idtoname find[5748] 10 /proc/21181/task/21181/net/rpc/nfs4.nametoid find[5748] 11 /proc/21181/task/21181/net/rpc/auth.rpcsec.init find[5748] 12 /proc/21181/task/21181/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21181/task/21181/net/stat find[5748] 10 /proc/21181/task/21181/net/dev_snmp6 find[5748] 10 /proc/21181/task/21181/net/netfilter find[5748] 10 /proc/21181/task/21181/attr find[5748] 10 /proc/21181/net/rpc/auth.rpcsec.init find[5748] 10 /proc/21181/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21182/task/21182/fdinfo find[5748] 11 /proc/21182/task/21182/net/rpc find[5748] 11 /proc/21182/task/21182/net/rpc/nfsd.fh find[5748] 11 /proc/21182/task/21182/net/rpc/nfsd.export find[5748] 11 /proc/21182/task/21182/net/rpc/auth.unix.ip find[5748] 11 /proc/21182/task/21182/net/rpc/auth.unix.gid find[5748] 12 /proc/21182/task/21182/net/rpc/nfs4.idtoname find[5748] 11 /proc/21182/task/21182/net/rpc/nfs4.nametoid find[5748] 11 /proc/21182/task/21182/net/rpc/auth.rpcsec.init find[5748] 11 /proc/21182/task/21182/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21182/task/21182/net/stat find[5748] 10 /proc/21182/task/21182/net/dev_snmp6 find[5748] 10 /proc/21182/task/21182/net/netfilter find[5748] 10 /proc/21182/task/21182/attr find[5748] 10 /proc/21182/net/rpc/auth.rpcsec.init find[5748] 10 /proc/21182/net/rpc/auth.rpcsec.context find[5748] 28 /proc/21182/net/netfilter find[5748] 10 /proc/21183/task/21183/fd find[5748] 10 /proc/21183/task/21183/fdinfo find[5748] 11 /proc/21183/task/21183/net/rpc find[5748] 11 /proc/21183/task/21183/net/rpc/nfsd.fh find[5748] 11 /proc/21183/task/21183/net/rpc/nfsd.export find[5748] 11 /proc/21183/task/21183/net/rpc/auth.unix.ip find[5748] 11 /proc/21183/task/21183/net/rpc/auth.unix.gid find[5748] 10 /proc/21183/task/21183/net/rpc/nfs4.idtoname find[5748] 10 /proc/21183/task/21183/net/rpc/nfs4.nametoid find[5748] 11 /proc/21183/task/21183/net/rpc/auth.rpcsec.init find[5748] 12 /proc/21183/task/21183/net/rpc/auth.rpcsec.context find[5748] 10 /proc/21183/task/21183/net/stat find[5748] 10 /proc/21183/task/21183/net/dev_snmp6 find[5748] 10 /proc/21183/task/21183/net/netfilter find[5748] 10 /proc/21570/task/21570/fdinfo find[5748] 10 /proc/21570/task/21570/net/rpc find[5748] 11 /proc/21570/task/21570/net/rpc/nfsd.fh find[5748] 10 /proc/21570/task/21570/net/rpc/nfsd.export find[5748] 11 /proc/21570/task/21570/net/rpc/auth.unix.ip find[5748] 11 /proc/21570/task/21570/net/rpc/auth.unix.gid find[5748] 11 /proc/21570/task/21570/net/rpc/nfs4.idtoname find[5748] 11 /proc/21570/task/21570/net/rpc/nfs4.nametoid find[5748] 11 /proc/21570/task/21570/net/rpc/auth.rpcsec.init find[5748] 12 /proc/21570/task/21570/net/rpc/auth.rpcsec.context find[5748] 11 /proc/21570/task/21570/net/stat find[5748] 10 /proc/21570/task/21570/net/dev_snmp6 find[5748] 11 /proc/21570/task/21570/net/netfilter find[5748] 10 /proc/21570/net/rpc/nfsd.fh find[5748] 10 /proc/23932/task/23932/fd find[5748] 10 /proc/24098/task/24098/fd find[5748] 10 /proc/24098/task/24098/net/rpc find[5748] 11 /proc/24098/task/24098/net/rpc/nfsd.fh find[5748] 11 /proc/24098/task/24098/net/rpc/nfsd.export find[5748] 10 /proc/24098/task/24098/net/rpc/auth.unix.ip find[5748] 12 /proc/24098/task/24098/net/rpc/auth.unix.gid find[5748] 11 /proc/24098/task/24098/net/rpc/nfs4.idtoname find[5748] 11 /proc/24098/task/24098/net/rpc/nfs4.nametoid find[5748] 12 /proc/24098/task/24098/net/rpc/auth.rpcsec.init find[5748] 12 /proc/24098/task/24098/net/rpc/auth.rpcsec.context find[5748] 10 /proc/24098/task/24098/net/stat find[5748] 10 /proc/24098/task/24098/net/dev_snmp6 find[5748] 10 /proc/24098/task/24098/net/netfilter find[5748] 10 /proc/24098/net/rpc/nfsd.export find[5748] 10 /proc/24098/net/rpc/auth.unix.ip find[5748] 10 /proc/24098/net/rpc/auth.unix.gid find[5748] 10 /proc/24098/net/rpc/nfs4.idtoname find[5748] 10 /proc/24098/net/rpc/auth.rpcsec.context find[5748] 10 /proc/29049/task/29049/fdinfo find[5748] 10 /proc/29049/task/29049/net/rpc find[5748] 11 /proc/29049/task/29049/net/rpc/nfsd.fh find[5748] 11 /proc/29049/task/29049/net/rpc/nfsd.export find[5748] 11 /proc/29049/task/29049/net/rpc/auth.unix.ip find[5748] 11 /proc/29049/task/29049/net/rpc/auth.unix.gid find[5748] 11 /proc/29049/task/29049/net/rpc/nfs4.idtoname find[5748] 10 /proc/29049/task/29049/net/rpc/nfs4.nametoid find[5748] 11 /proc/29049/task/29049/net/rpc/auth.rpcsec.init find[5748] 11 /proc/29049/task/29049/net/rpc/auth.rpcsec.context find[5748] 10 /proc/29049/task/29049/net/stat find[5748] 11 /proc/29049/task/29049/net/dev_snmp6 find[5748] 10 /proc/29049/task/29049/net/netfilter find[5748] 10 /proc/29049/net/rpc/auth.unix.ip find[5748] 10 /proc/29049/net/rpc/auth.rpcsec.init find[5748] 10 /proc/29177/task/29177/net/rpc find[5748] 11 /proc/29177/task/29177/net/rpc/nfsd.fh find[5748] 10 /proc/29177/task/29177/net/rpc/nfsd.export find[5748] 11 /proc/29177/task/29177/net/rpc/auth.unix.ip find[5748] 10 /proc/29177/task/29177/net/rpc/auth.unix.gid find[5748] 10 /proc/29177/task/29177/net/rpc/nfs4.idtoname find[5748] 11 /proc/29177/task/29177/net/rpc/nfs4.nametoid find[5748] 10 /proc/29177/task/29177/net/rpc/auth.rpcsec.init find[5748] 11 /proc/29177/task/29177/net/rpc/auth.rpcsec.context find[5748] 10 /proc/29177/task/29177/net/stat find[5748] 10 /proc/29177/task/29177/net/dev_snmp6 find[5748] 10 /proc/29177/task/29177/net/netfilter find[5748] 10 /proc/29177/task/29177/attr find[5748] 10 /proc/29177/net/rpc/auth.unix.gid find[5748] 10 /proc/29177/net/rpc/auth.rpcsec.context find[5748] 10 /proc/30608/task/30608/fd find[5748] 10 /proc/30608/task/30608/net/rpc find[5748] 11 /proc/30608/task/30608/net/rpc/nfsd.fh find[5748] 11 /proc/30608/task/30608/net/rpc/nfsd.export find[5748] 11 /proc/30608/task/30608/net/rpc/auth.unix.ip find[5748] 10 /proc/30608/task/30608/net/rpc/auth.unix.gid find[5748] 11 /proc/30608/task/30608/net/rpc/nfs4.idtoname find[5748] 11 /proc/30608/task/30608/net/rpc/nfs4.nametoid find[5748] 11 /proc/30608/task/30608/net/rpc/auth.rpcsec.init find[5748] 11 /proc/30608/task/30608/net/rpc/auth.rpcsec.context find[5748] 10 /proc/30608/task/30608/net/stat find[5748] 10 /proc/30608/task/30608/net/dev_snmp6 find[5748] 10 /proc/30608/task/30608/net/netfilter RC 0 PASS: systemtap.examples/io/slowvfs run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 switchfile.stp' tag 'test_check' value 'stap -p4 switchfile.stp' attempting command stap -p4 switchfile.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/stap_12a870095ae3b67d1ff9d52f226e22cc_2670.ko RC 0 PASS: systemtap.examples/io/switchfile build meta taglines 'test_installcheck: stap -o /tmp/switchfile.stp.out switchfile.stp -T 8' tag 'test_installcheck' value 'stap -o /tmp/switchfile.stp.out switchfile.stp -T 8' attempting command stap -o /tmp/switchfile.stp.out switchfile.stp -T 8 OUT RC 0 PASS: systemtap.examples/io/switchfile run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 traceio.stp' tag 'test_check' value 'stap -p4 traceio.stp' attempting command stap -p4 traceio.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_248d74c549849226f0d7915c27b90447_18567.ko RC 0 PASS: systemtap.examples/io/traceio build meta taglines 'test_installcheck: stap traceio.stp -T 1' tag 'test_installcheck' value 'stap traceio.stp -T 1' attempting command stap traceio.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/traceio run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io meta taglines 'test_check: stap -p4 traceio2.stp 0x0801' tag 'test_check' value 'stap -p4 traceio2.stp 0x0801' attempting command stap -p4 traceio2.stp 0x0801 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2c/stap_2cd4897a3929d95b1ea5db9576852cd3_10641.ko RC 0 PASS: systemtap.examples/io/traceio2 build meta taglines 'test_installcheck: stap traceio2.stp 0x0801 -T 1' tag 'test_installcheck' value 'stap traceio2.stp 0x0801 -T 1' attempting command stap traceio2.stp 0x0801 -T 1 OUT RC 0 PASS: systemtap.examples/io/traceio2 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.function("tty_audit_add_data")'' tag 'test_support' value 'stap -l 'kernel.function("tty_audit_add_data")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/io attempting command stap -l 'kernel.function("tty_audit_add_data")' OUT kernel.function("tty_audit_add_data@drivers/tty/tty_audit.c:204") RC 0 PASS: systemtap.examples/io/ttyspy support meta taglines 'test_check: stap -gp4 ttyspy.stp' tag 'test_check' value 'stap -gp4 ttyspy.stp' attempting command stap -gp4 ttyspy.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/stap_c5de84da44a6d8efaf0d238b1c6c5c3b_10308.ko RC 0 PASS: systemtap.examples/io/ttyspy build meta taglines 'test_installcheck: stap --skip-badvars -g ttyspy.stp -T 1' tag 'test_installcheck' value 'stap --skip-badvars -g ttyspy.stp -T 1' attempting command stap --skip-badvars -g ttyspy.stp -T 1 OUT RC 0 PASS: systemtap.examples/io/ttyspy run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.function("lock_kernel").return'' tag 'test_support' value 'stap -l 'kernel.function("lock_kernel").return'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/locks attempting command stap -l 'kernel.function("lock_kernel").return' OUT child process exited abnormally RC 1 UNTESTED: systemtap.examples/locks/bkl build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.function("lock_kernel").return'' tag 'test_support' value 'stap -l 'kernel.function("lock_kernel").return'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/locks attempting command stap -l 'kernel.function("lock_kernel").return' OUT child process exited abnormally RC 1 UNTESTED: systemtap.examples/locks/bkl_stats build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 accept2close-nd.stp' tag 'test_support' value 'stap -p4 accept2close-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 accept2close-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_74e8f2a71dc277dc30ac0b30024c2d4b_76308.ko RC 0 PASS: systemtap.examples/lwtools/accept2close-nd support meta taglines 'test_check: stap -p4 accept2close-nd.stp' tag 'test_check' value 'stap -p4 accept2close-nd.stp' attempting command stap -p4 accept2close-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_74e8f2a71dc277dc30ac0b30024c2d4b_76308.ko RC 0 PASS: systemtap.examples/lwtools/accept2close-nd build meta taglines 'test_installcheck: stap accept2close-nd.stp -T 1' tag 'test_installcheck' value 'stap accept2close-nd.stp -T 1' attempting command stap accept2close-nd.stp -T 1 OUT TIME PID COMM FD DURATION Duration (ns): RC 0 PASS: systemtap.examples/lwtools/accept2close-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 biolatency-nd.stp' tag 'test_support' value 'stap -p4 biolatency-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 biolatency-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_7018098eeb44d6e1e4fac208759793b1_5472.ko RC 0 PASS: systemtap.examples/lwtools/biolatency-nd support meta taglines 'test_check: stap -p4 biolatency-nd.stp' tag 'test_check' value 'stap -p4 biolatency-nd.stp' attempting command stap -p4 biolatency-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_7018098eeb44d6e1e4fac208759793b1_5472.ko RC 0 PASS: systemtap.examples/lwtools/biolatency-nd build meta taglines 'test_installcheck: stap biolatency-nd.stp 1 1' tag 'test_installcheck' value 'stap biolatency-nd.stp 1 1' attempting command stap biolatency-nd.stp 1 1 OUT Tracing block I/O... Output every 1 secs. bio latency (ns): RC 0 PASS: systemtap.examples/lwtools/biolatency-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 bitesize-nd.stp' tag 'test_support' value 'stap -p4 bitesize-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 bitesize-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_54d3621c521913c9ddaac84b96f6baf8_3398.ko RC 0 PASS: systemtap.examples/lwtools/bitesize-nd support meta taglines 'test_check: stap -p4 bitesize-nd.stp' tag 'test_check' value 'stap -p4 bitesize-nd.stp' attempting command stap -p4 bitesize-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_54d3621c521913c9ddaac84b96f6baf8_3398.ko RC 0 PASS: systemtap.examples/lwtools/bitesize-nd build meta taglines 'test_installcheck: stap bitesize-nd.stp -T 1' tag 'test_installcheck' value 'stap bitesize-nd.stp -T 1' attempting command stap bitesize-nd.stp -T 1 OUT Tracing block I/O... Hit Ctrl-C to end. I/O size (bytes): RC 0 PASS: systemtap.examples/lwtools/bitesize-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 execsnoop-nd.stp' tag 'test_support' value 'stap -p4 execsnoop-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 execsnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f2f2f4d0c05cb6d1ede8d52aee7dd065_17513.ko RC 0 PASS: systemtap.examples/lwtools/execsnoop-nd support meta taglines 'test_check: stap -p4 execsnoop-nd.stp' tag 'test_check' value 'stap -p4 execsnoop-nd.stp' attempting command stap -p4 execsnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f2f2f4d0c05cb6d1ede8d52aee7dd065_17513.ko RC 0 PASS: systemtap.examples/lwtools/execsnoop-nd build meta taglines 'test_installcheck: stap execsnoop-nd.stp -T 1' tag 'test_installcheck' value 'stap execsnoop-nd.stp -T 1' attempting command stap execsnoop-nd.stp -T 1 OUT TIME UID PPID PID COMM ARGS RC 0 PASS: systemtap.examples/lwtools/execsnoop-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 fslatency-nd.stp' tag 'test_support' value 'stap -p4 fslatency-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 fslatency-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cb9d280fdcc8976e0cba5da875c58df0_25357.ko RC 0 PASS: systemtap.examples/lwtools/fslatency-nd support meta taglines 'test_check: stap -p4 fslatency-nd.stp' tag 'test_check' value 'stap -p4 fslatency-nd.stp' attempting command stap -p4 fslatency-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cb9d280fdcc8976e0cba5da875c58df0_25357.ko RC 0 PASS: systemtap.examples/lwtools/fslatency-nd build meta taglines 'test_installcheck: stap fslatency-nd.stp 1 1' tag 'test_installcheck' value 'stap fslatency-nd.stp 1 1' attempting command stap fslatency-nd.stp 1 1 OUT Tracing FS sync reads and writes... Output every 1 secs. Tue Aug 16 19:25:50 2016 FS latency (ns): FS call: __vfs_write() value |-------------------------------------------------- count 512 | 0 1024 | 0 2048 |@ 1 4096 | 0 8192 | 0 RC 0 PASS: systemtap.examples/lwtools/fslatency-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 fsslower-nd.stp' tag 'test_support' value 'stap -p4 fsslower-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 fsslower-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15ae6ffe476c42a70a487e7a68a02c0d_26243.ko RC 0 PASS: systemtap.examples/lwtools/fsslower-nd support meta taglines 'test_check: stap -p4 fsslower-nd.stp' tag 'test_check' value 'stap -p4 fsslower-nd.stp' attempting command stap -p4 fsslower-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15ae6ffe476c42a70a487e7a68a02c0d_26243.ko RC 0 PASS: systemtap.examples/lwtools/fsslower-nd build meta taglines 'test_installcheck: stap fsslower-nd.stp -T 1' tag 'test_installcheck' value 'stap fsslower-nd.stp -T 1' attempting command stap fsslower-nd.stp -T 1 OUT Tracing FS sync reads and writes slower than 10 ms... Hit Ctrl-C to end. TIME PID COMM FUNC SIZE LAT(ms) RC 0 PASS: systemtap.examples/lwtools/fsslower-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 killsnoop-nd.stp' tag 'test_support' value 'stap -p4 killsnoop-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 killsnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/stap_a1ed3925454563baac75d985e5865040_67980.ko RC 0 PASS: systemtap.examples/lwtools/killsnoop-nd support meta taglines 'test_check: stap -p4 killsnoop-nd.stp' tag 'test_check' value 'stap -p4 killsnoop-nd.stp' attempting command stap -p4 killsnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/stap_a1ed3925454563baac75d985e5865040_67980.ko RC 0 PASS: systemtap.examples/lwtools/killsnoop-nd build meta taglines 'test_installcheck: stap killsnoop-nd.stp -T 1' tag 'test_installcheck' value 'stap killsnoop-nd.stp -T 1' attempting command stap killsnoop-nd.stp -T 1 OUT FROM COMMAND SIG TO RESULT RC 0 PASS: systemtap.examples/lwtools/killsnoop-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 opensnoop-nd.stp' tag 'test_support' value 'stap -p4 opensnoop-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 opensnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/stap_c52aca7fe548d3e316568c51146339d2_70154.ko RC 0 PASS: systemtap.examples/lwtools/opensnoop-nd support meta taglines 'test_check: stap -p4 opensnoop-nd.stp' tag 'test_check' value 'stap -p4 opensnoop-nd.stp' attempting command stap -p4 opensnoop-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/stap_c52aca7fe548d3e316568c51146339d2_70154.ko RC 0 PASS: systemtap.examples/lwtools/opensnoop-nd build meta taglines 'test_installcheck: stap opensnoop-nd.stp -T 1' tag 'test_installcheck' value 'stap opensnoop-nd.stp -T 1' attempting command stap opensnoop-nd.stp -T 1 OUT UID PID COMM FD PATH RC 0 PASS: systemtap.examples/lwtools/opensnoop-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 rwtime-nd.stp' tag 'test_support' value 'stap -p4 rwtime-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 rwtime-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9e/stap_9e68b5ac3731056f338b141c15bec324_13283.ko RC 0 PASS: systemtap.examples/lwtools/rwtime-nd support meta taglines 'test_check: stap -p4 rwtime-nd.stp' tag 'test_check' value 'stap -p4 rwtime-nd.stp' attempting command stap -p4 rwtime-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9e/stap_9e68b5ac3731056f338b141c15bec324_13283.ko RC 0 PASS: systemtap.examples/lwtools/rwtime-nd build meta taglines 'test_installcheck: stap rwtime-nd.stp -T 1' tag 'test_installcheck' value 'stap rwtime-nd.stp -T 1' attempting command stap rwtime-nd.stp -T 1 OUT Tracing read/write syscalls... Hit Ctrl-C to end. syscall read latency (ns): value |-------------------------------------------------- count 1024 | 0 2048 | 0 4096 |@@@@@@@ 7 8192 |@@ 2 16384 | 0 32768 | 0 syscall write latency (ns): value |-------------------------------------------------- count 2048 | 0 4096 | 0 8192 |@ 1 16384 | 0 32768 | 0 RC 0 PASS: systemtap.examples/lwtools/rwtime-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 syscallbypid-nd.stp' tag 'test_support' value 'stap -p4 syscallbypid-nd.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/lwtools attempting command stap -p4 syscallbypid-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dbae806afc83c08adc1059ac7a5cf1a3_232184.ko RC 0 PASS: systemtap.examples/lwtools/syscallbypid-nd support meta taglines 'test_check: stap -p4 syscallbypid-nd.stp' tag 'test_check' value 'stap -p4 syscallbypid-nd.stp' attempting command stap -p4 syscallbypid-nd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dbae806afc83c08adc1059ac7a5cf1a3_232184.ko RC 0 PASS: systemtap.examples/lwtools/syscallbypid-nd build meta taglines 'test_installcheck: stap syscallbypid-nd.stp -T 1' tag 'test_installcheck' value 'stap syscallbypid-nd.stp -T 1' attempting command stap syscallbypid-nd.stp -T 1 OUT WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) Tracing syscall completions... Hit Ctrl-C to end. PID CMD SYSCALL COUNT 12732 stapio pselect6 1 5407 expect read 2 12732 stapio write 4 12732 stapio ppoll 4 12732 stapio fcntl 8 12732 stapio read 10 RC 0 PASS: systemtap.examples/lwtools/syscallbypid-nd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 glibc-malloc.stp' tag 'test_support' value 'stap -p4 glibc-malloc.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory attempting command stap -p4 glibc-malloc.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5b/stap_5b26144856c866c19a036562badf6048_6788.ko RC 0 PASS: systemtap.examples/memory/glibc-malloc support meta taglines 'test_check: stap -p4 glibc-malloc.stp' tag 'test_check' value 'stap -p4 glibc-malloc.stp' attempting command stap -p4 glibc-malloc.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5b/stap_5b26144856c866c19a036562badf6048_6788.ko RC 0 PASS: systemtap.examples/memory/glibc-malloc build meta taglines 'test_installcheck: stap glibc-malloc.stp -c 'stap --dump-functions'' tag 'test_installcheck' value 'stap glibc-malloc.stp -c 'stap --dump-functions'' attempting command stap glibc-malloc.stp -c 'stap --dump-functions' OUT 13008: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13017: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13022: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13027: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13032: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13037: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13045: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13053: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13058: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13064: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13069: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13074: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13079: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13084: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13089: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13112: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13119: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13127: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13169: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13169: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13170: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13188: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13193: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13199: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13200: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13205: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13205: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 13205: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 13221: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13230: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13235: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13240: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13245: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13250: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13258: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13266: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13271: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13277: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13282: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13287: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13292: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13297: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13302: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13325: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13332: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13340: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13382: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13382: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13383: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13401: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13406: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13412: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13413: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13418: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13434: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13443: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13448: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13453: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13458: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13463: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13471: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13479: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13484: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13490: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13495: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13500: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13505: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13510: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13515: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13538: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13545: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13553: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13595: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13595: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13596: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13614: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13619: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13625: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13626: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13631: New thresholds: mmap: 262144 bytes, trim: 524288 bytes 13631: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13631: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13647: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13656: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13661: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13666: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13671: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13676: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13684: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13692: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13697: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13703: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13708: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13713: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13718: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13723: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13728: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13751: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13758: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13766: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13808: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13808: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 13809: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13827: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13832: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 13838: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 13839: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13844: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 12990: New thresholds: mmap: 262144 bytes, trim: 524288 bytes 12990: New thresholds: mmap: 262144 bytes, trim: 524288 bytes 12990: New thresholds: mmap: 524288 bytes, trim: 1048576 bytes 13862: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13871: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13876: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13881: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13886: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13891: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13899: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13907: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13912: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13918: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13923: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13928: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13933: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13938: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13943: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13966: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13973: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 13981: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14023: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 14023: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 14024: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14042: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 14047: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 14053: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 14054: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14059: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 14059: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 14059: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 14075: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14084: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14089: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14094: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14099: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14104: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14112: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14120: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14125: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14131: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14136: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14141: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14146: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14151: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14156: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14179: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14186: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14195: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14237: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 14237: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 14238: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14256: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 14261: New thresholds: mmap: 16973824 bytes, trim: 33947648 bytes 14267: New thresholds: mmap: 196608 bytes, trim: 393216 bytes 14268: New thresholds: mmap: 589824 bytes, trim: 1179648 bytes 14273: New thresholds: mmap: 327680 bytes, trim: 655360 bytes 14273: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 14273: New thresholds: mmap: 393216 bytes, trim: 786432 bytes 12990: New thresholds: mmap: 1048576 bytes, trim: 2097152 bytes AF_INET6:long () /* unprivileged */ AF_INET:long () /* unprivileged */ HZ:long () /* unprivileged */ MAJOR:long (dev:long) MINOR:long (dev:long) MKDEV:long (major:long, minor:long) NFS_I:long (inode:long) NFS_PROTO:long (inode:long) NFS_SERVER:long (inode:long) WEXITSTATUS:long (f:long) WIFEXITED:long (f:long) WTERMSIG:long (f:long) addr:long () addr_from_rqst:long (rqstp:long) /* unprivileged */ addr_from_rqst_str:string (rqstp:long) /* unprivileged */ addr_to_node:long (addr:long) ansi_clear_screen:unknown () ansi_cursor_hide:unknown () ansi_cursor_move:unknown (x:long, y:long) ansi_cursor_restore:unknown () ansi_cursor_save:unknown () ansi_cursor_show:unknown () ansi_new_line:unknown () ansi_reset_color:unknown () ansi_set_color:unknown (fg:long) ansi_set_color:unknown (fg:long, bg:long) ansi_set_color:unknown (fg:long, bg:long, attr:long) arch_bytes:long () asmlinkage:unknown () assert:unknown (expression:long) assert:unknown (expression:long, msg:string) atomic_long_read:long (addr:long) atomic_read:long (addr:long) backtrace:string () bdevname:string (bdev:long) big_endian2:long (val:long) big_endian4:long (val:long) big_endian8:long (val:long) bio_rw_num:long (rw:long) /* unprivileged */ bio_rw_str:string (rw:long) bytes_to_string:string (bytes:long) caller:string () caller_addr:long () callers:string (n:long) /* unprivileged */ clones_from_clnt:long (clnt:long) cmdline_arg:string (n:long) cmdline_args:string (n:long, m:long, delim:string) cmdline_str:string () commit:unknown (id:long) container_of_task_rcu:long (rcu_ptr:long) cpu:long () /* unprivileged */ cpu_clock_ms:long (cpu:long) cpu_clock_ns:long (cpu:long) /* unprivileged */ cpu_clock_s:long (cpu:long) cpu_clock_us:long (cpu:long) cputime_to_msecs:long (cputime:long) /* unprivileged */ cputime_to_string:string (cputime:long) cputime_to_usecs:long (cputime:long) /* unprivileged */ ctime:string (epochsecs:long) ctime:string () d_name:string (dentry:long) d_path:string (nd:long) delete_stopwatch:unknown (name:string) describe_data_direction:string (state:long) describe_device_state:string (state:long) discard:unknown (id:long) disk_major_from_request:long (var_q:long) disk_minor_from_request:long (var_q:long) egid:long () /* unprivileged */ env_var:string (name:string) errno_p:long (err:long) errno_str:string (err:long) error:unknown (msg:string) /* unprivileged */ euid:long () /* unprivileged */ execname:string () /* unprivileged */ exit:unknown () /* unprivileged */ fastcall:unknown () format_ipaddr:string (addr:long, family:long) ftrace:unknown (msg:string) ftype:string (type:long) fullpath_struct_file:string (task:long, file:long) fullpath_struct_nameidata:string (nd:long) fullpath_struct_path:string (path:long) get_cycles:long () /* unprivileged */ get_devstate_from_req:long (var:long) get_ip:long (task:long) get_ip_from_client:long (clnt:long) /* unprivileged */ get_loadavg_index:long (indx:long) get_netdev_name:string (addr:long) get_prot:long (task:long) get_prot_from_client:long (clnt:long) get_sa_flags:long (act:long) get_sa_handler:long (act:long) get_sigaction_mask:long (act:long) get_sigset:long (sigset:long) gettimeofday_ms:long () gettimeofday_ns:long () /* unprivileged */ gettimeofday_s:long () gettimeofday_us:long () gid:long () /* unprivileged */ htonl:long (x:long) htonll:long (x:long) htons:long (x:long) indent:string (delta:long) indent_depth:long (delta:long) inet_get_ip_source:string (sock:long) inet_get_local_port:long (sock:long) inode_name:string (inode:long) inode_path:string (inode:long) int_arg:long (argnum:long) ip_ntop:string (addr:long) /* unprivileged */ ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ipmib_get_proto:long (skb:long) ipmib_local_addr:long (skb:long, SourceIsLocal:long) ipmib_remote_addr:long (skb:long, SourceIsLocal:long) ipmib_tcp_local_port:long (skb:long, SourceIsLocal:long) ipmib_tcp_remote_port:long (skb:long, SourceIsLocal:long) irqflags_str:string (f:long) /* unprivileged */ is_myproc:long () /* unprivileged */ is_return:long () is_sig_blocked:long (task:long, sig:long) isdigit:long (str:string) /* unprivileged */ isinstr:long (s1:string, s2:string) /* unprivileged */ jiffies:long () /* unprivileged */ json_add_array:long (name:string, description:string) json_add_array_numeric_metric:long (array_name:string, metric_name:string, metric_description:string, metric_units:string) json_add_array_string_metric:long (array_name:string, metric_name:string, metric_description:string) json_add_numeric_metric:long (name:string, description:string, units:string) json_add_string_metric:long (name:string, description:string) json_set_prefix:long (prefix:string) kernel_buffer_quoted:string (addr:long, inlen:long) kernel_buffer_quoted:string (addr:long, inlen:long, outlen:long) kernel_buffer_quoted_error:string (addr:long, inlen:long, outlen:long) kernel_char:long (addr:long) kernel_int:long (addr:long) kernel_long:long (addr:long) kernel_pointer:long (addr:long) kernel_short:long (addr:long) kernel_string:string (addr:long) kernel_string:string (addr:long, err_msg:string) kernel_string_n:string (addr:long, n:long) kernel_string_quoted:string (addr:long) kernel_string_quoted_utf16:string (addr:long) kernel_string_quoted_utf32:string (addr:long) kernel_string_utf16:string (addr:long) kernel_string_utf16:string (addr:long, err_msg:string) kernel_string_utf32:string (addr:long) kernel_string_utf32:string (addr:long, err_msg:string) linuxmib_filter_key:long (sk:long, op:long) little_endian2:long (val:long) little_endian4:long (val:long) little_endian8:long (val:long) local_clock_ms:long () local_clock_ns:long () /* unprivileged */ local_clock_s:long () local_clock_us:long () log:unknown (msg:string) /* unprivileged */ long_arg:long (argnum:long) longlong_arg:long (argnum:long) mdelay:unknown (ms:long) /* guru */ mem_page_size:long () /* unprivileged */ modname:string (addr:long) module_name:string () /* unprivileged */ module_size:string () msecs_to_string:string (msecs:long) msg_flags_num2str:string (flags:long) nfs3_cmode:string (cmode:long) nfs4_ctype:string (cmode:long) nfsderror:string (err:long) ns_egid:long () /* unprivileged */ ns_euid:long () /* unprivileged */ ns_gid:long () /* unprivileged */ ns_pgrp:long () /* unprivileged */ ns_pid:long () /* unprivileged */ ns_ppid:long () /* unprivileged */ ns_sid:long () /* unprivileged */ ns_tid:long () /* unprivileged */ ns_uid:long () /* unprivileged */ nsecs_to_string:string (nsecs:long) ntohl:long (x:long) ntohll:long (x:long) ntohs:long (x:long) pages_to_string:string (pages:long) panic:unknown (msg:string) /* guru */ pexecname:string () /* unprivileged */ pgrp:long () /* unprivileged */ pid2execname:string (pid:long) pid2task:long (pid:long) pid:long () /* unprivileged */ pn:string () /* unprivileged */ pnlabel:string () /* unprivileged */ pointer_arg:long (argnum:long) port_from_clnt:long (clnt:long) port_from_xprt:long (cl_xprt:long) /* unprivileged */ pp:string () /* unprivileged */ ppfunc:string () /* unprivileged */ ppid:long () /* unprivileged */ print_backtrace:unknown () print_java_backtrace:unknown () print_regs:unknown () print_stack:unknown (stk:string) print_syms:unknown (callers:string) print_ubacktrace:unknown () /* myproc-unprivileged */ print_ubacktrace_brief:unknown () /* myproc-unprivileged */ print_ustack:unknown (stk:string) print_usyms:unknown (callers:string) printk:unknown (level:long, msg:string) /* guru */ probe_type:string () /* unprivileged */ probefunc:string () probemod:string () probing_32bit_app:long () proc_from_msg:long (msg:long) proc_mem_data:long () proc_mem_data:long (pid:long) proc_mem_rss:long () proc_mem_rss:long (pid:long) proc_mem_shr:long () proc_mem_shr:long (pid:long) proc_mem_size:long () proc_mem_size:long (pid:long) proc_mem_string:string () proc_mem_string:string (pid:long) proc_mem_txt:long () proc_mem_txt:long (pid:long) prog_from_clnt:long (clnt:long) prot_from_clnt:long (clnt:long) pstrace:string (task:long) qs_done:unknown (qname:string) qs_run:unknown (qname:string) qs_time:long () qs_wait:unknown (qname:string) qsq_blocked:long (qname:string, scale:long) qsq_print:unknown (qname:string) qsq_service_time:long (qname:string, scale:long) qsq_start:unknown (qname:string) qsq_throughput:long (qname:string, scale:long) qsq_utilization:long (qname:string, scale:long) qsq_wait_queue_length:long (qname:string, scale:long) qsq_wait_time:long (qname:string, scale:long) raise:unknown (signo:long) /* guru */ randint:long (n:long) /* unprivileged */ rcu_dereference:long (protected_pointer:long) read_stopwatch_ms:long (name:string) read_stopwatch_ns:long (name:string) read_stopwatch_s:long (name:string) read_stopwatch_us:long (name:string) real_mount:long (vfsmnt:long) register:long (name:string) registers_valid:long () /* unprivileged */ regparm:unknown (n:long) remote_id:long () /* unprivileged */ remote_uri:string () /* unprivileged */ return_str:string (format:long, ret:long) returnstr:string (format:long) returnval:long () reverse_path_walk:string (dentry:long) rlimit_from_str:long (lim_str:string) s32_arg:long (argnum:long) s64_arg:long (argnum:long) sa_flags_str:string (sa_flags:long) sa_handler_str:string (handler:long) scsi_timer_pending:long (cmd:long) set_kernel_char:unknown (addr:long, val:long) /* guru */ set_kernel_int:unknown (addr:long, val:long) /* guru */ set_kernel_long:unknown (addr:long, val:long) /* guru */ set_kernel_pointer:unknown (addr:long, val:long) /* guru */ set_kernel_short:unknown (addr:long, val:long) /* guru */ set_kernel_string:unknown (addr:long, val:string) /* guru */ set_kernel_string_n:unknown (addr:long, n:long, val:string) /* guru */ set_user_char:unknown (addr:long, val:long) /* guru */ set_user_int:unknown (addr:long, val:long) /* guru */ set_user_long:unknown (addr:long, val:long) /* guru */ set_user_pointer:unknown (addr:long, val:long) /* guru */ set_user_short:unknown (addr:long, val:long) /* guru */ set_user_string:unknown (addr:long, val:string) /* guru */ set_user_string_n:unknown (addr:long, n:long, val:string) /* guru */ sid:long () /* unprivileged */ signal_str:string (num:long) sigset_mask_str:string (mask:long) sock_fam_num2str:string (family:long) sock_fam_str2num:long (family:string) sock_flags_num2str:string (flags:long) sock_prot_num2str:string (proto:long) sock_prot_str2num:long (proto:string) sock_state_num2str:string (state:long) sock_state_str2num:long (state:string) sock_type_num2str:string (type:long) sock_type_str2num:long (type:string) speculate:unknown (id:long, output:string) speculation:long () sprint_backtrace:string () sprint_java_backtrace:string () sprint_loadavg:string () sprint_stack:string (stk:string) sprint_syms:string (callers:string) /* unprivileged */ sprint_ubacktrace:string () /* myproc-unprivileged */ sprint_ustack:string (stk:string) sprint_usyms:string (callers:string) /* unprivileged */ stack:long (n:long) stack_size:long () stack_unused:long () stack_used:long () start_stopwatch:unknown (name:string) stop_stopwatch:unknown (name:string) stp_pid:long () stp_print_binary:unknown (n:long, arg1:long, arg2:long, arg3:long, arg4:long) str_replace:string (prnt_str:string, srch_str:string, rplc_str:string) /* unprivileged */ string_quoted:string (str:string) stringat:long (str:string, pos:long) /* unprivileged */ strlen:long (s:string) /* unprivileged */ strtol:long (str:string, base:long) /* unprivileged */ substr:string (str:string, start:long, length:long) /* unprivileged */ switch_file:unknown () symdata:string (addr:long) symfile:string (addr:long) symfileline:string (addr:long) symline:string (addr:long) symname:string (addr:long) syscall_name:string (num:long) syscall_num:long (name:string) system:unknown (cmd:string) /* unprivileged */ target:long () /* unprivileged */ target_set_pid:long (pid:long) target_set_report:unknown () task_ancestry:string (task:long, with_time:long) task_cpu:long (task:long) task_current:long () task_cwd_path:long (task:long) task_dentry_path:string (task:long, dentry:long, vfsmnt:long) /* unprivileged */ task_egid:long (task:long) task_euid:long (task:long) task_exe_file:long (task:long) task_execname:string (task:long) task_fd_lookup:long (task:long, fd:long) task_gid:long (task:long) task_max_file_handles:long (task:long) task_nice:long (task:long) task_ns_egid:long (task:long) /* guru */ task_ns_euid:long (task:long) /* guru */ task_ns_gid:long (task:long) /* guru */ task_ns_pid:long (task:long) /* guru */ task_ns_tid:long (task:long) /* guru */ task_ns_uid:long (task:long) /* guru */ task_open_file_handles:long (task:long) task_parent:long (task:long) task_pid:long (task:long) task_prio:long (task:long) task_rlimit:long (task:long, lim_str:string) task_rlimit_as:long (task:long) /* unprivileged */ task_rlimit_core:long (task:long) /* unprivileged */ task_rlimit_cpu:long (task:long) /* unprivileged */ task_rlimit_data:long (task:long) /* unprivileged */ task_rlimit_fsize:long (task:long) /* unprivileged */ task_rlimit_locks:long (task:long) /* unprivileged */ task_rlimit_memlock:long (task:long) /* unprivileged */ task_rlimit_msgqueue:long (task:long) /* unprivileged */ task_rlimit_nice:long (task:long) /* unprivileged */ task_rlimit_nofile:long (task:long) /* unprivileged */ task_rlimit_nproc:long (task:long) /* unprivileged */ task_rlimit_rss:long (task:long) /* unprivileged */ task_rlimit_rtprio:long (task:long) /* unprivileged */ task_rlimit_rttime:long (task:long) /* unprivileged */ task_rlimit_sigpending:long (task:long) /* unprivileged */ task_rlimit_stack:long (task:long) /* unprivileged */ task_start_time:long (tid:long) task_state:long (task:long) task_stime:long () /* unprivileged */ task_stime:long (tid:long) task_tid:long (task:long) task_time_string:string () task_time_string_tid:string (tid:long) task_uid:long (task:long) task_utime:long () /* unprivileged */ task_utime:long (tid:long) tasks_from_clnt:long (clnt:long) tcp_get_info_rto:long (sock:long) tcp_get_info_snd_cwnd:long (sock:long) tcp_ipv6_sockopt_str:string (optname:long) tcp_sockopt_str:string (optname:long) tcp_sockstate_str:string (state:long) tcp_ts_get_info_rcv_mss:long (sock:long) tcp_ts_get_info_snd_ssthresh:long (sock:long) tcp_ts_get_info_state:long (sock:long) tcpmib_filter_key:long (sk:long, op:long) tcpmib_get_state:long (sk:long) tcpmib_local_addr:long (sk:long) tcpmib_local_port:long (sk:long) tcpmib_remote_addr:long (sk:long) tcpmib_remote_port:long (sk:long) text_str:string (input:string) /* unprivileged */ text_strn:string (input:string, len:long, quoted:long) /* unprivileged */ thread_indent:string (delta:long) thread_indent_depth:long (delta:long) tid:long () /* unprivileged */ timer_pending:long (timer:long) tokenize:string (delim:string) tokenize:string (input:string, delim:string) /* unprivileged */ tz_ctime:string (epochsecs:long) tz_gmtoff:long () /* unprivileged */ tz_name:string () /* unprivileged */ u32_arg:long (argnum:long) u64_arg:long (argnum:long) u_register:long (name:string) uaddr:long () /* myproc-unprivileged */ uarch_bytes:long () ubacktrace:string () /* myproc-unprivileged */ ucallers:string (n:long) /* unprivileged */ udelay:unknown (us:long) /* guru */ uid:long () /* unprivileged */ uint_arg:long (argnum:long) ulong_arg:long (argnum:long) ulonglong_arg:long (argnum:long) umodname:string (addr:long) /* myproc-unprivileged */ usecs_to_string:string (usecs:long) user_buffer_quoted:string (addr:long, inlen:long, outlen:long) user_buffer_quoted_error:string (addr:long, inlen:long, outlen:long) user_char:long (addr:long) user_char_error:long (addr:long) /* myproc-unprivileged */ user_char_warn:long (addr:long) user_int16:long (addr:long) user_int16_error:long (addr:long) /* myproc-unprivileged */ user_int32:long (addr:long) user_int32_error:long (addr:long) /* myproc-unprivileged */ user_int64:long (addr:long) user_int64_error:long (addr:long) /* myproc-unprivileged */ user_int8:long (addr:long) user_int8_error:long (addr:long) /* myproc-unprivileged */ user_int:long (addr:long) user_int_error:long (addr:long) /* myproc-unprivileged */ user_int_warn:long (addr:long) user_long:long (addr:long) user_long_error:long (addr:long) /* myproc-unprivileged */ user_long_warn:long (addr:long) user_mode:long () /* unprivileged */ user_short:long (addr:long) user_short_error:long (addr:long) /* myproc-unprivileged */ user_short_warn:long (addr:long) user_string:string (addr:long) /* unprivileged */ user_string:string (addr:long, err_msg:string) /* unprivileged */ user_string_n:string (addr:long, n:long) /* myproc-unprivileged */ user_string_n:string (addr:long, n:long, err_msg:string) /* myproc-unprivileged */ user_string_n_quoted:string (addr:long, n:long) /* unprivileged */ user_string_n_quoted:string (addr:long, inlen:long, outlen:long) user_string_n_warn:string (addr:long, n:long) user_string_n_warn:string (addr:long, n:long, warn_msg:string) /* myproc-unprivileged */ user_string_quoted:string (addr:long) user_string_quoted_utf16:string (addr:long) user_string_quoted_utf32:string (addr:long) user_string_utf16:string (addr:long) /* myproc-unprivileged */ user_string_utf16:string (addr:long, err_msg:string) user_string_utf32:string (addr:long) /* myproc-unprivileged */ user_string_utf32:string (addr:long, err_msg:string) user_string_warn:string (addr:long) user_string_warn:string (addr:long, warn_msg:string) /* unprivileged */ user_uint16:long (addr:long) user_uint16_error:long (addr:long) /* myproc-unprivileged */ user_uint32:long (addr:long) user_uint32_error:long (addr:long) /* myproc-unprivileged */ user_uint64:long (addr:long) user_uint64_error:long (addr:long) user_uint8:long (addr:long) user_uint8_error:long (addr:long) /* myproc-unprivileged */ user_ulong:long (addr:long) user_ulong_error:long (addr:long) /* myproc-unprivileged */ user_ulong_warn:long (addr:long) user_ushort:long (addr:long) user_ushort_error:long (addr:long) /* myproc-unprivileged */ user_ushort_warn:long (addr:long) usrdev2kerndev:long (dev:long) ustack:long (n:long) usymdata:string (addr:long) /* myproc-unprivileged */ usymfile:string (addr:long) /* myproc-unprivileged */ usymfileline:string (addr:long) /* myproc-unprivileged */ usymline:string (addr:long) /* myproc-unprivileged */ usymname:string (addr:long) /* myproc-unprivileged */ vers_from_clnt:long (clnt:long) vers_from_prog:long (program:long, vers:long) vm_fault_contains:long (value:long, test:long) warn:unknown (msg:string) /* unprivileged */ xid_from_clnt:long (clnt:long) malloc information for pid 12990 Contention: Active arenas: Allocated heaps: Total sbrk: 568000512 bytes Mmap threshold in the end: 1024 kb RC 0 PASS: systemtap.examples/memory/glibc-malloc run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true' tag 'test_support' value 'perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory sourcing hw_watch_addr.tcl for systemtap.examples/memory/hw_watch_addr attempting command perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true OUT sh: perf: command not found child process exited abnormally RC 1 UNTESTED: systemtap.examples/memory/hw_watch_addr build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true' tag 'test_support' value 'perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory sourcing hw_watch_sym.tcl for systemtap.examples/memory/hw_watch_sym attempting command perf stat -a --event=mem:0x`grep "vm_dirty_ratio" /proc/kallsyms | awk '{print $1}'` /bin/true OUT sh: perf: command not found child process exited abnormally RC 1 UNTESTED: systemtap.examples/memory/hw_watch_sym build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory meta taglines 'test_check: ./kmalloc-top -o "-p4" -c "sleep 1"' tag 'test_check' value './kmalloc-top -o "-p4" -c "sleep 1"' attempting command ./kmalloc-top -o "-p4" -c "sleep 1" OUT Press Ctrl-C to stop. Will print stacks with counts >= 1. Num stacks before filtering: 0 Num stacks after filtering: 0 Total kmallocs (before filtering): 0 Total kmallocs (after filtering): 0 The filter stacks have 0 of the total kmallocs RC 0 PASS: systemtap.examples/memory/kmalloc-top build meta taglines 'test_installcheck: ./kmalloc-top -c "sleep 1"' tag 'test_installcheck' value './kmalloc-top -c "sleep 1"' attempting command ./kmalloc-top -c "sleep 1" OUT Press Ctrl-C to stop. Will print stacks with counts >= 1. WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux WARNING: Missing unwind data for a module, rerun with 'stap -d xfs' This path seen 20 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc0000b57c40 : 0xfffffc0000b57c40 [xfs] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc00082cbb70 : seq_buf_alloc+0x58/0x64 [kernel] 0xfffffc00082cc1f8 : seq_read+0x34c/0x3f8 [kernel] 0xfffffc00082a0b40 : __vfs_read+0x48/0x144 [kernel] 0xfffffc00082a1814 : vfs_read+0x8c/0x154 [kernel] 0xfffffc00082a286c : sys_read+0x54/0xb0 [kernel] 0xfffffc0008082bf0 : el0_svc_naked+0x24/0x28 [kernel] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc0008308998 : load_elf_binary+0x214/0xb90 [kernel] 0xfffffc00082a8b94 : search_binary_handler+0xac/0x200 [kernel] 0xfffffc00082a9810 : do_execveat_common+0x5f8/0x964 [kernel] 0xfffffc00082a9bb4 : do_execve+0x38/0x44 [kernel] 0xfffffc00082a9e54 : sys_execve+0x34/0x44 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc0008306fe0 : load_elf_phdrs+0x88/0xb0 [kernel] 0xfffffc0008308d48 : load_elf_binary+0x5c4/0xb90 [kernel] 0xfffffc00082a8b94 : search_binary_handler+0xac/0x200 [kernel] 0xfffffc00082a9810 : do_execveat_common+0x5f8/0x964 [kernel] 0xfffffc00082a9bb4 : do_execve+0x38/0x44 [kernel] 0xfffffc00082a9e54 : sys_execve+0x34/0x44 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc0008306fe0 : load_elf_phdrs+0x88/0xb0 [kernel] 0xfffffc0008308870 : load_elf_binary+0xec/0xb90 [kernel] 0xfffffc00082a8b94 : search_binary_handler+0xac/0x200 [kernel] 0xfffffc00082a9810 : do_execveat_common+0x5f8/0x964 [kernel] 0xfffffc00082a9bb4 : do_execve+0x38/0x44 [kernel] 0xfffffc00082a9e54 : sys_execve+0x34/0x44 [kernel] 0xfffffc0008082c4c : __sys_trace_return+0x0/0x4 [kernel] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc00082f2b74 : inotify_handle_event+0x90/0x1a0 [kernel] 0xfffffc00082eff68 : fsnotify+0x244/0x664 [kernel] 0xfffffc00082f05c8 : __fsnotify_parent+0xe8/0xf0 [kernel] 0xfffffc00082c2c90 : notify_change+0x33c/0x3ac [kernel] 0xfffffc000829f180 : do_truncate+0x84/0xc0 [kernel] 0xfffffc000829f4dc : sys_ftruncate+0xfc/0x120 [kernel] 0xfffffc0008082bf0 : el0_svc_naked+0x24/0x28 [kernel] 0x0 : 0x0 This path seen 1 times: 0xfffffc000827ebb0 : __kmalloc+0x0/0x450 [kernel] 0xfffffc00083e93e4 : context_struct_to_string+0x100/0x1c0 [kernel] 0xfffffc00083e9a7c : security_sid_to_context_core+0xd8/0x178 [kernel] 0xfffffc00083ebb30 : security_sid_to_context_force+0x34/0x40 [kernel] 0xfffffc00083d7740 : selinux_inode_init_security+0x178/0x200 [kernel] 0xfffffc00083cb6fc : security_inode_init_security+0xac/0x174 [kernel] 0xfffffc0000b457a0 : 0xfffffc0000b457a0 [xfs] 0x0 : 0x0 Num stacks before filtering: 7 Num stacks after filtering: 7 Total kmallocs (before filtering): 26 Total kmallocs (after filtering): 26 The filter stacks have 100 of the total kmallocs RC 0 PASS: systemtap.examples/memory/kmalloc-top run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory sourcing last_100_frees.tcl for systemtap.examples/memory/last_100_frees meta taglines 'test_check: stap -p4 last_100_frees.stp -c "stap -V" -d `which stap` --ldd' tag 'test_check' value 'stap -p4 last_100_frees.stp -c "stap -V" -d `which stap` --ldd' attempting command stap -p4 last_100_frees.stp -c "stap -V" -d `which stap` --ldd OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8df63c2539ab49c095b4c0e12687d1dc_7131.ko RC 0 PASS: systemtap.examples/memory/last_100_frees build meta taglines 'test_installcheck: stap last_100_frees.stp -c "stap -V" -d `which stap` --ldd' tag 'test_installcheck' value 'stap last_100_frees.stp -c "stap -V" -d `which stap` --ldd' attempting command stap last_100_frees.stp -c "stap -V" -d `which stap` --ldd OUT Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE free #1471375951931748339: stap[14813], pointer 0x19c323d0: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x270 [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931793114: stap[14813], pointer 0x19c325d0: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0xc8 [stap] _ZN17systemtap_sessionD1Ev+0x2bc [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931835874: stap[14813], pointer 0x19c34800: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0x68 [stap] _ZN17systemtap_sessionD1Ev+0x2bc [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931874441: stap[14813], pointer 0x19c32280: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x32c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931912825: stap[14813], pointer 0x19c32150: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x36c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931951152: stap[14813], pointer 0x19c32250: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x37c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951931989631: stap[14813], pointer 0x19c32370: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x38c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932028071: stap[14813], pointer 0x19c32310: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x39c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932066742: stap[14813], pointer 0x19c32220: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x3bc [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932117205: stap[14813], pointer 0x19c32190: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x424 [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932156589: stap[14813], pointer 0x19c32110: free+0x0 [libc-2.17.so] _ZN17systemtap_sessionD1Ev+0x454 [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932199892: stap[14813], pointer 0x19c322b0: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0xc8 [stap] _ZN17systemtap_sessionD1Ev+0x484 [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932242587: stap[14813], pointer 0x19c30930: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0x68 [stap] _ZN17systemtap_sessionD1Ev+0x484 [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932285699: stap[14813], pointer 0x19c32630: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0xc8 [stap] _ZN17systemtap_sessionD1Ev+0x48c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932328370: stap[14813], pointer 0x19c32690: free+0x0 [libc-2.17.so] _ZNSt6vectorISsSaISsEED1Ev+0x68 [stap] _ZN17systemtap_sessionD1Ev+0x48c [stap] main+0xb84 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932409489: stap[14813], pointer 0x19c327d0: free+0x0 [libc-2.17.so] _ZNSt13runtime_errorD2Ev+0xa4 [libstdc++.so.6.0.19] __cxa_tm_cleanup+0x128 [libstdc++.so.6.0.19] _Unwind_DeleteException+0x1c [libgcc_s-4.8.5-20150702.so.1] main+0xe00 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932454760: stap[14813], pointer 0x19c32910: free+0x0 [libc-2.17.so] _Unwind_DeleteException+0x1c [libgcc_s-4.8.5-20150702.so.1] main+0xe00 [stap] __libc_start_main+0xf0 [libc-2.17.so] _start+0x2c [stap] free #1471375951932520711: stap[14813], pointer 0x19c31c90: free+0x0 [libc-2.17.so] __run_exit_handlers+0x108 [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932585430: stap[14813], pointer 0x19c31c60: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932645621: stap[14813], pointer 0x19c31c30: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932705548: stap[14813], pointer 0x19c31c00: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932765307: stap[14813], pointer 0x19c31bd0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932824890: stap[14813], pointer 0x19c31ba0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932884689: stap[14813], pointer 0x19c31b70: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951932944456: stap[14813], pointer 0x19c31b40: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933004087: stap[14813], pointer 0x19c31b10: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933064150: stap[14813], pointer 0x19c31ae0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933140013: stap[14813], pointer 0x19c31ab0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933200532: stap[14813], pointer 0x19c31a80: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933250155: stap[14813], pointer 0x19c31660: free+0x0 [libc-2.17.so] __run_exit_handlers+0x108 [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933309866: stap[14813], pointer 0x19c31630: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933369617: stap[14813], pointer 0x19c31600: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933429320: stap[14813], pointer 0x19c315d0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933489031: stap[14813], pointer 0x19c315a0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933548614: stap[14813], pointer 0x19c31570: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933608301: stap[14813], pointer 0x19c31540: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933668012: stap[14813], pointer 0x19c31510: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933727668: stap[14813], pointer 0x19c314e0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933787075: stap[14813], pointer 0x19c314b0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933846770: stap[14813], pointer 0x19c31480: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933906513: stap[14813], pointer 0x19c31450: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951933965784: stap[14813], pointer 0x19c31420: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934025335: stap[14813], pointer 0x19c313f0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934093126: stap[14813], pointer 0x19c313c0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934153477: stap[14813], pointer 0x19c31390: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934213028: stap[14813], pointer 0x19c31360: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934272603: stap[14813], pointer 0x19c31330: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934331890: stap[14813], pointer 0x19c31300: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934391201: stap[14813], pointer 0x19c312d0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934450816: stap[14813], pointer 0x19c312a0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934510223: stap[14813], pointer 0x19c31270: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934569710: stap[14813], pointer 0x19c31240: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934629077: stap[14813], pointer 0x19c30900: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934688652: stap[14813], pointer 0x19c30b70: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934748243: stap[14813], pointer 0x19c30df0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934797626: stap[14813], pointer 0x19c30e20: free+0x0 [libc-2.17.so] __run_exit_handlers+0x108 [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934857241: stap[14813], pointer 0x19c30dc0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934916824: stap[14813], pointer 0x19c30d90: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951934976312: stap[14813], pointer 0x19c30d60: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935035855: stap[14813], pointer 0x19c30d30: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935105045: stap[14813], pointer 0x19c30d00: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935165061: stap[14813], pointer 0x19c30cd0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935224588: stap[14813], pointer 0x19c30ca0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935283907: stap[14813], pointer 0x19c30c70: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935343754: stap[14813], pointer 0x19c30c40: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935402945: stap[14813], pointer 0x19c30c10: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935462008: stap[14813], pointer 0x19c30be0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935521183: stap[14813], pointer 0x19c30bb0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935580334: stap[14813], pointer 0x19c308d0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935639877: stap[14813], pointer 0x19c30950: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935699180: stap[14813], pointer 0x19c30aa0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935758803: stap[14813], pointer 0x19c309d0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935818178: stap[14813], pointer 0x19c308a0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935877777: stap[14813], pointer 0x19c30870: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935937064: stap[14813], pointer 0x19c30840: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951935996279: stap[14813], pointer 0x19c30810: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936055614: stap[14813], pointer 0x19c307e0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936124341: stap[14813], pointer 0x19c307b0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936184196: stap[14813], pointer 0x19c30360: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936233587: stap[14813], pointer 0x19c30390: free+0x0 [libc-2.17.so] __run_exit_handlers+0x108 [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936292834: stap[14813], pointer 0x19c30330: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936352106: stap[14813], pointer 0x19c30300: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936411409: stap[14813], pointer 0x19c302d0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936470696: stap[14813], pointer 0x19c302a0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936530055: stap[14813], pointer 0x19c30270: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936589598: stap[14813], pointer 0x19c30240: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936649013: stap[14813], pointer 0x19c30210: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936708452: stap[14813], pointer 0x19c301e0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936767707: stap[14813], pointer 0x19c301b0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936826954: stap[14813], pointer 0x19c30180: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936886209: stap[14813], pointer 0x19c30150: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951936945624: stap[14813], pointer 0x19c30120: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951937004911: stap[14813], pointer 0x19c300f0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951937064054: stap[14813], pointer 0x19c300c0: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951937130645: stap[14813], pointer 0x19c30090: free+0x0 [libc-2.17.so] _ZNSsD2Ev+0x5c [libstdc++.so.6.0.19] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951937194996: stap[14813], pointer 0x19c30030: free+0x0 [libc-2.17.so] _ZNSt13unordered_setISsSt4hashISsESt8equal_toISsESaISsEED2Ev+0x84 [stap] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951937366305: stap[14813], pointer 0x0: free+0x0 [libc-2.17.so] fini_selinux_policyroot+0x24 [libselinux.so.1] _dl_fini+0x1ac [ld-2.17.so] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951939447720: stap[14813], pointer 0x0: free+0x0 [libc-2.17.so] fini_selinux_policyroot+0x34 [libselinux.so.1] _dl_fini+0x1ac [ld-2.17.so] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951939514319: stap[14813], pointer 0x0: free+0x0 [libc-2.17.so] fini_selinux_policyroot+0x4c [libselinux.so.1] _dl_fini+0x1ac [ld-2.17.so] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] free #1471375951939581206: stap[14813], pointer 0x19c30010: free+0x0 [libc-2.17.so] fini_lib+0x1c [libselinux.so.1] _dl_fini+0x1ac [ld-2.17.so] __run_exit_handlers+0xfc [libc-2.17.so] on_exit+0x0 [libc-2.17.so] __libc_start_main+0xf4 [libc-2.17.so] _start+0x2c [stap] RC 0 PASS: systemtap.examples/memory/last_100_frees run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') && stap -l 'kernel.trace("mm_anon_fault")' && stap -l 'kernel.trace("mm_anon_pgin")' && stap -l 'kernel.trace("mm_anon_cow")' && stap -l 'kernel.trace("mm_anon_unmap")' && stap -l 'kernel.trace("mm_anon_userfree")'' tag 'test_support' value '(stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') && stap -l 'kernel.trace("mm_anon_fault")' && stap -l 'kernel.trace("mm_anon_pgin")' && stap -l 'kernel.trace("mm_anon_cow")' && stap -l 'kernel.trace("mm_anon_unmap")' && stap -l 'kernel.trace("mm_anon_userfree")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory attempting command (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') && stap -l 'kernel.trace("mm_anon_fault")' && stap -l 'kernel.trace("mm_anon_pgin")' && stap -l 'kernel.trace("mm_anon_cow")' && stap -l 'kernel.trace("mm_anon_unmap")' && stap -l 'kernel.trace("mm_anon_userfree")' OUT kernel.trace("kmem:mm_page_alloc") kernel.trace("kmem:mm_page_free") child process exited abnormally RC 1 UNTESTED: systemtap.examples/memory/mmanonpage build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")')' tag 'test_support' value '(stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")')' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory attempting command (stap -l 'kernel.trace("mm_page_alloc")' || stap -l 'kernel.trace("mm_page_allocation")') && (stap -l 'kernel.trace("mm_page_free")' || stap -l 'kernel.trace("mm_page_free_direct")') OUT kernel.trace("kmem:mm_page_alloc") kernel.trace("kmem:mm_page_free") RC 0 PASS: systemtap.examples/memory/mmfilepage support meta taglines 'test_check: stap -p4 mmfilepage.stp' tag 'test_check' value 'stap -p4 mmfilepage.stp' attempting command stap -p4 mmfilepage.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/stap_fd7a9e57b34e1ecd1b26a839c6126ae3_5433.ko RC 0 PASS: systemtap.examples/memory/mmfilepage build meta taglines 'test_installcheck: stap mmfilepage.stp -T 1' tag 'test_installcheck' value 'stap mmfilepage.stp -T 1' attempting command stap mmfilepage.stp -T 1 OUT Starting data collection mode - All Pids Terminating data collection Command Pid Alloc Free CacheAdd CacheDel ------- --- ----- ---- -------- -------- stapio 15356 1 0 0 0 systemd 1 1 1 0 0 RC 0 PASS: systemtap.examples/memory/mmfilepage run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("mm_*reclaim*")'' tag 'test_support' value 'stap -l 'kernel.trace("mm_*reclaim*")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory attempting command stap -l 'kernel.trace("mm_*reclaim*")' OUT kernel.trace("vmscan:mm_vmscan_direct_reclaim_begin") kernel.trace("vmscan:mm_vmscan_direct_reclaim_end") kernel.trace("vmscan:mm_vmscan_memcg_reclaim_begin") kernel.trace("vmscan:mm_vmscan_memcg_reclaim_end") kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_begin") kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_end") RC 0 PASS: systemtap.examples/memory/mmreclaim support meta taglines 'test_check: stap -p4 mmreclaim.stp' tag 'test_check' value 'stap -p4 mmreclaim.stp' attempting command stap -p4 mmreclaim.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/61/stap_61109461365a7b3c0dc7fdbbc3781d45_7724.ko RC 0 PASS: systemtap.examples/memory/mmreclaim build meta taglines 'test_installcheck: stap mmreclaim.stp -T 1' tag 'test_installcheck' value 'stap mmreclaim.stp -T 1' attempting command stap mmreclaim.stp -T 1 OUT Starting data collection mode - All Pids Terminating data collection Command Pid Direct Cgroup Inactive SoftLimit ------- ----- ------ ------ -------- --------- Totals 0 0 0 0 RC 0 PASS: systemtap.examples/memory/mmreclaim run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: (stap -l 'kernel.trace("balance_dirty_pages")' || stap -l 'kernel.trace("mm_balancedirty_writeout")' || stap -l 'kernel.trace("mm_pdflush_bgwriteout")') && (stap -l 'kernel.trace("writeback_pages_written")' || stap -l 'kernel.trace("mm_pdflush_kupdate")') && (stap -l 'kernel.trace("mm_vmscan_writepage")' || stap -l 'kernel.trace("mm_pagereclaim_pgout")')' tag 'test_support' value '(stap -l 'kernel.trace("balance_dirty_pages")' || stap -l 'kernel.trace("mm_balancedirty_writeout")' || stap -l 'kernel.trace("mm_pdflush_bgwriteout")') && (stap -l 'kernel.trace("writeback_pages_written")' || stap -l 'kernel.trace("mm_pdflush_kupdate")') && (stap -l 'kernel.trace("mm_vmscan_writepage")' || stap -l 'kernel.trace("mm_pagereclaim_pgout")')' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory attempting command (stap -l 'kernel.trace("balance_dirty_pages")' || stap -l 'kernel.trace("mm_balancedirty_writeout")' || stap -l 'kernel.trace("mm_pdflush_bgwriteout")') && (stap -l 'kernel.trace("writeback_pages_written")' || stap -l 'kernel.trace("mm_pdflush_kupdate")') && (stap -l 'kernel.trace("mm_vmscan_writepage")' || stap -l 'kernel.trace("mm_pagereclaim_pgout")') OUT kernel.trace("writeback:balance_dirty_pages") kernel.trace("writeback:writeback_pages_written") kernel.trace("vmscan:mm_vmscan_writepage") RC 0 PASS: systemtap.examples/memory/mmwriteback support meta taglines 'test_check: stap -p4 mmwriteback.stp' tag 'test_check' value 'stap -p4 mmwriteback.stp' attempting command stap -p4 mmwriteback.stp OUT WARNING: never-assigned global variable 'traced_pid' (similar: traced_pid, command, pgout, kupdate, bgwriteout): identifier 'traced_pid' at mmwriteback.stp:3:8 source: global traced_pid, command ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b8/stap_b85548296159de9b3f20281cb0777d31_5768.ko RC 0 PASS: systemtap.examples/memory/mmwriteback build meta taglines 'test_installcheck: stap mmwriteback.stp -T 1' tag 'test_installcheck' value 'stap mmwriteback.stp -T 1' attempting command stap mmwriteback.stp -T 1 OUT WARNING: never-assigned global variable 'traced_pid' (similar: traced_pid, command, pgout, kupdate, bgwriteout): identifier 'traced_pid' at mmwriteback.stp:3:8 source: global traced_pid, command ^ Starting data collection mode - All Pids Terminating data collection Pdflush Pdflush Kupdate Kupdate Pgout Command Pid count sum count sum count ------- --- ------- ------- ------- ------- ----- RC 0 PASS: systemtap.examples/memory/mmwriteback run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory meta taglines 'test_check: stap -p4 numa_faults.stp' tag 'test_check' value 'stap -p4 numa_faults.stp' attempting command stap -p4 numa_faults.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_73f4ff2087cf7091cda9895f6c136418_6667.ko RC 0 PASS: systemtap.examples/memory/numa_faults build meta taglines 'test_installcheck: stap numa_faults.stp -T 1' tag 'test_installcheck' value 'stap numa_faults.stp -T 1' attempting command stap numa_faults.stp -T 1 OUT Starting pagefault counters Printing counters: Execname PID RD Faults WR Faults Node:Faults ======================= ========== ========== ============= expect 5407 0 1 Done RC 0 PASS: systemtap.examples/memory/numa_faults run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory meta taglines 'test_check: stap -p4 overcommit.stp' tag 'test_check' value 'stap -p4 overcommit.stp' attempting command stap -p4 overcommit.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/72/stap_7205e9f0b0e689a6eacf47440c08dd61_5199.ko RC 0 PASS: systemtap.examples/memory/overcommit build meta taglines 'test_installcheck: stap overcommit.stp -T 1' tag 'test_installcheck' value 'stap overcommit.stp -T 1' attempting command stap overcommit.stp -T 1 OUT RC 0 PASS: systemtap.examples/memory/overcommit run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory meta taglines 'test_check: stap -p4 pfaults.stp' tag 'test_check' value 'stap -p4 pfaults.stp' attempting command stap -p4 pfaults.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4e/stap_4e0dd5baa1987529c29ec1f22b9bfb8a_8226.ko RC 0 PASS: systemtap.examples/memory/pfaults build meta taglines 'test_installcheck: stap pfaults.stp -T 1' tag 'test_installcheck' value 'stap pfaults.stp -T 1' attempting command stap pfaults.stp -T 1 OUT 592:1:4396762464256d:w:minor:23 198161:5407:17760256d:w:minor:9 RC 0 PASS: systemtap.examples/memory/pfaults run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/memory meta taglines 'test_check: stap -p4 vm.tracepoints.stp' tag 'test_check' value 'stap -p4 vm.tracepoints.stp' attempting command stap -p4 vm.tracepoints.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ca/stap_ca82a59cd315e1dc8cc22578e0c8b989_6527.ko RC 0 PASS: systemtap.examples/memory/vm.tracepoints build meta taglines 'test_installcheck: stap vm.tracepoints.stp -T 10' tag 'test_installcheck' value 'stap vm.tracepoints.stp -T 10' attempting command stap vm.tracepoints.stp -T 10 OUT RC 0 PASS: systemtap.examples/memory/vm.tracepoints run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 autofs4.stp' tag 'test_check' value 'stap -p4 autofs4.stp' attempting command stap -p4 autofs4.stp OUT semantic error: while resolving probe point: identifier 'module' at autofs4.stp:30:7 source: module("autofs4").function("autofs4_follow_link") ^ semantic error: no match semantic error: while resolving probe point: identifier 'kernel' at :29:7 source: probe kernel.function("autofs4_follow_link") !, ^ semantic error: no match (similar functions: may_follow_link, should_follow_link, autofs4_get_link, sysctl_follow_link, autofs4_clean_ino) Pass 2: analysis failed. [man error::pass2] child process exited abnormally RC 1 FAIL: systemtap.examples/network/autofs4 build meta taglines 'test_installcheck: stap autofs4.stp -T 1' tag 'test_installcheck' value 'stap autofs4.stp -T 1' UNTESTED: systemtap.examples/network/autofs4 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 connect_stat.stp 127.0.0.1' tag 'test_check' value 'stap -p4 connect_stat.stp 127.0.0.1' attempting command stap -p4 connect_stat.stp 127.0.0.1 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d59ec60a7679087f435c269b264a54a3_72088.ko RC 0 PASS: systemtap.examples/network/connect_stat build meta taglines 'test_installcheck: stap connect_stat.stp 127.0.0.1 -T 1' tag 'test_installcheck' value 'stap connect_stat.stp 127.0.0.1 -T 1' attempting command stap connect_stat.stp 127.0.0.1 -T 1 OUT RC 0 PASS: systemtap.examples/network/connect_stat run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("kfree_skb")'' tag 'test_support' value 'stap -l 'kernel.trace("kfree_skb")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network attempting command stap -l 'kernel.trace("kfree_skb")' OUT kernel.trace("skb:kfree_skb") RC 0 PASS: systemtap.examples/network/dropwatch support meta taglines 'test_check: stap -p4 dropwatch.stp' tag 'test_check' value 'stap -p4 dropwatch.stp' attempting command stap -p4 dropwatch.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_00bf1a0c45330a8e4975838a82e5c62f_2651.ko RC 0 PASS: systemtap.examples/network/dropwatch build meta taglines 'test_installcheck: stap dropwatch.stp -T 1' tag 'test_installcheck' value 'stap dropwatch.stp -T 1' attempting command stap dropwatch.stp -T 1 OUT Monitoring for dropped packets Stopping dropped packet monitor RC 0 PASS: systemtap.examples/network/dropwatch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("net_dev_queue")' && stap -l 'kernel.trace("net_dev_xmit")'' tag 'test_support' value 'stap -l 'kernel.trace("net_dev_queue")' && stap -l 'kernel.trace("net_dev_xmit")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network attempting command stap -l 'kernel.trace("net_dev_queue")' && stap -l 'kernel.trace("net_dev_xmit")' OUT kernel.trace("net:net_dev_queue") kernel.trace("net:net_dev_xmit") RC 0 PASS: systemtap.examples/network/net_xmit_json support meta taglines 'test_check: stap -p4 net_xmit_json.stp' tag 'test_check' value 'stap -p4 net_xmit_json.stp' attempting command stap -p4 net_xmit_json.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dd/stap_dd42094f18b34e2b1d67aab784d2c7b2_27652.ko RC 0 PASS: systemtap.examples/network/net_xmit_json build meta taglines 'test_installcheck: stap net_xmit_json.stp -T 1' tag 'test_installcheck' value 'stap net_xmit_json.stp -T 1' attempting command stap net_xmit_json.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/net_xmit_json run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 netdev.stp' tag 'test_check' value 'stap -p4 netdev.stp' attempting command stap -p4 netdev.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c6/stap_c63d104c81ce5bbc627344148096bf2f_40996.ko RC 0 PASS: systemtap.examples/network/netdev build meta taglines 'test_installcheck: stap netdev.stp -T 1' tag 'test_installcheck' value 'stap netdev.stp -T 1' attempting command stap netdev.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/netdev run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -g -p4 netfilter_drop.stp TCP 1' tag 'test_check' value 'stap -g -p4 netfilter_drop.stp TCP 1' attempting command stap -g -p4 netfilter_drop.stp TCP 1 OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2c/stap_2c72c642a7d7fc69d5268285eaaae596_24477.ko RC 0 PASS: systemtap.examples/network/netfilter_drop build meta taglines 'test_installcheck: stap -g netfilter_drop.stp TCP 1 -T 2' tag 'test_installcheck' value 'stap -g netfilter_drop.stp TCP 1 -T 2' attempting command stap -g netfilter_drop.stp TCP 1 -T 2 OUT Dropping packets! Ctrl-C to exit. RC 0 PASS: systemtap.examples/network/netfilter_drop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 netfilter_summary.stp' tag 'test_check' value 'stap -p4 netfilter_summary.stp' attempting command stap -p4 netfilter_summary.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/aa/stap_aac7c509a635ab8c6dec72ee41333692_26354.ko RC 0 PASS: systemtap.examples/network/netfilter_summary build meta taglines 'test_installcheck: stap netfilter_summary.stp -T 1' tag 'test_installcheck' value 'stap netfilter_summary.stp -T 1' attempting command stap netfilter_summary.stp -T 1 OUT Collecting data... Type Ctrl-C to exit and display results. 10.16.184.176 --> 10.16.36.29 : 1 packets, 328 total bytes RC 0 PASS: systemtap.examples/network/netfilter_summary run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 netfilter_summary_json.stp' tag 'test_check' value 'stap -p4 netfilter_summary_json.stp' attempting command stap -p4 netfilter_summary_json.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7a59ff10e3bf7c58e87592e9e53ade9_43341.ko RC 0 PASS: systemtap.examples/network/netfilter_summary_json build meta taglines 'test_installcheck: stap netfilter_summary_json.stp -T 1' tag 'test_installcheck' value 'stap netfilter_summary_json.stp -T 1' attempting command stap netfilter_summary_json.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/netfilter_summary_json run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 nettop.stp' tag 'test_check' value 'stap -p4 nettop.stp' attempting command stap -p4 nettop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/stap_133441a62bd89a775caddd747164d968_9627.ko RC 0 PASS: systemtap.examples/network/nettop build meta taglines 'test_installcheck: stap nettop.stp -T 1' tag 'test_installcheck' value 'stap nettop.stp -T 1' attempting command stap nettop.stp -T 1 OUT PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND RC 0 PASS: systemtap.examples/network/nettop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 nfsd-recent.stp' tag 'test_check' value 'stap -p4 nfsd-recent.stp' attempting command stap -p4 nfsd-recent.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc1aac280363fec385e5e1a9b587e73e_41961.ko RC 0 PASS: systemtap.examples/network/nfsd-recent build meta taglines 'test_installcheck: stap nfsd-recent.stp -T 1' tag 'test_installcheck' value 'stap nfsd-recent.stp -T 1' attempting command stap nfsd-recent.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/nfsd-recent run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 nfsd_unlink.stp' tag 'test_check' value 'stap -p4 nfsd_unlink.stp' attempting command stap -p4 nfsd_unlink.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/da/stap_da43586afa5a7011e9f20257cb4614fc_28464.ko RC 0 PASS: systemtap.examples/network/nfsd_unlink build meta taglines 'test_installcheck: stap nfsd_unlink.stp -T 1' tag 'test_installcheck' value 'stap nfsd_unlink.stp -T 1' attempting command stap nfsd_unlink.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/nfsd_unlink run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 nfsdtop.stp' tag 'test_check' value 'stap -p4 nfsdtop.stp' attempting command stap -p4 nfsdtop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2be88d7b9c4af714c147efae34308b9_42694.ko RC 0 PASS: systemtap.examples/network/nfsdtop build meta taglines 'test_installcheck: stap nfsdtop.stp -T 1' tag 'test_installcheck' value 'stap nfsdtop.stp -T 1' attempting command stap nfsdtop.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/nfsdtop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 packet_contents.stp' tag 'test_check' value 'stap -p4 packet_contents.stp' attempting command stap -p4 packet_contents.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/37/stap_376ba15fea23f3e22387f459af966047_51183.ko RC 0 PASS: systemtap.examples/network/packet_contents build meta taglines 'test_installcheck: stap packet_contents.stp -T 1' tag 'test_installcheck' value 'stap packet_contents.stp -T 1' attempting command stap packet_contents.stp -T 1 OUT Dumping packet contents. Protocol Family: arp Length: 46 Hex: 000108000604000180c16e7d62a20a10b9d40000000000000a10bbfe000000000000000000000000000000000000 ASCII: "\0\001\b\0\006\004\0\001\200\301n}b\242\n\020\271\324\0\0\0\0\0\0\n\020\273\376\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" Protocol Family: arp Length: 46 Hex: 0001080006040001001f9d2774000a10bbfc0000000000000a10b842000000000000000000000000000000000000 ASCII: "\0\001\b\0\006\004\0\001\0\037\235't\0\n\020\273\374\0\0\0\0\0\0\n\020\270B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" Protocol Family: arp Length: 46 Hex: 0001080006040001001f9d2774000a10bbfc0000000000000a10b844000000000000000000000000000000000000 ASCII: "\0\001\b\0\006\004\0\001\0\037\235't\0\n\020\273\374\0\0\0\0\0\0\n\020\270D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" Protocol Family: arp Length: 46 Hex: 0001080006040001001f9d2774000a10bbfc0000000000000a10b8a8000000000000000000000000000000000000 ASCII: "\0\001\b\0\006\004\0\001\0\037\235't\0\n\020\273\374\0\0\0\0\0\0\n\020\270\250\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" RC 0 PASS: systemtap.examples/network/packet_contents run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 sk_stream_wait_memory.stp' tag 'test_check' value 'stap -p4 sk_stream_wait_memory.stp' attempting command stap -p4 sk_stream_wait_memory.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9af84bcd2f974a99f4ced08d182c19e4_3607.ko RC 0 PASS: systemtap.examples/network/sk_stream_wait_memory build meta taglines 'test_installcheck: stap sk_stream_wait_memory.stp -T 1' tag 'test_installcheck' value 'stap sk_stream_wait_memory.stp -T 1' attempting command stap sk_stream_wait_memory.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/sk_stream_wait_memory run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 socket-trace.stp' tag 'test_check' value 'stap -p4 socket-trace.stp' attempting command stap -p4 socket-trace.stp OUT WARNING: function sock_init is in blacklisted section: keyword at socket-trace.stp:3:1 source: probe kernel.function("*@net/socket.c").call { ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/stap_13607c9754c7eb30430223153c91df47_70918.ko Number of similar warning messages suppressed: 1. Rerun with -v to see them. RC 0 PASS: systemtap.examples/network/socket-trace build meta taglines 'test_installcheck: stap socket-trace.stp -T 1' tag 'test_installcheck' value 'stap socket-trace.stp -T 1' attempting command stap socket-trace.stp -T 1 OUT WARNING: function sock_init is in blacklisted section: keyword at socket-trace.stp:3:1 source: probe kernel.function("*@net/socket.c").call { ^ WARNING: probe kernel.function("__sock_recv_timestamp@net/socket.c:634").return (address 0xfffffc000878ae40) registration error (rc -22) WARNING: probe kernel.function("sock_close@net/socket.c:1018").return (address 0xfffffc000878ae10) registration error (rc -22) WARNING: probe kernel.function("sockfs_listxattr@net/socket.c:495").return (address 0xfffffc000878abe8) registration error (rc -22) WARNING: probe kernel.function("sock_from_file@net/socket.c:408").return (address 0xfffffc000878a030) registration error (rc -22) WARNING: probe kernel.function("__sock_recv_timestamp@net/socket.c:634").call (address 0xfffffc000878ae40) registration error (rc -22) WARNING: probe kernel.function("sock_close@net/socket.c:1018").call (address 0xfffffc000878ae10) registration error (rc -22) WARNING: probe kernel.function("sockfs_listxattr@net/socket.c:495").call (address 0xfffffc000878abe8) registration error (rc -22) WARNING: probe kernel.function("sock_from_file@net/socket.c:408").call (address 0xfffffc000878a030) registration error (rc -22) Number of similar warning messages suppressed: 1. Rerun with -v to see them. RC 0 PASS: systemtap.examples/network/socket-trace run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: ./socktop -D' tag 'test_check' value './socktop -D' attempting command ./socktop -D OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78f3539e0d9efc66c16fecde244f6eab_63698.ko RC 0 PASS: systemtap.examples/network/socktop build meta taglines 'test_installcheck: ./socktop -c 1' tag 'test_installcheck' value './socktop -c 1' attempting command ./socktop -c 1 OUT ======================= Tue Aug 16 15:43:17 2016 ======================== ------------------------------- PROCESSES ------------------------------- PID UID #SEND #RECV SEND_KB RECV_KB PROT FAMILY COMMAND 630 0 1 0 0 0 IP LOCAL systemd-journal 1 0 0 1 0 0 IP LOCAL systemd ========================================================================= RC 0 PASS: systemtap.examples/network/socktop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 stp_dump.stp' tag 'test_check' value 'stap -p4 stp_dump.stp' attempting command stap -p4 stp_dump.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/stap_ef83d859cb409445dbe59b9e836413e4_24642.ko RC 0 PASS: systemtap.examples/network/stp_dump build meta taglines 'test_installcheck: stap stp_dump.stp -T 5' tag 'test_installcheck' value 'stap stp_dump.stp -T 5' attempting command stap stp_dump.stp -T 5 OUT RC 0 PASS: systemtap.examples/network/stp_dump run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 tcp_connections.stp' tag 'test_check' value 'stap -p4 tcp_connections.stp' attempting command stap -p4 tcp_connections.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c1aaf44fb35457ef0421a3ee63320cf_11060.ko RC 0 PASS: systemtap.examples/network/tcp_connections build meta taglines 'test_installcheck: stap tcp_connections.stp -T 1' tag 'test_installcheck' value 'stap tcp_connections.stp -T 1' attempting command stap tcp_connections.stp -T 1 OUT UID CMD PID PORT IP_SOURCE RC 0 PASS: systemtap.examples/network/tcp_connections run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -g -p4 tcp_init_cwnd.stp' tag 'test_check' value 'stap -g -p4 tcp_init_cwnd.stp' attempting command stap -g -p4 tcp_init_cwnd.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c6/stap_c6c35671b5525ca68173b8df3aa5e8f6_3124.ko RC 0 PASS: systemtap.examples/network/tcp_init_cwnd build meta taglines 'test_installcheck: stap -g tcp_init_cwnd.stp -T 1' tag 'test_installcheck' value 'stap -g tcp_init_cwnd.stp -T 1' attempting command stap -g tcp_init_cwnd.stp -T 1 OUT RC 0 PASS: systemtap.examples/network/tcp_init_cwnd run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 tcp_trace.stp' tag 'test_check' value 'stap -p4 tcp_trace.stp' attempting command stap -p4 tcp_trace.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7b854e986e201b192cda49f4d0e2bcdd_70733.ko RC 0 PASS: systemtap.examples/network/tcp_trace build meta taglines 'test_installcheck: stap tcp_trace.stp 127.0.0.1:*-127.0.0.1:* timeout=1' tag 'test_installcheck' value 'stap tcp_trace.stp 127.0.0.1:*-127.0.0.1:* timeout=1' attempting command stap tcp_trace.stp 127.0.0.1:*-127.0.0.1:* timeout=1 OUT Start TCP Probing..... Source Address Dest Address State Timer Tx-Q Rx-Q PMTU SndCwnd SndWnd RcvWnd SSRT Ssthreshold Rexmit Length RC 0 PASS: systemtap.examples/network/tcp_trace run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 tcpdumplike.stp' tag 'test_check' value 'stap -p4 tcpdumplike.stp' attempting command stap -p4 tcpdumplike.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/stap_a587b469c039de00f7cdaac5c9f50dc0_48616.ko RC 0 PASS: systemtap.examples/network/tcpdumplike build meta taglines 'test_installcheck: stap tcpdumplike.stp -T 1' tag 'test_installcheck' value 'stap tcpdumplike.stp -T 1' attempting command stap tcpdumplike.stp -T 1 OUT ----------------------------------------------------------------- Source IP Dest IP SPort DPort U A P R S F ----------------------------------------------------------------- RC 0 PASS: systemtap.examples/network/tcpdumplike run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'tcpmib.InSegs'' tag 'test_support' value 'stap -l 'tcpmib.InSegs'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network attempting command stap -l 'tcpmib.InSegs' OUT tcpmib.InSegs RC 0 PASS: systemtap.examples/network/tcpipstat support meta taglines 'test_check: stap -p4 tcpipstat.stp' tag 'test_check' value 'stap -p4 tcpipstat.stp' attempting command stap -p4 tcpipstat.stp OUT WARNING: instance of overloaded function will never be reached: identifier 'tcpmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib-filter-default.stp:23:10 source: function tcpmib_filter_key:long (sk:long, op:long) ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3d/stap_3d6b35d079096d4d3ddb19bd81f63fd9_110246.ko Number of similar warning messages suppressed: 31. Rerun with -v to see them. RC 0 PASS: systemtap.examples/network/tcpipstat build meta taglines 'test_installcheck: stap tcpipstat.stp timeout=1' tag 'test_installcheck' value 'stap tcpipstat.stp timeout=1' attempting command stap tcpipstat.stp timeout=1 OUT WARNING: instance of overloaded function will never be reached: identifier 'tcpmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib-filter-default.stp:23:10 source: function tcpmib_filter_key:long (sk:long, op:long) ^ Indexing collected stats using tuple values Processed filter #1 = 0.0.0.0[0x0]:65535 --> 0.0.0.0[0x0]:65535 No packets were accepted by the filters. Number of similar warning messages suppressed: 31. Rerun with -v to see them. RC 0 PASS: systemtap.examples/network/tcpipstat run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/network meta taglines 'test_check: stap -p4 who_sent_it.stp' tag 'test_check' value 'stap -p4 who_sent_it.stp' attempting command stap -p4 who_sent_it.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c374c7a5d7313d02555bd810e979424e_32660.ko RC 0 PASS: systemtap.examples/network/who_sent_it build meta taglines 'test_installcheck: stap who_sent_it.stp -G the_dport=53 -c "ping -c 1 sourceware.org || true"' tag 'test_installcheck' value 'stap who_sent_it.stp -G the_dport=53 -c "ping -c 1 sourceware.org || true"' attempting command stap who_sent_it.stp -G the_dport=53 -c "ping -c 1 sourceware.org || true" OUT ping[29954] sent packet to 10.16.36.29:53 ping[29954] sent packet to 10.16.36.29:53 PING sourceware.org (209.132.180.131) 56(84) bytes of data. 64 bytes from server1.sourceware.org (209.132.180.131): icmp_seq=1 ttl=45 time=132 ms --- sourceware.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 132.365/132.365/132.365/0.000 ms RC 0 PASS: systemtap.examples/network/who_sent_it run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing auditbt.tcl for systemtap.examples/process/auditbt meta taglines 'test_check: stap -p4 auditbt.stp' tag 'test_check' value 'stap -p4 auditbt.stp' attempting command stap -p4 auditbt.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/stap_d8224fabb45ead9f7a0db0223417d56f_4834.ko RC 0 PASS: systemtap.examples/process/auditbt build meta taglines 'test_installcheck: stap auditbt.stp -d /usr/bin/sudo --ldd -c "sudo true"' tag 'test_installcheck' value 'stap auditbt.stp -d /usr/bin/sudo --ldd -c "sudo true"' attempting command stap auditbt.stp -d /usr/bin/sudo --ldd -c "sudo true" OUT sudo[30460] audit(1471376874.517:452): pid=30460 uid=0 auid=0 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/root/systemtap_write/systemtap/testsuite/systemtap.examples/process" cmd="true" terminal=ttyAMA0 res=success' 0x3ffab6fb388 : __sendto_nocancel+0x8/0x20 [/usr/lib64/libc-2.17.so] 0x3ffab855e8c : audit_send+0xfc/0x284 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858b38 : audit_send_user_message+0x44/0xa8 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858998 : audit_log_user_command+0x220/0x37c [/usr/lib64/libaudit.so.1.0.0] 0x3ffab4794c0 [/usr/libexec/sudoers.so+0x194c0/0x70000] sudo[30460] audit(1471376874.518:453): pid=30460 uid=0 auid=0 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/ttyAMA0 res=success' 0x3ffab6fb388 : __sendto_nocancel+0x8/0x20 [/usr/lib64/libc-2.17.so] 0x3ffab855e8c : audit_send+0xfc/0x284 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858b38 : audit_send_user_message+0x44/0xa8 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab857f78 : audit_log_acct_message+0x15c/0x314 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab397a7c [/usr/lib64/libpam.so.0.83.1+0x7a7c/0x30000] sudo[30460] audit(1471376874.519:454): pid=30460 uid=0 auid=0 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/ttyAMA0 res=success' 0x3ffab6fb388 : __sendto_nocancel+0x8/0x20 [/usr/lib64/libc-2.17.so] 0x3ffab855e8c : audit_send+0xfc/0x284 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858b38 : audit_send_user_message+0x44/0xa8 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab857f78 : audit_log_acct_message+0x15c/0x314 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab397a7c [/usr/lib64/libpam.so.0.83.1+0x7a7c/0x30000] sudo[30460] audit(1471376874.522:455): pid=30460 uid=0 auid=0 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_keyinit,pam_limits acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/ttyAMA0 res=success' 0x3ffab6fb388 : __sendto_nocancel+0x8/0x20 [/usr/lib64/libc-2.17.so] 0x3ffab855e8c : audit_send+0xfc/0x284 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858b38 : audit_send_user_message+0x44/0xa8 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab857f78 : audit_log_acct_message+0x15c/0x314 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab397a7c [/usr/lib64/libpam.so.0.83.1+0x7a7c/0x30000] sudo[30460] audit(1471376874.523:456): pid=30460 uid=0 auid=0 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/ttyAMA0 res=success' 0x3ffab6fb388 : __sendto_nocancel+0x8/0x20 [/usr/lib64/libc-2.17.so] 0x3ffab855e8c : audit_send+0xfc/0x284 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab858b38 : audit_send_user_message+0x44/0xa8 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab857f78 : audit_log_acct_message+0x15c/0x314 [/usr/lib64/libaudit.so.1.0.0] 0x3ffab397a7c [/usr/lib64/libpam.so.0.83.1+0x7a7c/0x30000] WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/libexec/sudoers.so' WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libpam.so.0.83.1' RC 0 PASS: systemtap.examples/process/auditbt run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing chng_cpu.tcl for systemtap.examples/process/chng_cpu meta taglines 'test_check: stap -p4 chng_cpu.stp bash' tag 'test_check' value 'stap -p4 chng_cpu.stp bash' attempting command stap -p4 chng_cpu.stp bash OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/stap_75118c4eab01e1407480e2cbd2b8550b_6458.ko RC 0 PASS: systemtap.examples/process/chng_cpu build meta taglines 'test_installcheck: stap chng_cpu.stp -T 1 bash' tag 'test_installcheck' value 'stap chng_cpu.stp -T 1 bash' attempting command stap chng_cpu.stp -T 1 bash OUT RC 0 PASS: systemtap.examples/process/chng_cpu run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("irq_handler_entry")!, kernel.trace("irq_entry")' && stap -l 'kernel.trace("irq_handler_exit")!, kernel.trace("irq_exit")'' tag 'test_support' value 'stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("irq_handler_entry")!, kernel.trace("irq_entry")' && stap -l 'kernel.trace("irq_handler_exit")!, kernel.trace("irq_exit")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process attempting command stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("irq_handler_entry")!, kernel.trace("irq_entry")' && stap -l 'kernel.trace("irq_handler_exit")!, kernel.trace("irq_exit")' OUT kernel.trace("sched:sched_switch") kernel.trace("irq:irq_handler_entry")! kernel.trace("irq:irq_handler_exit")! RC 0 PASS: systemtap.examples/process/cycle_thief support meta taglines 'test_check: stap -p4 cycle_thief.stp' tag 'test_check' value 'stap -p4 cycle_thief.stp' attempting command stap -p4 cycle_thief.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/stap_0d9c7cbd0caf5dcd7763b9b911cc50d9_8599.ko RC 0 PASS: systemtap.examples/process/cycle_thief build meta taglines 'test_installcheck: stap cycle_thief.stp -T 1' tag 'test_installcheck' value 'stap cycle_thief.stp -T 1' attempting command stap cycle_thief.stp -T 1 OUT task 0 migrated: 5 task 0 on processor (us): value |-------------------------------------------------- count 8 | 0 16 | 0 32 |@ 1 64 |@@ 2 128 | 0 256 |@@@ 3 512 |@ 1 1024 |@@@ 3 2048 |@@@@@@@@@@@@@@@@@@ 18 4096 |@@@@@@ 6 8192 |@@@@ 4 16384 |@@@ 3 32768 |@@@@@@@@@@@@@@@@ 16 65536 | 0 131072 | 0 task 0 off processor (us) value |-------------------------------------------------- count 1 | 0 2 | 0 4 |@@ 2 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 43 16 |@@@@@@@ 7 32 |@ 1 64 |@ 1 128 |@@ 2 256 |@ 1 512 | 0 1024 | 0 other pids taking processor from task 0 PID count command 7 21 rcu_sched 558 19 xfsaild/dm-0 31491 5 stapio 2342 2 kworker/4:1 30954 2 kworker/u16:1 21182 1 kworker/1:1 1281 1 in:imjournal 29049 1 kworker/2:1 1282 1 rs:main Q:Reg 1650 1 sendmail 3597 1 beah-rhts-task 630 1 systemd-journal 31488 1 stapio 2389 1 tuned 34 1 ksoftirqd/4 2709 1 kworker/6:2 irq taking processor from task 0 irq count min(us) avg(us) max(us) 3 54 5 6 11 31 1 2 2 2 RC 0 PASS: systemtap.examples/process/cycle_thief run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 errsnoop.stp' tag 'test_check' value 'stap -p4 errsnoop.stp' attempting command stap -p4 errsnoop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dd/stap_dde9e9077acd71162e6ad9537a94c914_1045534.ko RC 0 PASS: systemtap.examples/process/errsnoop build meta taglines 'test_installcheck: stap errsnoop.stp 1 10 -T 1' tag 'test_installcheck' value 'stap errsnoop.stp 1 10 -T 1' attempting command stap errsnoop.stp 1 10 -T 1 OUT WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) RC 0 PASS: systemtap.examples/process/errsnoop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 forktracker.stp' tag 'test_check' value 'stap -p4 forktracker.stp' attempting command stap -p4 forktracker.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c73ee8b4ae8efd421c5391985b9080a6_64569.ko RC 0 PASS: systemtap.examples/process/forktracker build meta taglines 'test_installcheck: stap forktracker.stp -T 1' tag 'test_installcheck' value 'stap forktracker.stp -T 1' attempting command stap forktracker.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/forktracker run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 futexes.stp' tag 'test_check' value 'stap -p4 futexes.stp' attempting command stap -p4 futexes.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e6/stap_e654717048c5c098a47563b08ef956e4_12297.ko RC 0 PASS: systemtap.examples/process/futexes build meta taglines 'test_installcheck: stap futexes.stp -T 1' tag 'test_installcheck' value 'stap futexes.stp -T 1' attempting command stap futexes.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/futexes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.function("futex_wait_setup")'' tag 'test_support' value 'stap -l 'kernel.function("futex_wait_setup")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process attempting command stap -l 'kernel.function("futex_wait_setup")' OUT kernel.function("futex_wait_setup@kernel/futex.c:2313") RC 0 PASS: systemtap.examples/process/futexes2 support meta taglines 'test_check: stap -p4 futexes2.stp' tag 'test_check' value 'stap -p4 futexes2.stp' attempting command stap -p4 futexes2.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_27e943b32f152bc87ec0383f4a9cc478_46868.ko RC 0 PASS: systemtap.examples/process/futexes2 build meta taglines 'test_installcheck: stap futexes2.stp -T 1' tag 'test_installcheck' value 'stap futexes2.stp -T 1' attempting command stap futexes2.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/futexes2 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing ltrace.tcl for systemtap.examples/process/ltrace meta taglines 'test_check: stap -p4 ltrace.stp -c ls' tag 'test_check' value 'stap -p4 ltrace.stp -c ls' attempting command stap -p4 ltrace.stp -c ls OUT WARNING: never-assigned local variable 'outline' (similar: report_line, count, func_time, _target_set, follow_fork): identifier 'outline' at ltrace.stp:74:25 source: report_line[$$name] = outline ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea0cf37599c8512340df1378897d706e_851573.ko Number of similar warning messages suppressed: 494. Rerun with -v to see them. RC 0 PASS: systemtap.examples/process/ltrace build meta taglines 'test_installcheck: stap ltrace.stp -c ls || echo PR14738' tag 'test_installcheck' value 'stap ltrace.stp -c ls || echo PR14738' attempting command stap ltrace.stp -c ls || echo PR14738 OUT WARNING: never-assigned local variable 'outline' (similar: report_line, count, func_time, _target_set, follow_fork): identifier 'outline' at ltrace.stp:74:25 source: report_line[$$name] = outline ^ =0x3ffa2691160 =0x3ffa2691160 =0x3ffa2691160 =0x3ffa26916e8 =0x3ffa26916e8 =0x3ffa26916e8 =0x3ffa2691b70 =0x3ffa2691b70 =0x3ffa2691b80 =0x3ffa2691b80 =0x3ffa2691bd0 =0x3ffa2691bd0 =0x3ffa2691be8 =0x3ffa2691be8 =0x3ffa2692228 =0x3ffa2692228 =0x3ffa2692238 =0x3ffa2692238 =0x3ffa26922a0 =0x3ffa26922a0 =0x3ffa26922b8 =0x3ffa26922b8 =0x3ffa26922b8 =0x3ffa2692748 =0x3ffa2692748 =0x3ffa2692760 =0x3ffa2692760 =0x3ffa2692778 =0x3ffa2692778 =0x3ffa2692778 =0x3ffa2692c08 =0x3ffa2692c08 =0x3ffa2692c20 =0x3ffa2692c20 =0x3ffa2692c38 =0x3ffa2692c38 =0x3ffa2692c38 =0x3ffa26930c8 =0x3ffa26930c8 =0x3ffa26930e0 =0x3ffa26930e0 =0x3ffa26930f8 =0x3ffa26930f8 =0x3ffa26930f8 =0x3ffa2693588 =0x3ffa2693588 =0x3ffa26935a0 =0x3ffa26935a0 =0x3ffa26935b8 =0x3ffa26935b8 =0x3ffa26935b8 =0x3ffa2693a48 =0x3ffa2693a48 =0x3ffa2693a60 =0x3ffa2693a60 =0x3ffa2693a78 =0x3ffa2693a78 =0x3ffa2693a78 =0x3ffa2693f08 =0x3ffa2693f08 =0x3ffa2693f20 =0x3ffa2693f20 =0x3ffa2693f78 =0x3ffa2693f78 =0x3ffa2693f90 =0x3ffa2693f90 =0x3ffa2693f90 =0x3ffa2694420 =0x3ffa2694420 auditbt.meta auditbt.stp auditbt.tcl chng_cpu.meta chng_cpu.stp chng_cpu.tcl cycle_thief.meta cycle_thief.stp cycle_thief.txt errsnoop.meta errsnoop.stp forktracker.meta forktracker.stp futexes.meta futexes.stp futexes.txt futexes2.meta futexes2.stp ltrace.meta ltrace.stp ltrace.tcl migrate.meta migrate.stp mutex-contention.meta mutex-contention.stp mutex-contention.tcl noptrace.meta noptrace.stp noptrace.txt pfiles.meta pfiles.stp plimit.meta plimit.stp proc_snoop.stp proc_snoop_parser.xml proc_snoop_parser_instructions.txt procmod_watcher.meta procmod_watcher.stp proctop.meta proctop.stp proctop.txt psig.meta psig.stp pstrace_exec.meta pstrace_exec.stp pstree.meta pstree.stp rlimit_nofile.meta rlimit_nofile.stp schedtimes.meta schedtimes.stp semop-watch.meta semop-watch.stp sig_by_pid.meta sig_by_pid.stp sig_by_pid.txt sig_by_proc.meta sig_by_proc.stp sig_by_proc.txt sigkill.meta sigkill.stp sigmon.meta sigmon.stp sleepingBeauties.meta sleepingBeauties.stp sleepingBeauties.tcl sleeptime.meta sleeptime.stp spawn_seeker.meta spawn_seeker.stp spawn_seeker.txt strace.meta strace.stp strace.txt syscalls_by_pid.meta syscalls_by_pid.stp syscalls_by_pid.txt syscalls_by_proc.meta syscalls_by_proc.stp syscalls_by_proc.txt syscalltimes syscalltimes.meta syscalltimes.txt thread-business.meta thread-business.stp thread-business.txt threadstacks.meta threadstacks.stp threadstacks.tcl wait4time.meta wait4time.stp =0x3ffa2694438 =0x3ffa2694438 =0x3ffa2694480 =0x3ffa2694480 =0x3ffa26944c8 =0x3ffa26944c8 =0x3ffa26944f0 =0x3ffa26944f0 =0x3ffa2694528 =0x3ffa2694528 =0x3ffa2694560 =0x3ffa2694560 =0x3ffa2694598 =0x3ffa2694598 =0x3ffa2694630 =0x3ffa2694630 =0x3ffa2694630 =0x3ffa26946a8 =0x3ffa26946a8 =0x3ffa26946a8 =0x3ffa26946f0 =0x3ffa26946f0 =0x3ffa26946f0 =0x3ffa2694768 =0x3ffa2694768 =0x3ffa2694768 =0x3ffa26947e0 =0x3ffa26947e0 =0x3ffa26947e0 =0x3ffa26948a0 =0x3ffa26948a0 =0x3ffa26948a0 =0x3ffa2694948 =0x3ffa2694948 =0x3ffa2694948 =0x3ffa26949a8 =0x3ffa26949a8 =0x3ffa26949a8 =0x3ffa2694a08 =0x3ffa2694a08 =0x3ffa2694a08 =0x3ffa2694ab0 =0x3ffa2694ab0 =0x3ffa2694ab0 =0x3ffa2694b58 =0x3ffa2694b58 =0x3ffa2694b58 =0x3ffa2694f80 =0x3ffa2695e70 =0x3ffa2695e70 =0x3ffa2695e70 =0x10000 =0 =0 =0x10e60010 =0x10e60010 =0 =0 =0x3ffa252f500 =0 =0x3ffa252f5c0 =0x10e60030 =0x10e60060 =0x10e60060 =0 =0 =0 =0 =-1 =0 =0xffffffff =0 =0 =0 =0 =0 =0x3ffa2695780 =0x10e60080 =0x10e60080 =0x3ffa2695780 =0x10e600c0 =0x10e600c0 =0x10e60100 =0x10e645d0 =1 =0x10e64600 =0x10e64600 =0x3ffa2695780 =0x10e64620 =0x10e64620 =0x10e64650 =0x10e64668 =0x10e64680 =12 =0x10e6c660 =0x10e6c660 =0x10e646a0 =11 =0x10e6c680 =0x10e6c680 =0x10e646c0 =11 =0x10e6c6a0 =0x10e6c6a0 =0x10e646e0 =13 =0x10e6c6c0 =0x10e6c6c0 =0x10e64708 =12 =0x10e6c6e0 =0x10e6c6e0 =0x10e64728 =12 =0x10e6c700 =0x10e6c700 =0x10e64748 =16 =0x10e6c720 =0x10e6c720 =0x10e64770 =15 =0x10e6c740 =0x10e6c740 =0x10e64798 =15 =0x10e6c760 =0x10e6c760 =0x10e647c0 =13 =0x10e6c780 =0x10e6c780 =0x10e647e8 =12 =0x10e6c7a0 =0x10e6c7a0 =0x10e64808 =16 =0x10e6c7c0 =0x10e6c7c0 =0x10e64830 =15 =0x10e6c7e0 =0x10e6c7e0 =0x10e64858 =12 =0x10e6c800 =0x10e6c800 =0x10e64878 =11 =0x10e6c820 =0x10e6c820 =0x10e64898 =11 =0x10e6c840 =0x10e6c840 =0x10e648b8 =13 =0x10e6c860 =0x10e6c860 =0x10e648e0 =12 =0x10e6c880 =0x10e6c880 =0x10e64900 =11 =0x10e6c8a0 =0x10e6c8a0 =0x10e64920 =10 =0x10e6c8c0 =0x10e6c8c0 =0x10e64940 =10 =0x10e6c8e0 =0x10e6c8e0 =0x10e64960 =12 =0x10e6c900 =0x10e6c900 =0x10e64980 =11 =0x10e6c920 =0x10e6c920 =0x10e649a0 =21 =0x10e6c940 =0x10e6c940 =0x10e649d0 =20 =0x10e6c960 =0x10e6c960 =0x10e649f8 =20 =0x10e6c980 =0x10e6c980 =0x10e64a20 =13 =0x10e6c9a0 =0x10e6c9a0 =0x10e64a48 =12 =0x10e6c9c0 =0x10e6c9c0 =0x10e64a68 =12 =0x10e6c9e0 =0x10e6c9e0 =0x10e64a88 =11 =0x10e6ca00 =0x10e6ca00 =0x10e64aa8 =10 =0x10e6ca20 =0x10e6ca20 =0x10e64ac8 =11 =0x10e6ca40 =0x10e6ca40 =0x10e64ae8 =10 =0x10e6ca60 =0x10e6ca60 =0x10e64b08 =14 =0x10e6ca80 =0x10e6ca80 =0x10e64b30 =21 =0x10e6caa0 =0x10e6caa0 =0x10e64b60 =34 =0x10e6cac0 =0x10e6cac0 =0x10e64b98 =20 =0x10e6caf0 =0x10e6caf0 =0x10e64bc0 =19 =0x10e6cb10 =0x10e6cb10 =0x10e64be8 =12 =0x10e6cb30 =0x10e6cb30 =0x10e64c08 =11 =0x10e6cb50 =0x10e6cb50 =0x10e64c28 =11 =0x10e6cb70 =0x10e6cb70 =0x10e64c48 =9 =0x10e6cb90 =0x10e6cb90 =0x10e64c68 =8 =0x10e6cbb0 =0x10e6cbb0 =0x10e64c88 =17 =0x10e6cbd0 =0x10e6cbd0 =0x10e64cb0 =16 =0x10e6cbf0 =0x10e6cbf0 =0x10e64cd8 =11 =0x10e6cc10 =0x10e6cc10 =0x10e64cf8 =10 =0x10e6cc30 =0x10e6cc30 =0x10e64d18 =18 =0x10e6cc50 =0x10e6cc50 =0x10e64d40 =17 =0x10e6cc70 =0x10e6cc70 =0x10e64d68 =15 =0x10e6cc90 =0x10e6cc90 =0x10e64d90 =14 =0x10e6ccb0 =0x10e6ccb0 =0x10e64db8 =16 =0x10e6ccd0 =0x10e6ccd0 =0x10e64de0 =15 =0x10e6ccf0 =0x10e6ccf0 =0x10e64e08 =15 =0x10e6cd10 =0x10e6cd10 =0x10e64e30 =14 =0x10e6cd30 =0x10e6cd30 =0x10e64e58 =14 =0x10e6cd50 =0x10e6cd50 =0x10e64e80 =16 =0x10e6cd70 =0x10e6cd70 =0x10e64ea8 =15 =0x10e6cd90 =0x10e6cd90 =0x10e64ed0 =15 =0x10e6cdb0 =0x10e6cdb0 =0x10e64ef8 =12 =0x10e6cdd0 =0x10e6cdd0 =0x10e64f18 =11 =0x10e6cdf0 =0x10e6cdf0 =0x10e64f38 =11 =0x10e6ce10 =0x10e6ce10 =0x10e64f58 =10 =0x10e6ce30 =0x10e6ce30 =0x10e64f78 =21 =0x10e6ce50 =0x10e6ce50 =0x10e64fa8 =20 =0x10e6ce70 =0x10e6ce70 =0x10e64fd0 =20 =0x10e6ce90 =0x10e6ce90 =0x10e64ff8 =14 =0x10e6ceb0 =0x10e6ceb0 =0x10e65020 =13 =0x10e6ced0 =0x10e6ced0 =0x10e65048 =17 =0x10e6cef0 =0x10e6cef0 =0x10e65070 =16 =0x10e6cf10 =0x10e6cf10 =0x10e65098 =16 =0x10e6cf30 =0x10e6cf30 =0x10e650c0 =11 =0x10e6cf50 =0x10e6cf50 =0x10e650e0 =10 =0x10e6cf70 =0x10e6cf70 =0x10e65100 =10 =0x10e6cf90 =0x10e6cf90 =0x10e65120 =20 =0x10e6cfb0 =0x10e6cfb0 =0x10e65148 =19 =0x10e6cfd0 =0x10e6cfd0 =0x10e65170 =19 =0x10e6cff0 =0x10e6cff0 =0x10e65198 =21 =0x10e6d010 =0x10e6d010 =0x10e651c8 =20 =0x10e6d030 =0x10e6d030 =0x10e651f0 =20 =0x10e6d050 =0x10e6d050 =0x10e65218 =12 =0x10e6d070 =0x10e6d070 =0x10e65238 =17 =0x10e6d090 =0x10e6d090 =0x10e65260 =16 =0x10e6d0b0 =0x10e6d0b0 =0x10e65288 =20 =0x10e6d0d0 =0x10e6d0d0 =0x10e652b0 =19 =0x10e6d0f0 =0x10e6d0f0 =0x10e652d8 =19 =0x10e6d110 =0x10e6d110 =0x10e65300 =17 =0x10e6d130 =0x10e6d130 =0x10e65328 =16 =0x10e6d150 =0x10e6d150 =0x10e65350 =16 =0x10e6d170 =0x10e6d170 =0x10e65378 =14 =0x10e6d190 =0x10e6d190 =0x10e653a0 =13 =0x10e6d1b0 =0x10e6d1b0 =0 =0 =1 =0 =0x10e64620 =0 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffba =0x10e64900 =0x3ffa2695780 =0xffffffba =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffd2 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffd2 =0x3ffa2695780 =0xfffffff9 =0x10e64910 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffb =0x10e64900 =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffa =0x10e64900 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x10e64920 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffd =0x10e64900 =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff4 =0x10e64910 =0x3ffa2695780 =0xfffffff2 =0x3ffa2695780 =0xfffffff2 =0x3ffa2695780 =0xfffffff2 =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffe =0x10e64900 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x10e64908 =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x3ffa2695780 =0xfffffff7 =0x10e64950 =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x10e64900 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffcf =0x3ffa2695780 =0xffffffcf =0x3ffa2695780 =0xfffffff2 =0x3ffa2695780 =0xfffffff2 =0x3ffa2695780 =0xfffffff2 =0x10e64910 =0x3ffa2695780 =0xffffffeb =0x3ffa2695780 =0xffffffeb =0x3ffa2695780 =0xffffffeb =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xffffffff =0x10e64900 =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffff4 =0x10e64900 =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x10e64920 =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x10e64900 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x10e64908 =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xffffffef =0x10e64900 =0x3ffa2695780 =0xffffffef =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffa =0x10e64900 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x10e64920 =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffffb =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff4 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff8 =0x3ffa2695780 =0xfffffff8 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffffa =0x10e649a8 =0x3ffa2695780 =0xfffffff1 =0x3ffa2695780 =0xfffffff1 =0x3ffa2695780 =0xfffffff1 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffff6 =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffd =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffffe =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff3 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xfffffff9 =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xffffffff =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffff5 =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =0xfffffffc =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =13 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =13 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =13 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =21 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =13 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =21 =0x3ffa2695780 =1 =34 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =19 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =9 =0x3ffa2695780 =1 =8 =0x3ffa2695780 =1 =17 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =18 =0x3ffa2695780 =1 =17 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =15 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =21 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =13 =0x3ffa2695780 =1 =17 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =11 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =10 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =19 =0x3ffa2695780 =1 =19 =0x3ffa2695780 =1 =21 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =12 =0x3ffa2695780 =1 =17 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =20 =0x3ffa2695780 =1 =19 =0x3ffa2695780 =1 =19 =0x3ffa2695780 =1 =17 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =16 =0x3ffa2695780 =1 =14 =0x3ffa2695780 =1 =13 =0 =0 =0 Number of similar warning messages suppressed: 494. Rerun with -v to see them. RC 0 PASS: systemtap.examples/process/ltrace run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 migrate.stp bash' tag 'test_check' value 'stap -p4 migrate.stp bash' attempting command stap -p4 migrate.stp bash OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/stap_ae3d0a462c929c4b7a9b9ae487bc9949_6437.ko RC 0 PASS: systemtap.examples/process/migrate build meta taglines 'test_installcheck: stap migrate.stp -T 1 bash' tag 'test_installcheck' value 'stap migrate.stp -T 1 bash' attempting command stap migrate.stp -T 1 bash OUT RC 0 PASS: systemtap.examples/process/migrate run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing mutex-contention.tcl for systemtap.examples/process/mutex-contention meta taglines 'test_check: stap -p4 mutex-contention.stp ' tag 'test_check' value 'stap -p4 mutex-contention.stp ' attempting command stap -p4 mutex-contention.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/stap_f3e3d66b573b370b33ba5612a466b00c_20815.ko RC 0 PASS: systemtap.examples/process/mutex-contention build meta taglines 'test_installcheck: stap mutex-contention.stp -T 1' tag 'test_installcheck' value 'stap mutex-contention.stp -T 1' attempting command stap mutex-contention.stp -T 1 OUT <<<<<<<< aggregate stats >>>>>>>> aggregate stats RC 0 PASS: systemtap.examples/process/mutex-contention run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: test -e /etc/redhat-release && grep -v "Nahant" /etc/redhat-release' tag 'test_support' value 'test -e /etc/redhat-release && grep -v "Nahant" /etc/redhat-release' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process attempting command test -e /etc/redhat-release && grep -v "Nahant" /etc/redhat-release OUT Red Hat Enterprise Linux Server release 7.3 Beta (Maipo) RC 0 PASS: systemtap.examples/process/noptrace support meta taglines 'test_check: stap -gp4 noptrace.stp -x $$' tag 'test_check' value 'stap -gp4 noptrace.stp -x $$' attempting command stap -gp4 noptrace.stp -x $$ OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/stap_82dec7cdcddf406a62a8cd5f4f7d6160_69019.ko RC 0 PASS: systemtap.examples/process/noptrace build meta taglines 'test_installcheck: stap -g noptrace.stp -c 'strace ls || true'' tag 'test_installcheck' value 'stap -g noptrace.stp -c 'strace ls || true'' attempting command stap -g noptrace.stp -c 'strace ls || true' OUT strace: test_ptrace_setoptions_for_all: PTRACE_TRACEME doesn't work: No such process strace: test_ptrace_setoptions_for_all: unexpected exit status 1 strace[2686] ptrace(0) blocked: rc=-3 RC 0 PASS: systemtap.examples/process/noptrace run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -gp4 pfiles.stp -x $$' tag 'test_check' value 'stap -gp4 pfiles.stp -x $$' attempting command stap -gp4 pfiles.stp -x $$ OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/10/stap_10b7b6230e2fc2205fb26f8306173db6_81599.ko RC 0 PASS: systemtap.examples/process/pfiles build meta taglines 'test_installcheck: stap -g pfiles.stp -x $$' tag 'test_installcheck' value 'stap -g pfiles.stp -x $$' attempting command stap -g pfiles.stp -x $$ OUT 2934: stap Current rlimit: 64 file descriptors 0: S_IFCHR mode:0620 dev:0,6 ino:1026 uid:0 gid:0 rdev:204,64 O_RDWR|O_APPEND|O_LARGEFILE /dev/ttyAMA0 1: S_IFIFO mode:0600 dev:0,10 ino:394370 uid:0 gid:0 rdev:0,0 O_WRONLY pipe:[394370] 2: S_IFIFO mode:0600 dev:0,10 ino:394370 uid:0 gid:0 rdev:0,0 O_WRONLY pipe:[394370] RC 0 PASS: systemtap.examples/process/pfiles run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -gp4 plimit.stp $$' tag 'test_check' value 'stap -gp4 plimit.stp $$' attempting command stap -gp4 plimit.stp $$ OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53506738ae342236aff9da4aa978deb3_4340.ko RC 0 PASS: systemtap.examples/process/plimit build meta taglines 'test_installcheck: stap -g plimit.stp $$' tag 'test_installcheck' value 'stap -g plimit.stp $$' attempting command stap -g plimit.stp $$ OUT 3188: -stap resource current maximum coredump(blocks) 0 unlimited data(bytes) unlimited unlimited max nice 0 0 file size(blocks) unlimited unlimited pending signals 62620 62620 max locked memory(bytes) 65536 65536 max memory size(bytes) unlimited unlimited open files 1024 4096 POSIX message queues(bytes) 819200 819200 max rt priority 0 0 stack size(bytes) 8388608 unlimited cpu time(seconds) 850 850 max user processes 62620 62620 virtual memory(bytes) unlimited unlimited file locks unlimited unlimited RC 0 PASS: systemtap.examples/process/plimit run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("module_load")'' tag 'test_support' value 'stap -l 'kernel.trace("module_load")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process attempting command stap -l 'kernel.trace("module_load")' OUT kernel.trace("module:module_load") RC 0 PASS: systemtap.examples/process/procmod_watcher support meta taglines 'test_check: stap -p4 procmod_watcher.stp' tag 'test_check' value 'stap -p4 procmod_watcher.stp' attempting command stap -p4 procmod_watcher.stp OUT semantic error: while resolving probe point: identifier 'nd_syscall' at procmod_watcher.stp:47:7 source: probe nd_syscall.fork.return { ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] child process exited abnormally RC 1 FAIL: systemtap.examples/process/procmod_watcher build meta taglines 'test_installcheck: stap procmod_watcher.stp -T 1' tag 'test_installcheck' value 'stap procmod_watcher.stp -T 1' UNTESTED: systemtap.examples/process/procmod_watcher run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 proctop.stp' tag 'test_check' value 'stap -p4 proctop.stp' attempting command stap -p4 proctop.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d9173fa332dc55f72cc758fcbdabefc5_20090.ko RC 0 PASS: systemtap.examples/process/proctop build meta taglines 'test_installcheck: stap proctop.stp -T 1' tag 'test_installcheck' value 'stap proctop.stp -T 1' attempting command stap proctop.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/proctop run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -gp4 psig.stp -x $$' tag 'test_check' value 'stap -gp4 psig.stp -x $$' attempting command stap -gp4 psig.stp -x $$ OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_740dda00fd75c6c3074dfded5937ca70_18635.ko RC 0 PASS: systemtap.examples/process/psig build meta taglines 'test_installcheck: stap -DMAXACTION=10000 -g psig.stp -x $$' tag 'test_installcheck' value 'stap -DMAXACTION=10000 -g psig.stp -x $$' attempting command stap -DMAXACTION=10000 -g psig.stp -x $$ OUT 4411: stap HUP caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ INT caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ QUIT default ILL default TRAP default ABRT default BUS default FPE default KILL default USR1 default SEGV default USR2 default PIPE caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ ALRM default TERM caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ STKFLT default CHLD default CONT default STOP default TSTP default TTIN default TTOU default URG default XCPU caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ XFSZ caught 0x413d38 RESTART HUP,INT,PIPE,TERM,XCPU,XFSZ VTALRM default PROF default WINCH default IO/POLL default PWR default SYS default RTMIN caught 0x3ff7b2e6314 SIGINFO RTMIN+1 caught 0x3ff7b2e63f4 SIGINFO|RESTART RTMIN+2 default RTMIN+3 default RTMIN+4 default RTMIN+5 default RTMIN+6 default RTMIN+7 default RTMIN+8 default RTMIN+9 default RTMIN+10 default RTMIN+11 default RTMIN+12 default RTMIN+13 default RTMIN+14 default RTMIN+15 default RTMIN+16 default RTMIN+17 default RTMIN+18 default RTMIN+19 default RTMIN+20 default RTMIN+21 default RTMIN+22 default RTMIN+23 default RTMIN+24 default RTMIN+25 default RTMIN+26 default RTMIN+27 default RTMIN+28 default RTMIN+29 default RTMIN+30 default RTMIN+31 default RTMIN+32 default RC 0 PASS: systemtap.examples/process/psig run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 pstrace_exec.stp bash' tag 'test_check' value 'stap -p4 pstrace_exec.stp bash' attempting command stap -p4 pstrace_exec.stp bash OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0449b1e7de71f082bc4508060ac2965_60956.ko RC 0 PASS: systemtap.examples/process/pstrace_exec build meta taglines 'test_installcheck: stap pstrace_exec.stp -T 1 bash' tag 'test_installcheck' value 'stap pstrace_exec.stp -T 1 bash' attempting command stap pstrace_exec.stp -T 1 bash OUT RC 0 PASS: systemtap.examples/process/pstrace_exec run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 pstree.stp' tag 'test_check' value 'stap -p4 pstree.stp' attempting command stap -p4 pstree.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/stap_f740149b7bbb37ecf4de9e68749dfa6d_70301.ko RC 0 PASS: systemtap.examples/process/pstree build meta taglines 'test_installcheck: stap pstree.stp -T 1' tag 'test_installcheck' value 'stap pstree.stp -T 1' attempting command stap pstree.stp -T 1 OUT digraph pstree { rankdir="LR" PID0_0 -> PID1_1 PID1_1 [ label="(1) systemd" tooltip="forked from 0" ]; PID1_1 -> PID630_1 PID630_1 [ label="(630) systemd-journal" tooltip="forked from 1" ]; PID1_1 -> PID649_1 PID649_1 [ label="(649) lvmetad" tooltip="forked from 1" ]; PID1_1 -> PID807_1 PID807_1 [ label="(807) systemd-logind" tooltip="forked from 1" ]; PID1_1 -> PID804_1 PID804_1 [ label="(804) polkitd" tooltip="forked from 1" ]; PID1_1 -> PID810_1 PID810_1 [ label="(810) dbus-daemon" tooltip="forked from 1" ]; PID1_1 -> PID785_1 PID785_1 [ label="(785) auditd" tooltip="forked from 1" ]; PID1_1 -> PID814_1 PID814_1 [ label="(814) chronyd" tooltip="forked from 1" ]; PID1_1 -> PID830_1 PID830_1 [ label="(830) atd" tooltip="forked from 1" ]; PID1_1 -> PID812_1 PID812_1 [ label="(812) gssproxy" tooltip="forked from 1" ]; PID1_1 -> PID823_1 PID823_1 [ label="(823) NetworkManager" tooltip="forked from 1" ]; PID1_1 -> PID808_1 PID808_1 [ label="(808) irqbalance" tooltip="forked from 1" ]; PID823_1 -> PID894_1 PID894_1 [ label="(894) dhclient" tooltip="forked from 823" ]; PID1_1 -> PID835_1 PID835_1 [ label="(835) agetty" tooltip="forked from 1" ]; PID1_1 -> PID837_1 PID837_1 [ label="(837) login" tooltip="forked from 1" ]; PID1_1 -> PID1159_1 PID1159_1 [ label="(1159) tuned" tooltip="forked from 1" ]; PID1_1 -> PID1372_1 PID1372_1 [ label="(1372) rhsmcertd" tooltip="forked from 1" ]; PID1_1 -> PID1158_1 PID1158_1 [ label="(1158) rsyslogd" tooltip="forked from 1" ]; PID1_1 -> PID2157_1 PID2157_1 [ label="(2157) beah-fwd-backen" tooltip="forked from 1" ]; PID1_1 -> PID2187_1 PID2187_1 [ label="(2187) beah-beaker-bac" tooltip="forked from 1" ]; PID1_1 -> PID1650_1 PID1650_1 [ label="(1650) sendmail" tooltip="forked from 1" ]; PID1_1 -> PID2196_1 PID2196_1 [ label="(2196) rhnsd" tooltip="forked from 1" ]; PID837_1 -> PID5519_1 PID5519_1 [ label="(5519) bash" tooltip="forked from 837" ]; PID1_1 -> PID2165_1 PID2165_1 [ label="(2165) beah-srv" tooltip="forked from 1" ]; PID1_1 -> PID21181_1 PID21181_1 [ label="(21181) avahi-daemon" tooltip="forked from 1" ]; PID1_1 -> PID1565_1 PID1565_1 [ label="(1565) sshd" tooltip="forked from 1" ]; PID2165_1 -> PID3597_1 PID3597_1 [ label="(3597) beah-rhts-task" tooltip="forked from 2165" ]; PID1_1 -> PID1686_1 PID1686_1 [ label="(1686) sendmail" tooltip="forked from 1" ]; PID5402_0 -> PID5648_1 PID5648_1 [ label="(5648) stapio" tooltip="forked from 5402" ]; PID5519_1 -> PID5317_1 PID5317_1 [ label="(5317) make" tooltip="forked from 5519" ]; PID5406_0 -> PID5407_1 PID5407_1 [ label="(5407) expect" tooltip="forked from 5406" ]; PID5319_0 -> PID5347_1 PID5347_1 [ label="(5347) make" tooltip="forked from 5319" ]; PID5347_1 -> PID5366_1 PID5366_1 [ label="(5366) sh" tooltip="forked from 5347" ]; PID1_1 -> PID2186_1 PID2186_1 [ label="(2186) crond" tooltip="forked from 1" ]; PID5407_1 -> PID5402_1 PID5402_1 [ label="(5402) stap" tooltip="forked from 5407" ]; PID21181_1 -> PID21183_1 PID21183_1 [ label="(21183) avahi-daemon" tooltip="forked from 21181" ]; PID5317_1 -> PID5319_1 PID5319_1 [ label="(5319) make" tooltip="forked from 5317" ]; PID664_0 -> PID5649_1 PID5649_1 [ label="(5649) systemd-udevd" tooltip="forked from 664" ]; PID5366_1 -> PID5406_1 PID5406_1 [ label="(5406) execrc" tooltip="forked from 5366" ]; } RC 0 PASS: systemtap.examples/process/pstree run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 rlimit_nofile.stp' tag 'test_check' value 'stap -p4 rlimit_nofile.stp' attempting command stap -p4 rlimit_nofile.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad7f43395a72ee3d7b60b64514b18395_19433.ko RC 0 PASS: systemtap.examples/process/rlimit_nofile build meta taglines 'test_installcheck: stap rlimit_nofile.stp -T 1' tag 'test_installcheck' value 'stap rlimit_nofile.stp -T 1' attempting command stap rlimit_nofile.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/rlimit_nofile run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("sched_wakeup")'' tag 'test_support' value 'stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("sched_wakeup")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process attempting command stap -l 'kernel.trace("sched_switch")' && stap -l 'kernel.trace("sched_wakeup")' OUT kernel.trace("sched:sched_switch") kernel.trace("sched:sched_wakeup") RC 0 PASS: systemtap.examples/process/schedtimes support meta taglines 'test_check: stap -p4 schedtimes.stp' tag 'test_check' value 'stap -p4 schedtimes.stp' attempting command stap -p4 schedtimes.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/stap_0dfe37993da97bdd078bfd9e149b251b_20532.ko RC 0 PASS: systemtap.examples/process/schedtimes build meta taglines 'test_installcheck: stap schedtimes.stp -T 1' tag 'test_installcheck' value 'stap schedtimes.stp -T 1' attempting command stap schedtimes.stp -T 1 OUT execname: pid run(us) sleep(us) iowait(us) queued(us) total(us) systemd: 1 106 1023241 0 174 1023521 rcu_sched: 7 158 1022041 0 119 1022318 ksoftirqd/7: 52 849 1014307 0 21 1015177 xfsaild/dm-0: 558 187 985893 0 248 986328 systemd-journal: 630 23 1023061 0 392 1023476 lvmetad: 649 83 1022976 0 405 1023464 systemd-udevd: 664 89 1023350 0 17 1023456 auditd: 785 203 1023085 0 138 1023426 polkitd: 804 27 1022947 0 443 1023417 systemd-logind: 807 79 1023290 0 33 1023402 irqbalance: 808 64 1022882 0 446 1023392 dbus-daemon: 810 25 1022856 0 501 1023382 gssproxy: 812 86 1022769 0 504 1023359 chronyd: 814 90 1023232 0 12 1023334 NetworkManager: 823 126 1023191 0 23 1023340 atd: 830 64 1022703 0 562 1023329 agetty: 835 188 1023051 0 59 1023298 login: 837 46 1023155 0 72 1023273 dhclient: 894 66 1022983 0 233 1023282 kworker/u16:1: 1096 40 993720 0 9 993769 rsyslogd: 1158 40 1023124 0 54 1023218 tuned: 1159 65 1023103 0 93 1023261 rhsmcertd: 1372 36 1022665 0 418 1023119 sshd: 1565 48 1023165 0 11 1023224 sendmail: 1650 39 1023150 0 66 1023255 sendmail: 1686 35 1023113 0 97 1023245 beah-fwd-backen: 2157 119 1022863 0 148 1023130 beah-srv: 2165 193 1022897 0 5 1023095 crond: 2186 33 1022933 0 106 1023072 beah-beaker-bac: 2187 197 1022756 0 62 1023015 rhnsd: 2196 35 1022968 0 31 1023034 kworker/4:1: 2342 10 582292 0 12 582314 tuned: 2389 87 998701 0 11 998799 kworker/6:2: 2709 10 578292 0 12 578314 beah-rhts-task: 3597 453 1022321 0 267 1023041 make: 5317 36 1022718 0 133 1022887 make: 5319 43 1022819 0 12 1022874 make: 5347 31 1022686 0 0 1022717 sh: 5366 46 1022638 0 0 1022684 execrc: 5406 30 1022634 0 140 1022804 expect: 5407 30 1022712 0 90 1022832 bash: 5519 26 1022905 0 79 1023010 stap: 6421 20 1022797 0 10 1022827 stapio: 6671 28 1022698 0 10 1022736 systemd-udevd: 6672 18 1023407 0 15 1023440 stapio: 6674 97 841168 0 48 841313 kworker/7:2: 19754 182 1014137 0 865 1015184 avahi-daemon: 21181 79 1022910 0 8 1022997 avahi-daemon: 21183 109 1022786 0 27 1022922 kworker/2:1: 29049 15 1006282 0 10 1006307 kworker/u16:2: 31755 34 993672 0 39 993745 RC 0 PASS: systemtap.examples/process/schedtimes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 semop-watch.stp -c 'sleep 2'' tag 'test_check' value 'stap -p4 semop-watch.stp -c 'sleep 2'' attempting command stap -p4 semop-watch.stp -c 'sleep 2' OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/47/stap_47db1345d5645d99914bc4d098e90766_68419.ko RC 0 PASS: systemtap.examples/process/semop-watch build meta taglines 'test_installcheck: stap semop-watch.stp -c 'sleep 2'' tag 'test_installcheck' value 'stap semop-watch.stp -c 'sleep 2'' attempting command stap semop-watch.stp -c 'sleep 2' OUT RC 0 PASS: systemtap.examples/process/semop-watch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 sig_by_pid.stp' tag 'test_check' value 'stap -p4 sig_by_pid.stp' attempting command stap -p4 sig_by_pid.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_06d70295646ae22d3b240d6f96780a97_65243.ko RC 0 PASS: systemtap.examples/process/sig_by_pid build meta taglines 'test_installcheck: stap sig_by_pid.stp -T 1' tag 'test_installcheck' value 'stap sig_by_pid.stp -T 1' attempting command stap sig_by_pid.stp -T 1 OUT Collecting data... Type Ctrl-C to exit and display results SPID SENDER RPID RECEIVER SIGNAME COUNT RC 0 PASS: systemtap.examples/process/sig_by_pid run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 sig_by_proc.stp' tag 'test_check' value 'stap -p4 sig_by_proc.stp' attempting command stap -p4 sig_by_proc.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/stap_6e2577eb29dfb30c2f87d862a54a82d7_63868.ko RC 0 PASS: systemtap.examples/process/sig_by_proc build meta taglines 'test_installcheck: stap sig_by_proc.stp -T 1' tag 'test_installcheck' value 'stap sig_by_proc.stp -T 1' attempting command stap sig_by_proc.stp -T 1 OUT Collecting data... Type Ctrl-C to exit and display results SENDER RECEIVER SIGNAL COUNT RC 0 PASS: systemtap.examples/process/sig_by_proc run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 sigkill.stp' tag 'test_check' value 'stap -p4 sigkill.stp' attempting command stap -p4 sigkill.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b0ea58edf72414ce508974a8c6f8762_64807.ko RC 0 PASS: systemtap.examples/process/sigkill build meta taglines 'test_installcheck: stap sigkill.stp -T 1' tag 'test_installcheck' value 'stap sigkill.stp -T 1' attempting command stap sigkill.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/sigkill run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 sigmon.stp SIGKILL' tag 'test_check' value 'stap -p4 sigmon.stp SIGKILL' attempting command stap -p4 sigmon.stp SIGKILL OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9f/stap_9f8ad57d1757fa4ea53f335bdc535a7a_64673.ko RC 0 PASS: systemtap.examples/process/sigmon build meta taglines 'test_installcheck: stap sigmon.stp -T 1 SIGKILL' tag 'test_installcheck' value 'stap sigmon.stp -T 1 SIGKILL' attempting command stap sigmon.stp -T 1 SIGKILL OUT SPID SNAME RPID RNAME SIGNUM SIGNAME RC 0 PASS: systemtap.examples/process/sigmon run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing sleepingBeauties.tcl for systemtap.examples/process/sleepingBeauties meta taglines 'test_check: stap -p4 sleepingBeauties.stp' tag 'test_check' value 'stap -p4 sleepingBeauties.stp' attempting command stap -p4 sleepingBeauties.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1cd877bf0f8d986f44c81e126c1cecd9_6271.ko RC 0 PASS: systemtap.examples/process/sleepingBeauties build meta taglines 'test_installcheck: stap sleepingBeauties.stp -T 1' tag 'test_installcheck' value 'stap sleepingBeauties.stp -T 1' attempting command stap sleepingBeauties.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/sleepingBeauties run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 sleeptime.stp' tag 'test_check' value 'stap -p4 sleeptime.stp' attempting command stap -p4 sleeptime.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d266ffd4c33ace84e38f87e32c423719_9686.ko RC 0 PASS: systemtap.examples/process/sleeptime build meta taglines 'test_installcheck: stap sleeptime.stp -T 1' tag 'test_installcheck' value 'stap sleeptime.stp -T 1' attempting command stap sleeptime.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/sleeptime run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 spawn_seeker.stp' tag 'test_check' value 'stap -p4 spawn_seeker.stp' attempting command stap -p4 spawn_seeker.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/stap_efe92693b18cb2b2e8a3ba54088142a4_11192.ko RC 0 PASS: systemtap.examples/process/spawn_seeker build meta taglines 'test_installcheck: stap spawn_seeker.stp -T 1' tag 'test_installcheck' value 'stap spawn_seeker.stp -T 1' attempting command stap spawn_seeker.stp -T 1 OUT Tue Aug 16 16:07:13 2016 EDT RC 0 PASS: systemtap.examples/process/spawn_seeker run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 strace.stp' tag 'test_check' value 'stap -p4 strace.stp' attempting command stap -p4 strace.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3e6aa42c6b53292deb5f4f0f3e836ad_592441.ko RC 0 PASS: systemtap.examples/process/strace build meta taglines 'test_installcheck: stap strace.stp -T 1' tag 'test_installcheck' value 'stap strace.stp -T 1' attempting command stap strace.stp -T 1 OUT WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) Thu Jan 1 00:00:00 1970.000000 systemd-udevd[664] unlinkat() = -2 (ENOENT) Tue Aug 16 20:14:14 2016.578625 systemd-udevd[664] epoll_pwait(11, 0x3ffd583c408, 8, 3000, 0x0, 8) = -4 (EINTR) Tue Aug 16 20:14:14 2016.578723 systemd-udevd[664] unlinkat(AT_FDCWD, "/run/udev/queue", 0x0) = -2 (ENOENT) Tue Aug 16 20:14:14 2016.578923 stapio[10944] fcntl(4, F_SETFL, 0x20802) = 0 Tue Aug 16 20:14:14 2016.578957 stapio[10944] read(4, 0x3ffeda0f970, 8196) = 122 Tue Aug 16 20:14:14 2016.579001 stapio[10944] fcntl(4, F_SETFL, 0x20002) = 0 Tue Aug 16 20:14:14 2016.579079 stapio[10944] write(2, "WARNING:", 8) = 8 Thu Jan 1 00:00:00 1970.000000 systemd-udevd[10946] epoll_pwait() = -4 (EINTR) Tue Aug 16 20:14:14 2016.579081 expect[5407] read(36, 0x10b6d88, 4096) = 8 Tue Aug 16 20:14:14 2016.579159 expect[5407] read(36, 0x10b6d88, 4096) = 1 Tue Aug 16 20:14:14 2016.579153 stapio[10944] write(2, " ", 1) = 1 Tue Aug 16 20:14:14 2016.579244 expect[5407] read(36, 0x10b6d88, 4096) = 108 Tue Aug 16 20:14:14 2016.579240 stapio[10944] write(2, "probe kprobe.function(\"sys_sched_setaffinity"..., 108) = 108 Tue Aug 16 20:14:14 2016.579337 stapio[10944] fcntl(4, F_SETFL, 0x20802) = 0 Tue Aug 16 20:14:14 2016.579353 stapio[10944] read(4, 0x3ffeda0f970, 8196) = 115 Tue Aug 16 20:14:14 2016.579381 stapio[10944] fcntl(4, F_SETFL, 0x20002) = 0 Tue Aug 16 20:14:14 2016.579267 expect[5407] read(36, 0x10b6d88, 4096) = 8 Tue Aug 16 20:14:14 2016.579402 stapio[10944] write(2, "WARNING:", 8) = 8 Tue Aug 16 20:14:14 2016.579460 expect[5407] read(36, 0x10b6d88, 4096) = 1 Tue Aug 16 20:14:14 2016.579448 stapio[10944] write(2, " ", 1) = 1 Tue Aug 16 20:14:14 2016.579480 expect[5407] read(36, 0x10b6d88, 4096) = 101 Tue Aug 16 20:14:14 2016.579509 stapio[10944] write(2, "probe kprobe.function(\"sys_sched_setaffinity"..., 101) = 101 Tue Aug 16 20:14:14 2016.579541 stapio[10944] fcntl(4, F_SETFL, 0x20802) = 0 Tue Aug 16 20:14:14 2016.579576 stapio[10944] read(4, 0x3ffeda0f970, 8196) = 12 Tue Aug 16 20:14:14 2016.579592 stapio[10944] fcntl(4, F_SETFL, 0x20002) = 0 Tue Aug 16 20:14:14 2016.579606 stapio[10944] fcntl(4, F_SETFL, 0x20802) = 0 Tue Aug 16 20:14:14 2016.579619 stapio[10944] read(4, 0x3ffeda0f970, 8196) = -11 (EAGAIN) Tue Aug 16 20:14:14 2016.579635 stapio[10944] fcntl(4, F_SETFL, 0x20002) = 0 Tue Aug 16 20:14:14 2016.579326 beah-rhts-task[3597] epoll_pwait(8, 0x385261a0, 5, 148, 0x0, 8) = 0 Tue Aug 16 20:14:14 2016.727546 beah-rhts-task[3597] epoll_pwait(8, 0x385261a0, 5, 0, 0x0, 8) = 0 Tue Aug 16 20:14:14 2016.727582 beah-rhts-task[3597] epoll_pwait(8, 0x385261a0, 5, 0, 0x0, 8) = 0 Tue Aug 16 20:14:14 2016.727615 beah-rhts-task[3597] epoll_pwait(8, 0x385261a0, 5, 0, 0x0, 8) = 0 Tue Aug 16 20:14:14 2016.727646 beah-rhts-task[3597] epoll_pwait(8, 0x385261a0, 5, 0, 0x0, 8) = 0 Thu Jan 1 00:00:00 1970.000000 stapio[10948] ppoll() = 0 Tue Aug 16 20:14:14 2016.772088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 2846 Tue Aug 16 20:14:14 2016.772132 stapio[10948] write(1, "Thu Jan 1 00:00:00 1970.000000 systemd-udevd"..., 2846) = 2846 Tue Aug 16 20:14:14 2016.772159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 204 Tue Aug 16 20:14:14 2016.772177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772088 stapio[10948]"..., 204) = 204 Tue Aug 16 20:14:14 2016.579542 expect[5407] read(36, 0x10b6d88, 4096) = 2846 Tue Aug 16 20:14:14 2016.772194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772159 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 279 Tue Aug 16 20:14:14 2016.772225 expect[5407] read(36, 0x10b6d88, 4096) = 405 Tue Aug 16 20:14:14 2016.772268 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.579542 expect[5407] "..., 279) = 279 Tue Aug 16 20:14:14 2016.772296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.772312 expect[5407] read(36, 0x10b6d88, 4096) = 557 Tue Aug 16 20:14:14 2016.772313 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.772360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.772377 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.772395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.772421 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772360 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772395 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772439 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.772519 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772511 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772460 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772494 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772536 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.772617 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772608 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772558 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772592 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772634 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.772715 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772706 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772656 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772690 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772736 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.772823 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772814 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772764 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772878 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772798 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772839 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.772921 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.772912 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772862 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.772949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.772977 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772896 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.772995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.772948 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.773020 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.773011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772949 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.773048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.773076 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.772995 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.773094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.773047 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.773133 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.773133 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773048 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.773172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.773188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773094 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.773210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.773151 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.773226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773172 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.773252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773271 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.773299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.773355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773252 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.773332 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.773395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773632 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.773797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773725 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.773782 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.773835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.773852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773716 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.773826 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.773880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.773898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.773925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.773913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.773960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773880 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.773943 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.773999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.774016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773925 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.773990 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.774054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.773999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774136 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774249 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774415 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774470 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774635 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774690 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774745 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774855 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774910 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.774949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.774966 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775021 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.774995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.775076 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775004 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.775061 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.775105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.775133 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.774995 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.775106 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.775172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775189 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775410 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.775465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775393 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.775450 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.775494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.775510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775385 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.775495 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.775549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775566 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775621 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775676 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.775951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.775990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.775981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.775990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776349 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776459 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776624 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.776955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.776993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.776985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777065 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.776993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777845 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.777900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.777876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.777919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.777956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777884 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.777941 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.777985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.778001 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777876 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.777986 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.778040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778056 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.777985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778122 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778178 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778344 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778399 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778509 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778675 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.778950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.778989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779005 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.778980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.778989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779347 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779432 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779733 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779899 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.779954 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.779992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.779984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.779992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780736 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.780958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.780996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.780987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781058 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.780996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781123 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781675 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.781951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.781990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.781981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.781990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782238 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782733 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782899 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.782954 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.782993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.782984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.782993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783736 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783791 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.783847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783775 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.783832 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.783885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.783902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783766 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.783876 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.783940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.783957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.783996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.783987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.783996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784354 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784575 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784630 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784740 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.784960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.784999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.784990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.784999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785575 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785630 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785740 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.785944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.785961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.785944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.785991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786000 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786414 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786469 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786524 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786563 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786689 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786745 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786855 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786910 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.786949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.786965 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787020 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.786949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.786995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787075 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787114 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787140 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787197 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787114 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787252 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787180 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787307 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787400 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787472 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787400 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787527 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787582 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787637 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787692 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787747 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787802 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787857 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787912 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.787951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.787967 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.787951 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.787998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788628 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788738 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788793 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.788958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.788997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.788989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.788997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789356 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789631 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789686 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789741 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789851 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.789961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.789999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.789994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.789999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790246 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790356 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790631 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790686 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790741 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790851 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.790945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.790961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.790945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.790991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791000 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791358 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791524 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791578 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791744 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791798 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791837 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.791947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.791963 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792019 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.791947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.791994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792074 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792305 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792360 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792416 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792526 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792581 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792636 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792691 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792620 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792746 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792802 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792857 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792912 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.792951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.792967 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.792951 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.792998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793464 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793519 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793740 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.793960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.793999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.793991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.793999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794414 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794469 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794524 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794635 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794563 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794690 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794745 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794856 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794911 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.794950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.794966 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795021 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.794950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.794996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795076 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.795095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.795123 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795060 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.795051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795161 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.795139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.795186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795095 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.795177 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.795204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.795241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795051 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.795224 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.795260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795177 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795778 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.795960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795833 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.795979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795888 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.795999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795943 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.795999 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796126 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796192 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796054 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796126 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796175 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796358 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796523 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796396 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796578 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796451 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796506 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796561 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796616 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796798 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796671 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796727 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796782 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796892 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.796963 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796836 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.796947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.796982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797019 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796892 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797074 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.796947 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797002 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797124 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797057 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797124 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797556 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.797960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797833 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.797979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797888 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.797999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797943 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.797999 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798054 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798121 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798166 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798220 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798275 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798386 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798441 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798624 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798496 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798551 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798662 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798717 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798899 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798772 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.798954 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798827 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.798973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.798992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799065 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799128 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.798992 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799048 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799103 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799223 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799278 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799444 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799499 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799554 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799736 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799664 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.799957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799830 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.799976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.799996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.799996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800051 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800447 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800849 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800904 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.800959 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800832 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.800978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800888 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.800998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800943 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.800998 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801053 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801246 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801108 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801175 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801467 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801340 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801395 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801632 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801505 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801560 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801615 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801670 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801725 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801907 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801780 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.801962 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801835 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.801946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.801981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802017 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801890 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802072 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.801946 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802001 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802184 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802056 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802121 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802222 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802388 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802553 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802608 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802663 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802845 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802718 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802773 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.802955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.802974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802884 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.802994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802939 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.802994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803049 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803104 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803390 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803445 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803500 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803682 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803610 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803721 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.803958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.803976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803886 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.803996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803941 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.803996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804052 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804849 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804904 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.804959 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804832 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.804978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804887 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.804998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804942 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.804998 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805053 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805108 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805175 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805467 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805340 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805395 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805632 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805505 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805560 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805616 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805798 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805671 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805726 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.805963 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805836 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.805946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.805981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806018 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805891 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806073 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.805946 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806001 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806122 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806056 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806122 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806223 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806278 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806388 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806553 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806608 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806663 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806845 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.806955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.806974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806884 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.806994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807065 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806938 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.806994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807049 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807104 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807390 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807445 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807500 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807610 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807665 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.807956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807830 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.807975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.807995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.807995 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808050 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808105 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808279 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808334 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808503 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808558 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808495 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808668 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808541 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808597 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808778 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808652 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808706 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808888 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808943 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808817 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.808962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.808998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808871 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.808982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808926 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809119 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.808982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809159 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809213 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809268 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809323 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809378 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809433 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809488 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809543 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809598 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809708 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809763 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809818 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.809963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.809999 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809873 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.809982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810054 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810117 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.809982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810174 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810038 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810229 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810284 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810158 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810339 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810212 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810394 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810267 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810325 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810432 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810377 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810432 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810487 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810542 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810597 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810652 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810762 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810817 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.810962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.810999 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810872 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.810982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810927 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811119 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.810982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811159 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811214 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811269 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811506 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811561 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811434 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811616 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811489 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811671 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811654 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811836 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811709 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811891 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811764 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.811946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.811964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812001 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.811984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812056 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812119 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.811984 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812176 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812039 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812094 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812160 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812214 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812269 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812434 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812489 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812654 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812709 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812763 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.812945 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.812963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813000 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.812983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813055 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813120 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.812983 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813039 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813232 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813093 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813287 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813161 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813215 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813270 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813325 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813380 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813562 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813435 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813490 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813545 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813727 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813600 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813782 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813655 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813710 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813892 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813765 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.813947 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.813965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814002 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813875 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.813985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813930 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814122 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.813985 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814178 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814040 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814095 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814162 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814217 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814272 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814453 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814327 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814509 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814382 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814437 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814492 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814674 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814547 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814729 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814602 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814784 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814839 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814712 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814767 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.814949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814822 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.814967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814877 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.814987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814932 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815123 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.814987 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815042 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815218 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815273 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815328 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815383 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815438 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815493 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815675 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815658 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815713 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815768 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.815950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.815969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816005 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815879 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.815989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.815989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816044 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816099 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816218 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816274 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816328 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816384 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816439 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816494 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816675 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816549 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816604 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816659 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816714 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816769 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.816950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.816969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817005 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816879 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.816989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.816989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817044 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817099 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817166 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817221 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817276 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817386 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817441 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817496 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817733 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817606 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817717 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817772 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.817954 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817827 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.817972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.817992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818128 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.817992 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818047 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818102 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818223 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818278 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818388 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818499 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818554 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818791 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818664 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.818956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.818974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818884 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.818994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818939 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.818994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819049 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819104 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819445 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819500 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819682 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819610 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819665 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.819957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819830 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.819975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.819996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.819996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820051 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820171 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820682 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820721 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.820957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.820976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820886 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.820996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820941 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.820996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821051 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821171 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821425 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821474 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821530 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821586 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821466 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821640 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821513 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821696 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821569 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821751 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821624 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821805 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821679 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821789 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821860 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821734 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821915 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821789 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.821969 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.821953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.821987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821899 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.821953 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822136 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822007 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822126 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822192 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822062 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822126 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822176 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822231 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822410 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822464 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822339 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822556 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822665 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822773 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.822952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822827 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.822970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.822990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822936 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.822990 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823044 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823099 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823165 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823219 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823273 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823327 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823506 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823382 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823436 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823492 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823777 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823886 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823941 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823815 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.823959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.823995 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823870 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.823979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824050 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823925 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824104 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.823979 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824034 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824088 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824277 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824152 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824206 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824261 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824440 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824494 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824370 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824603 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824479 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824533 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824587 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824642 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824821 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824750 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824929 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824805 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.824947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.824984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824859 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.824968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824913 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825092 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.824968 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.825137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825022 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.825130 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.825156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.825193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825120 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.825176 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.825211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825130 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825176 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825231 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825286 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825395 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825575 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825504 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825559 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825738 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825614 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825668 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.825956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.825973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.825994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825939 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.825994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826048 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826103 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826168 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826346 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826221 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826401 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826276 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826330 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826385 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826439 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826494 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826673 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826727 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826836 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826711 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826766 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826945 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.826963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.826999 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.826983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827054 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827119 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.826983 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827174 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827229 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827283 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827159 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827338 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827213 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827392 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827267 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827446 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827322 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827501 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827376 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827555 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827431 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827609 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827485 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827663 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827539 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827718 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827593 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827772 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827647 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827826 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827702 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827881 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827756 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827935 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827810 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.827953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.827990 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827865 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.827974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828044 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827919 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828099 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.827974 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828163 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828028 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828217 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828083 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828272 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828147 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828326 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828201 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828380 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828256 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828435 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828310 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828489 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828365 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828544 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828419 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828598 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828473 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828528 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828707 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828582 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828761 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828636 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828816 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828691 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828870 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828745 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828924 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828800 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.828979 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828854 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.828963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.828997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829033 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828908 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829087 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.828963 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.829155 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.829143 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829017 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.829179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.829173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.829250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829179 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.829234 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.829268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829173 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829234 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829288 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829343 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829452 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829397 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829452 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829631 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829506 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829560 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829615 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829669 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829724 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829778 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.829957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829832 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.829975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829887 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.829995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829941 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.829995 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830050 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830104 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830349 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830279 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830512 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830387 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830566 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830442 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830496 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830675 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830550 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830729 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830605 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830783 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830659 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830838 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830713 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830892 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830768 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.830947 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830822 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.830965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831001 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830877 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.830985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831055 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830931 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831119 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.830985 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831039 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831229 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831094 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831283 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831160 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831338 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831214 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831392 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831268 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831446 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831322 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831501 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831376 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831555 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831431 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831609 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831485 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831664 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831539 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831718 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831594 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831773 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831648 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831827 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831702 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831881 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831757 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831936 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831811 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.831954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.831990 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831866 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.831974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832045 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831920 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832099 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.831974 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832164 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832029 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832218 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832083 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832273 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832148 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832328 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832202 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832382 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832257 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832400 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832436 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832312 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832491 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832366 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832545 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832421 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832600 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832475 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832654 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832530 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832708 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832584 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832763 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832638 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832817 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832693 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832871 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832747 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832926 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832801 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.832980 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832856 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.832964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.832998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833034 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832910 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833088 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.832964 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.833156 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.833144 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833019 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.833180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833196 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.833174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.833251 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833180 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.833235 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.833269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833305 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833174 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833360 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833235 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833414 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833289 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833469 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833344 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833523 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833398 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833453 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833632 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833507 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833686 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833561 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833741 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833616 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833670 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833725 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833904 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833779 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.833958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833834 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.833976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833888 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.833997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833942 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.833997 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834052 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834444 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834553 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834787 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834662 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834716 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834771 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.834950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834825 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.834968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835005 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834880 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.834989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835123 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.834989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835218 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835272 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835327 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835506 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835381 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835435 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835490 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835778 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835708 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835887 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835762 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835941 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835817 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.835959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.835996 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835871 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.835980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836050 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835926 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.835980 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836169 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836035 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836089 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836153 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836333 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836208 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836387 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836262 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836317 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836371 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836426 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836480 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836535 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836589 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836644 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836698 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836752 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836932 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836807 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.836950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.836986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836861 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.836970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836916 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.836970 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837151 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837025 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837206 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837079 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837260 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837144 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837315 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837190 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837369 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837245 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837424 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837299 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837408 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837478 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837353 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837533 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837408 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837517 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837587 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837462 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837642 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837517 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837626 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837696 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837571 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837751 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837626 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837735 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837805 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837680 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837789 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837860 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837735 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837914 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837789 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837898 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.837969 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.837953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.837987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837898 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838077 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.837953 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838142 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838007 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838198 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838062 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838133 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838307 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838183 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838361 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838237 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838416 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838291 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838470 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838346 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838524 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838400 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838454 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838509 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838563 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838618 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838672 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838851 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838726 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.838960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838835 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.838978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838890 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.838998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838944 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.838998 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839053 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839107 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839173 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839227 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839390 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839445 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839624 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839499 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839554 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839608 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839787 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839663 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839717 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839771 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.839950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839826 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.839968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839880 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.839989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840121 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.839989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840231 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840162 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840216 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840270 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840558 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840433 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840612 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840488 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840542 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840721 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840597 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840775 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840651 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840830 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840705 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840884 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840760 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840938 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840814 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.840956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.840993 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840868 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.840977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841047 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840923 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841101 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.840977 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841031 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841086 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841277 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841152 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841207 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841261 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841440 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841316 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841494 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841370 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841603 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841479 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841657 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841533 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841588 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841642 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841751 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841929 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841805 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.841947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.841983 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841859 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.841968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841913 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842092 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.841968 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.842157 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842022 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.842142 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.842176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.842212 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.842197 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.842230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842266 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842142 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842321 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842197 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842375 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842251 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842430 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842305 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842484 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842359 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842538 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842414 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842593 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842469 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842647 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842523 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842701 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842577 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842756 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842631 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842810 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842686 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842865 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842740 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842919 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842795 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.842973 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842849 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.842958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.842991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843028 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842903 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843082 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.842958 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.843136 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843012 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.843129 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.843155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.843191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843100 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.843177 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.843210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843246 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843129 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843177 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843464 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843339 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843503 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.843952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843828 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.843970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843883 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.843991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.843991 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844045 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844100 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844165 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844218 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844272 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844327 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844381 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844436 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844490 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844668 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844777 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844886 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844762 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844940 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844816 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.844958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.844995 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844870 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.844979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845049 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844925 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845093 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.844979 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845156 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845033 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845211 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845121 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845266 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845149 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845320 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845195 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845375 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845250 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845429 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845305 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845484 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845359 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845538 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845414 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845592 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845468 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845647 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845522 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845701 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845577 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845756 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845631 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845810 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845686 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845864 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845740 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845919 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845794 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.845973 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845849 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.845958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.845992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846028 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845903 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846082 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.845958 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.846137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846013 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.846130 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.846156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.846193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846100 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.846178 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.846211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846130 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846178 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846356 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846232 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846410 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846286 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846519 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846395 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846449 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846504 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846682 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846558 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846736 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846899 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846953 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.846972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.846938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.846988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846883 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.847050 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.846972 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.847027 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.847068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.847105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847034 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.847089 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.847132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847027 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847089 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847153 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847332 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847208 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847262 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847441 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847317 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847371 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847425 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847604 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847480 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847534 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847588 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847767 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847643 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847821 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847697 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847751 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847930 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847805 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.847948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.847984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847860 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.847969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847914 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848093 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.847969 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848023 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.848201 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848119 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.848192 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.848219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.848256 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848077 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.848240 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.848274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848310 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848192 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848365 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848240 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848419 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848295 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848474 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848349 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848528 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848404 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848582 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848458 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848637 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848512 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848691 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848567 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848745 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848621 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848676 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848854 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848730 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848784 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.848963 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848839 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.848947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.848981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849017 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848893 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.848947 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849140 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849002 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849196 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849056 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849110 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849235 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849305 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849181 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849360 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849235 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849414 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849292 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849469 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849344 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849523 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849399 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849578 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849453 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849508 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849562 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849617 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849672 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849851 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849726 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.849959 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849835 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.849978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849890 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.849999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849944 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.849999 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850053 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850108 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850176 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850284 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850339 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.850953 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.850971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850883 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.850992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851062 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.850992 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851046 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851236 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851101 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851221 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851399 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851275 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851329 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851508 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851384 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851562 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851439 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851493 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851671 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851547 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851601 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851656 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851710 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851764 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851943 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.851961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.851997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851873 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.851982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852106 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.851982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852091 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852280 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852156 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852210 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852389 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852265 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852320 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852374 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852552 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852428 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852483 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852661 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852537 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852715 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852591 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852646 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852824 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852700 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852878 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852809 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.852951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.852987 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852863 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.852972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852917 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.852972 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853161 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853026 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853215 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853081 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853270 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853145 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853324 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853200 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853379 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853254 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853433 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853309 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853487 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853363 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853541 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853418 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853596 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853472 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853650 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853526 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853705 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853581 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853759 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853635 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853814 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853689 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853868 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853744 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853922 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853798 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.853977 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853853 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.853961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.853995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854031 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853907 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854085 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.853961 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854070 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.854139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854016 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.854133 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.854158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.854194 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854103 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.854180 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.854212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854249 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854133 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854180 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854233 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854288 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854467 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854342 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854396 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854451 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854630 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854506 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854560 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854615 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854669 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854724 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854778 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.854957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854833 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.854975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854887 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.854996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854942 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.854996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855050 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855105 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855404 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855459 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855334 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855622 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855716 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855770 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.855949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.855967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855879 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.855988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855933 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856121 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.855988 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856042 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856232 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856096 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856163 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856341 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856216 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856396 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856271 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856326 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856380 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856435 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856489 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856668 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856543 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856722 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856598 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856652 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856939 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856815 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.856957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.856994 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856870 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.856978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857048 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856924 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857102 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.856978 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857167 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857033 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857221 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857087 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857151 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857330 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857206 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857384 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857260 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857439 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857493 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857369 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857548 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857423 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857602 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857657 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857532 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857711 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857587 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857765 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857641 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857874 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857750 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857929 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857804 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.857947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.857983 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857859 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.857968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858037 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857913 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858091 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.857968 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.858157 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858022 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.858149 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.858176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.858213 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.858198 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.858231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858267 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858149 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858322 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858198 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858376 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858251 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858431 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858306 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858485 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858361 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858539 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858415 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858594 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858470 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858648 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858524 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858702 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858578 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858757 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858633 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858811 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858687 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858865 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858742 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858920 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858796 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.858974 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858850 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.858959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.858992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859029 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858905 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859083 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.858959 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.859138 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859014 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.859130 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.859157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.859193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859101 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.859179 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.859211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859130 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859179 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859232 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859287 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859396 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859628 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859504 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859559 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859738 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859613 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859668 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.859955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.859973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.859994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860063 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.859994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860048 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860238 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860103 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860168 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860346 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860222 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860401 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860386 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860440 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860618 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860494 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860673 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860549 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860727 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860712 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860766 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.860962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.860998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.860983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.860983 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861280 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861156 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861210 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861389 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861265 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861319 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861374 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861552 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861428 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861483 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861661 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861537 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861715 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861591 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861646 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861824 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861700 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861809 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.861951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.861987 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861863 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.861972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862041 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861918 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.861972 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.862141 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862026 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.862168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.862156 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.862211 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.862196 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862124 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.862233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.862260 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862168 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.862254 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.862281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.862317 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862233 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.862304 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.862336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862372 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862254 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862427 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862304 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862482 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862357 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862536 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862412 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862591 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862466 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862645 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862521 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862699 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862575 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862754 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862630 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862808 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862684 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862862 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862739 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862917 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862793 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.862971 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862847 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.862956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.862989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863025 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862901 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863080 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.862956 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863010 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863064 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863128 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863175 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863284 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863338 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863392 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863447 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863556 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863610 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863664 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863842 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863897 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863773 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.863951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863827 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.863969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.863990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863936 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.863990 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864045 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864099 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864165 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864219 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864273 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864328 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864506 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864382 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864436 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864491 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864545 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864777 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864654 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864708 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864886 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864762 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864940 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864816 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.864958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.864994 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864871 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.864979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865049 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864925 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865103 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.864979 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865167 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865033 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865088 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865152 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865330 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865206 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865385 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865261 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865439 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865493 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865369 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865547 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865602 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865656 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865532 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865710 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865586 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865764 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865641 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865819 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865695 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865873 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865749 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865927 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865804 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.865982 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865858 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.865966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.865999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866036 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865912 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866090 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.865966 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.866158 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.866146 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866021 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.866182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866198 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.866176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.866253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866182 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.866238 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.866271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866307 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866176 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866238 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866416 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866292 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866470 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866347 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866401 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866455 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866509 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866564 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866618 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866673 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866851 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866727 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.866959 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866836 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.866977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866890 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.866998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867068 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866944 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.866998 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867053 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867107 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867173 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867227 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867390 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867445 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867624 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867500 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867554 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867733 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867787 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867663 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867717 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867772 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.867950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867826 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.867968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867880 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.867989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868058 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867935 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868121 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.867989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868176 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868231 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868162 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868216 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868394 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868270 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868503 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868558 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868434 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868612 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868488 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868666 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868543 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868721 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868597 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868775 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868651 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868829 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868705 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868884 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868760 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868938 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868814 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.868956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.868992 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868868 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.868977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869047 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868923 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869101 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.868977 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869166 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869031 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869221 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869086 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869150 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869205 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869385 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869260 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869439 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869494 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869370 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869548 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869602 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869657 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869533 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869711 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869587 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869765 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869641 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869874 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869750 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869928 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869804 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.869946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.869982 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869859 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.869967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870037 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869913 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870091 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.869967 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.870159 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.870147 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870022 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.870183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.870177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.870253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870183 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.870238 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.870271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870308 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870177 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870238 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870416 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870292 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870470 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870347 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870401 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870455 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870510 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870564 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870742 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870618 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870672 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870727 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.870959 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870835 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.870977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870889 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.870998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870944 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.870998 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871052 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871106 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871173 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871404 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871459 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871567 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871622 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871676 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871784 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871839 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871715 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871893 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871769 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.871947 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.871965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.872002 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871878 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.871986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.872019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.872056 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871932 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.872041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.872074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.872126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.871986 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.872147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.872164 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872041 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.872180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872196 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872147 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872238 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872180 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872269 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872222 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872254 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872284 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872315 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872393 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872346 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872424 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872377 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872408 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872485 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872438 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872469 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872546 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872500 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872531 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872608 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872561 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872639 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872592 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872623 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872700 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872654 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872684 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872762 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872715 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872793 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872746 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872777 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872854 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872808 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872838 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872915 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872869 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872900 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872977 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872930 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.872992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.873008 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872961 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.873023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.873038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.872992 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.873053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.873069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873023 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.873084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.873100 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873053 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.873129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.872095 expect[5407] read(36, 0x10b6d88, 4096) = 4096 Tue Aug 16 20:14:14 2016.873156 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873084 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.873186 expect[5407] read(36, 0x10b6d88, 4096) = 2691 Tue Aug 16 20:14:14 2016.873172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 279 Tue Aug 16 20:14:14 2016.873219 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873129 stapio[10948]"..., 279) = 279 Tue Aug 16 20:14:14 2016.873214 expect[5407] read(36, 0x10b6d88, 4096) = 279 Tue Aug 16 20:14:14 2016.873238 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 279 Tue Aug 16 20:14:14 2016.873274 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873186 expect[5407] "..., 279) = 279 Tue Aug 16 20:14:14 2016.873260 expect[5407] read(36, 0x10b6d88, 4096) = 279 Tue Aug 16 20:14:14 2016.873293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873329 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873214 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873384 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873260 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873438 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873493 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873369 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873548 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873602 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873657 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873532 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873711 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873587 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873642 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873750 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873929 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873805 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.873947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.873984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873860 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.873968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873914 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874092 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.873968 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.874142 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874023 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.874172 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.874158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.874205 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.874190 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.874223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874260 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874314 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874190 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874369 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874244 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874423 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874299 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874408 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874477 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874353 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874532 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874408 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874587 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874462 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874641 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874516 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874626 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874696 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874571 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874750 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874626 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874735 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874804 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874680 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874789 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874859 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874735 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874789 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.874955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.874973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874932 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.874994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874948 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.874994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875048 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875103 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875171 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875349 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875404 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875279 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875567 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875621 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875676 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875606 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875839 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875715 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875769 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.875948 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.875966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876002 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875878 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.875987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875933 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876120 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.875987 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876176 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876041 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876231 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876096 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876162 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876339 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876215 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876394 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876270 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876448 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876503 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876557 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876433 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876611 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876487 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876666 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876542 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876720 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876596 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876775 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876651 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876829 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876705 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876883 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876759 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876938 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876814 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.876956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.876992 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876868 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.876977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877047 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876923 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877101 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.876977 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877031 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877086 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877277 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877152 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877207 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877262 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877440 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877316 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877371 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877425 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877604 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877480 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877534 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877588 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877767 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877643 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877821 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877697 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877752 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877930 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877806 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.877948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.877984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877860 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.877969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878039 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877915 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878093 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.877969 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.878157 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878023 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.878142 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.878176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.878213 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.878198 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.878231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878267 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878142 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878322 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878198 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878376 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878252 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878431 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878307 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878485 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878361 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878540 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878416 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878594 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878470 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878648 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878524 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878703 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878579 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878757 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878633 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878811 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878688 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878866 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878742 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878920 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878796 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.878974 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878851 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.878959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.878992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879029 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878905 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879083 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.878959 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.879139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879014 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.879131 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.879158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.879194 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879101 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.879180 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.879212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879249 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879131 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879180 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879233 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879288 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879342 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879397 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879575 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879451 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879506 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879560 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879738 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879614 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879668 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879723 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.879955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.879973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879886 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.879994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880128 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.879994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880049 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880238 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880103 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880347 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880223 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880401 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880332 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880386 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880440 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880618 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880495 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880549 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880727 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880712 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880766 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.880962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.880998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880875 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.880983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.880983 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881172 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881038 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881227 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881281 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881157 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881211 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881390 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881266 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881320 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881499 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881375 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881553 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881429 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881484 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881662 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881538 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881716 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881592 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881647 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881825 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881701 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881810 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.881951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.881988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881864 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.881973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881918 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.881973 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.882160 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882027 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.882136 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.882178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.882215 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882143 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.882199 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.882233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882269 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882136 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882324 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882199 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882378 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882254 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882432 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882308 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882486 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882363 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882541 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882417 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882595 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882471 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882580 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882650 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882526 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882704 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882580 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882758 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882634 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882743 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882813 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882689 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882867 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882743 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882921 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882798 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882906 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.882976 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882852 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.882960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.882994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883030 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882906 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883084 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.882960 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.883142 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.883130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883015 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.883166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.883160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.883236 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883166 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.883221 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.883254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883291 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883160 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883221 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883275 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883330 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883509 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883384 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883563 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883439 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883493 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883602 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883711 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883765 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883943 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.883961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.883997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.883982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884106 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.883982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884091 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884280 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884156 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884210 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884389 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884265 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884320 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884374 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884552 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884429 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884483 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884661 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884537 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884715 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884592 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884646 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884824 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884700 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884878 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884809 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.884951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.884987 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884863 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.884972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884918 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.884972 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.885151 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885026 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.885144 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.885170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.885206 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885124 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.885191 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.885224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885261 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885144 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885315 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885191 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885370 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885245 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885424 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885300 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885409 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885479 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885355 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885464 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885533 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885409 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885518 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885587 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885464 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885572 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885642 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885518 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885627 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885696 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885572 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885681 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885750 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885627 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885735 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885805 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885681 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885859 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885735 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885913 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885790 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885898 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.885968 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.885952 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.885986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886022 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885898 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886076 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.885952 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886061 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886007 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886129 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886061 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886129 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886170 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886402 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886278 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886457 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886333 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886511 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886387 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886566 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886442 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886496 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886674 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886550 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886729 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886605 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886783 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886659 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886713 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886892 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886768 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.886946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886822 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.886964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887001 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886877 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.886985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887055 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886931 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887118 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.886985 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887174 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887040 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887228 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887094 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887283 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887159 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887337 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887213 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887392 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887268 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887446 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887322 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887500 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887376 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887555 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887431 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887609 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887485 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887663 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887540 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887718 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887594 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887772 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887648 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887816 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887703 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887868 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887757 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887923 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887845 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.887977 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887862 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.887962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.887995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888031 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887908 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888086 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.887962 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.888143 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.888131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888016 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.888167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.888161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.888238 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888167 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.888223 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.888256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888161 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888347 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888223 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888402 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888456 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888332 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888511 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888387 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888441 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888620 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888496 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888674 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888550 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888728 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888605 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888782 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888659 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888713 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888891 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888767 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.888946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888822 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.888963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889000 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888876 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.888985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889054 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888930 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889109 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.888985 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889172 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889039 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889227 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889094 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889281 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889157 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889212 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889390 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889266 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889320 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889375 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889552 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889429 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889483 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889661 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889538 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889716 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889592 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889646 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889825 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889701 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889810 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.889951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.889988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889864 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.889973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889918 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.889973 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.890159 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890027 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.890136 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.890178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.890215 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890143 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.890199 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.890233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890269 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890136 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890324 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890199 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890378 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890254 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890432 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890309 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890487 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890363 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890541 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890417 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890596 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890472 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890650 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890526 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890704 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890581 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890759 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890635 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890813 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890689 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890867 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890744 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890922 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890798 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.890976 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890853 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.890961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.890994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891030 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890907 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891085 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.890961 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891070 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.891150 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891015 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.891135 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.891169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.891206 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891103 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.891192 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.891224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891260 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891135 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891315 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891192 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891369 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891245 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891424 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891300 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891409 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891478 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891354 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891463 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891533 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891409 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891518 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891587 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891463 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891572 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891642 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891518 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891627 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891696 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891572 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891681 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891751 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891627 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891805 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891681 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891860 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891736 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891914 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891790 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.891969 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.891953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.891987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891899 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892077 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.891953 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892008 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892127 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892062 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892127 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892173 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892227 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892459 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892390 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892444 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892622 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892499 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892553 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892662 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892716 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892770 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.892949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892825 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.892967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892879 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.892988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893058 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893122 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.892988 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893042 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893231 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893163 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893216 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893271 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893325 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893380 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893558 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893434 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893489 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893543 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893721 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893598 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893652 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893830 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893706 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893884 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893939 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893815 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.893957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.893993 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893870 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.893978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894048 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893924 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894102 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.893978 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894167 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894033 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894221 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894087 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894152 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894330 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894206 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894384 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894261 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894439 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894315 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894493 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894370 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894548 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894424 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894602 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894478 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894656 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894533 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894711 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894587 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894765 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894641 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894696 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894874 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894750 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894928 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894805 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.894946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.894983 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894859 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.894968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895037 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894913 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895092 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.894968 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.895160 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.895147 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895022 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.895183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.895178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.895254 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895183 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.895239 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.895272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895309 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895178 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895363 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895239 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895418 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895293 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895473 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895348 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895527 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895403 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895582 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895457 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895636 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895512 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895690 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895567 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895745 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895621 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895799 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895675 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895730 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895784 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.895962 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895838 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.895947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.895980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896017 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895893 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.895947 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896001 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896056 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896110 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896176 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896354 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896340 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.896953 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.896971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896883 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.896992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897062 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896938 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.896992 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897181 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897046 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897236 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897101 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897221 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897399 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897275 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897330 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897508 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897384 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897563 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897439 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897493 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897671 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897602 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897656 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897711 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897765 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.897962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.897998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897874 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.897983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.897983 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898038 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898225 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898092 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898279 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898156 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898334 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898210 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898388 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898265 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898319 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898497 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898373 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898428 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898606 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898482 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898660 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898536 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898591 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898645 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898699 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898754 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898932 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898808 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.898949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.898986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898862 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.898971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898917 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.898971 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.899163 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.899150 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899025 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.899186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899202 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.899181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.899257 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899186 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.899242 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.899275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899311 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899181 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899296 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899366 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899242 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899420 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899296 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899405 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899474 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899351 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899529 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899405 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899583 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899459 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899638 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899514 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899692 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899568 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899746 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899623 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899677 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899855 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899731 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899909 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899786 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.899963 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899840 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.899948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.899981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900018 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899894 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900072 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.899948 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900136 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900003 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900191 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900057 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900246 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900111 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900177 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900354 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900231 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900340 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900665 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900897 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.900952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900828 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.900970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.900991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.900991 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901046 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901100 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901166 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901344 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901220 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901274 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901329 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901383 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901561 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901437 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901492 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901546 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901600 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901778 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901655 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901709 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901887 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901763 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901941 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901818 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.901959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.901996 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901872 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.901981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902050 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901927 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902104 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.901981 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902035 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902089 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902277 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902154 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902332 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902208 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902262 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902440 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902317 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902371 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902425 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902603 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902480 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902534 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902588 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902643 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902821 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902697 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902752 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902930 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902806 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.902948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.902985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902861 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.902969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903039 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902915 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903094 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.902969 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.903149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903024 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.903176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.903192 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903133 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.903207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.903223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903176 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.903162 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.903239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.903266 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903207 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.903270 expect[5407] read(36, 0x10b6d88, 4096) = 603 Tue Aug 16 20:14:14 2016.903313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.903329 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903162 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.903290 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.903349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.903386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903313 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.903374 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.903404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903441 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903290 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903374 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903550 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903426 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903604 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903481 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903535 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903713 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903590 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903644 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903699 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903753 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903807 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.903949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.903985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903862 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.903971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903916 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904094 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.903971 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.904162 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.904149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904025 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.904185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904201 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.904180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.904256 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904185 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.904241 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.904274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904310 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904180 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904365 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904241 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904419 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904295 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904474 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904350 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904529 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904404 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904583 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904459 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904638 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904514 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904692 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904568 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904746 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904623 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904801 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904677 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904855 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904732 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904910 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904786 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904895 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.904964 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904840 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.904949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.904982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905018 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904895 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905073 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.904949 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905137 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905004 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905058 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905112 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905302 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905179 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905356 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905233 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905287 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905342 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905396 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905628 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905505 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905559 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905738 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905614 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905668 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905777 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.905955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.905973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905886 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.905995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.905995 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906049 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906104 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906292 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906346 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906222 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906401 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906455 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906386 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906440 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906495 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906673 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906549 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906728 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906604 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906782 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906658 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906713 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906891 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906767 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.906946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906822 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.906964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907000 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906876 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.906985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907055 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906931 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907109 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.906985 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907040 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907094 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907284 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907160 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907339 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907215 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907393 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907269 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907448 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907324 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907502 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907379 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907557 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907433 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907611 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907487 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907666 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907542 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907720 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907597 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907775 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907651 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907829 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907706 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907884 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907760 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907938 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907814 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.907956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.907993 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907869 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.907978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908047 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907923 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908102 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.907978 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908167 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908033 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.908207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908159 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908330 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908207 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908385 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908261 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908439 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908316 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908494 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908370 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908548 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908425 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908603 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908479 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908657 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908533 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908711 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908588 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908642 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908820 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908697 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908751 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908929 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908806 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.908947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.908984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908860 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.908969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908914 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909092 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.908969 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.909156 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909023 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.909144 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.909175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.909211 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.909198 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.909230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909266 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909144 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909320 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909198 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909375 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909251 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909429 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909306 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909483 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909360 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909538 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909414 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909592 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909469 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909646 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909523 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909701 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909577 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909755 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909632 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909809 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909686 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909864 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909740 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909918 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909795 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.909973 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909849 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.909958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.909991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910027 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909903 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910081 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.909958 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910012 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910067 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910133 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910175 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910229 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910284 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910339 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910393 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910447 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910502 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910556 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910610 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910665 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910897 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.910951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910828 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.910969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.910991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910937 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.910991 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911181 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911045 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911100 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911344 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911220 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911275 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911453 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911329 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911384 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911562 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911438 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911616 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911493 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911547 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911601 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911656 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911710 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911888 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911764 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911943 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.911961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.911997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911873 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.911982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912106 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.911982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912037 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912225 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912091 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912280 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912156 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912334 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912211 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912389 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912265 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912443 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912320 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912374 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912552 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912429 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912483 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912661 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912537 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912715 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912592 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912646 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912824 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912701 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912755 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912809 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.912951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.912988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912864 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.912973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912919 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913097 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.912973 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.913152 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913027 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.913145 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.913170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.913207 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.913192 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.913225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913261 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913145 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913246 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913316 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913192 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913371 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913246 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913425 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913301 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913479 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913356 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913534 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913410 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913588 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913465 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913643 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913519 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913697 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913574 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913751 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913628 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913806 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913682 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913860 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913737 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913915 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913791 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.913969 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913845 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.913954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.913987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914024 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913900 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.913954 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914009 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914063 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914128 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914404 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914513 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914567 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914444 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914622 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914676 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914839 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914716 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914770 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.914948 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914825 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.914967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914879 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.914988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.914988 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915291 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915168 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915346 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915222 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915276 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915509 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915385 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915563 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915440 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915494 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915657 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915712 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915766 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915820 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.915962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.915998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915875 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.915984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915929 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.916038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.915984 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:14 2016.916092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.916174 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916038 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.916152 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.916212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916228 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916283 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916337 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916392 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916446 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916501 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916555 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916609 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916664 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916718 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916772 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916827 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916881 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916936 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.916974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.916990 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.916967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917044 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.916974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917099 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917164 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917219 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917197 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917274 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917328 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917383 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917437 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917491 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917546 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917476 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917580 expect[5407] brk(0x0) = 26148864 Tue Aug 16 20:14:14 2016.917594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 343 Tue Aug 16 20:14:14 2016.917610 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917530 stapio[10948]"..., 343) = 343 Tue Aug 16 20:14:14 2016.917594 expect[5407] brk(0x1a50000) = 27590656 Tue Aug 16 20:14:14 2016.917626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.917652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917594 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.917682 expect[5407] read(36, 0x10b6d88, 4096) = 544 Tue Aug 16 20:14:14 2016.917668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 272 Tue Aug 16 20:14:14 2016.917715 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917594 expect[5407] "..., 272) = 272 Tue Aug 16 20:14:14 2016.917700 expect[5407] read(36, 0x10b6d88, 4096) = 272 Tue Aug 16 20:14:14 2016.917753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.917769 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917682 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.917747 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.917808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917824 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917878 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.917971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.917987 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.917965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.917971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918162 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918217 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918271 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918326 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918380 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918434 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918489 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918543 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918597 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918706 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918760 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918815 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918869 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918923 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.918962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.918978 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.918955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919032 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.918962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919086 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919114 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919194 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919114 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919249 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919466 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919791 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.919983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.919999 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.919976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.919983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920225 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920279 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920334 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920388 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920876 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.920969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.920985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.920962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921039 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.920969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921093 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921137 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921205 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921259 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921313 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921368 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921422 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921531 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921585 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921639 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921694 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921748 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921802 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921857 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921911 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.921950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.921966 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922020 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.921950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.921998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922074 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922249 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922358 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922412 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922467 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922521 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922575 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922630 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922684 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922793 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.922956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.922994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.922988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923065 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.922994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923184 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923402 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923456 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923511 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923674 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923728 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923783 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923891 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.923946 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.923984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924000 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.923978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924055 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.923984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924109 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924159 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924284 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924339 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924393 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924448 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924502 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924556 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924611 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924665 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924719 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924774 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924828 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924882 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924937 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.924975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.924991 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.924969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925046 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.924975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925100 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925164 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925218 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925273 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925327 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925382 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925426 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925481 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925535 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925589 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925644 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925698 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925752 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925807 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925861 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925915 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.925954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.925970 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.925947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926024 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.925954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926142 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926197 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926252 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926306 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926361 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926415 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926469 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926524 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926578 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926633 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926687 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926741 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926796 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926850 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926905 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.926950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.926988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.926982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.926988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927122 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927178 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927287 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927396 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927668 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927777 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927886 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927940 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.927979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.927995 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.927972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928049 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.927979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928103 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928169 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928224 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928279 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928333 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928387 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928660 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.928970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.928986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.928964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929041 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.928970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.929073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929150 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929079 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.929180 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.929167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929215 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.929271 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929180 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.929250 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.929310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929326 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929380 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929434 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929489 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929543 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929598 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929706 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929761 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929815 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929869 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929923 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.929962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.929978 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.929955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930032 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.929962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930087 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930142 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930127 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930198 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930252 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930307 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930291 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930400 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930416 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930470 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930400 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930579 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930563 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930726 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.930960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.930999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.930993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.930999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931133 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931053 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931787 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.931950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.931988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.931982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.931988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932561 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932616 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932888 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932942 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.932981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.932997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.932975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.932981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933106 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933281 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933390 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933498 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933553 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933662 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933716 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933825 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933934 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.933972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.933988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.933966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934043 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.933972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934097 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934162 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934217 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934271 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934326 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934380 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934435 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934489 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934543 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934598 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934706 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934761 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934815 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934870 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934924 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.934962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.934978 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.934956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935033 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.934962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935087 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935140 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935134 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935467 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935630 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935739 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935793 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935902 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.935956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.935995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.935988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936065 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.935995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936348 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936402 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936457 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936511 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936565 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936674 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936728 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936782 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936837 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936891 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.936945 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.936984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937000 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.936977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937054 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.936984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937108 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937173 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937218 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937272 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937327 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937381 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937435 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937489 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937544 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937598 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937652 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937706 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937761 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937815 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937869 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937924 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.937962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.937978 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.937956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938032 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.937962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938086 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938140 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938130 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938522 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938576 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938631 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938685 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938740 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938794 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.938957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.938995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939011 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.938989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.938995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939185 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939240 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939294 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939349 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939403 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939458 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939512 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939567 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939621 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939676 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939730 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939785 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939839 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939893 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.939948 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.939986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940002 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.939980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.939986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940111 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940231 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940394 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940503 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940557 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940612 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940666 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940720 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940774 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940829 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940883 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940937 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.940966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.940982 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.940970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941036 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.940966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941090 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941143 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941198 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941119 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941307 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941291 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941526 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941689 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.941961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.941999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.941993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.941999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942133 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942678 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942787 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.942950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.942988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.942982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.942988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943122 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943178 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943287 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943341 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943396 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943722 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943939 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.943978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.943994 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.943972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944048 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.943978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944103 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.944081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944169 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.944146 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944087 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.944182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.944208 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944130 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.944196 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.944247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944263 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944317 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944372 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944426 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944481 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944535 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944590 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944644 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944699 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944753 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944807 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944861 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944916 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.944954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.944970 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.944948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945024 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.944954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945079 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945143 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945308 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945291 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945689 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945798 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945907 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.945945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.945961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945891 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.945945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.945993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946000 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.946952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.946990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.946984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.946990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947123 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947451 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947614 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947723 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947777 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947832 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947886 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947941 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.947979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.947995 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.947973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948049 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.947979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948104 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.948082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948171 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.948148 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948088 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.948183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.948210 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948131 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.948197 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.948248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948264 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948243 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948319 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948297 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948373 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948428 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948482 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948536 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948591 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948645 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948700 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948754 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948809 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948863 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948841 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948917 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948895 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.948956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.948972 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948902 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.948950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949027 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.948956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949081 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949144 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949113 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949119 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949308 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.949961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.949999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.949993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.949999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950299 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950789 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.950952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.950991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.950985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.950991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951397 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951506 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951560 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951669 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951778 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951887 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951942 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951871 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.951980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.951996 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.951974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952051 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.951980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952171 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952226 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952280 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952335 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952390 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952444 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952499 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952553 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952607 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952662 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952716 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952770 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952825 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952933 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.952971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.952987 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.952966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953032 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.952971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953086 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953204 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953259 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953313 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953367 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953421 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953530 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953584 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953639 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953693 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953747 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953802 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953856 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953910 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.953948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.953964 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954019 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.953948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.953997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954073 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954138 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954193 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954247 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954356 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954410 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954464 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954519 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.954952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.954991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.954985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.954991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955124 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955233 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955288 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955342 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955396 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955505 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955722 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955830 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955939 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.955977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.955993 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.955971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956047 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.955977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956102 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956166 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956184 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.956221 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956150 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.956209 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.956249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.956265 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956138 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.956253 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.956303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956319 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956298 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956374 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956352 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956428 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956482 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956537 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956591 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956645 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956699 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956754 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956808 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956862 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956916 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956895 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.956955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.956971 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.956949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957025 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.956955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957079 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957144 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957308 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957688 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957797 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957906 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.957960 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.957998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958014 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.957993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958069 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.957998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958133 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958053 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.958949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.958987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.958981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959057 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.958987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959112 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959175 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959230 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959159 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959285 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959339 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959393 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959447 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959502 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959556 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959611 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959665 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959719 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959773 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959828 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959882 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959936 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.959975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.959991 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.959969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960045 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.959975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960099 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960165 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960220 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960198 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960274 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960328 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960383 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960437 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960491 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960545 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960600 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960654 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960709 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960763 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960741 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960817 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960871 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960926 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.960964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.960980 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.960958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961035 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.960964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961089 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961143 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961199 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961253 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961308 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961362 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961417 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961471 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961525 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961580 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961634 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961689 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961743 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961798 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961852 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961907 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.961961 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961891 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.961999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962015 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.961994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.961999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962189 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962571 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962897 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.962952 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.962990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.962985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.962990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963170 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963224 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963279 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963333 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963388 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963932 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.963970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.963986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.963964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964041 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.963970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.964201 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964122 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.964188 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.964239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.964255 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964170 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.964234 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.964294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964310 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964364 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964294 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964419 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964473 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964527 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964457 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964582 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964636 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964690 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964620 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964744 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964799 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964783 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964907 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964837 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.964946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.964962 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964891 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965016 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.964946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.964994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965070 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965000 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965135 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965190 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965245 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965300 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965354 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965408 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965463 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965517 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965572 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965626 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965680 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.965953 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.965991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.965986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966062 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.965991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966126 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966182 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966236 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966291 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966345 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966399 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966432 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966508 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966562 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966671 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966780 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966943 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.966982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.966997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.966976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.966982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967106 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967173 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967228 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967282 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967336 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967391 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967445 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967500 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967554 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967608 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967663 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967717 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967771 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967826 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967880 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967934 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.967973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.967989 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.967967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968043 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.967973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968098 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968158 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968332 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968387 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968441 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968603 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968766 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968821 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968875 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968930 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968859 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.968968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.968984 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.968962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969038 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.968968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969093 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969137 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969205 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969259 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969314 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969368 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969423 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969477 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969532 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969586 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969641 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969695 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969749 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969804 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969858 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969912 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.969951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.969967 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.969945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970021 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.969951 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970000 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970076 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970114 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970140 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970060 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970195 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970114 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970250 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970304 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970359 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970413 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970523 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970631 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970686 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970740 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970849 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970904 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.970958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.970996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.970991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.970996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971569 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.971949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.971988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.971982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972058 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.971988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972112 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972177 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972232 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972340 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972395 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972449 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972558 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972612 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972721 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972939 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.972978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.972994 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.972972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973048 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.972978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973103 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.973081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973166 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973087 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.973159 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.973195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.973211 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973130 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.973199 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.973249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973265 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973320 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973298 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973374 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973429 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973483 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973538 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973592 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973647 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973701 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973756 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973810 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973789 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973865 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973843 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973919 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.973957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.973973 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.973952 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974028 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.973957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974006 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974082 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974061 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974145 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974115 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974184 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974200 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974255 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974184 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974309 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974363 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974418 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974347 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974472 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974527 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974581 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974635 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974690 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974744 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974799 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974853 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974783 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974837 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.974946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.974962 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975017 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.974946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.974995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975134 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975189 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975244 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975298 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975353 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975407 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975462 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975516 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975625 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975734 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975843 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975897 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.975951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.975990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976006 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.975984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.975990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976181 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976290 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976344 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976399 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976453 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976562 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976616 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976834 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976888 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976942 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.976981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.976997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.976975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977051 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.976981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.977084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977169 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977089 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.977162 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.977207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.977223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977132 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:14 2016.977202 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.977262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977332 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977387 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977441 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977550 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.977970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.977986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.977964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.977970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978148 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978140 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978204 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978258 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978313 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978368 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978422 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978531 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978586 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978640 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978695 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978749 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.978804 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978733 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.978792 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.978832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.978848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978728 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.978836 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.978887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.978957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.978996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.978990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.978996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979131 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979187 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979242 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979296 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979351 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979460 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979623 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979732 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979841 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979895 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.979950 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.979988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980004 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.979983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980059 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.979988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980113 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980178 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980232 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980286 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980341 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980396 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980450 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980504 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980559 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980613 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980667 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980722 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980776 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980831 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980885 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980940 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.980978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.980994 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.980973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981048 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.980978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981103 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:14 2016.981082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981166 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981087 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:14 2016.981160 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:14 2016.981185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981222 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:14 2016.981276 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981160 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:14 2016.981255 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:14 2016.981315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981331 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981385 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981440 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981494 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981549 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981604 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981658 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981712 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981767 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981876 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981930 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.981969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.981985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.981963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982039 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.981969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982094 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982204 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982259 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982313 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982368 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982422 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982531 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982585 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982639 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982694 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982748 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982793 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982847 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982901 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.982956 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.982994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983010 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.982989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983064 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.982994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983129 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983184 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983239 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983293 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983347 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983402 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983456 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983510 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983564 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983619 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983673 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983728 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983782 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983836 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983890 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983945 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.983983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.983999 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.983978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984053 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.983983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984108 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984173 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984228 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984282 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984336 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984390 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984445 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984499 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984553 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984608 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984662 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984716 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984771 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984825 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984879 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984934 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.984972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.984988 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.984967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985042 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.984972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985096 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985151 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985206 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985261 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985240 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985316 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985245 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985370 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985424 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985479 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985534 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985588 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985643 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985697 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985751 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985806 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985860 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985915 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.985953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.985969 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.985948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986023 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.985953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986078 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986141 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986196 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986251 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986180 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986305 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986360 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986414 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986468 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986523 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986577 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986632 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986686 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986741 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986795 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986849 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986904 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.986958 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.986997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987013 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.986991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987067 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.986997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987132 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987188 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987243 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987297 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987352 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987406 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987461 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987515 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987570 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987624 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987679 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987733 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987788 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987842 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987896 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.987951 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.987989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988005 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.987984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988060 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.987989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988115 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988179 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988098 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988234 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988343 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988561 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988724 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988778 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988887 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988942 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988871 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.988980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.988996 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.988975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989050 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.988980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989168 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989223 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989332 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989386 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989441 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989495 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989550 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989604 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989713 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989697 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989876 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.989969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.989985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.989964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.989969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990094 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990148 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990203 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990257 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990312 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990366 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990420 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990475 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990529 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990583 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990637 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990691 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990746 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990800 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990854 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990908 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.990946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.990962 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991017 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.990946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.990995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991071 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991136 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991114 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991192 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991246 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991301 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991355 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991409 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991464 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991518 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991573 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991627 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991681 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991735 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991790 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991844 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991898 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.991953 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.991991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992007 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.991986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992061 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.991991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992125 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992180 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992235 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992164 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992289 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992344 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992398 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992452 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992507 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992561 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992615 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992670 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992725 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992779 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992833 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992888 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992942 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.992981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.992997 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.992976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993051 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.992981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993105 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993169 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993224 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993278 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993333 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993387 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993550 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993823 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.993970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.993986 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.993964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994040 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.993970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994095 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994148 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994140 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994203 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994258 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994312 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994367 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994421 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994476 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994530 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994584 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994639 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994693 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994747 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994802 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994856 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994911 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.994949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.994965 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995019 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.994949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.994998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995073 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995139 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995194 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995248 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995303 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995357 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995411 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995465 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995520 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995574 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995629 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995683 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995737 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995792 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995846 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995900 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.995955 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.995993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996009 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.995988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996063 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.995993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996127 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996183 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996237 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996291 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996346 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996400 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996454 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996509 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996563 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996617 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996672 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996726 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996781 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996835 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996889 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996944 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.996982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.996998 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.996977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997052 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.996982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997107 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997170 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997224 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997279 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997333 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997388 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997442 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997496 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997551 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997605 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997659 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997714 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997768 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997822 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997877 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997931 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.997969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.997985 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.997964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998039 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.997969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998094 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998149 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998205 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998259 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998314 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998368 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998423 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998477 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998532 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998586 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998641 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998695 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998749 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998804 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998848 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998903 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.998957 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.998996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999012 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.998991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999066 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.998996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999130 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999186 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999241 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999295 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999350 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999405 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999459 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999514 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999568 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999622 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999677 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999731 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999786 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999840 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999894 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.999949 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:14 2016.999987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000003 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:14 2016.999982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000058 stapio[10948] write(1, "Tue Aug 16 20:14:14 2016.999987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.000978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.000994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.000973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.000978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.001170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001088 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.001157 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.001189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001083 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.001214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.001280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001157 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.001259 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.001318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.001972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.001988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.001967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.001972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.002204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.002191 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.002243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.002259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002173 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.002238 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.002297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.002950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.002966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.002950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.002999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.003955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.003994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.003989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.003994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004129 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.004977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.004992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.004971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.004977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005859 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.005968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.005984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.005963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.005968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006137 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.006949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.006965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.006949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.006999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.007955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.007994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.007989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.007994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.008291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008220 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.008280 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.008329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.008345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008215 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.008324 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.008384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.008982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.008998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.008977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.008982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.009085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009090 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.009164 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.009209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.009225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009133 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.009204 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.009263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.009969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.009985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.009964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.009969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.010950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.010966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.010945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011021 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.010950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011000 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.011955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.011994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.011989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.011994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.012945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.012984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.012979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.012984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.013974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.013990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.013969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.013974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.014946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.014984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.014979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.014984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.015972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.015988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.015967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.015972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016261 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016245 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.016953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.016969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.016949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.016953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017198 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017633 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.017949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.017987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.017982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.017987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.018976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.018992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.018972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.018976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019206 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019240 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019729 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019804 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019913 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019892 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.019952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.019968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019897 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.019947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.019952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020076 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020055 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020060 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020633 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.020959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.020997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.020993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.020997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021132 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021406 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021460 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.021950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.021988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.021983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.021988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.022979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.022995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.022974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.022979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.023083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023087 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.023170 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.023173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023197 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.023265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023170 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.023244 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.023303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023428 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023521 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023646 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023630 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023809 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023788 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023863 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023843 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023918 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.023956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.023972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023902 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.023951 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.023956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024006 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024081 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024060 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024115 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024201 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024256 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024185 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024235 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024310 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024240 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024294 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024419 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024473 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024457 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.024948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.024964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.024948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.024997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.025954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.025992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.025988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.025992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.026983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.026999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.026978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.026983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.027971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.027987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.027967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.027971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.028949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.028964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.028949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.028998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.029955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.029993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.029989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.029993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.030982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.030998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.030978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.030982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.031972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.031988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.031967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.031972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.032956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.032995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.032990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.032995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033130 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.033946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.033984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.033980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.033984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.034088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034093 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.034166 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.034201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.034217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034136 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.034206 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.034255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.034961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.034977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.034956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.034961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035749 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035858 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.035950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.035966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.035946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.035950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036000 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.036954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.036993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.036988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.036993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.037982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.037998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.037978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.037982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038697 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.038969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.038985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.038964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.038969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.039948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.039964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.039948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.039998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.040956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.040994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.040990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.040994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.041945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.041984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.041979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.041984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.042975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.042991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.042970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.042975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.043175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043127 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.043213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043236 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.043260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043159 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.043317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043213 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.043299 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.043356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043352 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.043953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.043969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.043948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.043953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044795 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.044957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.044996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045012 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.044992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.044996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045130 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.045945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.045984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.045979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.045984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.046971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.046987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.046967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.046971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047143 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.047949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.047965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.047949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.047999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.048955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.048993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.048989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.048993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.049983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.049999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.049979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.049983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.050088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050092 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.050166 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.050210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.050226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050135 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.050206 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.050265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.050972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.050988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.050968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.050972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051242 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051296 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051405 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051642 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.051952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.051968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.051948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.051952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052304 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052358 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.052956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.052994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.052990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.052994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.053983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.053999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.053979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.053983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.054087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054092 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.054165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.054200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.054216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054134 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.054205 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.054254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.054960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.054976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.054956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.054960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055358 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.055956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.055994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.055990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.055994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.056983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.056999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.056979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.056983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.057087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057092 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.057165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.057199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.057215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057134 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.057205 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.057254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.057960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.057976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.057956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.057960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.058948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.058964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.058948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.058998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.059953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.059991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.059987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.059991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060871 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.060980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.060996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.060976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.060980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.061085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061089 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.061166 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.061175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.061269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061166 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.061251 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.061308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.061959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.061975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.061955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.061959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062118 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.062948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.062964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.062948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.062999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063054 expect[5407] brk(0x0) = 27590656 Tue Aug 16 20:14:15 2016.063058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 343 Tue Aug 16 20:14:15 2016.063074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063003 stapio[10948]"..., 343) = 343 Tue Aug 16 20:14:15 2016.063087 expect[5407] brk(0x1c70000) = 29818880 Tue Aug 16 20:14:15 2016.063099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 272 Tue Aug 16 20:14:15 2016.063116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063058 stapio[10948]"..., 272) = 272 Tue Aug 16 20:14:15 2016.063136 expect[5407] read(36, 0x10b6d88, 4096) = 615 Tue Aug 16 20:14:15 2016.063141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.063178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063099 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.063165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.063216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.063232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063136 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.063212 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.063271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.063977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.063993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.063973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.063977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064143 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064246 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064464 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064627 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.064958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.064974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.064954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.064958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.065948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.065964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.065948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.065999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.066983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.066999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.066979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.066983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.067152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067091 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.067087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067185 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.067198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.067214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067135 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.067201 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.067252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.067958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.067974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.067954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.067958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.068953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.068992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.068988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.068992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.069983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.069999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.069979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.069983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.070152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070091 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.070087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070185 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.070188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.070214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070135 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.070211 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.070253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.070961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.070977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.070957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.070961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071240 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.071952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.071968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.071948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.071952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072633 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.072960 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.072998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.072994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073069 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.072998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073053 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073625 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073734 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.073951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.073990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.073986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.073990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.074979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.074995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.074975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.074979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.075084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075088 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.075172 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.075175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075201 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075198 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.075256 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075172 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.075237 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.075294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075310 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075240 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075294 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075419 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075473 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.075946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.075963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.075946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.075997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.076954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.076992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.076989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.076992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.077983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.077999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.077980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.077983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.078088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078176 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.078151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078092 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.078187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.078214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078135 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.078203 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.078253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.078961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.078977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.078957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.078961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079206 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079695 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079804 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079913 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.079952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.079968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079897 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.079948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.079952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080076 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080060 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:14 2016.579655 stapio[10944] pselect6(5, 0x3ffeda0f7f0, 0x0, 0x0, [0.500000000], 0x3ffeda0f710) = 0 Tue Aug 16 20:14:15 2016.080178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080196 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 395 Tue Aug 16 20:14:15 2016.080251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080180 stapio[10948]"..., 395) = 395 Tue Aug 16 20:14:15 2016.080267 stapio[10944] fcntl(4, F_SETFL, 0x20802) = 0 Tue Aug 16 20:14:15 2016.080271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.080293 stapio[10944] read(4, 0x3ffeda0f970, 8196) = -11 (EAGAIN) Tue Aug 16 20:14:15 2016.080298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080235 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.080325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 368 Tue Aug 16 20:14:15 2016.080232 expect[5407] read(36, 0x10b6d88, 4096) = 395 Tue Aug 16 20:14:15 2016.080358 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.080322 stapio[10944] fcntl(4, F_SETFL, 0x20002) = 0 Tue Aug 16 20:14:15 2016.080393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080267 stapio[10944]"..., 368) = 368 Tue Aug 16 20:14:15 2016.080374 expect[5407] read(36, 0x10b6d88, 4096) = 368 Tue Aug 16 20:14:15 2016.080432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 509 Tue Aug 16 20:14:15 2016.080448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080325 stapio[10948]"..., 509) = 509 Tue Aug 16 20:14:15 2016.080428 expect[5407] read(36, 0x10b6d88, 4096) = 509 Tue Aug 16 20:14:15 2016.080487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.080977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.080993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.080973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.080977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081247 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.081958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.081974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.081955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.081958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082118 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.082948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.082964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.082948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.082998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.083953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.083991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.083988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.083991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.084981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.084996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.084977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.084981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.085086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085089 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.085164 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.085187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.085279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085164 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.085259 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.085317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085697 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.085969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.085985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.085965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.085969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086159 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.086960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.086976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.086956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.086960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.087949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.087965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.087945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.087949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088000 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088055 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088109 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.088956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.088994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.088991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.088994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.089946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.089984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.089980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.089984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.090977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.090993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.090973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.090977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.091209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.091197 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.091247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.091263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091179 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.091243 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.091302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091298 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091352 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091570 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091841 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091895 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.091953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.091969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.091949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.091953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.092959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.092998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.092994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.092998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093132 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093406 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093460 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.093949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.093988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.093984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.093988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.094092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094096 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.094171 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.094214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.094230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094139 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.094210 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.094269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094313 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.094977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.094993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.094973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.094977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095408 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095517 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095645 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095788 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.095954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.095970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.095951 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.095954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096060 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096114 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096904 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.096958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.096996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097012 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.096993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.096996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097121 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097295 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097458 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.097946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.097984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.097981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.097984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098158 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.098974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.098990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.098970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.098974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099261 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099242 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099245 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099296 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099370 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099405 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099642 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.099952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.099968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.099949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.099952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100904 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.100958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.100997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.100993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101067 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.100997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101131 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101295 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101458 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101621 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.101947 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.101985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.101982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.101985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.102090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102094 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.102168 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.102192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.102282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102168 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.102263 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.102321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.102973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.102989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.102969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.102973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103143 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103189 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103243 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103297 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103642 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103913 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.103952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.103968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103897 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.103948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.103952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104076 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104060 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104196 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104180 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.104957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.104995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.104992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.104995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.105945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.105984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.105980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.105984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.106972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.106989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.106969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.106972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107206 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107695 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107749 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107804 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107858 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.107950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.107966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.107947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108021 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.107950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108304 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108358 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.108956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.108994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.108991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.108994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.109983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.109999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.109979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.109983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110189 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110243 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110297 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110841 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.110953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.110969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.110950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111024 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.110953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111113 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111198 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111253 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111182 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111307 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111291 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111400 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111470 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111400 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111579 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111617 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111633 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111563 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111688 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111617 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111742 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111726 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111780 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.111959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.111998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.111994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.111998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.112093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112097 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.112171 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.112215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.112231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112139 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.112211 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.112269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.112976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.112991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.112972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113046 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.112976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113191 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113193 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113788 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.113954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.113970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.113951 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.113954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114060 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114114 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114199 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114238 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114254 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114234 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114308 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114238 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114362 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114417 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114471 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114452 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114525 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114563 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114579 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114634 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114563 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114688 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114742 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114797 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114726 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.114959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.114998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.114995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.114998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115132 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.115948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.115987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.115983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.115987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116159 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.116974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.116990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.116970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.116974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.117958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.117974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.117955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.117958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118200 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118255 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118185 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118473 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118527 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118457 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118581 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118636 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118690 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118620 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118799 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118783 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.118947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.118963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.118947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.118998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.119952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.119991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.119987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.119991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120432 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.120978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.120994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.120974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.120978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121158 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.121958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.121974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.121955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.121958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122185 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122201 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122256 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122185 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122310 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122240 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122294 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122419 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.122946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.122962 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.122946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.122998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123071 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123135 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123245 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123408 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.123953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.123991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.123988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.123991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.124981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.124997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.124978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.124981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.125948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.125964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.125948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.125999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.126953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.126992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.126988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.126992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.127981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.127997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.127978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.127981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128197 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.128960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.128976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.128957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.128960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.129947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.129963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.129947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.129998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130071 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.130952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.130991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.130988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.130991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131164 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.131980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.131996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.131977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.131980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.132211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132132 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.132200 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.132250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.132266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132182 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.132247 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.132304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132848 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.132957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.132973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.132954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.132957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.133947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.133963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.133947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.133999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134408 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134734 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.134951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.134990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.134987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.134990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135114 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135098 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.135977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.135993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.135974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.135977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136246 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136848 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.136957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.136973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.136954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.136957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137118 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137729 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.137950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.137966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.137947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.137950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.138955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.138993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.138990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.138993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.139983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.139999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.139980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.139983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.140089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140176 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.140150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140092 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.140186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.140213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140134 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.140203 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.140252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.140959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.140975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.140956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.140959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.141948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.141964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.141948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.141999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.142954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.142993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.142990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.142993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.143982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.143998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.143980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.143982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.144976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.144992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.144973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145046 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.144976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145194 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145247 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.145949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.145975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.145964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.145949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.146950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.146966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.146947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147021 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.146950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147913 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147895 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.147952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.147968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147897 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.147949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.147952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148795 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148834 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148850 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148904 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148834 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.148958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.148997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.148994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149067 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.148997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149121 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149295 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149350 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.149948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.149987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.149984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.149987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.150093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150095 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.150181 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.150182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.150273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150181 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.150255 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.150312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150328 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150530 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.150965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.150981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.150962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.150965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151125 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151298 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151570 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151733 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.151953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.151969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.151950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152024 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.151953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152114 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152199 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152238 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152254 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152235 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152238 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152363 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152347 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152472 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152526 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152581 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152635 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152689 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152744 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152798 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152853 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152907 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152837 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.152961 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152891 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.152999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153015 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152945 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.152997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153054 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153070 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.152999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153124 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153054 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.153949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.153987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.153985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.153987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154160 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154160 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154432 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.154978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.154994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.154976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.154978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155792 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155918 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155848 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.155957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.155973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.155954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.155957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156081 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156184 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156200 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156255 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156184 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156472 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156526 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156580 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156635 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156689 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156743 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156797 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156906 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.156960 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.156998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.156995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.156998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157123 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157350 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157621 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.157947 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.157986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.157983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.157986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.158092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158094 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.158181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158247 expect[5407] read(36, 0x10b6d88, 4096) = 479 Tue Aug 16 20:14:15 2016.158223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.158251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158181 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.158310 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.158298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.158315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158247 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.158330 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.158355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158570 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158733 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158906 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.158953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.158969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.158951 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.158953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159113 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.159957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.159996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160012 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.159993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.159996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.160983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.160999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.160981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.160983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.161214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161135 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.161203 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.161253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.161269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161185 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.161250 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.161307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.161959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.161975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.161957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.161959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162419 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162512 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162512 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.162947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.162963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.162947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.162998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163071 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.163952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.163991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.163988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.163991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.164097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164099 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.164175 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.164208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.164224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164142 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.164215 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.164262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164332 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164441 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164604 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164859 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.164967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.164983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.164965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.164967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165022 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165246 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165409 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165463 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165518 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165572 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165626 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165789 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165843 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.165954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.165970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.165952 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.165954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166006 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166060 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166115 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166183 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166199 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166238 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166254 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166183 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166235 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166308 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166238 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166362 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166417 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166471 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166452 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166525 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166580 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166634 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166689 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166743 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166797 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166906 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.166960 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.166998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.166996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167069 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.166998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167107 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167123 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167053 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167107 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167406 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167460 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.167948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.167986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.167984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.167986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.168092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168095 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.168180 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.168181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.168262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168180 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.168244 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.168301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168352 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168516 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168570 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168733 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168841 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.168952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.168968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.168950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.168952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169196 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169180 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.169956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.169938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.169974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.170011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169940 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.170002 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.170049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.170065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.169938 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.170046 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.170103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.170984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.170999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.170981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.170984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.171215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171136 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.171204 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.171253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.171269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171186 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.171251 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.171308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.171958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.171974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.171956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.171958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172119 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172456 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172619 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.172953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.172991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.172989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.172991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173163 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.173977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.173993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.173975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.173977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174246 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174408 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174463 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174517 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174680 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174788 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.174952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.174968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.174950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.174952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175060 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175060 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175197 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.175956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.175994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.175992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.175994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.176970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.176986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.176968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.176970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177130 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177195 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177646 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177630 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177809 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177863 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177917 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.177955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.177971 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.177953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178026 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.177955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178064 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178080 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178064 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178116 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178184 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178200 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178255 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178184 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178363 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178417 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178347 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178471 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178401 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178526 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178580 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178510 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178634 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178688 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178727 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178743 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178797 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178727 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.178959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.178997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.178995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179067 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.178997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179122 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179295 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179458 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179621 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.179946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.179984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.179982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.179984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.180215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180137 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.180205 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.180254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.180270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180187 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.180251 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.180308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.180960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.180976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.180958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.180960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.181950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.181966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.181948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182021 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.181950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182304 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.182957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.182996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183012 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.182993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.182996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.183983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.183999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.183981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.183983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.184214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184135 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.184204 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.184252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.184268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184186 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.184250 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.184307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.184958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.184974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.184956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.184958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185729 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185892 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.185948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.185965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.185946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.185948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186055 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.186953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.186992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.186990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.186992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.187098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187100 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.187176 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.187208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.187224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187142 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.187215 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.187262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187441 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187604 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187697 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.187969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.187985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.187966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.187969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188158 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188129 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188901 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.188957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.188973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.188955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.188957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189118 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189186 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189201 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189240 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189256 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189186 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189238 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189294 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189310 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189240 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189294 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189403 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189419 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189457 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189473 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189403 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189527 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189457 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189636 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189690 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189620 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189745 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189674 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189783 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189799 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189729 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189853 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189783 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189907 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189837 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.189946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.189962 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190016 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.189946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.189998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190070 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190000 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190125 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.190949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.190988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.190986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.190988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.191094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191096 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.191182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191208 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.191230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.191286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191182 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.191270 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.191324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.191975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.191991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.191973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.191975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192164 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192136 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192580 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192743 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192797 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.192961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.192977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.192959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.192961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193122 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193892 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193908 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.193946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.193962 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193892 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194016 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.193946 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.193998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194070 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194125 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.194948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.194986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.194984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.194986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.195093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195095 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.195170 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.195192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.195283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195170 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.195265 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.195321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.195971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.195987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.195969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.195971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196741 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.196960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.196976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.196958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.196960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197120 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197240 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197621 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197621 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.197947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.197963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.197947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.197999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198071 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198245 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198299 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198462 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.198949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.198987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.198985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.198987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199160 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199160 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.199974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.199990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.199972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.199974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200134 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200580 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.200960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.200976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.200958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.200960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201729 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201854 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201838 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.201947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.201963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.201947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.201999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202071 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202001 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202109 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202125 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202055 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202109 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202299 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.202948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.202987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.202985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.202987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.203093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203095 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.203180 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.203181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.203262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203180 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.203245 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.203300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203355 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203370 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203355 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203695 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203804 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203858 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.203950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.203966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.203949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.203950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204734 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.204950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.204988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.204986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.204988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.205975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.205991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.205973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.205975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206136 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.206960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.206976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.206958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.206960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207241 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207350 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207729 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207783 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207892 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.207947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.207963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.207946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208017 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.207947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208000 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208245 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208175 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208229 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208408 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208462 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208625 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.208950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.208988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.208987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.208988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.209975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.209991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.209974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.209975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210164 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210136 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.210964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.210980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.210962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.210964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211125 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211408 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211462 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211534 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211517 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211518 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211571 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211625 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211679 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211734 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211788 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.211953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.211968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.211951 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.211953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212005 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212114 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212196 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212235 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212180 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212235 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212795 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212888 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212904 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.212958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212888 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.212996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213012 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.212994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.212996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.213983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.213999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.213981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.213983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.214960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.214977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.214959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.214960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215121 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215189 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215242 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215296 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215405 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215459 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215513 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215676 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.215949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.215965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.215947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.215949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.216951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.216990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.216988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.216990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217114 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.217096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217184 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.217156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217098 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.217193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.217219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217140 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.217210 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.217257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217193 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217906 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.217962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.217978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.217960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.217962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218123 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218206 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218243 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218297 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218406 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218695 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218749 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218858 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.218950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.218966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.218949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219021 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.218950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219005 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219112 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.219954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.219992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.219991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.219992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220164 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220219 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.220978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.220994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.220976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.220978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221165 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221313 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221746 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.221963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.221979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.221961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.221963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222070 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222124 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222191 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222370 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222353 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222463 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222679 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222695 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222749 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222679 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222842 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222858 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222842 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.222950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.222966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.222948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.222950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223003 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223057 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223404 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.223955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.223993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.223992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.223993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.224101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224102 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.224179 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.224210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.224226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224145 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.224219 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.224265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.224971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.224987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.224969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.224971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.225309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225228 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.225256 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.225349 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.225366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225239 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.225306 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.225405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225349 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225809 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.225958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.225974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.225958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.225969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226313 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.226975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.226991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.226975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.226987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.227979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.227995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.227979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.227991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.228978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.228995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.228978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.228990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.229946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.229985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.229985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.229996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.230948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.230986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.230986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.230998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231328 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.231948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.231986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.231986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.231998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.232946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.232985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.232985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.232996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233094 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.233946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.233984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.233984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.233995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234094 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.234983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.234999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.234983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.234994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235462 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235567 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235622 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235842 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.235958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235897 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.235996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.235952 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.235996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236123 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236125 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.236608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236540 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.236565 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.236647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.236664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236548 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.236603 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.236702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.236978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.236995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.236978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.236990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.237978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.237995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.237978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.237989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.238978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.238994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.238978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.238988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.239976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.239992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.239976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.239987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.240976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.240993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.240976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.240987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.241977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.241993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.241977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.241988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.242976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.242993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.242976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.242987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.243976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.243992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.243976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.243987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.244976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.244992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.244976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.244987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.245042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.245097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.245164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.245279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245207 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.245226 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.245297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245281 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245336 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245556 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245611 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245721 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.245957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.245994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245886 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.245996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245941 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.246050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.245996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.246105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.246224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246050 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.246164 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.246263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.246978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.246994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.246978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.246988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.247979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.247995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.247979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.247990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.248978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.248994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.248978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.248989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.249980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.249996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.249980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.249991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.250980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.250996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.250980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.250991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.251982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.251998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.251982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.251992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.252982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.252998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.252982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.252992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.253983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.253999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.253983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.253993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.254983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.254999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.254983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.254993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.255983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.255999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.255983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.255993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.256983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.256999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.256983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.256993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.257983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.257999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.257983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.257993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.258983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.258999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.258983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.258993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259871 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259871 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.259980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.259996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.259980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.259990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.260980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.260996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.260980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.260990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.261979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.261995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.261979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.261989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.262979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.262995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263034 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.262979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.262989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263034 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.263978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.263994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.263978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.263988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264813 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264813 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.264977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.264993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.264977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.264987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.265975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.265992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.265975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.265985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.266040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.266095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.266163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.266278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266206 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.266224 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.266296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266163 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266224 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266279 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266334 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266444 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266499 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266554 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266664 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266719 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266774 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.266956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.266993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266884 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.266994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266939 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.267049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.266994 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.267104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.267223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267049 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.267163 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.267261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.267974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.267991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268046 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.267974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.267984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268332 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.268974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.268990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.268974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.268984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269165 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269275 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269259 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269604 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.269972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.269988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.269972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.269982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270163 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270438 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270422 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270476 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270531 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.270969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.270986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.270969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.270979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271639 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.271968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.271984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.271968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.271977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272022 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.272964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.272981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.272964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.272974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.273963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.273980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274034 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.273963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.273973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274193 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.274962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.274978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.274962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.274972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275072 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.275962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.275978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.275962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.275971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276072 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.276961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.276978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.276961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.276971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277428 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.277961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.277977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.277961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.277970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278521 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.278960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.278977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.278960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.278970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279191 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279521 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.279960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.279976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.279960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.279969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280207 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280145 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280262 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280190 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280630 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.280960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.280976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.280960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.280969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281206 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281261 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281316 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281245 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281371 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281300 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281646 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281755 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281739 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.281959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.281975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.281959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.281968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282143 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282198 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282370 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282425 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282409 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282645 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282755 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282739 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282848 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.282958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.282974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.282958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.282967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283197 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283479 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283917 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.283956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.283972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.283956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.283965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284407 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284423 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284407 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284588 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284572 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284917 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.284955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.284972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.284955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.284965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285010 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.285074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285163 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.285180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285120 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.285216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.285243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285164 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.285190 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.285282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285408 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285785 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285839 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.285956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.285995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.285949 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.285995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286105 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286121 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286059 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286105 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286127 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.286983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.286999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.286983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.286992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.287047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.287102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.287231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287148 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.287178 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.287250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287102 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287178 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287231 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287287 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287342 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287397 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287451 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287506 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287561 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287616 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287671 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287726 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.287946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287891 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.287964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287836 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.287946 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287891 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.288001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.287946 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.288056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288001 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.288111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.288230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288056 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.288169 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.288269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.288983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.288999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.288983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.288992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.289983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.289999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.289983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.289992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.290983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.290999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.290983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.290991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.291982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.291998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.291982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.291991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.292982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.292998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.292982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.292990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.293980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.293996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.293980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.293989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294867 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294867 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.294977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.294993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.294977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.294985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.295975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.295991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296046 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.295975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.295984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296441 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.296973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.296989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.296973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.296981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297163 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297438 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297422 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297877 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.297971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.297987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.297971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.297979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298135 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298328 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298438 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298422 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298877 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.298970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.298987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.298970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.298979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299135 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299476 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299530 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299585 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.299969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.299985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.299969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.299978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300546 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300639 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300859 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.300968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.300984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.300968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.300977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301159 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301709 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.301968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.301984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.301968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.301977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302159 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.302968 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.302984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.302968 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.302976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303159 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303709 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.303967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.303983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.303967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.303975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304022 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304746 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.304966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.304982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.304966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.304974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.305965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.305982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.305965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.305973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.306965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.306981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.306965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.306973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.307965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.307981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.307965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.307973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.308028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.308083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.308149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.308267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308195 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.308211 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.308285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308149 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308211 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308266 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308321 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308376 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308486 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308431 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308486 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308541 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308596 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308780 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308651 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308706 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.308945 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.308981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308816 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309000 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308871 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.308981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309055 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308926 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.308981 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309036 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309091 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309157 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309212 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309268 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309323 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309378 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309433 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309488 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309543 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309598 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309873 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309891 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309762 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.309946 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.309983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309817 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310001 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309872 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.309982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309927 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.310037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.309982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.310092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.310214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310037 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.310151 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.310253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310709 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310873 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310802 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.310966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.310983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.310966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.310974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311746 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311873 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.311966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.311982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.311966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.311974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312197 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312746 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.312966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.312982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.312966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.312974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.313964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.313981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.313964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.313972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.314963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.314979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.314963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.314980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.315964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.315980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.315964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.315972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316193 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.316963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.316979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317034 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.316963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.316971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.317963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.317980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.317963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.317971 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.318964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.318980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.318964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.318972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.319964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.319981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.319964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.319972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.320965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.320981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.320965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.320972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.321928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.321807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.321949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.321986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321909 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.321931 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.322026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.322042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.321807 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.321978 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.322081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322164 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322259 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.322969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.322985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.322969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.322976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323158 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.323961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.323977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.323961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.323968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324197 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324353 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324369 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324353 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324642 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324805 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.324952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.324968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.324952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.324959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325132 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325160 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.325068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325116 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.325157 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.325203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325160 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.325294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325157 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.325232 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.325333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325458 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325605 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325605 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.325948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.325987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.325987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.325994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.326978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.326994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.326978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.326985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.327967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.327983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.327967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.327974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.328959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.328975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.328959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.328966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.329075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329202 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329123 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.329153 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.329241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.329257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329166 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.329193 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.329296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329312 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329459 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329459 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.329950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.329966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.329950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.329957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.330011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330129 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.330066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.330154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.330172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.330281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330210 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.330225 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.330299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330172 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330225 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330279 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330334 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330716 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330771 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.330954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.330990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330825 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330880 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.330988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330934 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331163 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.330988 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331182 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331328 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331218 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331272 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331327 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331510 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331381 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331436 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331491 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331546 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331729 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331600 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331655 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331838 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331709 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331764 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.331947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.331984 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331819 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331873 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.331982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331928 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.332037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.331982 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.332091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.332213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332037 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.332150 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.332251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.332960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.332976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.332960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.332967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333189 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333205 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333142 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333244 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333260 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333189 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333299 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333315 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333244 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333370 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333299 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333408 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333424 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333354 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333462 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333478 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333408 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333517 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333533 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333462 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333517 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333626 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333642 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333626 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333789 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333789 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.333953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.333969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333906 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334024 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.333953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.333960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334198 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334253 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334292 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334308 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334363 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334292 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334299 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334347 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334472 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334409 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334527 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334463 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334566 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334582 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334518 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334620 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334566 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334675 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334691 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334620 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334675 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.334948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.334964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.334948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.334955 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335126 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.335948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.335986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.335986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.335993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336817 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336817 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.336981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.336997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.336981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.336988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337883 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.337976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.337992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338030 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338046 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.337976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.337983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338030 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338164 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338275 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338259 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338821 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.338969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.338985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.338969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.338976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.339963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.339979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.339963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.339970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340072 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340246 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340301 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340317 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340246 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340301 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340645 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340863 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340918 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.340956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.340972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.340956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.340963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341081 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.341187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341110 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.341137 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.341227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.341243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341105 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.341179 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.341281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341234 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341462 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.341953 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.341992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.341992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.341998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342107 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.342946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.342985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.342985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.342991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343921 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343937 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.343975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.343991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343921 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.343975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.343981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344084 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344100 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344164 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344084 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344275 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344259 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344384 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344313 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344438 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344422 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344531 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.344967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.344983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.344967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.344973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.345958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.345974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.345958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.345965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.346073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346121 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.346214 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.346208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346256 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.346313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346214 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.346251 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.346352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346516 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346532 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346571 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346587 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346516 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346625 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346641 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346571 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346680 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346696 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346625 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346734 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346750 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346680 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346788 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346804 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346734 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346859 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346788 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346897 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346913 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346843 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.346952 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.346968 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346897 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347006 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.346952 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.346958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347076 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347006 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347131 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347191 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.347238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347159 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.347181 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.347276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.347293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347163 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.347228 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.347331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.347946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.347984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.347984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.347991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348664 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348827 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.348974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.348990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.348974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.348980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.349960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.349976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.349960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.349966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.350075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350123 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.350154 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.350242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.350258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350167 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.350194 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.350297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.350948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.350963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.350948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.350954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.351008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.351062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.351128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.351235 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351154 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.351179 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.351253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351128 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351179 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351232 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351287 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351395 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351504 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351559 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351613 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351833 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351887 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.351959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.351996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351830 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351884 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.351993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351939 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.351993 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352047 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352102 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352169 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352222 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352277 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352331 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352385 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352440 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352494 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352548 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352603 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352658 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352712 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352767 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.352950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.352987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352821 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353005 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352876 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.352984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352930 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.353039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353168 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.352984 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.353093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.353225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353039 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.353161 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.353264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.353972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.353988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.353972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.353978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.354964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.354980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.354964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.354970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.355465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.355425 expect[5407] mmap2(0x0, 5963776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3ff76e80000 Tue Aug 16 20:14:15 2016.355492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.355508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 338 Tue Aug 16 20:14:15 2016.355525 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355465 stapio[10948]"..., 338) = 338 Tue Aug 16 20:14:15 2016.355542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355508 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355542 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355574 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355607 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355674 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355690 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355640 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355674 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355706 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355739 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355774 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355843 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355810 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355843 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355877 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355961 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355911 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.355976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.355993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355944 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.355976 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356010 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356045 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356131 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356078 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356113 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356147 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356201 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356234 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356266 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356328 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356344 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356297 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356328 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356359 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356390 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356420 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356451 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356482 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356513 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356544 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356575 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356606 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356637 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356670 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.356787 expect[5407] read(36, 0x10b6d88, 4096) = 4096 Tue Aug 16 20:14:15 2016.356759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356701 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.356786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 279 Tue Aug 16 20:14:15 2016.356803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356732 stapio[10948]"..., 279) = 279 Tue Aug 16 20:14:15 2016.356860 expect[5407] read(36, 0x10b6d88, 4096) = 4096 Tue Aug 16 20:14:15 2016.356839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 279 Tue Aug 16 20:14:15 2016.356904 expect[5407] read(36, 0x10b6d88, 4096) = 419 Tue Aug 16 20:14:15 2016.356856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356786 stapio[10948]"..., 279) = 279 Tue Aug 16 20:14:15 2016.356903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.356919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.356923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.356951 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.356978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.356930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.356951 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.356969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357072 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357195 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.357957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.357973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.357957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.357963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.358072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358201 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358120 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.358152 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.358241 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.358257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358164 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.358192 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.358295 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358241 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358247 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358350 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358366 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358295 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358404 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358350 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358355 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358458 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358404 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358513 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358529 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358458 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358464 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358567 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358513 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358567 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358676 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358627 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358730 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358676 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358784 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358730 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358839 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358784 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358893 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358839 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.358947 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.358963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358893 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.358947 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.358953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359056 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359056 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359110 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359127 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359662 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.359982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.359998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.359982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.359988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.360971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.360987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.360971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.360977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.361962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.361978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.361962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.361968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.362076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.362154 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.362243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.362259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362168 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.362194 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.362297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362249 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362570 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362570 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362733 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362749 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362733 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362738 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362896 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362912 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.362950 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.362966 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362896 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.362950 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.362956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363059 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363075 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363113 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363129 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363059 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363064 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363113 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363131 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363445 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.363983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.363998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.363983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.363988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.364971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.364987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.364971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.364977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.365961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.365977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.365961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.365967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.366075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366203 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366124 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.366153 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.366242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.366258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366167 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.366193 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.366297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366242 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366367 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366405 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366421 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366351 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366475 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366405 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366530 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366584 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366514 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366622 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366638 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366568 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366622 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366801 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366731 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366785 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.366948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.366964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.366948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.366953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367128 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.367981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.367997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.367981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.367986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.368971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.368986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.368971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.368976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.369958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.369974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.369958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.369963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.370072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370121 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.370160 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.370207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370164 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370186 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.370298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370160 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.370234 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.370336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.370951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.370989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371005 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.370989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.370994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371666 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371829 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.371976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.371992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.371976 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.371982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.372967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.372983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.372967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.372972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.373026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.373080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373211 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.373146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373229 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.373265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373195 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.373208 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.373283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373146 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373208 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373262 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373317 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373371 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373426 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373480 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373535 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373755 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373589 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373643 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373698 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373752 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.373973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373807 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.373991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374027 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373861 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.373970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373916 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.374024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.373970 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.374079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.374191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374024 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.374160 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.374227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374174 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.374950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.374988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.374988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.374993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.375977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.375993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.375977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.375982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376873 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.376965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.376981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.376965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.376970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377193 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377193 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377198 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377415 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377736 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377751 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377736 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377914 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.377953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.377969 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377898 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378023 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.377953 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.377958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378061 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378077 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378007 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378115 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378131 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378061 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378159 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378115 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378159 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378175 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.378984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.378999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.378984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.378988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.379971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.379987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.379971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.379976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380134 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.380958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.380973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.380958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.380962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.381180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381120 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.381071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381167 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.381226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.381242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381164 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.381183 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.381281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.381947 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.381985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.381985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.381990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.382973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.382989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.382973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.382978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.383961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.383977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.383961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.383966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.384074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384124 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.384179 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.384210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384258 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.384314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384179 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.384251 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.384352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384303 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384357 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384747 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384677 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384856 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384910 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384840 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.384948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.384964 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384894 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385002 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.384948 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.384953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385073 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385002 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385127 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385057 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385061 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385111 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385126 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.385980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.385996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.385980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.385985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386877 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386811 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.386969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.386985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.386969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.386974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387755 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387809 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387739 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387864 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387918 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387848 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.387956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.387972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387902 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388011 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388026 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.387956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.387961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388081 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388011 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388135 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388119 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388195 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.388241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388163 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.388184 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.388280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.388296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388166 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.388230 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.388334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388350 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388621 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.388947 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.388986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.388986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.388990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389094 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389322 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389338 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389322 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389485 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389501 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389485 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.389973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.389989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.389973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.389977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.390960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.390976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.390960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.390965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.391073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391123 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.391160 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.391209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.391300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391160 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.391235 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.391338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391718 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391734 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391718 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.391951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.391990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392005 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.391990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.391994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392114 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392098 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392805 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392805 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.392959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.392985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.392959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.392974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393429 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393413 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393538 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393592 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393522 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393576 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393701 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393755 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393685 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393689 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393809 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393739 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393863 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393793 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393918 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.393956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.393972 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393902 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393906 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394026 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.393956 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.393960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394081 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394010 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.394014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394135 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394065 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.394069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394163 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394119 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.394207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.394189 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394163 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.394230 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.394265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.394244 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394230 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394297 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394244 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394352 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394297 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394407 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394352 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394461 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394407 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394515 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394461 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394569 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394515 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394624 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394569 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394678 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394624 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394732 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394678 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394787 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394732 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394841 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.394954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394787 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394896 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.394972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394841 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.394950 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394896 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395004 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.394950 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395058 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395004 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395113 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395058 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395113 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395179 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395233 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395287 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395341 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395396 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395450 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395504 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395559 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395613 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395667 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395722 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395776 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.395962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.395999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395831 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395885 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.395995 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395940 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.396049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.395995 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.396104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.396228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396049 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.396163 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.396266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.396973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.396989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.396973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.396977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.397961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.397977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.397961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.397965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398188 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398137 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398188 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398787 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398803 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398787 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.398949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.398965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399004 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399020 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.398949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.398954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399004 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399124 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399174 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399227 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399281 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399336 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399390 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399499 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399553 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.399983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.399999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.399983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.399987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400162 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400270 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400758 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.400972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.400988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.400972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.400976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401135 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401325 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.401960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.401976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.401960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.401964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402193 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402313 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402247 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402297 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402301 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402476 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402410 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402460 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402464 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402585 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402639 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402573 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402693 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402623 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402627 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402736 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.402949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.402965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402899 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.402949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.402953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403126 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.403981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.403997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.403981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.403985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404808 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.404966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.404982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.404966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.404970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.405078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405129 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.405157 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.405247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.405263 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405172 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.405197 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.405302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405410 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405426 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405464 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405480 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405410 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405464 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405573 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405589 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405643 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405573 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405697 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405627 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405752 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405681 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405806 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405735 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405860 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405790 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405844 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.405954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.405970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.405954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.405958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.406950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.406988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.406988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.406992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.407977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.407993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.407977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.407981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.408967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.408982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.408967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.408970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409428 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409521 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409645 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409863 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409917 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.409955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.409971 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410026 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.409955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.409959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410064 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410080 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410010 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410134 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410064 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410134 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410406 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410444 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410460 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410444 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410770 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410770 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.410949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.410987 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.410987 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.410991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411176 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411487 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411503 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411487 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411650 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411704 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411720 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411650 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411704 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.411975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.411991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.411975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.411978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412490 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412474 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.412962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.412978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.412962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.412965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.413074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.413161 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.413211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.413302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413161 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.413236 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.413340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.413954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.413992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414046 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414062 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.413992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.413996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414100 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414116 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414046 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414100 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.414981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.414997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.414981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.414984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.415039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415169 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.415093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.415158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415242 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.415279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415208 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.415220 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.415297 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415158 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415351 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415220 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415274 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415460 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415329 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415514 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415550 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415383 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415568 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415437 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415623 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415491 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415677 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415546 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415731 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415600 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415785 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415654 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415840 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415708 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415894 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415763 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.415948 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.415985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415817 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415871 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.415980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416057 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415926 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.416034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416111 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.415980 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.416088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416034 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.416156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.416269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416088 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.416203 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.416308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.416960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.416976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.416960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.416963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417342 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417358 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417342 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.417955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.417994 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.417994 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.417997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418444 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418716 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.418946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418879 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.418984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418933 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.418984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.418987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419042 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419096 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419213 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.419974 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.419990 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.419974 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.419977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.420963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.420979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.420963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.420966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421142 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.421075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421126 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.421179 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.421212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421198 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.421306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421179 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.421241 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.421345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421402 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421795 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421904 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421837 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.421942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.421958 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.421976 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.421992 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421942 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.422007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.422022 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421976 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.421891 expect[5407] read(36, 0x10b6d88, 4096) = 479 Tue Aug 16 20:14:15 2016.422037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.422064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422007 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.422079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.421891 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.422080 expect[5407] read(36, 0x10b6d88, 4096) = 680 Tue Aug 16 20:14:15 2016.422110 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.422166 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422079 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.422099 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.422206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.422222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422080 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.422157 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.422261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422859 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422859 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.422967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.422983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.422967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.422970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423022 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423025 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.423079 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.423157 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.423248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.423264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423173 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.423197 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.423303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423319 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423306 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423629 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423645 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423629 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423632 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423795 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.423955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.423971 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423904 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.423955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.423958 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424064 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424080 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424012 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424134 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424064 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.424950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.424989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425005 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.424989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.424992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.425979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.425995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.425979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.425982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426441 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426373 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426534 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426588 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426604 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426534 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426536 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426588 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426697 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426713 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426751 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426767 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426697 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426751 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426754 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.426969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.426985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.426969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.426972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427202 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427867 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.427959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.427975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428030 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.427959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.427962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.428071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428122 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.428159 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.428209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428245 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.428300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428159 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.428232 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.428338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.428952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.428991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.428991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.428993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429180 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.429981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.429997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.429981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.429983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.430970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.430986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.430970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.430973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431256 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431855 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.431960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.431976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.431960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.431963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.432072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432123 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.432159 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.432210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432185 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.432291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432159 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.432224 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.432329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.432981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.432997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.432981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.432983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.433971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.433986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.433971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.433973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434146 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.434958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.434974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.434958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.434961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435197 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.435243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435164 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.435183 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.435282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.435298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435165 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.435230 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.435336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435390 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435406 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435390 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435553 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435569 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435553 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435716 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435732 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435786 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435716 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435879 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435895 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435933 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.435949 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435879 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.435988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435933 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436042 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436058 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.435988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.435990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436096 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436042 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.436045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436150 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436096 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.436099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436150 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.436165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.436286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436216 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.436226 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.436304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436165 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436226 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436335 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436413 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436280 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436389 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436335 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436522 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436389 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436498 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436576 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436443 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436498 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436607 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436685 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436552 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436661 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436739 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436607 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436793 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436661 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436770 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436848 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436715 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436824 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436902 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436770 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436878 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.436956 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.436993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436824 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437010 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436878 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.436987 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437065 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436932 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.437041 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437119 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.436987 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.437095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.437220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437041 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.437154 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.437258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437313 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437313 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437422 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437438 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437422 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437546 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437476 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437530 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437709 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437639 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437802 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.437964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.437980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.437964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.437967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438208 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438247 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438247 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438861 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.438954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.438970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.438954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.438956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439127 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439227 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439243 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439281 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439227 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439335 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439281 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439335 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439608 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439771 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439825 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.439948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.439986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.439986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.439988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440094 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.440975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.440991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.440975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.440977 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.441962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.441978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.441962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.441965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.442073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.442217 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.442211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.442306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442217 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.442240 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.442344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442293 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442347 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442835 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.442957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.442995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.442995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.442998 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443052 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443106 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443158 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443173 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443226 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.443983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.443999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.443983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.443985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444595 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.444973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.444989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.444973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.444975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445258 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445312 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445421 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445475 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445584 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445638 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445761 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445691 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445745 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445747 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445801 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.445962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.445978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.445962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.445964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446169 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.446073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446125 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.446161 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.446212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446169 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446187 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.446303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446161 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.446235 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.446341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446452 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446506 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.446955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.446993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446941 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.446993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.446996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447104 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447442 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447496 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447659 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.447983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.447999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.447983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.447985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448093 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.448970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.448986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.448970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.448973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449081 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449215 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449133 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449199 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449419 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449634 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449650 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449634 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449797 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449813 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449797 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.449960 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.449976 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449908 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.449960 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.449963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450071 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450199 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.450246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450167 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.450185 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.450284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.450300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450167 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.450232 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.450339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.450952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.450990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.450990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.450992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451492 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451546 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451709 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451763 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.451978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.451994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451926 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.451978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.451981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452167 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452207 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452875 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.452967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.452983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453022 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453038 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.452967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.452969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453076 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453092 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453022 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453076 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.453078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453130 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.453156 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.453248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.453264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453173 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.453195 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.453302 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453356 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453372 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453302 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453356 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453465 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453413 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453519 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453535 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453465 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453467 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453519 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453521 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453682 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453698 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453630 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453682 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453684 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453847 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.453954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.453970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.453954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.453956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454010 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454130 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454336 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454352 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454336 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454499 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454515 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454499 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.454950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.454988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.454988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.454990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455216 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455232 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455216 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455489 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455505 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455489 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.455977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.455993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.455977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.455979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456384 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.456966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.456982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.456966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.456968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.457022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.457173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.457077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457129 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.457164 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.457215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.457190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457164 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457245 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457190 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457300 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457245 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457354 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457470 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457300 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457409 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457354 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457579 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457409 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457518 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457633 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457472 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457572 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457688 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457518 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457626 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457742 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457572 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457681 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457626 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457735 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457681 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457790 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457735 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457844 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.457959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457790 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457898 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.457977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457844 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.457953 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457898 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458007 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458122 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.457953 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458061 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458007 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458116 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458061 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458182 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458297 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458116 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458236 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458351 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458182 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458290 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458236 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458460 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458290 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458344 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458453 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458399 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458453 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458507 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458562 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458670 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458616 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458670 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458724 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458833 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.458948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458779 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458887 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.458966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459003 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458833 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458887 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.458996 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459112 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458942 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.459050 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.458996 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.459105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.459230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459050 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.459163 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.459269 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459285 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459216 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459269 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459378 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459394 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459432 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459448 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459378 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459379 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459432 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459541 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459557 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459595 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459611 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459541 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459595 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459758 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459774 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459758 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.459975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.459991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.459975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.459976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460031 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460154 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460085 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460138 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460329 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460383 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460476 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460492 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460530 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460546 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460476 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460601 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460530 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460585 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460693 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460709 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460639 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460693 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460856 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460802 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460856 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.460965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.460981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.460965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.460966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461156 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461250 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461266 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461181 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461305 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461321 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461250 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461252 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461359 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461375 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461305 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461414 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461430 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461359 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461361 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461468 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461484 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461414 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461468 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461470 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461577 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461593 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461524 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461631 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461647 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461577 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461578 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461631 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461740 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461756 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461687 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461794 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461810 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461740 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461794 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461903 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461919 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461850 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.461957 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.461973 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461903 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.461957 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.461959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462120 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462136 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462164 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462120 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462129 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462164 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.462955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.462993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.462993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.462994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463223 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463278 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463332 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463386 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463550 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463713 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463876 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.463983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.463999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.463983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.463985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464039 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464649 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.464973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.464989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.464973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.464975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465137 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465218 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465137 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465202 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465910 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465926 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.465964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.465980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465910 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466034 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.465964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.465965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.466074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466127 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.466162 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.466213 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466171 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466189 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.466305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466162 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.466236 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.466343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466345 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466399 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466508 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466562 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466616 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466725 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466779 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.466957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.466995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466942 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.466995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.466997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467158 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467172 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467822 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467838 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467822 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.467946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.467985 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468001 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.467985 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.467986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468229 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468323 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468377 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468431 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468540 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468594 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468703 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468811 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468757 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468811 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468812 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468866 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.468973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.468989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468920 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469043 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.468973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.468974 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469027 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469083 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469201 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469201 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469366 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469691 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.469962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.469978 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.469962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.469963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470125 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470167 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470562 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470600 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470616 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470546 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470600 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470709 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470725 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470763 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470779 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470709 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470763 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.470981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.470997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.470981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.470982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471170 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471211 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471265 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471319 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471428 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471482 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471537 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471591 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471645 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471699 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471862 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.471969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.471985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.471969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.471970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472174 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.472078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472131 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.472156 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.472249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.472265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472174 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.472196 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.472303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472428 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472359 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472467 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472483 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472521 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472537 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472467 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472468 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472575 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472591 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472521 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472522 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472630 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472646 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472575 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472576 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472684 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472700 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472630 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472738 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472754 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472684 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472685 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472738 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472739 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472847 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472793 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472901 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472917 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472847 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472848 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.472955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.472971 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472901 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472902 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.472955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.472956 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473064 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473080 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473118 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473134 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473064 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473065 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473118 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473131 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473229 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473608 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473662 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473678 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473608 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473662 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473787 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473825 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473841 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473825 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473934 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.473950 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.473988 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474004 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473934 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.473988 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.473989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474178 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474325 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474341 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474325 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474815 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474869 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.474977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.474993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.474977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.474978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475384 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475315 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475585 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475601 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475531 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475532 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475639 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475655 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475585 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475639 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475802 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475818 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475749 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475872 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475802 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.475965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.475981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476019 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476035 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.475965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.475966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476073 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476089 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476019 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476073 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.476075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476128 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.476162 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.476214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476279 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.476295 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476162 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.476227 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.476333 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476349 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476279 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476388 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476333 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476442 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476458 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476388 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476496 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476512 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476442 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476550 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476566 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476496 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476604 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476550 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476551 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476659 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476675 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476604 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476605 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476713 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476729 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476659 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476713 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476714 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476768 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476876 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476892 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476822 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476930 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.476946 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476876 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.476984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476930 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476931 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477039 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477055 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.476984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.476985 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477093 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477109 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477039 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477147 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477173 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477093 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477147 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477160 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477214 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477268 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477322 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477485 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477647 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477647 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477648 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477701 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477864 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.477972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.477988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.477972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.477973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478097 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478081 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478216 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478135 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478270 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478254 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478379 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478309 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478417 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478433 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478363 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478488 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478417 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478526 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478542 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478472 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478580 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478596 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478526 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478580 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478689 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478705 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478743 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478759 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478689 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478743 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478852 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478906 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478922 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478852 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.478961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.478977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478906 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.478961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.478961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479069 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.479016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479123 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479139 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479069 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.479070 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479167 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479123 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.479137 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.479247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479167 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.479186 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.479265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479137 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479240 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479186 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479295 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479240 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479349 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479295 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479349 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479458 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479403 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479512 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479458 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479566 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479512 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479621 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479701 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479566 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479675 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479621 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479730 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479675 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479784 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479864 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479730 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479838 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.479955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479784 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479893 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.479972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479838 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.479947 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480027 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479893 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480001 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.479947 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480001 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480110 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480202 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480056 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480110 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480177 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480231 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480285 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480340 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480394 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480448 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480503 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480557 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480612 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480666 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480720 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.480945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480775 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.480963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480829 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480883 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.480992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480938 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.481046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.480992 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.481101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.481237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481046 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.481168 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.481275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481440 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481603 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481766 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.481982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.481998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481929 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.481982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.481983 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482037 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482158 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482770 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482754 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.482971 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.482987 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482917 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482917 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.482971 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.482972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483150 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.483080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483134 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.483158 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.483252 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.483268 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483177 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.483198 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.483296 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483252 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483361 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483377 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483296 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483361 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483470 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483524 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483540 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483470 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483524 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483797 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.483959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.483975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.483959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.483960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484231 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484231 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484449 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.484952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.484990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.484990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.484990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485114 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485098 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485166 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485924 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.485978 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.485994 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485924 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486032 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486048 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.485978 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.485979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486032 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486141 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486157 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486087 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486141 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.486966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.486982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.486966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.486967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.487075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487129 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.487221 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.487215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487253 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487239 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.487309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487221 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.487242 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.487348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487294 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487348 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487472 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487403 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487526 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487457 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487581 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487511 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487635 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487565 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487689 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487620 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487744 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487674 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487798 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487728 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487852 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487782 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487906 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.487960 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.487999 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488015 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487945 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488053 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488069 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.487999 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.487999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488108 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488124 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488053 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488054 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488162 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488108 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488228 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488244 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488162 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488176 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488282 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488298 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488228 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488228 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488337 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488353 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488282 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488391 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488407 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488337 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488445 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488461 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488391 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488500 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488516 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488445 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488554 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488570 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488500 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488624 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488554 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488733 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488771 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488771 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488880 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.488951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488880 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.488989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489005 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.488989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.488989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489152 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489152 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489272 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489288 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489272 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489816 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489832 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489816 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489925 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489940 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.489979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.489995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489925 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.489979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.489979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490087 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490158 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490087 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490696 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490859 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.490967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.490983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490913 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.490967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.490967 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491021 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491194 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491210 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491249 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491265 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491194 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491304 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491320 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491249 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491250 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491358 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491374 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491304 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491304 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491412 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491428 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491358 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491358 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491482 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491412 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491412 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491466 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491520 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491575 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491629 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491683 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491791 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491807 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491845 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491861 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491791 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491899 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491915 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491845 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.491954 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.491970 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491899 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492008 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492024 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.491954 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.491954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492078 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492008 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492132 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492062 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492062 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492116 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492116 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492288 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492304 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492234 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492288 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492505 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492521 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492505 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492723 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492777 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492831 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.492955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.492993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.492993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.492993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493048 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493508 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493655 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.493981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.493997 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494051 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.493981 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.493981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494105 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494263 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494279 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494317 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494333 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494263 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494317 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494426 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494442 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494480 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494496 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494426 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494480 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494877 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.494969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.494985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.494969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.494969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495213 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495144 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495200 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495308 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495324 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495308 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495486 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495687 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495703 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495633 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495687 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495851 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495851 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.495959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.495975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.495959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.495959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496068 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496084 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496068 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496133 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496234 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.496955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496885 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.496993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.496993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.496993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497102 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497820 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497874 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.497982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.497998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.497982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.497982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498171 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498157 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498266 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498320 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498374 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498429 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498538 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498483 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498538 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498592 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498646 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498700 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498755 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498809 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498934 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498863 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.498972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.498988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498918 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.498972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.498972 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499026 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499080 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499198 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499214 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499135 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499253 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499269 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499198 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499199 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499307 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499323 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499253 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499253 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499362 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499378 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499307 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499307 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499416 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499432 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499362 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499362 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499471 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499487 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499416 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499416 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499525 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499541 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499471 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499579 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499595 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499525 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499633 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499649 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499579 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499579 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499688 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499704 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499633 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499742 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499758 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499688 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499796 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499812 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499742 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499850 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499866 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499796 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499796 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499905 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499921 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499850 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.499959 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.499975 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499905 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500013 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500029 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.499959 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.499959 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500067 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500083 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500013 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500013 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500122 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500138 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500067 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500067 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500122 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500230 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500177 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500230 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500230 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.500952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.500991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.500991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.500991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.501045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501154 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.501100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501154 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.501167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501254 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.501291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501220 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.501228 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.501309 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501282 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501363 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501228 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501282 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501391 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501472 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501337 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501391 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501501 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501664 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501718 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501773 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.501963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.501999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501827 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501882 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.501991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501936 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.502045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502172 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.501991 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.502100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502212 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.502228 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502045 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.502159 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.502267 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502283 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502212 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502213 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502321 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502337 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502267 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502376 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502392 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502321 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502430 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502376 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502376 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502484 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502430 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502539 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502555 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502484 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502593 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502539 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502539 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502648 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502593 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502702 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502718 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502648 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502756 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502702 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502702 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502810 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502756 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502865 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502881 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502810 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502919 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502865 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502865 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.502973 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.502989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502919 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503028 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.502973 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.502973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503082 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503028 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503028 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503136 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503152 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503082 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503200 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503136 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503147 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503255 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503271 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503200 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503201 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503255 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503310 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503418 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503434 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503364 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503418 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503418 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503473 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503527 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503635 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503651 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503581 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503635 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503635 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503798 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503814 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503744 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503868 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503798 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503798 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503852 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.503961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.503977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504015 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504031 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.503961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.503961 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504085 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504015 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504015 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504069 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504132 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504179 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504232 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504559 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504575 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504559 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.504955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.504993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.504993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.504993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505276 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505657 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505711 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.505982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.505998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.505982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.505982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506225 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.506970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.506986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506916 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.506970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.506970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507176 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.507078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507132 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.507165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.507218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507245 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507176 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507191 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507283 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.507299 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507165 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.507229 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.507338 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507354 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507283 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507392 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507408 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507338 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507446 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507462 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507392 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507501 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507517 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507446 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507555 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507571 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507501 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507609 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507625 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507555 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507663 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507679 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507609 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507717 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507734 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507663 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507772 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507788 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507717 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507826 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507842 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507772 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507896 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507826 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507935 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.507951 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.507989 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508005 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507935 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508043 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508059 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.507989 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.507988 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508097 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508113 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508043 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508151 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508177 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508097 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508217 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508151 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508271 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508287 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508217 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508326 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508342 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508271 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508271 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508380 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508396 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508326 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508325 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508380 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508868 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.508977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.508993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.508977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.508976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509094 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509221 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509259 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509275 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509259 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509368 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509384 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509368 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509531 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509531 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509694 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509710 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509748 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509764 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509694 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509803 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509748 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509857 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509873 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509803 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509911 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509927 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509857 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.509965 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.509981 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509911 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.509965 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.509965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510074 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510090 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510128 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510144 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510074 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510192 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510209 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510128 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510139 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510264 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510192 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510194 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510303 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510318 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510248 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510357 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510373 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510303 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510411 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510427 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510357 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510466 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510481 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510411 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510520 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510536 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510466 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510574 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510590 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510520 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510628 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510644 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510574 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510683 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510699 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510628 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510737 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510753 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510683 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510792 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510808 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510737 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510846 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510862 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510792 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510900 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510916 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510846 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510846 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.510955 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.510971 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510900 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511009 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511025 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.510955 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.510954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511063 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511079 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511009 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511009 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511117 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511133 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511063 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511172 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511198 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511117 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511237 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511253 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511172 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511184 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511308 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511237 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511346 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511362 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511291 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511400 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511416 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511346 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511455 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511471 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511400 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511509 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511525 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511455 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511454 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511564 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511580 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511509 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511618 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511634 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511564 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511672 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511688 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511618 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511617 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511726 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511742 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511672 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511671 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511781 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511796 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511726 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511835 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511851 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511781 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511889 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511905 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511835 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511943 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.511959 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511889 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511888 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.511997 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512013 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511943 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512051 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512067 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.511997 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.511997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512121 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512051 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512160 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512186 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512225 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512241 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512160 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512225 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512225 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512350 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512280 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512405 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512334 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512388 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512498 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512514 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512443 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512552 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512568 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512498 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512497 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512607 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512623 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512552 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512552 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512661 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512677 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512607 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512606 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512715 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512731 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512661 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512660 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512769 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512785 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512715 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512715 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512824 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512840 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512769 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512769 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512878 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512894 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512824 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512823 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512932 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.512948 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512878 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.512986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512932 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512932 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513041 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513057 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.512986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.512986 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513095 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513111 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513041 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513040 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513149 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513175 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513095 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513095 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513215 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513231 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513149 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513161 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513270 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513286 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513215 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513215 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513324 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513340 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513270 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513269 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513324 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513324 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513433 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513449 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513433 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513542 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513558 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513596 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513612 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513542 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513596 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513705 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513721 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513759 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513775 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513705 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513759 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513868 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513922 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513868 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.513977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.513993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513922 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513922 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.513977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.513976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514219 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514148 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514257 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514273 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514203 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514328 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514257 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514366 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514436 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514366 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514420 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514584 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514600 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514529 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514638 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514654 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514584 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514583 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514708 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514638 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514637 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514747 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514763 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514692 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514801 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514817 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514747 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514746 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514855 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514871 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514801 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514800 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514909 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514925 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514855 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514854 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.514964 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.514980 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514909 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514909 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515018 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515034 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.514964 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.514963 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515072 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515088 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515018 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515017 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515127 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515143 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515072 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515072 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515171 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515188 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515127 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515203 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.515250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515171 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.515186 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.515289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.515304 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515168 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.515234 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.515343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515451 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515467 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515451 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515722 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515738 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515722 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.515955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.515993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.515993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.515993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516330 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.516982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.516998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.516982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.516981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517144 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517372 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517388 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517372 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517605 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517643 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517659 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517643 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517860 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517876 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517806 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517930 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517860 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.517969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.517985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.517969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.517968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518076 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518196 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518212 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518251 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518267 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518196 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518196 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518306 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518322 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518251 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518251 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518360 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518376 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518306 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518305 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518415 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518431 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518360 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518360 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518469 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518485 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518415 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518414 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518523 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518539 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518469 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518469 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518578 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518594 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518523 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518523 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518632 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518648 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518578 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518577 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518686 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518702 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518632 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518631 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518741 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518757 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518686 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518686 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518795 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518811 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518741 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518740 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518849 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518865 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518795 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518794 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518904 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518920 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518849 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518849 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.518958 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.518974 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518904 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518903 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519012 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519028 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.518958 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.518957 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519066 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519082 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519012 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519011 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519121 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519137 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519066 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519066 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519165 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519121 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519131 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519165 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519286 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519340 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519503 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519666 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.519954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.519993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.519993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.519992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520220 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520655 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520818 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520872 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.520982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.520998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.520982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.520981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521035 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521089 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521643 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.521970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.521986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522014 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.521970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.521978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522014 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.522024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522134 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.522177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.522078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522194 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522134 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.522166 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.522220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522257 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.522192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522311 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522166 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522248 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522365 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522192 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522302 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522420 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522248 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522356 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522474 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522302 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522411 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522528 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522356 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522465 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522546 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522583 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522411 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522519 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522637 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522465 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522574 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522655 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522692 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522519 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522628 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522746 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522574 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522682 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522800 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522628 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522737 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522855 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522682 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522791 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522909 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522737 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522845 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.522963 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522791 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522900 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.522981 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523018 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522845 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.522954 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523072 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522900 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523008 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523126 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.522954 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523063 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523144 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523191 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523008 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523117 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523063 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523117 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523183 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523237 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523292 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523401 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523346 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523401 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523510 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523455 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523564 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523510 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523564 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523673 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523754 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523618 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523727 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523673 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523781 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523727 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523836 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523917 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.523954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523781 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523890 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.523972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523836 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523944 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523890 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.523999 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524081 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523944 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.524053 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.523999 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.524108 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.524237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524053 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.524167 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.524276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.524983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.524999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524928 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.524983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.524982 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525091 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525591 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525607 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525591 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525808 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525824 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525808 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.525970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.525986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.525970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.525969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526078 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526132 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526148 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526078 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526187 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526204 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526132 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526141 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526243 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526259 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526187 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526188 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526298 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526314 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526243 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526242 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526352 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526368 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526298 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526296 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526406 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526422 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526352 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526351 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526461 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526477 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526406 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526405 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526515 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526531 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526461 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526460 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526569 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526586 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526515 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526514 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526624 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526640 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526569 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526568 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526678 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526694 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526624 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526623 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526732 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526748 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526678 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526677 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526786 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526802 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526732 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526731 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526841 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526857 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526786 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526786 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526895 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526911 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526841 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526840 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.526949 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.526965 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526895 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526894 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527003 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527019 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.526949 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.526948 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527058 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527074 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527003 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527002 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527112 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527128 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527058 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527056 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527166 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527112 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527111 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527232 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527248 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527166 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527232 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527665 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527681 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527665 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527774 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527790 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527828 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527844 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527774 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527882 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527898 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527828 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527937 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.527952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527882 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.527991 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528007 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527937 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528045 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528061 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.527991 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.527989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528099 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528045 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528099 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528098 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528381 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528397 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528435 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528451 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528381 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528435 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528434 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528488 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528598 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528542 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528652 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528668 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528598 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528652 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528884 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528938 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.528977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.528993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.528977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.528975 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529085 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529101 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529029 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529139 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529155 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529085 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529204 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529220 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529139 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529149 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529258 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529274 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529204 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529203 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529312 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529328 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529258 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529257 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529367 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529382 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529312 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529311 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529421 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529437 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529367 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529365 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529475 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529491 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529421 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529420 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529529 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529545 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529475 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529474 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529599 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529529 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529528 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529653 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529583 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529582 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529692 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529707 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529637 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529636 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529746 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529762 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529692 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529690 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529816 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529746 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529745 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529870 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529800 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529799 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529924 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529854 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529853 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.529963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.529979 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529908 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529907 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530033 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.529963 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.529962 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530087 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530017 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530016 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530126 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530141 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530071 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530070 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530170 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530196 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530126 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530135 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530236 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530170 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530181 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530236 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530235 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530344 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530454 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530470 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530398 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530508 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530524 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530454 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530452 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530508 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530507 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530561 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530671 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530687 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530615 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530725 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530741 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530671 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530669 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530779 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530795 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530725 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530724 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530833 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530849 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530779 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530778 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530887 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530903 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530833 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530832 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530942 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.530957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530887 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530886 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.530996 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530942 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530940 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531050 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531066 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.530996 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.530994 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531104 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531120 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531050 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531049 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531158 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531185 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531104 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531103 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531224 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531240 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531158 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531169 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531278 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531294 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531224 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531222 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531278 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531277 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531387 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531403 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531331 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531441 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531457 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531387 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531385 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531441 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531439 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531494 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531548 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531602 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531766 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531820 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531766 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531764 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531874 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531820 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531874 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.531983 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.531999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532037 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.531983 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.531981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532037 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532428 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532444 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532482 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532498 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532428 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532482 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532645 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532661 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532645 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.532970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.532986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533024 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533040 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.532970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.532969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533094 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533024 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.533077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533133 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.533165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.533219 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533191 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533284 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.533300 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533165 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.533230 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.533339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533284 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533393 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533409 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533447 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533463 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533393 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533502 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533518 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533447 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533556 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533572 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533502 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533610 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533626 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533556 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533554 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533664 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533680 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533610 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533719 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533735 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533664 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533773 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533789 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533719 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533717 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533827 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533843 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533773 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533881 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533897 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533827 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533936 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.533952 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533881 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.533990 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534006 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533936 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533934 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534044 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534060 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.533990 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.533989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534098 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534115 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534044 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534153 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534179 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534098 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534218 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534234 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534153 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534164 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534273 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534289 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534218 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534327 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534343 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534273 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534382 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534398 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534327 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534436 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534452 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534382 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534380 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534490 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534506 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534436 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534544 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534560 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534490 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534614 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534544 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534653 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534669 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534597 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534707 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534723 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534653 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534651 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534761 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534777 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534707 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534705 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534815 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534831 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534761 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534760 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534870 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534886 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534815 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534814 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534914 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534941 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534870 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534877 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.534979 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.534995 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534914 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534923 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535033 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535049 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.534979 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.534978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535088 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535103 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535033 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535142 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535158 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535088 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535223 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535142 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535151 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535261 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535277 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535206 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535205 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535315 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535331 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535261 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535370 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535386 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535315 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535424 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535440 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535370 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535368 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535478 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535494 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535424 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535548 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535478 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535641 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535657 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535586 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535641 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535640 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535694 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535803 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535913 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535929 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535857 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.535967 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.535983 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535913 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.535967 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.535965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536130 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536146 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536074 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536130 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.536233 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536173 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.536212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536248 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.536276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536205 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.536298 expect[5407] read(36, 0x10b6d88, 4096) = 402 Tue Aug 16 20:14:15 2016.536291 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536212 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.536316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536379 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.536395 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536298 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.536325 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.536434 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536450 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536379 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536378 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536488 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536504 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536434 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536433 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536543 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536559 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536488 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536487 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536597 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536613 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536543 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536541 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536651 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536667 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536597 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536596 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536706 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536722 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536651 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536650 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536760 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536776 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536706 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536704 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536814 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536830 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536760 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536759 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536869 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536885 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536814 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536813 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536923 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536939 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536869 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536867 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.536977 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.536993 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536923 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536921 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537031 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537047 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.536977 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.536976 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537086 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537102 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537031 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537030 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537140 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537156 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537086 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537084 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537222 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537140 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537150 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537260 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537276 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537205 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537204 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537314 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537330 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537260 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537259 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537369 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537385 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537314 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537313 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537423 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537439 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537369 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537367 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537477 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537493 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537423 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537422 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537532 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537547 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537477 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537476 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537586 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537602 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537532 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537530 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537640 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537656 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537586 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537695 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537711 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537640 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537749 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537765 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537695 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537819 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537749 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.537966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.537982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.537966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.537965 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538200 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538138 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538239 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538255 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538173 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538183 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538239 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538237 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538348 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538364 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538292 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538402 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538418 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538348 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538346 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538456 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538472 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538402 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538400 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538511 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538527 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538456 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538455 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538565 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538581 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538511 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538509 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538619 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538635 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538565 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538563 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538673 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538689 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538619 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538728 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538743 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538673 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538672 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538782 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538798 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538728 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538726 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538836 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538852 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538782 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538780 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538890 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538906 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538836 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538834 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538944 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.538960 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538890 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538889 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.538998 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539014 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538944 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538943 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539052 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539068 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.538998 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.538997 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539106 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539122 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539052 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539051 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539161 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539187 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539106 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539105 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539226 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539242 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539161 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539280 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539296 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539226 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539224 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539334 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539350 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539280 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539279 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539389 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539404 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539334 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539333 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539443 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539459 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539389 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539387 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539497 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539513 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539443 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539441 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539551 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539567 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539497 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539495 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539606 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539622 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539551 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539549 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539660 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539676 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539606 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539604 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539714 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539730 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539660 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539658 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539768 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539784 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539714 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539712 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539823 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539839 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539768 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539767 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539877 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539893 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539823 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539821 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539931 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.539947 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539877 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539875 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.539986 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540002 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539931 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539930 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540040 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540056 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.539986 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.539984 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540094 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540110 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540040 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540038 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540148 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540174 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540094 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540092 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540214 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540230 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540148 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540159 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540268 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540284 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540214 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540212 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540323 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540339 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540268 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540267 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540377 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540393 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540323 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540321 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540431 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540447 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540377 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540375 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540486 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540502 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540431 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540430 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540540 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540556 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540486 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540484 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540594 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540610 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540540 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540538 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540649 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540665 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540594 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540593 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540703 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540719 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540649 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540647 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540757 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540773 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540703 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540701 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540812 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540828 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540757 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540756 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540866 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540882 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540812 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540810 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540920 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540936 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540866 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540864 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.540975 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.540991 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540920 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540919 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541029 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541045 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.540975 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.540973 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541083 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541099 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541029 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541027 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541138 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541083 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541180 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.541082 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541138 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.541160 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.541256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.541272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541180 stapio[10948]"..., 355) = 355 Tue Aug 16 20:14:15 2016.541199 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.541310 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541326 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541254 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541364 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541380 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541310 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541308 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541364 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541527 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541543 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541471 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541581 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541597 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541527 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541525 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541581 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541580 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541797 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.541961 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.541977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.541961 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.541960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542134 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542233 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542249 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542178 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542287 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542303 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542233 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542231 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542287 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542396 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542412 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542396 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542394 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542448 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542557 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542611 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542720 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.542955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.542993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543048 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543064 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.542993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.542992 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543048 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.543046 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.543100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.543167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.543293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543222 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.543229 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.543311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543167 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543229 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543420 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543283 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543474 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543337 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543392 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543583 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543619 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543446 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543637 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543673 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543500 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543691 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543555 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543663 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543745 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543782 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543609 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543800 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543836 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543663 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543854 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543890 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543718 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543826 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543908 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543772 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543880 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.543963 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.543999 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543826 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544017 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544053 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543880 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.543989 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544071 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543935 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544043 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544125 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.543989 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544097 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544190 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544043 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544163 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544245 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544097 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544217 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544300 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544163 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544354 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544217 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544326 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544409 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544446 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544272 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544463 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544500 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544326 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544518 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544554 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544381 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544572 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544609 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544435 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544627 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544663 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544490 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544681 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544717 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544544 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544735 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544772 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544599 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544790 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544826 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544653 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544761 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544844 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544880 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544707 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544898 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544935 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544761 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.544953 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.544989 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544816 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545007 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545044 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544870 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.544979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545062 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545098 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544925 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.545034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545116 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545153 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.544979 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.545088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545181 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545217 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545034 expect[5407] "..., 278) = 278 Tue Aug 16 20:14:15 2016.545154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545256 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.545272 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545088 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.545200 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.545311 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545327 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545256 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545255 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545365 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545381 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545311 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545309 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545419 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545435 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545365 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545363 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545473 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545489 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545419 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545417 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545528 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545544 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545473 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545472 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545582 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545598 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545528 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545526 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545636 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545652 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545582 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545580 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545690 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545706 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545636 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545634 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545744 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545760 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545690 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545688 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545799 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545815 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545744 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545742 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545853 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545869 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545799 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545797 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545907 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545923 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545853 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545851 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.545962 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.545977 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545907 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545905 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546016 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546032 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.545962 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.545960 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546070 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546086 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546016 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546014 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546124 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546140 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546070 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546068 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546168 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546124 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546130 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546234 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546250 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546168 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546180 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546289 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546305 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546234 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546233 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546343 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546359 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546289 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546287 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546397 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546413 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546343 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546341 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546397 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546395 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546506 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546522 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546560 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546576 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546506 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546614 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546630 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546560 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546558 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546668 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546684 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546614 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546612 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546668 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546777 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546793 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546831 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546847 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546777 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546775 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546885 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546901 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546831 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546829 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.546955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546885 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546883 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.546993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546937 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.546993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.546991 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547102 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547118 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547102 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547100 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547274 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547290 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547274 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547272 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547383 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547399 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547437 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547453 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547383 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547491 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547507 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547437 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547435 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547545 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547561 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547491 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547489 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547599 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547615 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547545 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547543 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547654 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547670 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547599 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547598 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547708 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547724 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547654 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547652 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547762 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547778 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547708 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547706 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547806 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547762 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.547837 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.547874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547806 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.547818 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.547912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.547928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547802 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.547856 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.547966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.547982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547911 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548021 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548037 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.547966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.547964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548021 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548019 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548190 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548170 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548206 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.548252 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548173 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.548188 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.548290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.548307 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548170 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.548234 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.548345 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548361 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548289 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548399 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548415 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548345 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548343 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548453 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548469 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548399 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548397 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548453 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548451 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548562 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548578 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548505 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548616 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548632 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548562 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548560 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548670 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548686 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548616 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548614 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548724 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548740 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548670 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548668 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548724 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548722 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548940 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.548956 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.548995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549010 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548940 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548938 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.548995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.548993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549183 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549222 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549238 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549222 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549818 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549834 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549872 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549888 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549818 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549926 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549942 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549872 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.549980 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.549996 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549926 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549924 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550035 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550050 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.549980 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.549978 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550089 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550104 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550035 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550032 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550143 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550159 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550089 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550086 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550208 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550224 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550143 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550152 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550262 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550278 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550208 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550206 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550316 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550332 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550262 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550260 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550371 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550387 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550316 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550314 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550425 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550441 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550371 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550369 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550479 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550495 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550425 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550423 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550533 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550549 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550479 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550477 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550587 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550603 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550533 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550531 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550642 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550658 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550587 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550585 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550696 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550712 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550642 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550639 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550750 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550766 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550696 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550693 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550804 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550820 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550750 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550748 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550858 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550874 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550804 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550802 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550912 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550928 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550858 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550856 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.550966 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.550982 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550912 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550910 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551020 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551036 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.550966 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.550964 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551075 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551091 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551020 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551018 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551129 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551145 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551075 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551073 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551173 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551189 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551129 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551168 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551205 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.551251 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551173 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.551186 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.551290 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.551306 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551168 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.551233 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.551344 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551360 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551290 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551288 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551398 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551414 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551344 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551342 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551452 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551468 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551398 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551396 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551507 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551523 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551452 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551450 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551561 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551577 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551507 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551504 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551615 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551631 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551561 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551559 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551669 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551685 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551615 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551613 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551723 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551739 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551669 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551667 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551778 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551794 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551723 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551721 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551832 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551848 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551778 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551776 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551886 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551902 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551832 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551830 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551941 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.551957 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551886 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551884 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.551995 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552011 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551941 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551939 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552049 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552065 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.551995 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.551993 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552103 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552119 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552049 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552047 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552157 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552184 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552103 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552101 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552223 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552239 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552157 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552167 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552277 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552293 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552223 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552221 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552332 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552348 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552277 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552275 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552386 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552402 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552332 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552329 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552456 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552386 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552384 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552495 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552511 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552438 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552549 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552565 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552495 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552493 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552603 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552620 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552549 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552547 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552658 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552674 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552603 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552601 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552712 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552728 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552658 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552656 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552767 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552783 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552712 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552710 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552821 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552837 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552767 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552765 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552875 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552891 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552821 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552819 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552929 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.552945 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552875 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552873 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.552984 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553000 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552929 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552927 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553038 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553054 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.552984 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.552981 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553092 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553108 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553038 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553036 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553146 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553162 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553092 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553090 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553146 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553155 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553266 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553282 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553210 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553266 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553264 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553375 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553391 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553318 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553375 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553427 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553481 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553590 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553753 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553807 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.553972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.553988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.553972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.553970 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554024 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554179 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.554078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554135 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.554165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.554221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554179 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554192 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.554302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554165 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.554230 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.554341 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554357 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554285 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554341 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554339 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554450 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554466 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554504 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554520 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554450 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554504 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554502 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554613 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554629 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554556 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554667 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554613 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554610 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554667 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554776 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554792 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554776 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554774 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554828 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.554954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.554993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.554993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.554990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555155 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555155 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555330 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555346 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555330 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555439 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555382 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555493 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555439 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555493 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.555982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.555998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.555982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.555980 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556091 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556107 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556034 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556091 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556210 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556210 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556208 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556319 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556335 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556262 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556319 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556371 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556425 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556536 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556552 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556479 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556590 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556536 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556534 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556590 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556588 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556699 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556715 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556642 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556753 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556769 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556699 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556697 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556823 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556753 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556751 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556862 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556878 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556805 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556916 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556932 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556862 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556860 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.556970 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.556986 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556916 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556914 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557025 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557041 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.556970 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.556968 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557079 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557095 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557025 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557022 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557133 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557149 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557079 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557177 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.557077 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557193 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557133 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.557163 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.557220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557246 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557177 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557190 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557285 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.557301 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557163 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.557229 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.557339 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557355 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557285 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557283 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557394 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557410 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557339 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557337 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557448 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557464 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557394 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557392 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557448 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557446 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557557 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557573 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557500 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557611 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557627 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557557 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557666 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557682 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557611 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557609 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557720 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557736 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557666 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557664 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557720 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557718 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557829 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557845 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557772 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557883 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557899 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557829 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557938 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.557954 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557883 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557881 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.557992 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558008 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557938 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557935 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.557992 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.557990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558044 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558181 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558220 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558236 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558275 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558291 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558220 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558218 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558329 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558345 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558275 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558273 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558384 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558400 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558329 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558327 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558438 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558454 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558384 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558381 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558492 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558509 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558438 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558436 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558547 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558563 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558492 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558490 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558601 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558617 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558547 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558544 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558671 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558601 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558599 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558710 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558726 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558653 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558764 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558780 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558710 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558707 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558764 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558816 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558927 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558943 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558870 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.558982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.558998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558927 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.558982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.558979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559161 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559211 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559227 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559154 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559265 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559281 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559211 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559209 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559320 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559336 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559265 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559263 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559374 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559390 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559320 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559317 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559429 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559445 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559374 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559372 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559483 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559499 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559429 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559426 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559537 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559553 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559483 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559480 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559592 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559608 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559537 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559535 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559646 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559662 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559592 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559589 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559700 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559716 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559646 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559644 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559755 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559771 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559700 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559698 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559809 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559825 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559755 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559752 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559863 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559879 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559809 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559806 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559918 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559933 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559863 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559861 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.559972 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.559988 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559918 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559915 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560026 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560042 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.559972 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.559969 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560080 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560096 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560026 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560023 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560135 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560151 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560080 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560178 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.560078 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560195 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560135 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.560165 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.560221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560247 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560178 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560191 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560286 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.560302 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560165 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.560229 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.560340 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560356 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560286 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560284 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560395 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560411 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560340 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560338 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560449 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560465 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560395 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560393 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560503 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560519 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560449 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560447 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560558 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560574 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560503 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560501 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560612 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560628 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560558 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560555 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560656 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560683 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560612 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560618 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560721 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560737 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560656 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560665 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560775 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560791 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560721 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560719 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560830 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560846 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560775 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560773 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560884 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560900 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560830 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560827 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560939 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.560955 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560884 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560882 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.560993 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561009 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560939 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560936 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561047 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561063 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.560993 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.560990 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561101 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561117 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561047 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561045 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561156 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561182 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561101 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561099 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561221 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561237 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561156 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561165 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561276 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561292 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561221 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561219 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561331 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561347 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561276 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561274 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561385 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561401 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561331 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561328 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561440 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561455 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561385 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561383 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561494 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561510 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561440 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561437 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561548 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561564 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561494 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561491 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561602 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561618 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561548 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561545 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561657 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561672 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561602 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561600 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561711 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561727 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561657 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561654 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561765 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561781 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561711 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561708 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561819 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561835 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561765 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561762 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561873 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561889 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561819 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561817 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561928 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561944 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561873 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561871 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.561982 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.561998 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561928 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561925 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562036 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562052 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.561982 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.561979 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562090 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562106 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562036 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562033 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562145 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562160 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562090 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562088 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562209 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562226 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562145 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562153 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562264 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562280 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562209 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562207 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562318 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562334 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562264 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562261 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562373 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562389 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562318 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562316 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562427 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562443 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562373 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562370 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562481 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562497 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562427 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562424 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562535 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562551 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562481 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562478 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562589 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562606 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562535 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562533 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562644 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562660 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562589 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562587 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562698 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562714 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562644 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562641 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562752 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562768 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562698 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562695 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562807 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562822 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562752 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562750 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562861 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562877 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562807 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562804 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562915 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562931 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562861 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562858 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.562969 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.562985 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562915 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562912 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563023 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563039 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.562969 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.562966 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563077 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563093 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563023 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.563020 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563131 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563147 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563077 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.563075 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563175 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563192 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563131 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.563171 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563207 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 201 Tue Aug 16 20:14:15 2016.563254 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563175 stapio[10948]"..., 201) = 201 Tue Aug 16 20:14:15 2016.563189 expect[5407] read(36, 0x10b6d88, 4096) = 201 Tue Aug 16 20:14:15 2016.563293 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 355 Tue Aug 16 20:14:15 2016.563309 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563171 expect[5407] "..., 355) = 355 Tue Aug 16 20:14:15 2016.563236 expect[5407] read(36, 0x10b6d88, 4096) = 355 Tue Aug 16 20:14:15 2016.563347 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563363 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563293 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.563291 expect[5407] read(36, 0x10b6d88, 4096) = 278 Tue Aug 16 20:14:15 2016.563401 stapio[10948] read(6, 0x3ff831ae9d8, 131072) = 278 Tue Aug 16 20:14:15 2016.563417 stapio[10948] write(1, "Tue Aug 16 20:14:15 2016.563347 stapio[10948]"..., 278) = 278 Tue Aug 16 20:14:15 2016.563345 expect[5407] read(36, 0x10b6d88, 4096) = 278 RC 0 PASS: systemtap.examples/process/strace run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 syscalls_by_pid.stp' tag 'test_check' value 'stap -p4 syscalls_by_pid.stp' attempting command stap -p4 syscalls_by_pid.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2e30c339df9d8de4b4324556b4d7a38_175450.ko RC 0 PASS: systemtap.examples/process/syscalls_by_pid build meta taglines 'test_installcheck: stap syscalls_by_pid.stp -T 1' tag 'test_installcheck' value 'stap syscalls_by_pid.stp -T 1' attempting command stap syscalls_by_pid.stp -T 1 OUT WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) Collecting data... Type Ctrl-C to exit and display results #SysCalls PID 29 11445 7 1650 3 5407 1 3597 1 1159 RC 0 PASS: systemtap.examples/process/syscalls_by_pid run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 syscalls_by_proc.stp' tag 'test_check' value 'stap -p4 syscalls_by_proc.stp' attempting command stap -p4 syscalls_by_proc.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cd/stap_cddc8deeedfe98b40fe10e4b4b7fcd57_225734.ko RC 0 PASS: systemtap.examples/process/syscalls_by_proc build meta taglines 'test_installcheck: stap syscalls_by_proc.stp -T 1' tag 'test_installcheck' value 'stap syscalls_by_proc.stp -T 1' attempting command stap syscalls_by_proc.stp -T 1 OUT WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) Collecting data... Type Ctrl-C to exit and display results #SysCalls Process Name 29 stapio 3 expect 1 beah-rhts-task 1 tuned RC 0 PASS: systemtap.examples/process/syscalls_by_proc run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: file ./syscalltimes' tag 'test_check' value 'file ./syscalltimes' attempting command file ./syscalltimes OUT ./syscalltimes: Bourne-Again shell script, ASCII text executable RC 0 PASS: systemtap.examples/process/syscalltimes build meta taglines 'test_installcheck: ./syscalltimes -c 'sleep 1'' tag 'test_installcheck' value './syscalltimes -c 'sleep 1'' attempting command ./syscalltimes -c 'sleep 1' OUT Creating and building SystemTap module... Collecting data - type Ctrl-C to print output and exit... Times for all processes (unfiltered): System Call Count Total ns Avg ns Min ns Max ns fstat 3 13600 4533 3624 5000 openat 7 152634 21804 9840 71274 read 20 114959 5747 4448 12384 close 5 18977 3795 2952 4336 rt_sigprocmask 3 13985 4661 3608 5865 mprotect 3 28176 9392 7832 11600 faccessat 1 17616 17616 17616 17616 brk 4 18160 4540 2824 6664 nanosleep 1 1000100815 1000100815 1000100815 1000100815 fstatat 4 26424 6606 6128 7808 munmap 1 10808 10808 10808 10808 mmap2 3 35776 11925 8152 17576 execve 6 641492 106915 15232 540964 fcntl 24 85728 3572 3152 10008 wait4 1 127901 127901 127901 127901 pselect6 3 1001667530 333889176 612601 500529870 kill 1 17543 17543 17543 17543 ppoll 4 800871528 200217882 200214742 200221470 write 1 16424 16424 16424 16424 setitimer 1 6144 6144 6144 6144 rt_sigaction 1 4440 4440 4440 4440 rt_sigreturn 1 7336 7336 7336 7336 RC 0 PASS: systemtap.examples/process/syscalltimes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 thread-business.stp' tag 'test_check' value 'stap -p4 thread-business.stp' attempting command stap -p4 thread-business.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3faf99867bb532065501e9fc0c88f1d_344032.ko RC 0 PASS: systemtap.examples/process/thread-business build meta taglines 'test_installcheck: stap thread-business.stp -T 10' tag 'test_installcheck' value 'stap thread-business.stp -T 10' attempting command stap thread-business.stp -T 10 OUT WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) execname tid count recent syscalls stapio 12709 50 ppoll read ppoll read ppoll read ppoll read ppoll stapio 12705 49 pselect6 fcntl read fcntl pselect6 fcntl read fcnt systemd-udevd 664 31 epoll_pwait unlinkat munmap close read read mmap2 irqbalance 808 15 nanosleep munmap close read mmap2 fstat openat mun systemd-udevd 12707 14 exit_group close close munmap munmap munmap munmap sendmail 1650 7 pselect6 rt_sigprocmask close read fstat openat rt tuned 2389 5 pselect6 pselect6 pselect6 pselect6 pselect6 beah-rhts-task 3597 5 epoll_pwait epoll_pwait epoll_pwait epoll_pwait ep expect 5407 2 read read auditd 785 1 epoll_pwait gssproxy 812 1 epoll_pwait RC 0 PASS: systemtap.examples/process/thread-business run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process sourcing threadstacks.tcl for systemtap.examples/process/threadstacks meta taglines 'test_check: stap -gp4 threadstacks.stp -Gsize=65536 -d `which stap`' tag 'test_check' value 'stap -gp4 threadstacks.stp -Gsize=65536 -d `which stap`' attempting command stap -gp4 threadstacks.stp -Gsize=65536 -d `which stap` OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c6/stap_c637a45b2e146c53ca193bf18ac371a0_5799.ko RC 0 PASS: systemtap.examples/process/threadstacks build meta taglines 'test_installcheck: stap -g threadstacks.stp -Gsize=65536 -T 1 -d `which stap`' tag 'test_installcheck' value 'stap -g threadstacks.stp -Gsize=65536 -T 1 -d `which stap`' attempting command stap -g threadstacks.stp -Gsize=65536 -T 1 -d `which stap` OUT RC 0 PASS: systemtap.examples/process/threadstacks run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/process meta taglines 'test_check: stap -p4 wait4time.stp' tag 'test_check' value 'stap -p4 wait4time.stp' attempting command stap -p4 wait4time.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9dd117fd3572a836a5ebe1967a02c10a_65122.ko RC 0 PASS: systemtap.examples/process/wait4time build meta taglines 'test_installcheck: stap wait4time.stp -T 1' tag 'test_installcheck' value 'stap wait4time.stp -T 1' attempting command stap wait4time.stp -T 1 OUT RC 0 PASS: systemtap.examples/process/wait4time run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 errno.stp' tag 'test_check' value 'stap -p4 errno.stp' attempting command stap -p4 errno.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_712f2b19ba39639ccaa7f66db95a1438_394308.ko RC 0 PASS: systemtap.examples/profiling/errno build meta taglines 'test_installcheck: stap errno.stp -T 1' tag 'test_installcheck' value 'stap errno.stp -T 1' attempting command stap errno.stp -T 1 OUT WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) PID Syscall Process Error Count 14215 read stapio EAGAIN 2 RC 0 PASS: systemtap.examples/profiling/errno run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 fileline-profile.stp' tag 'test_check' value 'stap -p4 fileline-profile.stp' attempting command stap -p4 fileline-profile.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f5adcbe0d1e7041b3aba5632be0fb606_5962.ko RC 0 PASS: systemtap.examples/profiling/fileline-profile build meta taglines 'test_installcheck: stap fileline-profile.stp -T 6 --all-modules --ldd' tag 'test_installcheck' value 'stap fileline-profile.stp -T 6 --all-modules --ldd' attempting command stap fileline-profile.stp -T 6 --all-modules --ldd OUT --- 21500 samples recorded: k:arch_cpu_idle+0x40/0x24c [kernel] 21385 k:_raw_spin_unlock_irqrestore+0x44/0x84 [kernel] 38 k:_raw_spin_unlock_irq+0x3c/0x58 [kernel] 31 k:_raw_write_unlock_irqrestore+0x44/0x84 [kernel] 8 k:lock_acquire+0xf8/0x2bc [kernel] 4 k:_raw_spin_unlock_irq+0x40/0x58 [kernel] 3 k:__efistub_strcmp+0x88/0x160 [kernel] 2 k:debug_lockdep_rcu_enabled+0x0/0x34 [kernel] 2 k:rcu_idle_exit+0x4c/0x80 [kernel] 2 k:__do_softirq+0x11c/0x634 [kernel] 2 k:note_gp_changes+0x58/0xd4 [kernel] 2 k:__do_softirq+0x148/0x634 [kernel] 2 k:queue_work_on+0x54/0xa4 [kernel] 2 k:lock_acquire+0x50/0x2bc [kernel] 1 k:rcu_process_callbacks+0x1f0/0xa20 [kernel] 1 k:0xfffffc000162e080 [stap_8e7d2f533dc2bd06de9a47163a2b7ae_14707+0xe080/0x0] 1 k:may_expand_vm+0x0/0xec [kernel] 1 k:__ll_sc_atomic64_add_return_acquire+0x20/0x3c [kernel] 1 k:copy_page+0x68/0x100 [kernel] 1 k:kmem_cache_free+0xbc/0x40c [kernel] 1 RC 0 PASS: systemtap.examples/profiling/fileline-profile run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 fntimes.stp 'kernel.function("sys_*")'' tag 'test_check' value 'stap -p4 fntimes.stp 'kernel.function("sys_*")'' attempting command stap -p4 fntimes.stp 'kernel.function("sys_*")' OUT WARNING: function sys_reg_genericv8_init is in blacklisted section: keyword at fntimes.stp:23:1 source: probe $1.return { check(time()-@entry(time())) } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/stap_f7a904407ada44506199d9fef94a9c18_361846.ko RC 0 PASS: systemtap.examples/profiling/fntimes build meta taglines 'test_installcheck: stap fntimes.stp 'kernel.function("sys_*")' -T 7' tag 'test_installcheck' value 'stap fntimes.stp 'kernel.function("sys_*")' -T 7' attempting command stap fntimes.stp 'kernel.function("sys_*")' -T 7 OUT WARNING: function sys_reg_genericv8_init is in blacklisted section: keyword at fntimes.stp:23:1 source: probe $1.return { check(time()-@entry(time())) } ^ WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setscheduler@kernel/sched/core.c:4396").return (address 0xfffffc00081040e8) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setscheduler@kernel/sched/core.c:4396").call (address 0xfffffc00081040e8) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setparam@kernel/sched/core.c:4413").return (address 0xfffffc0008104134) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setparam@kernel/sched/core.c:4413").call (address 0xfffffc0008104134) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) RC 0 PASS: systemtap.examples/profiling/fntimes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling sourcing functioncallcount.tcl for systemtap.examples/profiling/functioncallcount meta taglines 'test_check: stap -wp4 functioncallcount.stp "*@mm/*.c"' tag 'test_check' value 'stap -wp4 functioncallcount.stp "*@mm/*.c"' attempting command stap -wp4 functioncallcount.stp "*@mm/*.c" OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f8dd650a2b31b5bf3f97b12041a8895_685466.ko RC 0 PASS: systemtap.examples/profiling/functioncallcount build meta taglines 'test_installcheck: stap -w functioncallcount.stp "*@mm/*.c" -T 1' tag 'test_installcheck' value 'stap -w functioncallcount.stp "*@mm/*.c" -T 1' attempting command stap -w functioncallcount.stp "*@mm/*.c" -T 1 OUT kfree 122 next_zone 81 quiet_vmstat 55 first_online_pgdat 31 need_update 23 kmem_cache_free 8 should_failslab 8 kmem_cache_alloc 8 kmemleak_alloc 8 kmemleak_free 8 __swiotlb_sync_single_for_cpu 5 vmstat_update 4 fold_diff 4 next_online_pgdat 4 __alloc_page_frag 4 __free_page_frag 4 check_and_switch_context 3 RC 0 PASS: systemtap.examples/profiling/functioncallcount run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling sourcing latencytap.tcl for systemtap.examples/profiling/latencytap meta taglines 'test_check: stap -p4 --all-modules latencytap.stp' tag 'test_check' value 'stap -p4 --all-modules latencytap.stp' attempting command stap -p4 --all-modules latencytap.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0a35b54cc72f5825d655910f39394911_23850.ko RC 0 PASS: systemtap.examples/profiling/latencytap build meta taglines 'test_installcheck: stap latencytap.stp --all-modules -T 1' tag 'test_installcheck' value 'stap latencytap.stp --all-modules -T 1' attempting command stap latencytap.stp --all-modules -T 1 OUT WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux WARNING: too many pending (warning) messages RC 0 PASS: systemtap.examples/profiling/latencytap run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 linetimes.stp kernel sys_nanosleep' tag 'test_check' value 'stap -p4 linetimes.stp kernel sys_nanosleep' attempting command stap -p4 linetimes.stp kernel sys_nanosleep OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3eadc4a6c7394da2e3cd7abea7d1098c_8541.ko RC 0 PASS: systemtap.examples/profiling/linetimes build meta taglines 'test_installcheck: stap linetimes.stp kernel sys_nanosleep -T 1' tag 'test_installcheck' value 'stap linetimes.stp kernel sys_nanosleep -T 1' attempting command stap linetimes.stp kernel sys_nanosleep -T 1 OUT kernel sys_nanosleep call count: 0 region avg(us) max(us) control flow graph information from to ======================= RC 0 PASS: systemtap.examples/profiling/linetimes run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: rpm -q findutils-debuginfo' tag 'test_support' value 'rpm -q findutils-debuginfo' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling sourcing perf.tcl for systemtap.examples/profiling/perf attempting command rpm -q findutils-debuginfo OUT package findutils-debuginfo is not installed child process exited abnormally RC 1 UNTESTED: systemtap.examples/profiling/perf build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("timer_expire_entry")'' tag 'test_support' value 'stap -l 'kernel.trace("timer_expire_entry")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling attempting command stap -l 'kernel.trace("timer_expire_entry")' OUT kernel.trace("timer:timer_expire_entry") RC 0 PASS: systemtap.examples/profiling/periodic support meta taglines 'test_check: stap -p4 --all-modules periodic.stp' tag 'test_check' value 'stap -p4 --all-modules periodic.stp' attempting command stap -p4 --all-modules periodic.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/stap_a97098cb8ff9b7c87e54d32de643f40c_10029.ko RC 0 PASS: systemtap.examples/profiling/periodic build meta taglines 'test_installcheck: stap periodic.stp --all-modules -T 1' tag 'test_installcheck' value 'stap periodic.stp --all-modules -T 1' attempting command stap periodic.stp --all-modules -T 1 OUT #monitoring timer periods (press control-c for output) #type function period(us) count kernel 0xfffffc00016240c0 [stap_7869da3c7567b755a86bef4f1 11000 90 kernel 0xfffffc00016241e0 [stap_7869da3c7567b755a86bef4f1 21001 47 process xfsaild/dm-0(558) 51002 18 process rcu_sched(7) 71073 14 RC 0 PASS: systemtap.examples/profiling/periodic run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 pf2.stp' tag 'test_check' value 'stap -p4 pf2.stp' attempting command stap -p4 pf2.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1e/stap_1e2090d1a1fa55e85caede1af57a2c34_3385.ko RC 0 PASS: systemtap.examples/profiling/pf2 build meta taglines 'test_installcheck: stap pf2.stp -T 1' tag 'test_installcheck' value 'stap pf2.stp -T 1' attempting command stap pf2.stp -T 1 OUT RC 0 PASS: systemtap.examples/profiling/pf2 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 pf3.stp' tag 'test_check' value 'stap -p4 pf3.stp' attempting command stap -p4 pf3.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/stap_ec82ffff2ac4ca094dea3635fcfa6dec_5787.ko RC 0 PASS: systemtap.examples/profiling/pf3 build meta taglines 'test_installcheck: stap pf3.stp -T 6 --all-modules --ldd' tag 'test_installcheck' value 'stap pf3.stp -T 6 --all-modules --ldd' attempting command stap pf3.stp -T 6 --all-modules --ldd OUT --- 17844 samples recorded: k:kernel:arch_cpu_idle 17745 k:kernel:_raw_spin_unlock_irqrestore 32 k:kernel:_raw_spin_unlock_irq 30 k:kernel:__do_softirq 5 k:kernel:lock_acquire 5 k:kernel:_raw_write_unlock_irqrestore 4 k:kernel:rcu_process_callbacks 3 k:kernel:_raw_read_unlock_irqrestore 2 k:kernel:rcu_idle_exit 2 k:kernel:tick_nohz_idle_exit 2 u:/usr/lib64/libpython2.7.so.1.0:0x3ff85612ee8 1 k:stap_31e417fda9d2b7a17753128f6969ac4_18412:0xfffffc0001b62dd8 1 k:stap_31e417fda9d2b7a17753128f6969ac4_18412:0xfffffc0001b6cd98 1 k:stap_31e417fda9d2b7a17753128f6969ac4_18412:0xfffffc0001b6c780 1 k:kernel:_raw_spin_unlock 1 k:kernel:prepend_path 1 k:kernel:run_timer_softirq.part.19 1 k:kernel:run_timer_softirq 1 k:kernel:rcu_bh_qs 1 k:kernel:note_gp_changes 1 RC 0 PASS: systemtap.examples/profiling/pf3 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling sourcing pf4.tcl for systemtap.examples/profiling/pf4 meta taglines 'test_check: stap -p4 pf4.stp' tag 'test_check' value 'stap -p4 pf4.stp' attempting command stap -p4 pf4.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/95/stap_9526446dc5f801372cc699156ed4927f_4781.ko RC 0 PASS: systemtap.examples/profiling/pf4 build meta taglines 'test_installcheck: stap pf4.stp -T 6 --all-modules --ldd' tag 'test_installcheck' value 'stap pf4.stp -T 6 --all-modules --ldd' attempting command stap pf4.stp -T 6 --all-modules --ldd OUT WARNING: no or bad debug frame hdr WARNING: No binary search table for eh frame, doing slow linear search for stap_0e5214108640c117ab02d33d18bb9c0_18917 WARNING: too many pending (warning) messages WARNING: No binary search table for eh frame, doing slow linear search for /root/linux/vmlinux WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libc-2.17.so' WARNING: Missing unwind data for a module, rerun with 'stap -d (unknown; retry with -DDEBUG_UNWIND)' WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libpthread-2.17.so' WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libglib-2.0.so.0.4600.2' WARNING: Missing unwind data for a module, rerun with 'stap -d /usr/lib64/libpython2.7.so.1.0' --- 17598 samples recorded: 4981 hits on cpu 2 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 4981 hits on cpu 6 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 4978 hits on cpu 4 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 1035 hits on cpu 5 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 525 hits on cpu 7 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 516 hits on cpu 0 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] rest_init+0x164 [kernel] start_kernel+0x3ec [kernel] __primary_switched+0x30 [kernel] 0x0 (inexact) 422 hits on cpu 1 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 100 hits on cpu 3 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 7 hits on cpu 7 _raw_spin_unlock_irqrestore+0x44 [kernel] update_blocked_averages+0x3e8 [kernel] rebalance_domains+0x4c [kernel] run_rebalance_domains+0x1f4 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 3 hits on cpu 5 _raw_spin_unlock_irq+0x3c [kernel] expire_timers+0x144 [kernel] run_timer_softirq+0x80 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 2 hits on cpu 5 queue_work_on+0x54 [kernel] xgbe_service_timer+0x28 [amd_xgbe] call_timer_fn+0xd8 [kernel] expire_timers+0x154 [kernel] run_timer_softirq+0x80 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 2 hits on cpu 7 _raw_spin_unlock_irqrestore+0x44 [kernel] try_to_wake_up+0x25c [kernel] wake_up_process+0x28 [kernel] process_timeout+0x20 [kernel] call_timer_fn+0xd8 [kernel] expire_timers+0x154 [kernel] run_timer_softirq+0x80 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 2 hits on cpu 7 _raw_spin_unlock_irqrestore+0x44 [kernel] rcu_report_qs_rnp+0xd4 [kernel] rcu_process_callbacks+0x5cc [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 1 hits on cpu 0 _raw_write_unlock_irqrestore+0x44 [kernel] 0xfffffc0001fa31c0 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x31c0] 0xfffffc0001fb1538 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x11538] 0xfffffc0001faad60 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0xad60] 0xfffffc0001fb0ebc [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x10ebc] 0xfffffc0001fb1088 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x11088] task_work_run+0xd8 [kernel] get_signal+0x870 [kernel] do_signal+0x1e8 [kernel] do_notify_resume+0x6c [kernel] 1 hits on cpu 0 lock_release+0x2a8 [kernel] mntput_no_expire+0xf4 [kernel] mntput+0x2c [kernel] path_put+0x28 [kernel] 0xfffffc0001fb0e84 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x10e84] 0xfffffc0001fb1088 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x11088] task_work_run+0xd8 [kernel] get_signal+0x870 [kernel] do_signal+0x1e8 [kernel] do_notify_resume+0x6c [kernel] work_pending+0x10 [kernel] 0x0 (inexact) 1 hits on cpu 1 _raw_spin_unlock_irqrestore+0x44 [kernel] debug_object_deactivate+0x108 [kernel] rcu_process_callbacks+0x31c [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 1 hits on cpu 1 load_balance+0xa00 [kernel] rebalance_domains+0x218 [kernel] run_rebalance_domains+0x1f4 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) 1 hits on cpu 1 lock_release+0x2a8 [kernel] mntput_no_expire+0xf4 [kernel] mntput+0x2c [kernel] path_put+0x28 [kernel] 0xfffffc0001fb0e84 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x10e84] 0xfffffc0001fb1088 [stap_0e5214108640c117ab02d33d18bb9c0_18917+0x11088] task_work_run+0xd8 [kernel] get_signal+0x870 [kernel] do_signal+0x68 [kernel] do_notify_resume+0x6c [kernel] work_pending+0x10 [kernel] 0x0 (inexact) 1 hits on cpu 1 _raw_spin_unlock_irq+0x3c [kernel] run_timer_softirq.part.19+0xa8 [kernel] run_timer_softirq+0xb4 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el0_irq_naked+0x4c [kernel] 0x0 (inexact) 1 hits on cpu 1 update_group_capacity+0x34 [kernel] find_busiest_group+0x134 [kernel] load_balance+0x1e8 [kernel] rebalance_domains+0x218 [kernel] run_rebalance_domains+0x1f4 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) --- 3163 samples recorded: 1000 hits on cpu 2 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 1000 hits on cpu 4 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 1000 hits on cpu 6 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 162 hits on cpu 5 arch_cpu_idle+0x40 [kernel] default_idle_call+0x20 [kernel] cpu_startup_entry+0x208 [kernel] secondary_start_kernel+0x18c [kernel] 0x0 (inexact) 1 hits on cpu 5 queue_work_on+0x54 [kernel] xgbe_service_timer+0x28 [amd_xgbe] call_timer_fn+0xd8 [kernel] expire_timers+0x154 [kernel] run_timer_softirq+0x80 [kernel] __do_softirq+0x110 [kernel] irq_exit+0xb0 [kernel] __handle_domain_irq+0x78 [kernel] gic_handle_irq+0x64 [kernel] el1_irq+0xb8 [kernel] 0x0 (inexact) RC 0 PASS: systemtap.examples/profiling/pf4 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 sched_switch.stp' tag 'test_check' value 'stap -p4 sched_switch.stp' attempting command stap -p4 sched_switch.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_390b1d009f6fbf446e0b744f4287791f_13226.ko RC 0 PASS: systemtap.examples/profiling/sched_switch build meta taglines 'test_installcheck: stap sched_switch.stp -T 1' tag 'test_installcheck' value 'stap sched_switch.stp -T 1' attempting command stap sched_switch.stp -T 1 OUT stapio 3 1471380056619155285 19428: 120:S ==> 0: 120:R swapper/3 systemd-journal 3 1471380056619206813 630: 20:R + 1158: 20:R in:imjournal swapper/3 3 1471380056619214373 0: 120:R ==> 1158: 120:R in:imjournal systemd-journal 2 1471380056619225894 630: 120:S ==> 0: 120:R swapper/2 in:imjournal 2 1471380056619314549 1158: 20:R + 1158: 20:R rs:main Q:Reg swapper/2 2 1471380056619321447 0: 120:R ==> 1158: 120:R rs:main Q:Reg in:imjournal 3 1471380056619328757 1158: 120:S ==> 0: 120:R swapper/3 rs:main Q:Reg 2 1471380056619362048 1158: 120:S ==> 0: 120:R swapper/2 swapper/3 3 1471380056620109805 0: 20:R + 7: 20:R rcu_sched swapper/3 3 1471380056620117645 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 3 1471380056620134717 7: 120:S ==> 0: 120:R swapper/3 swapper/3 3 1471380056623145005 0: 20:R + 9276: 20:R kworker/3:1 swapper/3 3 1471380056623153157 0: 20:R + 28: 20:R ksoftirqd/3 swapper/3 3 1471380056623159717 0: 120:R ==> 9276: 120:R kworker/3:1 kworker/3:1 3 1471380056623171325 9276: 120:S ==> 28: 120:R ksoftirqd/3 ksoftirqd/3 3 1471380056623186989 28: 20:R + 9276: 20:R kworker/3:1 ksoftirqd/3 3 1471380056623303557 28: 120:S ==> 9276: 120:R kworker/3:1 kworker/3:1 3 1471380056623340693 9276: 120:S ==> 0: 120:R swapper/3 swapper/3 3 1471380056624093461 0: 20:R + 7: 20:R rcu_sched swapper/3 3 1471380056624107549 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 3 1471380056624123109 7: 120:S ==> 0: 120:R swapper/3 swapper/3 3 1471380056625098397 0: 20:R + 9276: 20:R kworker/3:1 swapper/3 3 1471380056625124501 0: 20:R + 28: 20:R ksoftirqd/3 swapper/3 3 1471380056625130133 0: 120:R ==> 9276: 120:R kworker/3:1 kworker/3:1 3 1471380056625141757 9276: 120:S ==> 28: 120:R ksoftirqd/3 ksoftirqd/3 3 1471380056625153189 28: 20:R + 9276: 20:R kworker/3:1 ksoftirqd/3 3 1471380056625691581 28: 120:S ==> 9276: 120:R kworker/3:1 kworker/3:1 3 1471380056625813397 9276: 120:S ==> 0: 120:R swapper/3 swapper/3 3 1471380056628092469 0: 20:R + 7: 20:R rcu_sched swapper/3 3 1471380056628102949 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 3 1471380056628117205 7: 120:S ==> 0: 120:R swapper/3 swapper/3 3 1471380056632092269 0: 20:R + 7: 20:R rcu_sched swapper/3 3 1471380056632104885 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 3 1471380056632112781 7: 20:R + 9276: 20:R kworker/3:1 rcu_sched 3 1471380056632122253 7: 120:S ==> 9276: 120:R kworker/3:1 kworker/3:1 3 1471380056632134173 9276: 120:S ==> 0: 120:R swapper/3 swapper/1 1 1471380056636094867 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056636113466 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056636126849 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380056687091515 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/3 3 1471380056687099581 0: 20:R + 9276: 20:R kworker/3:1 swapper/1 1 1471380056687103138 0: 20:R + 21182: 20:R kworker/1:1 swapper/3 3 1471380056687112677 0: 120:R ==> 9276: 120:R kworker/3:1 swapper/1 1 1471380056687116450 0: 120:R ==> 21182: 120:R kworker/1:1 kworker/3:1 3 1471380056687124853 9276: 120:S ==> 0: 120:R swapper/3 kworker/1:1 1 1471380056687127265 21182: 120:S ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056687141393 558: 120:S ==> 0: 120:R swapper/1 swapper/7 7 1471380056723100145 0: 20:R + 19754: 20:R kworker/7:2 swapper/6 6 1471380056723099617 0: 20:R + 2709: 20:R kworker/6:2 swapper/6 6 1471380056723118641 0: 120:R ==> 2709: 120:R kworker/6:2 swapper/7 7 1471380056723119697 0: 120:R ==> 19754: 120:R kworker/7:2 kworker/6:2 6 1471380056723130065 2709: 120:S ==> 0: 120:R swapper/6 swapper/0 0 1471380056723136377 0: 20:R + 7633: 20:R kworker/0:1 swapper/2 2 1471380056723141265 0: 20:R + 29049: 20:R kworker/2:1 swapper/4 4 1471380056723145263 0: 20:R + 2342: 20:R kworker/4:1 swapper/0 0 1471380056723146825 0: 120:R ==> 7633: 120:R kworker/0:1 swapper/5 5 1471380056723148761 0: 20:R + 15868: 20:R kworker/5:2 swapper/2 2 1471380056723150906 0: 120:R ==> 29049: 120:R kworker/2:1 swapper/4 4 1471380056723156574 0: 120:R ==> 2342: 120:R kworker/4:1 kworker/7:2 7 1471380056723159202 19754: 120:S ==> 0: 120:R swapper/7 swapper/5 5 1471380056723159369 0: 120:R ==> 15868: 120:R kworker/5:2 kworker/0:1 0 1471380056723162681 7633: 120:S ==> 0: 120:R swapper/0 kworker/2:1 2 1471380056723166426 29049: 120:S ==> 0: 120:R swapper/2 kworker/4:1 4 1471380056723171430 2342: 120:S ==> 0: 120:R swapper/4 kworker/5:2 5 1471380056723174329 15868: 120:S ==> 0: 120:R swapper/5 swapper/1 1 1471380056738092848 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056738106144 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056738117015 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380056789091592 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056789104344 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056789114255 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380056817458953 0: 20:R + 19428: 20:R stapio swapper/5 5 1471380056817469809 0: 120:R ==> 19428: 120:R stapio stapio 4 1471380056817507121 19428: 20:R + 5407: 20:R expect swapper/4 4 1471380056817513699 0: 120:R ==> 5407: 120:R expect stapio 5 1471380056817538425 19428: 120:S ==> 0: 120:R swapper/5 expect 4 1471380056817578321 5407: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380056840091096 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056840103752 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056840113648 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380056891090264 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056891102536 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056891112096 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380056892750406 0: 20:R + 3597: 20:R beah-rhts-task swapper/1 1 1471380056892760366 0: 120:R ==> 3597: 120:R beah-rhts-task beah-rhts-task 1 1471380056892943990 3597: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380056942092800 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056942107432 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056942118399 558: 120:S ==> 0: 120:R swapper/1 swapper/0 0 1471380056955101209 0: 20:R + 11: -100:R watchdog/0 swapper/0 0 1471380056955120305 0: 120:R ==> 11: 0:R watchdog/0 watchdog/0 0 1471380056955129425 11: 0:S ==> 0: 120:R swapper/0 swapper/1 1 1471380056957087081 0: 20:R + 14: -100:R watchdog/1 swapper/1 1 1471380056957098872 0: 120:R ==> 14: 0:R watchdog/1 watchdog/1 1 1471380056957107248 14: 0:S ==> 0: 120:R swapper/1 swapper/2 2 1471380056958102321 0: 20:R + 20: -100:R watchdog/2 swapper/2 2 1471380056958114553 0: 120:R ==> 20: 0:R watchdog/2 watchdog/2 2 1471380056958123625 20: 0:S ==> 0: 120:R swapper/2 swapper/3 3 1471380056959096137 0: 20:R + 26: -100:R watchdog/3 swapper/3 3 1471380056959108681 0: 120:R ==> 26: 0:R watchdog/3 watchdog/3 3 1471380056959117497 26: 0:S ==> 0: 120:R swapper/3 swapper/4 4 1471380056960090288 0: 20:R + 32: -100:R watchdog/4 swapper/4 4 1471380056960103312 0: 120:R ==> 32: 0:R watchdog/4 watchdog/4 4 1471380056960111960 32: 0:S ==> 0: 120:R swapper/4 swapper/5 5 1471380056961097513 0: 20:R + 38: -100:R watchdog/5 swapper/5 5 1471380056961109201 0: 120:R ==> 38: 0:R watchdog/5 watchdog/5 5 1471380056961117385 38: 0:S ==> 0: 120:R swapper/5 swapper/6 6 1471380056962098105 0: 20:R + 44: -100:R watchdog/6 swapper/6 6 1471380056962109753 0: 120:R ==> 44: 0:R watchdog/6 watchdog/6 6 1471380056962118505 44: 0:S ==> 0: 120:R swapper/6 swapper/7 7 1471380056963100545 0: 20:R + 50: -100:R watchdog/7 swapper/7 7 1471380056963112289 0: 120:R ==> 50: 0:R watchdog/7 watchdog/7 7 1471380056963120489 50: 0:S ==> 0: 120:R swapper/7 swapper/1 1 1471380056993090512 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380056993103736 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380056993113816 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057017741689 0: 20:R + 19428: 20:R stapio swapper/5 5 1471380057017752409 0: 120:R ==> 19428: 120:R stapio stapio 4 1471380057017769377 19428: 20:R + 5407: 20:R expect swapper/4 4 1471380057017769531 0: 120:R ==> 5407: 120:R expect stapio 5 1471380057017796625 19428: 120:S ==> 0: 120:R swapper/5 expect 4 1471380057017804074 5407: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380057044089057 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057044101600 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057044111496 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380057095088985 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057095101120 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057095110888 558: 120:S ==> 0: 120:R swapper/1 swapper/3 3 1471380057119659937 0: 20:R + 19428: 20:R stapio swapper/3 3 1471380057119671009 0: 120:R ==> 19428: 120:R stapio stapio 3 1471380057119698969 19428: 120:S ==> 0: 120:R swapper/3 swapper/1 1 1471380057146088585 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057146100952 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057146110704 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380057197088209 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057197100264 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057197109776 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057217997825 0: 20:R + 19428: 20:R stapio swapper/5 5 1471380057218009665 0: 120:R ==> 19428: 120:R stapio stapio 4 1471380057218026633 19428: 20:R + 5407: 20:R expect swapper/4 4 1471380057218020019 0: 120:R ==> 5407: 120:R expect stapio 5 1471380057218053169 19428: 120:S ==> 0: 120:R swapper/5 expect 4 1471380057218042858 5407: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380057248087905 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057248100136 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057248109792 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057259114593 0: 20:R + 17428: 20:R kworker/u16:1 swapper/5 5 1471380057259138169 0: 120:R ==> 17428: 120:R kworker/u16:1 kworker/u16:1 5 1471380057259155281 17428: 120:S ==> 0: 120:R swapper/5 swapper/1 1 1471380057299086833 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057299098984 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057299108680 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057323112641 0: 20:R + 17428: 20:R kworker/u16:1 swapper/5 5 1471380057323126961 0: 120:R ==> 17428: 120:R kworker/u16:1 kworker/u16:1 5 1471380057323136705 17428: 120:S ==> 0: 120:R swapper/5 swapper/4 4 1471380057346097992 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057346107624 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057346117984 7: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380057350084545 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/4 4 1471380057350091624 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057350101824 0: 120:R ==> 7: 120:R rcu_sched swapper/1 1 1471380057350098416 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057350108432 558: 120:S ==> 0: 120:R swapper/1 rcu_sched 4 1471380057350114208 7: 120:S ==> 0: 120:R swapper/4 swapper/4 4 1471380057354091576 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057354101368 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057354114584 7: 120:S ==> 0: 120:R swapper/4 swapper/4 4 1471380057358091648 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057358103456 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057358114088 7: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380057401086161 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057401099488 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057401109224 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057418255969 0: 20:R + 19428: 20:R stapio swapper/5 5 1471380057418266001 0: 120:R ==> 19428: 120:R stapio stapio 4 1471380057418282481 19428: 20:R + 5407: 20:R expect swapper/4 4 1471380057418268915 0: 120:R ==> 5407: 120:R expect stapio 5 1471380057418308553 19428: 120:S ==> 0: 120:R swapper/5 expect 4 1471380057418309417 5407: 120:S ==> 0: 120:R swapper/4 swapper/4 4 1471380057424096720 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057424105936 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057424115424 7: 120:S ==> 0: 120:R swapper/4 swapper/4 4 1471380057428091456 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057428101200 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057428114696 7: 120:S ==> 0: 120:R swapper/4 swapper/4 4 1471380057432091336 0: 20:R + 7: 20:R rcu_sched swapper/4 4 1471380057432103104 0: 120:R ==> 7: 120:R rcu_sched rcu_sched 4 1471380057432113456 7: 120:S ==> 0: 120:R swapper/4 swapper/1 1 1471380057452085721 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057452098840 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057452108576 558: 120:S ==> 0: 120:R swapper/1 swapper/2 2 1471380057500499679 0: 20:R + 1159: 20:R tuned swapper/2 2 1471380057500510183 0: 120:R ==> 1159: 120:R tuned tuned 2 1471380057500569680 1159: 120:S ==> 0: 120:R swapper/2 swapper/1 1 1471380057503087953 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057503102304 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057503113072 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380057554085785 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057554098056 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057554107536 558: 120:S ==> 0: 120:R swapper/1 swapper/1 1 1471380057605085121 0: 20:R + 558: 20:R xfsaild/dm-0 swapper/1 1 1471380057605097184 0: 120:R ==> 558: 120:R xfsaild/dm-0 xfsaild/dm-0 1 1471380057605106512 558: 120:S ==> 0: 120:R swapper/1 swapper/5 5 1471380057618507961 0: 20:R + 19428: 20:R stapio swapper/5 5 1471380057618518113 0: 120:R ==> 19428: 120:R stapio stapio 4 1471380057618534113 19428: 20:R + 5407: 20:R expect swapper/4 4 1471380057618514459 0: 120:R ==> 5407: 120:R expect stapio 5 1471380057618559609 19428: 120:S ==> 0: 120:R swapper/5 expect 4 1471380057618541306 5407: 120:S ==> 0: 120:R swapper/4 RC 0 PASS: systemtap.examples/profiling/sched_switch run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 thread-times.stp' tag 'test_check' value 'stap -p4 thread-times.stp' attempting command stap -p4 thread-times.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0f7baaac7bd6f1aea612f5b8d42844e_4295.ko RC 0 PASS: systemtap.examples/profiling/thread-times build meta taglines 'test_installcheck: stap thread-times.stp -T 1' tag 'test_installcheck' value 'stap thread-times.stp -T 1' attempting command stap thread-times.stp -T 1 OUT comm tid %user %kernel (of 3839 ticks) swapper/0 0 0.00% 26.04% swapper/1 0 0.00% 26.04% swapper/5 0 0.00% 25.99% swapper/4 0 0.00% 10.88% swapper/3 0 0.00% 3.02% swapper/2 0 0.00% 2.73% swapper/6 0 0.00% 2.60% swapper/7 0 0.00% 2.60% ksoftirqd/5 40 0.00% 0.02% kworker/u16:1 17428 0.00% 0.02% RC 0 PASS: systemtap.examples/profiling/thread-times run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 timeout.stp' tag 'test_check' value 'stap -p4 timeout.stp' attempting command stap -p4 timeout.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff35143e486ce94f74cfc8cd82ff269c_70196.ko RC 0 PASS: systemtap.examples/profiling/timeout build meta taglines 'test_installcheck: stap timeout.stp -T 1' tag 'test_installcheck' value 'stap timeout.stp -T 1' attempting command stap timeout.stp -T 1 OUT RC 0 PASS: systemtap.examples/profiling/timeout run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/profiling meta taglines 'test_check: stap -p4 topsys.stp' tag 'test_check' value 'stap -p4 topsys.stp' attempting command stap -p4 topsys.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_748a5b7089b1d56c4cc1f9c61cf4ddf6_146136.ko RC 0 PASS: systemtap.examples/profiling/topsys build meta taglines 'test_installcheck: stap topsys.stp -T 1' tag 'test_installcheck' value 'stap topsys.stp -T 1' attempting command stap topsys.stp -T 1 OUT WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) RC 0 PASS: systemtap.examples/profiling/topsys run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2008-0600.stp' tag 'test_check' value 'stap -gp1 cve-2008-0600.stp' attempting command stap -gp1 cve-2008-0600.stp OUT # parse tree dump # file cve-2008-0600.stp probe syscall.vmsplice{ printf("blocking vmsplice (%s) uid %d pid %d exec %s\\n", argstr, uid(), pid(), execname()); ($nr_segs) = (0); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2008-0600 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2012-0056.stp' tag 'test_check' value 'stap -gp1 cve-2012-0056.stp' attempting command stap -gp1 cve-2012-0056.stp OUT # parse tree dump # file cve-2012-0056.stp probe kernel.function("mem_write@fs/proc/base.c").call{ ($count) = (0); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2012-0056 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2013-2094.stp' tag 'test_check' value 'stap -gp1 cve-2013-2094.stp' attempting command stap -gp1 cve-2013-2094.stp OUT # parse tree dump # file cve-2013-2094.stp %{ #include %}probe kernel.function("perf_swevent_init").call{ sanitize_config($event); } function sanitize_config (event) %{ struct perf_event *event; #if STAP_COMPAT_VERSION >= STAP_VERSION(1,8) event = (struct perf_event *) (unsigned long) STAP_ARG_event; #else event = (struct perf_event *) (unsigned long) THIS->event; #endif event->attr.config &= INT_MAX; %} # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2013-2094 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2014-7169.stp' tag 'test_check' value 'stap -gp1 cve-2014-7169.stp' attempting command stap -gp1 cve-2014-7169.stp OUT # parse tree dump # file cve-2014-7169.stp probe process("/bin/bash").function("initialize_shell_variables"){ ($privmode) = (1); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2014-7169 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2015-0235.stp' tag 'test_check' value 'stap -gp1 cve-2015-0235.stp' attempting command stap -gp1 cve-2015-0235.stp OUT # parse tree dump # file cve-2015-0235.stp global added% global trap = 1 probe process("/lib*/libc.so.6").statement("__nss_hostname_digits_dots@*:87-102"){ if (!(added[tid()])) { (added[tid()]) = (1); printf("%s[%d] BOO! size_needed=%d ", execname(), tid(), $size_needed); if (trap) { ($size_needed) = (($size_needed) + (&@cast(0, "uintptr_t")[1])); printf("ghostbusted to %d", $size_needed); } ; printf("\\n"); } ; } probe process("/lib*/libc.so.6").function("__nss_hostname_digits_dots").return{ delete added[tid()]; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2015-0235 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2015-3456.stp' tag 'test_check' value 'stap -gp1 cve-2015-3456.stp' attempting command stap -gp1 cve-2015-3456.stp OUT # parse tree dump # file cve-2015-3456.stp global noted% probe process("/usr/bin/qemu-system-*").function("fdctrl_write"){ ($reg) = ((($reg) & (~(7))) | (6)); if (!(noted[pid()])) { (noted[pid()]) = (1); println("defanging fdc writes, pid=", pid()); } ; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2015-3456 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2015-7547.stp' tag 'test_check' value 'stap -gp1 cve-2015-7547.stp' attempting command stap -gp1 cve-2015-7547.stp OUT # parse tree dump # file cve-2015-7547.stp global T_UNSPEC = 62321 global T_A = 1 probe process("/lib*/libresolv.so.*").function("__libc_res_nquery"){ if (($type) == (T_UNSPEC)) { ($type) = (T_A); } ; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2015-7547 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/security-band-aids meta taglines 'test_check: stap -gp1 cve-2016-0728.stp' tag 'test_check' value 'stap -gp1 cve-2016-0728.stp' attempting command stap -gp1 cve-2016-0728.stp OUT # parse tree dump # file cve-2016-0728.stp global trace_p = 1 global fix_p = 0 global keyrings% global warned_keyrings_p global news% global warned_news_p probe kernel.statement("join_session_keyring@*+44")!,kernel.function("join_session_keyring").label("error2"){ if (@defined($keyring)) (keyring) = ($keyring) else { if (!((warned_keyrings_p)++)) warn("Using find_keyring_by_name $return heuristic for $keyring") ; (keyring) = (keyrings[tid()]); } ; if (@defined($new)) (new) = ($new) else { if (!((warned_news_p)++)) warn("Using prepare_creds $return heuristic for $new") ; (new) = (news[tid()]); } ; if ((keyring) == (@cast(new, "struct cred")->session_keyring)) { if (trace_p) printf("%s[%d] rejoin keyring %s %p %s\\n", execname(), tid(), $name->$, keyring, @cast(keyring, "struct key")->usage->$$) ; if (fix_p) do_key_put(keyring) ; if ((fix_p) && (trace_p)) printf("-> %p %s\\n", keyring, @cast(keyring, "struct key")->usage->$$) ; } ; } probe kernel.function("find_keyring_by_name").return{ (keyrings[tid()]) = ($return); } probe kernel.function("prepare_creds").return{ (news[tid()]) = ($return); } probe never{ println(keyrings[0]); println(news[0]); println((warned_keyrings_p) + (1)); println((warned_news_p) + (1)); } function do_key_put (ptr) %{ if (STAP_ARG_ptr != 0) key_put ((struct key *) STAP_ARG_ptr); %} # file probe timer.s(900){ error("probe timeout after 15 minutes"); } RC 0 PASS: systemtap.examples/security-band-aids/cve-2016-0728 build meta taglines '' tag 'test_installcheck' value '' PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -p4 2048.stp' tag 'test_support' value 'stap -p4 2048.stp' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/stapgames attempting command stap -p4 2048.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363.ko RC 0 PASS: systemtap.examples/stapgames/2048 support meta taglines 'test_check: stap -p4 2048.stp' tag 'test_check' value 'stap -p4 2048.stp' attempting command stap -p4 2048.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363.ko RC 0 PASS: systemtap.examples/stapgames/2048 build meta taglines 'test_installcheck: stap -p4 2048.stp' tag 'test_installcheck' value 'stap -p4 2048.stp' attempting command stap -p4 2048.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363.ko RC 0 PASS: systemtap.examples/stapgames/2048 run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/stapgames meta taglines 'test_check: stap -p4 -Itapset/ block.stp' tag 'test_check' value 'stap -p4 -Itapset/ block.stp' attempting command stap -p4 -Itapset/ block.stp OUT WARNING: cross-file global variable reference to identifier 'dx' at block.stp:15:24 from: identifier 'dx' at tapset/input.stp:51:17 source: if(code == 0) dx = value ^ WARNING: cross-file global variable reference to identifier 'dy' at block.stp:15:28 from: identifier 'dy' at :52:22 source: else if(code == 1) dy = value ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1897651bdad9a9a0ee55a8cdc94e315_10949.ko Number of similar warning messages suppressed: 8. Rerun with -v to see them. RC 0 PASS: systemtap.examples/stapgames/block build meta taglines 'test_installcheck: stap -p4 -Itapset/ block.stp' tag 'test_installcheck' value 'stap -p4 -Itapset/ block.stp' attempting command stap -p4 -Itapset/ block.stp OUT WARNING: cross-file global variable reference to identifier 'dx' at block.stp:15:24 from: identifier 'dx' at tapset/input.stp:51:17 source: if(code == 0) dx = value ^ WARNING: cross-file global variable reference to identifier 'dy' at block.stp:15:28 from: identifier 'dy' at :52:22 source: else if(code == 1) dy = value ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1897651bdad9a9a0ee55a8cdc94e315_10949.ko Number of similar warning messages suppressed: 8. Rerun with -v to see them. RC 0 PASS: systemtap.examples/stapgames/block run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/stapgames meta taglines 'test_check: stap -p4 -Itapset/ eater.stp' tag 'test_check' value 'stap -p4 -Itapset/ eater.stp' attempting command stap -p4 -Itapset/ eater.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea51d8afa650a674edec1f922ce94df9_12655.ko RC 0 PASS: systemtap.examples/stapgames/eater build meta taglines 'test_installcheck: stap -p4 -Itapset/ eater.stp' tag 'test_installcheck' value 'stap -p4 -Itapset/ eater.stp' attempting command stap -p4 -Itapset/ eater.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea51d8afa650a674edec1f922ce94df9_12655.ko RC 0 PASS: systemtap.examples/stapgames/eater run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines '' tag 'test_support' value '' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/stapgames meta taglines 'test_check: stap -p4 -Itapset/ lifegame.stp' tag 'test_check' value 'stap -p4 -Itapset/ lifegame.stp' attempting command stap -p4 -Itapset/ lifegame.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf61bb11d672ef092c144e0dd2d48a51_2634.ko RC 0 PASS: systemtap.examples/stapgames/lifegame build meta taglines 'test_installcheck: stap -p4 -Itapset/ lifegame.stp' tag 'test_installcheck' value 'stap -p4 -Itapset/ lifegame.stp' attempting command stap -p4 -Itapset/ lifegame.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf61bb11d672ef092c144e0dd2d48a51_2634.ko RC 0 PASS: systemtap.examples/stapgames/lifegame run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.function("tty_do_resize")' && stap -l 'kernel.function("input_event")'' tag 'test_support' value 'stap -l 'kernel.function("tty_do_resize")' && stap -l 'kernel.function("input_event")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/stapgames attempting command stap -l 'kernel.function("tty_do_resize")' && stap -l 'kernel.function("input_event")' OUT kernel.function("tty_do_resize@drivers/tty/tty_io.c:2334") kernel.function("input_event@drivers/input/input.c:428") RC 0 PASS: systemtap.examples/stapgames/pingpong support meta taglines 'test_check: stap -p4 -Itapset/ pingpong.stp' tag 'test_check' value 'stap -p4 -Itapset/ pingpong.stp' attempting command stap -p4 -Itapset/ pingpong.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_001878cda9b05dc95c2c07a82e43fcf0_11721.ko RC 0 PASS: systemtap.examples/stapgames/pingpong build meta taglines 'test_installcheck: stap -p4 -Itapset/ pingpong.stp' tag 'test_installcheck' value 'stap -p4 -Itapset/ pingpong.stp' attempting command stap -p4 -Itapset/ pingpong.stp OUT /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_001878cda9b05dc95c2c07a82e43fcf0_11721.ko RC 0 PASS: systemtap.examples/stapgames/pingpong run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'kernel.trace("kvm_entry")' && stap -l 'kernel.trace("kvm_exit")'' tag 'test_support' value 'stap -l 'kernel.trace("kvm_entry")' && stap -l 'kernel.trace("kvm_exit")'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/virtualization attempting command stap -l 'kernel.trace("kvm_entry")' && stap -l 'kernel.trace("kvm_exit")' OUT kernel.trace("kvm:kvm_entry") kernel.trace("kvm:kvm_exit") RC 0 PASS: systemtap.examples/virtualization/kvm_service_time support meta taglines 'test_check: stap -p4 kvm_service_time.stp' tag 'test_check' value 'stap -p4 kvm_service_time.stp' attempting command stap -p4 kvm_service_time.stp OUT semantic error: while processing probe kernel.trace("kvm_exit") semantic error: unable to find tracepoint variable '$exit_reason' (alternatives: $reason, $$name, $$parms, $$vars, $vcpu): identifier '$exit_reason' at kvm_service_time.stp:28:19 source: reason[tid()] = $exit_reason; ^ Pass 2: analysis failed. [man error::pass2] child process exited abnormally RC 1 FAIL: systemtap.examples/virtualization/kvm_service_time build meta taglines 'test_installcheck: stap kvm_service_time.stp -T 1' tag 'test_installcheck' value 'stap kvm_service_time.stp -T 1' UNTESTED: systemtap.examples/virtualization/kvm_service_time run PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'qemu.*.*.*?' || stap -l 'qemu.kvm.*?'' tag 'test_support' value 'stap -l 'qemu.*.*.*?' || stap -l 'qemu.kvm.*?'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/virtualization attempting command stap -l 'qemu.*.*.*?' || stap -l 'qemu.kvm.*?' OUT child process exited abnormally RC 1 UNTESTED: systemtap.examples/virtualization/qemu_count build PRETEST PWD=/root/systemtap_write/systemtap/testsuite meta taglines 'test_support: stap -l 'qemu.*.*.cpu_in?, qemu.kvm.cpu_in?' && stap -l 'qemu.*.*.cpu_out?, qemu.kvm.cpu_out?'' tag 'test_support' value 'stap -l 'qemu.*.*.cpu_in?, qemu.kvm.cpu_in?' && stap -l 'qemu.*.*.cpu_out?, qemu.kvm.cpu_out?'' TEST PWD=/root/systemtap_write/systemtap/testsuite/systemtap.examples/virtualization attempting command stap -l 'qemu.*.*.cpu_in?, qemu.kvm.cpu_in?' && stap -l 'qemu.*.*.cpu_out?, qemu.kvm.cpu_out?' OUT child process exited abnormally RC 1 UNTESTED: systemtap.examples/virtualization/qemu_io build RESTORED PWD=/root/systemtap_write/systemtap/testsuite testcase /root/systemtap_write/systemtap/testsuite/systemtap.examples/check.exp completed in 6376 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.exelib/exelib.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_lib.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -fPIC -shared -lm -o ./libuprobeslibgcc-O3default-debug.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_lib.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -fPIC -shared -lm -o ./libuprobeslibgcc-O3default-debug.so PASS: uprobeslibgcc-O3default-debug compile uprobes_lib.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe PASS: uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug compile uprobes_exe.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe PASS: uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug compile uprobes_exe.c Executing: objcopy --only-keep-debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe.debug Executing: objcopy --strip-debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe Executing: objcopy --add-gnu-debuglink=./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe.debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe PASS: uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug compile uprobes_exe.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe PASS: uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug compile uprobes_exe.c Executing: objcopy --only-keep-debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe.debug Executing: objcopy --strip-debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe Executing: objcopy --add-gnu-debuglink=./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe.debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_lib.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -fPIC -shared -lm -o ./libuprobeslibgcc-O3default-sep-debug.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_lib.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -fPIC -shared -lm -o ./libuprobeslibgcc-O3default-sep-debug.so PASS: uprobeslibgcc-O3default-sep-debug compile uprobes_lib.c Executing: objcopy --only-keep-debug ./libuprobeslibgcc-O3default-sep-debug.so ./libuprobeslibgcc-O3default-sep-debug.so.debug Executing: objcopy --strip-debug ./libuprobeslibgcc-O3default-sep-debug.so Executing: objcopy --add-gnu-debuglink=./libuprobeslibgcc-O3default-sep-debug.so.debug ./libuprobeslibgcc-O3default-sep-debug.so Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe PASS: uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug compile uprobes_exe.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -lm -o ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe PASS: uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug compile uprobes_exe.c Executing: objcopy --only-keep-debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe.debug Executing: objcopy --strip-debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe Executing: objcopy --add-gnu-debuglink=./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe.debug ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe PASS: uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug compile uprobes_exe.c Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.exelib/uprobes_exe.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O3 -L. -luprobeslibgcc-O3default-sep-debug -Wl,-rpath,. -fPIE -pie -lm -o ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe PASS: uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug compile uprobes_exe.c Executing: objcopy --only-keep-debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe.debug Executing: objcopy --strip-debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe Executing: objcopy --add-gnu-debuglink=./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe.debug ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x400868 : main_func+0x0/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffa4710c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x400868 : main_func+0x0/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffa4710c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ffa49407b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffa4940828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x4008b8 : main_func+0x50/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffa4710c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ffa49407b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffa49407ec : lib_func+0x34/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffa4940828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x4008b8 : main_func+0x50/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffa4710c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -22330 PASS: lib-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: mark-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: uname-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug print PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main_func PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_main PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x400868 : main_func+0x0/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffafcc0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x400868 : main_func+0x0/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffafcc0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ffafef07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffafef0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x4008b8 : main_func+0x50/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffafcc0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ffafef07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffafef07ec : lib_func+0x34/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ffafef0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x4008b8 : main_func+0x50/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ffafcc0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -22597 PASS: lib-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: mark-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: uname-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug print PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main_func PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_main PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x2aabceb0a5c : main_func+0x0/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb08f4 : main+0x24/0x38 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff8b2a0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aabceb0940 : _start+0x38/0x3c [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x2aabceb0a5c : main_func+0x0/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb0a94 : main_func+0x38/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb08f4 : main+0x24/0x38 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff8b2a0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aabceb0940 : _start+0x38/0x3c [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ff8b4d07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff8b4d0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x2aabceb0aac : main_func+0x50/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb0a94 : main_func+0x38/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb0a94 : main_func+0x38/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb08f4 : main+0x24/0x38 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff8b2a0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aabceb0940 : _start+0x38/0x3c [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ff8b4d07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff8b4d07ec : lib_func+0x34/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff8b4d0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x2aabceb0aac : main_func+0x50/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb0a94 : main_func+0x38/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb0a94 : main_func+0x38/0x64 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x2aabceb08f4 : main+0x24/0x38 [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff8b2a0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aabceb0940 : _start+0x38/0x3c [...besgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -22864 PASS: lib-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: mark-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: uname-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug print PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main_func PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_main PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe ./libuprobeslibgcc-O3default-debug.so -c ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x2aad7960a5c : main_func+0x0/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad79608f4 : main+0x24/0x38 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff88da0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aad7960940 : _start+0x38/0x3c [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x2aad7960a5c : main_func+0x0/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad7960a94 : main_func+0x38/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad79608f4 : main+0x24/0x38 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff88da0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aad7960940 : _start+0x38/0x3c [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ff88fd07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff88fd0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x2aad7960aac : main_func+0x50/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad7960a94 : main_func+0x38/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad7960a94 : main_func+0x38/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad79608f4 : main+0x24/0x38 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff88da0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aad7960940 : _start+0x38/0x3c [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ff88fd07b8 : lib_func+0x0/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff88fd07ec : lib_func+0x34/0x4c [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x3ff88fd0828 : lib_main+0x24/0x34 [...rite/systemtap/testsuite/libuprobeslibgcc-O3default-debug.so] 0x2aad7960aac : main_func+0x50/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad7960a94 : main_func+0x38/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad7960a94 : main_func+0x38/0x64 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x2aad79608f4 : main+0x24/0x38 [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] 0x3ff88da0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aad7960940 : _start+0x38/0x3c [...cc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -23131 PASS: lib-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: mark-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: uname-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug print PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug main_func PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_main PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x400868 : main_func+0x0/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff8d200c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x400868 : main_func+0x0/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff8d200c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ff8d4307b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff8d430828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x4008b8 : main_func+0x50/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff8d200c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ff8d4307b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff8d4307ec : lib_func+0x34/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff8d430828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x4008b8 : main_func+0x50/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff8d200c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...besgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -23398 PASS: lib-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: mark-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: uname-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug print PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main_func PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_main PASS: ustack-uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x400868 : main_func+0x0/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffaf090c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x400868 : main_func+0x0/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffaf090c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ffaf2c07b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffaf2c0828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x4008b8 : main_func+0x50/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffaf090c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ffaf2c07b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffaf2c07ec : lib_func+0x34/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffaf2c0828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x4008b8 : main_func+0x50/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4008a0 : main_func+0x38/0x64 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x4006f4 : main+0x24/0x38 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffaf090c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x400734 : _start+0x2c/0x48 [...cc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -23667 PASS: lib-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: mark-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: uname-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug print PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main_func PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_main PASS: ustack-uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x2aadb900a5c : main_func+0x0/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb9008f4 : main+0x24/0x38 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffa10c0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadb900940 : _start+0x38/0x3c [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x2aadb900a5c : main_func+0x0/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb900a94 : main_func+0x38/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb9008f4 : main+0x24/0x38 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffa10c0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadb900940 : _start+0x38/0x3c [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ffa12f07b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffa12f0828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x2aadb900aac : main_func+0x50/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb900a94 : main_func+0x38/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb900a94 : main_func+0x38/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb9008f4 : main+0x24/0x38 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffa10c0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadb900940 : _start+0x38/0x3c [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ffa12f07b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffa12f07ec : lib_func+0x34/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ffa12f0828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x2aadb900aac : main_func+0x50/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb900a94 : main_func+0x38/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb900a94 : main_func+0x38/0x64 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadb9008f4 : main+0x24/0x38 [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ffa10c0c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadb900940 : _start+0x38/0x3c [...cc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -23935 PASS: lib-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: mark-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: uname-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug print PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main_func PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_main PASS: ustack-uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.tcl for uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug Running: stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe spawn stap -w --ldd /root/systemtap_write/systemtap/testsuite/systemtap.exelib/libmarkunamestack.stp ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe ./libuprobeslibgcc-O3default-sep-debug.so -c ./uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe main exe: main=main main_func: 3 exe: main_func=main_func print_ubacktrace exe 0 0x2aadbeb0a5c : main_func+0x0/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb08f4 : main+0x24/0x38 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff94f50c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadbeb0940 : _start+0x38/0x3c [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 3 main_func: 2 exe: main_func=main_func print_usyms exe 1 0x2aadbeb0a5c : main_func+0x0/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb0a94 : main_func+0x38/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb08f4 : main+0x24/0x38 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff94f50c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadbeb0940 : _start+0x38/0x3c [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] main_count: 2 main_func: 1 exe: main_func=main_func main_count: 1 lib_main lib: lib_main=lib_main lib_func: 3 lib: lib_func=lib_func print_ubacktrace lib 2 0x3ff951807b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff95180828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x2aadbeb0aac : main_func+0x50/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb0a94 : main_func+0x38/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb0a94 : main_func+0x38/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb08f4 : main+0x24/0x38 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff94f50c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadbeb0940 : _start+0x38/0x3c [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 3 lib_func: 2 lib: lib_func=lib_func print_usyms lib 3 0x3ff951807b8 : lib_func+0x0/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff951807ec : lib_func+0x34/0x4c [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x3ff95180828 : lib_main+0x24/0x34 [.../systemtap/testsuite/libuprobeslibgcc-O3default-sep-debug.so] 0x2aadbeb0aac : main_func+0x50/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb0a94 : main_func+0x38/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb0a94 : main_func+0x38/0x64 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x2aadbeb08f4 : main+0x24/0x38 [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] 0x3ff94f50c94 : __libc_start_main+0xf0/0x1cc [/usr/lib64/libc-2.17.so] 0x2aadbeb0940 : _start+0x38/0x3c [...3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_exe] func_count: 2 lib_func: 1 lib: lib_func=lib_func func_count: 1 Executing: kill -INT -24206 PASS: lib-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: mark-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: uname-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug print PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug main_func PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_main PASS: ustack-uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug lib_func sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-debug_uprobeslibgcc-O3default-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-pie-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug sourcing: /root/systemtap_write/systemtap/testsuite/systemtap.exelib/cleanup.tcl for uprobesgcc-O3default-pie-sep-debug-uprobeslibgcc-O3default-sep-debug_uprobeslibgcc-O3default-sep-debug testcase /root/systemtap_write/systemtap/testsuite/systemtap.exelib/exelib.exp completed in 94 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.exelib/pthreadprobes.exp ... PASS: pthreadprobes Running: stap /root/systemtap_write/systemtap/testsuite/systemtap.exelib/pthreadprobes.stp /lib64/libpthread.so.0 -c ./pthreadprobes cond_destroy=0 wrlock_entry=1 rwlock_destroy=0 rdlock_entry=2 pthread_start=6 pthread_join_ret=4 pthread_join=4 pthread_create=6 mutex_timedlock_entry=4 mutex_timedlock_acquired=1 mutex_release=13 mutex_init=3 mutex_entry=15 mutex_destroy=1 mutex_acquired=15 cond_wait=3 cond_timedwait=0 cond_signal=2 cond_init=3 cond_broadcast=1 PASS: pthreadprobes cond_broadcast PASS: pthreadprobes cond_destroy PASS: pthreadprobes cond_init PASS: pthreadprobes cond_signal PASS: pthreadprobes cond_timedwait PASS: pthreadprobes cond_wait PASS: pthreadprobes mutex_acquired PASS: pthreadprobes mutex_destroy PASS: pthreadprobes mutex_entry PASS: pthreadprobes mutex_init PASS: pthreadprobes mutex_release PASS: pthreadprobes mutex_timedlock_acquired PASS: pthreadprobes mutex_timedlock_entry PASS: pthreadprobes pthread_create PASS: pthreadprobes pthread_join PASS: pthreadprobes pthread_join_ret PASS: pthreadprobes pthread_start PASS: pthreadprobes rdlock_entry PASS: pthreadprobes rwlock_destroy PASS: pthreadprobes wrlock_entry testcase /root/systemtap_write/systemtap/testsuite/systemtap.exelib/pthreadprobes.exp completed in 38 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.exp ... spawn stap -DMAXERRORS=20 /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp ERROR: empty aggregate near operator '@max' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:11:21 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:12:21 ERROR: empty aggregate near operator '@avg' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:13:21 ERROR: empty aggregate near identifier 'print' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:14:15 ERROR: empty aggregate near operator '@hist_log' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:15:17 ERROR: empty aggregate near operator '@max' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:21:21 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:22:21 ERROR: empty aggregate near operator '@avg' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:23:21 ERROR: empty aggregate near identifier 'print' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:24:15 ERROR: empty aggregate near operator '@hist_log' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:25:17 0 0 0 0 WARNING: Number of errors: 10, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: absentstats spawn stap -DMAXERRORS=20 /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp --compatible=1.4 ERROR: empty aggregate near operator '@sum' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:10:23 ERROR: empty aggregate near operator '@max' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:11:21 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:12:21 ERROR: empty aggregate near operator '@avg' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:13:21 ERROR: empty aggregate near identifier 'print' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:14:15 ERROR: empty aggregate near operator '@hist_log' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:15:17 ERROR: empty aggregate near operator '@sum' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:20:23 ERROR: empty aggregate near operator '@max' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:21:21 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:22:21 ERROR: empty aggregate near operator '@avg' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:23:21 ERROR: empty aggregate near identifier 'print' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:24:15 ERROR: empty aggregate near operator '@hist_log' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.stp:25:17 0 0 WARNING: Number of errors: 12, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: absentstats 1.4 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/absentstats.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/agg_delete.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/agg_delete1.stp [0, 0]: 12714 [0, 1]: 12715 [0, 0]: 25299 [0, 1]: 12585 [0, 0]: 37059 [0, 1]: 11760 [0, 0]: 48799 [0, 1]: 11740 PASS: agg_delete - individual delete spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/agg_delete2.stp [0, 0]: 12383 [0, 1]: 12384 [0, 0]: 27051 [0, 1]: 14668 [0, 0]: 44375 [0, 1]: 17324 [0, 0]: 60646 [0, 1]: 16271 PASS: agg_delete - clear array testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/agg_delete.exp completed in 50 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.exp ... executing: stap -DHIST_ELISION=-1 /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.stp PASS: elision-1 executing: stap -DHIST_ELISION=0 /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.stp PASS: elision0 executing: stap -DHIST_ELISION=1 /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.stp PASS: elision1 executing: stap -DHIST_ELISION=2 /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.stp PASS: elision2 executing: stap -DHIST_ELISION=3 /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.stp PASS: elision3 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/elision.exp completed in 24 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/exists.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/exists.stp PASS: systemtap.maps/exists.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/exists.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_fail.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_fail.stp semantic error: variable 'foo' modified during 'foreach' iteration: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_fail.stp:13:4 source: foo[i]++ ^ PASS: foreach_fail correctly failed to compile testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_fail.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_foreach.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_foreach.stp PASS: systemtap.maps/foreach_foreach.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_foreach.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit.stp PASS: systemtap.maps/foreach_limit.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit2.stp PASS: systemtap.maps/foreach_limit2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/foreach_limit2.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/hist_in_string.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/hist_in_string.stp PASS: systemtap.maps/hist_in_string.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/hist_in_string.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ii.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ii.stp PASS: systemtap.maps/ii.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ii.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/iiiiii.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/iiiiii.stp PASS: systemtap.maps/iiiiii.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/iiiiii.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/is.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/is.stp PASS: systemtap.maps/is.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/is.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix.stp PASS: systemtap.maps/ix.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear.stp foo[1] = 1 1 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear.stp:14:45 WARNING: Number of errors: 1, skipped probes: 0 PASS: ix_clear passed testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear2.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear2.stp foo[1] = 1 1 ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear2.stp:14:45 PASS: ix_clear2 passed testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear2.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear3.exp ... spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear3.stp ERROR: empty aggregate near operator '@min' at /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear3.stp:7:45 PASS: ix_clear3 passed testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_clear3.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_hist.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_hist.stp -DMAXACTION=10000 PASS: systemtap.maps/ix_hist.stp -DMAXACTION=10000 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ix_hist.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear.stp PASS: systemtap.maps/linear.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_0.exp ... spawn stap -DMAXACTION=10000 /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_0.stp WARNING: histogram: interval cannot be zero. ERROR: global variable '__global_agg' allocation failed WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: linear_0 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_0.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_bad.exp ... spawn stap -DMAXACTION=10000 /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_bad.stp WARNING: histogram: Number of buckets must be between 1 and 126 Number_of_buckets = (stop - start) / interval. Please adjust your start, stop, and interval values. ERROR: global variable '__global_agg' allocation failed WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: linear_bad testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_bad.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_empty.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_empty.stp -w PASS: systemtap.maps/linear_empty.stp -w testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_empty.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large.stp PASS: systemtap.maps/linear_large.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large_neg.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large_neg.stp PASS: systemtap.maps/linear_large_neg.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_large_neg.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_nearlyempty.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_nearlyempty.stp PASS: systemtap.maps/linear_nearlyempty.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_nearlyempty.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_neg.exp ... spawn stap -DMAXACTION=10000 /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_neg.stp WARNING: histogram: Number of buckets must be between 1 and 126 Number_of_buckets = (stop - start) / interval. Please adjust your start, stop, and interval values. ERROR: global variable '__global_agg' allocation failed WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: linear_neg testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_neg.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_over.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_over.stp -DMAXACTION=10000 PASS: systemtap.maps/linear_over.stp -DMAXACTION=10000 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_over.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_overunder.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_overunder.stp PASS: systemtap.maps/linear_overunder.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_overunder.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_under.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_under.stp -DMAXACTION=10000 PASS: systemtap.maps/linear_under.stp -DMAXACTION=10000 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/linear_under.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/log.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/log.stp PASS: systemtap.maps/log.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/log.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/log_edge.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/log_edge.stp PASS: systemtap.maps/log_edge.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/log_edge.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_II.stp -DMAPHASHBIAS=-9999 PASS: systemtap.maps/map_hash_II.stp -DMAPHASHBIAS=-9999 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_SI.stp PASS: systemtap.maps/map_hash_SI.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_SSI.stp PASS: systemtap.maps/map_hash_SSI.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_stat_II.stp PASS: systemtap.maps/map_hash_stat_II.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_stat_SI.stp PASS: systemtap.maps/map_hash_stat_SI.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_stat_SSI.stp -DMAPHASHBIAS=2 PASS: systemtap.maps/map_hash_stat_SSI.stp -DMAPHASHBIAS=2 testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash.exp completed in 62 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_interprocess.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_interprocess.stp -c true PASS: map_hash_interprocess testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_hash_interprocess.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_wrap.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_wrap1.stp PASS: systemtap.maps/map_wrap1.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_wrap2.stp PASS: systemtap.maps/map_wrap2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/map_wrap.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/pmap_agg_overflow.exp ... spawn stap -DMAXERRORS=1 -g /root/systemtap_write/systemtap/testsuite/systemtap.maps/pmap_agg_overflow.stp ERROR: aggregation overflow in global(s___global_stat) near keyword at /root/systemtap_write/systemtap/testsuite/systemtap.maps/pmap_agg_overflow.stp:28:5 ERROR: aggregation overflow in global(s___global_stat) near keyword at /root/systemtap_write/systemtap/testsuite/systemtap.maps/pmap_agg_overflow.stp:34:5 WARNING: Number of errors: 2, skipped probes: 0 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] PASS: pmap_agg_overflow testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/pmap_agg_overflow.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/si.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/si.stp PASS: systemtap.maps/si.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/si.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.maps/ss.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.maps/ss.stp PASS: systemtap.maps/ss.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.maps/ss.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/affection.exp ... running: stap -p3 -vvv -e global enabled = 0 // NB: we try not just 0/1 but other integral values too probe timer.s(5) { enabled = enabled ? 0 : 100; } expected affection: received affection: expected locking: 0 {__global_enabled[rw]} received locking: 0 {__global_enabled[rw]} PASS: affection - none running: stap -p3 -vvv -e global enabled = 0 probe timer.s(1) if (enabled != 0) { next } probe timer.s(5) { enabled = !enabled } expected affection: 1 0 received affection: 1 0 expected locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} received locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} PASS: affection - simple1 running: stap -p3 -vvv -e global enabled = 0 probe timer.s(5) { enabled = enabled ? 0 : -9999 } probe timer.s(1) if (enabled & 0xFFFF) { next } expected affection: 0 1 received affection: 0 1 expected locking: 0 {__global_enabled[rw]} 1 {__global_enabled[r]} received locking: 0 {__global_enabled[rw]} 1 {__global_enabled[r]} PASS: affection - simple2 running: stap -p3 -vvv -e global enabled = 0 probe timer.s(1) if (enabled) { enabled = !enabled } expected affection: 0 0 received affection: 0 0 expected locking: 0 {__global_enabled[rw]} received locking: 0 {__global_enabled[rw]} PASS: affection - self1 running: stap -p3 -vvv -e global enabled = 0 probe timer.s(5) { enabled = !enabled } probe timer.s(1) if (enabled * 1 != 0) { enabled = !enabled } expected affection: 0 1 1 1 received affection: 0 1 1 1 expected locking: 0 {__global_enabled[rw]} 1 {__global_enabled[rw]} received locking: 0 {__global_enabled[rw]} 1 {__global_enabled[rw]} PASS: affection - self2 running: stap -p3 -vvv -e global var1 = 0 global var2 = 1 global var3 probe timer.s(1) if (var1 && (var2 || var3)) { next } probe timer.s(5) { var1 = !var1 var2 = 0xFFFF // not just boolean range! var3 = var1 && var2 } expected affection: 1 0 received affection: 1 0 expected locking: 0 {__global_var1[r] __global_var2[r] __global_var3[r]} 1 {__global_var1[rw] __global_var2[rw] __global_var3[rw]} received locking: 0 {__global_var1[r] __global_var2[r] __global_var3[r]} 1 {__global_var1[rw] __global_var2[rw] __global_var3[rw]} PASS: affection - many_vars_1 running: stap -p3 -vvv -e global var1 = 0 global var2 = -1 global var3 probe timer.s(5) { var1 = !var1 } probe timer.s(7) { var2 = ~var2 } probe timer.s(11) { var3 = 1-var3 } probe timer.s(1) if (var1 && (var2 || var3)) { next } expected affection: 0 3 1 3 2 3 received affection: 0 3 1 3 2 3 expected locking: 0 {__global_var1[rw] __global_var2[r] __global_var3[r]} 1 {__global_var1[r] __global_var2[rw] __global_var3[r]} 2 {__global_var1[r] __global_var2[r] __global_var3[rw]} 3 {__global_var1[r] __global_var2[r] __global_var3[r]} received locking: 0 {__global_var1[rw] __global_var2[r] __global_var3[r]} 1 {__global_var1[r] __global_var2[rw] __global_var3[r]} 2 {__global_var1[r] __global_var2[r] __global_var3[rw]} 3 {__global_var1[r] __global_var2[r] __global_var3[r]} PASS: affection - many_vars_2 running: stap -p3 -vvv -e global var1 = 29 global var2 = -0x123 probe timer.s(1) if (var1 || var2) { next } probe timer.s(2) { var1-- } probe timer.s(3) { var2-- } expected affection: 1 0 2 0 received affection: 1 0 2 0 expected locking: 0 {__global_var1[r] __global_var2[r]} 1 {__global_var1[rw] __global_var2[r]} 2 {__global_var1[r] __global_var2[rw]} received locking: 0 {__global_var1[r] __global_var2[r]} 1 {__global_var1[rw] __global_var2[r]} 2 {__global_var1[r] __global_var2[rw]} PASS: affection - many_vars_3 running: stap -p3 -vvv -e global var1 = 0 probe timer.s(5) if (var1) { next } probe timer.s(7) if (!var1) { next } probe timer.s(11) { var1 = !var1 } expected affection: 2 0 2 1 received affection: 2 0 2 1 expected locking: 0 {__global_var1[r]} 1 {__global_var1[r]} 2 {__global_var1[rw]} received locking: 0 {__global_var1[r]} 1 {__global_var1[r]} 2 {__global_var1[rw]} PASS: affection - many_probes_1 running: stap -p3 -vvv -e global var1 = 0 global var2 = 1 global var3 probe timer.s(5) if (var1 || var2) { var1 = !var1 } probe timer.s(7) if (var3) { var2 = !var2 } probe timer.s(11) { var3 = !var3 } probe timer.s(1) if (var1 && (var2 || var3)) { next } expected affection: 0 0 0 3 1 0 1 3 2 1 2 3 received affection: 0 0 0 3 1 0 1 3 2 1 2 3 expected locking: 0 {__global_var1[rw] __global_var2[r] __global_var3[r]} 1 {__global_var1[r] __global_var2[rw] __global_var3[r]} 2 {__global_var1[r] __global_var2[r] __global_var3[rw]} 3 {__global_var1[r] __global_var2[r] __global_var3[r]} received locking: 0 {__global_var1[rw] __global_var2[r] __global_var3[r]} 1 {__global_var1[r] __global_var2[rw] __global_var3[r]} 2 {__global_var1[r] __global_var2[r] __global_var3[rw]} 3 {__global_var1[r] __global_var2[r] __global_var3[r]} PASS: affection - many_probes_2 running: stap -p3 -vvv -e global enabled = 0 probe timer.s(1) if (enabled) { next } function toggler() { enabled = !enabled } probe timer.s(5) { toggler() } expected affection: 1 0 received affection: 1 0 expected locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} received locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} PASS: affection - functions_1 running: stap -p3 -vvv -e global enabled = 0 probe timer.s(1) if (enabled) { next } function realtoggler() { enabled = !enabled } function faketoggler() { realtoggler() } probe timer.s(5) { faketoggler() } expected affection: 1 0 received affection: 1 0 expected locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} received locking: 0 {__global_enabled[r]} 1 {__global_enabled[rw]} PASS: affection - functions_2 running: stap -p3 -vvv -e global var1 = 0 global var2 = 1 function toggler1() { var2 = !var2 } probe timer.s(1) if (var1) { toggler1() } function toggler2() { var1 = !var1 } probe timer.s(2) if (!var2 || var1) { toggler2() } probe timer.s(5) { toggler1() toggler2() } expected affection: 0 1 1 0 1 1 2 0 2 1 received affection: 0 1 1 0 1 1 2 1 2 0 FAIL: affection - functions_3 (affection) testcase /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/affection.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/hrtimer_onthefly.exp ... UNTESTED: hrtimer_onthefly - dyninst_start_enabled (no dyninst) UNTESTED: hrtimer_onthefly - dyninst_start_disabled (no dyninst) PASS: hrtimer_onthefly - otf_finish_at_start_disabled (valid output) PASS: hrtimer_onthefly - otf_finish_at_start_enabled (valid output) PASS: hrtimer_onthefly - otf_start_disabled_iter_1 (valid output) PASS: hrtimer_onthefly - otf_start_enabled_iter_1 (valid output) PASS: hrtimer_onthefly - otf_start_disabled_iter_2 (valid output) PASS: hrtimer_onthefly - otf_start_enabled_iter_2 (valid output) PASS: hrtimer_onthefly - otf_start_disabled_iter_3 (valid output) PASS: hrtimer_onthefly - otf_start_enabled_iter_3 (valid output) PASS: hrtimer_onthefly - otf_start_disabled_iter_4 (valid output) PASS: hrtimer_onthefly - otf_start_enabled_iter_4 (valid output) PASS: hrtimer_onthefly - otf_start_disabled_iter_5 (valid output) PASS: hrtimer_onthefly - otf_start_enabled_iter_5 (valid output) PASS: hrtimer_onthefly - otf_timer_10ms (valid output) PASS: hrtimer_onthefly - otf_timer_5ms (valid output) Executing: kill -INT 7723 Executing: kill -KILL 7723 PASS: hrtimer_onthefly - otf_stress_2ms_iter_50 (survived) Executing: kill -INT 11639 Executing: kill -KILL 11639 kill: kill: sending signal to 11639 failed: No such process PASS: hrtimer_onthefly - otf_stress_1ms_iter_50 (survived) Executing: kill -INT 14878 Executing: kill -KILL 14878 PASS: hrtimer_onthefly - otf_stress_500us_iter_50 (survived) Executing: kill -INT 18534 Executing: kill -KILL 18534 kill: kill: sending signal to 18534 failed: No such process PASS: hrtimer_onthefly - otf_stress_100us_iter_50 (survived) Executing: kill -INT 21572 Executing: kill -KILL 21572 kill: kill: sending signal to 21572 failed: No such process PASS: hrtimer_onthefly - otf_stress_prof_iter_2000 (survived) Executing: kill -INT 24847 Executing: kill -KILL 24847 PASS: hrtimer_onthefly - otf_stress_hard_iter_2000 (survived) Executing: kill -INT 5593 Executing: kill -KILL 5593 kill: kill: sending signal to 5593 failed: No such process PASS: hrtimer_onthefly - otf_stress_max_iter_5000 (survived) testcase /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/hrtimer_onthefly.exp completed in 303 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/kprobes_onthefly.exp ... Executing: kill -INT 21392 Executing: kill -KILL 21392 PASS: kprobes_onthefly - otf_finish_at_start_disabled (valid output) Executing: kill -INT 27121 Executing: kill -KILL 27121 PASS: kprobes_onthefly - otf_finish_at_start_enabled (valid output) Executing: kill -INT 338 Executing: kill -KILL 338 PASS: kprobes_onthefly - otf_start_disabled_iter_1 (valid output) Executing: kill -INT 6348 Executing: kill -KILL 6348 kill: kill: sending signal to 6348 failed: No such process PASS: kprobes_onthefly - otf_start_enabled_iter_1 (valid output) Executing: kill -INT 11731 Executing: kill -KILL 11731 PASS: kprobes_onthefly - otf_start_disabled_iter_2 (valid output) Executing: kill -INT 17874 Executing: kill -KILL 17874 PASS: kprobes_onthefly - otf_start_enabled_iter_2 (valid output) Executing: kill -INT 24114 Executing: kill -KILL 24114 PASS: kprobes_onthefly - otf_start_disabled_iter_3 (valid output) Executing: kill -INT 30547 Executing: kill -KILL 30547 PASS: kprobes_onthefly - otf_start_enabled_iter_3 (valid output) Executing: kill -INT 4649 Executing: kill -KILL 4649 PASS: kprobes_onthefly - otf_start_disabled_iter_4 (valid output) Executing: kill -INT 11427 Executing: kill -KILL 11427 PASS: kprobes_onthefly - otf_start_enabled_iter_4 (valid output) Executing: kill -INT 18146 Executing: kill -KILL 18146 PASS: kprobes_onthefly - otf_start_disabled_iter_5 (valid output) Executing: kill -INT 25109 Executing: kill -KILL 25109 PASS: kprobes_onthefly - otf_start_enabled_iter_5 (valid output) Executing: kill -INT 32063 Executing: kill -KILL 32063 kill: kill: sending signal to 32063 failed: No such process PASS: kprobes_onthefly - otf_timer_100ms (valid output) Executing: kill -INT 4912 Executing: kill -KILL 4912 PASS: kprobes_onthefly - otf_timer_50ms (valid output) Executing: kill -INT 10474 Executing: kill -KILL 10474 PASS: kprobes_onthefly - otf_timer_10ms (valid output) Executing: kill -INT 15888 Executing: kill -KILL 15888 PASS: kprobes_onthefly - otf_stress_5ms_iter_50 (survived) Executing: kill -INT 21439 Executing: kill -KILL 21439 PASS: kprobes_onthefly - otf_stress_1ms_iter_50 (survived) Executing: kill -INT 26855 Executing: kill -KILL 26855 kill: kill: sending signal to 26855 failed: No such process PASS: kprobes_onthefly - otf_stress_500us_iter_50 (survived) Executing: kill -INT 31723 Executing: kill -KILL 31723 PASS: kprobes_onthefly - otf_stress_100us_iter_50 (survived) Executing: kill -INT 4738 Executing: kill -KILL 4738 kill: kill: sending signal to 4738 failed: No such process PASS: kprobes_onthefly - otf_stress_prof_iter_2000 (survived) Executing: kill -INT 10561 Executing: kill -KILL 10561 PASS: kprobes_onthefly - otf_stress_hard_iter_2000 (survived) Executing: kill -INT 15853 Executing: kill -KILL 15853 PASS: kprobes_onthefly - otf_stress_max_iter_5000 (survived) testcase /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/kprobes_onthefly.exp completed in 373 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/tracepoint_onthefly.exp ... Executing: kill -INT 20003 Executing: kill -KILL 20003 KFAIL: tracepoint_onthefly - otf_finish_at_start_disabled (invalid output) (PRMS: 17256) Executing: kill -INT 24874 Executing: kill -KILL 24874 PASS: tracepoint_onthefly - otf_finish_at_start_enabled (valid output) Executing: kill -INT 29732 Executing: kill -KILL 29732 expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit KFAIL: tracepoint_onthefly - otf_start_disabled_iter_1 (invalid output) (PRMS: 17256) Executing: kill -INT 2587 Executing: kill -KILL 2587 KFAIL: tracepoint_onthefly - otf_start_enabled_iter_1 (invalid output) (PRMS: 17256) Executing: kill -INT 7742 Executing: kill -KILL 7742 expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_start_disabled_iter_2 (invalid output) (PRMS: 17256) Executing: kill -INT 13242 Executing: kill -KILL 13242 expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit KFAIL: tracepoint_onthefly - otf_start_enabled_iter_2 (invalid output) (PRMS: 17256) Executing: kill -INT 18669 Executing: kill -KILL 18669 expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit KFAIL: tracepoint_onthefly - otf_start_disabled_iter_3 (invalid output) (PRMS: 17256) Executing: kill -INT 24419 Executing: kill -KILL 24419 kill: kill: sending signal to 24419 failed: No such process expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_start_enabled_iter_3 (invalid output) (PRMS: 17256) Executing: kill -INT 29584 Executing: kill -KILL 29584 expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_start_disabled_iter_4 (invalid output) (PRMS: 17256) Executing: kill -INT 3187 Executing: kill -KILL 3187 kill: kill: sending signal to 3187 failed: No such process expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit KFAIL: tracepoint_onthefly - otf_start_enabled_iter_4 (invalid output) (PRMS: 17256) Executing: kill -INT 8515 Executing: kill -KILL 8515 expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: toggling expected: * not registering (tracepoint) pidx ? received: hit KFAIL: tracepoint_onthefly - otf_start_disabled_iter_5 (invalid output) (PRMS: 17256) Executing: kill -INT 14804 Executing: kill -KILL 14804 kill: kill: sending signal to 14804 failed: No such process expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_start_enabled_iter_5 (invalid output) (PRMS: 17256) Executing: kill -INT 20491 Executing: kill -KILL 20491 expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_timer_100ms (invalid output) (PRMS: 17256) Executing: kill -INT 25517 Executing: kill -KILL 25517 expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_timer_50ms (invalid output) (PRMS: 17256) Executing: kill -INT 30293 Executing: kill -KILL 30293 kill: kill: sending signal to 30293 failed: No such process expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: toggling expected: * unregistering (tracepoint) pidx ? received: hit expected: * unregistering (tracepoint) pidx ? received: toggling KFAIL: tracepoint_onthefly - otf_timer_10ms (invalid output) (PRMS: 17256) Executing: kill -INT 2122 Executing: kill -KILL 2122 kill: kill: sending signal to 2122 failed: No such process PASS: tracepoint_onthefly - otf_stress_5ms_iter_50 (survived) Executing: kill -INT 6387 Executing: kill -KILL 6387 PASS: tracepoint_onthefly - otf_stress_1ms_iter_50 (survived) Executing: kill -INT 11080 Executing: kill -KILL 11080 kill: kill: sending signal to 11080 failed: No such process PASS: tracepoint_onthefly - otf_stress_500us_iter_50 (survived) Executing: kill -INT 15137 Executing: kill -KILL 15137 PASS: tracepoint_onthefly - otf_stress_100us_iter_50 (survived) Executing: kill -INT 19790 Executing: kill -KILL 19790 PASS: tracepoint_onthefly - otf_stress_prof_iter_2000 (survived) Executing: kill -INT 24601 Executing: kill -KILL 24601 kill: kill: sending signal to 24601 failed: No such process PASS: tracepoint_onthefly - otf_stress_hard_iter_2000 (survived) testcase /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/tracepoint_onthefly.exp completed in 268 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/uprobes_onthefly.exp ... PASS: uprobes_onthefly (compilation) Executing: kill -INT 30752 PASS: uprobes_onthefly - otf_finish_at_start_disabled (valid output) Executing: kill -INT 31005 PASS: uprobes_onthefly - otf_finish_at_start_enabled (valid output) Executing: kill -INT 31258 PASS: uprobes_onthefly - otf_start_disabled_iter_1 (valid output) Executing: kill -INT 31511 PASS: uprobes_onthefly - otf_start_enabled_iter_1 (valid output) Executing: kill -INT 31764 PASS: uprobes_onthefly - otf_start_disabled_iter_2 (valid output) Executing: kill -INT 32019 PASS: uprobes_onthefly - otf_start_enabled_iter_2 (valid output) Executing: kill -INT 32273 PASS: uprobes_onthefly - otf_start_disabled_iter_3 (valid output) Executing: kill -INT 32526 PASS: uprobes_onthefly - otf_start_enabled_iter_3 (valid output) Executing: kill -INT 311 PASS: uprobes_onthefly - otf_start_disabled_iter_4 (valid output) Executing: kill -INT 591 PASS: uprobes_onthefly - otf_start_enabled_iter_4 (valid output) Executing: kill -INT 901 PASS: uprobes_onthefly - otf_start_disabled_iter_5 (valid output) Executing: kill -INT 1155 PASS: uprobes_onthefly - otf_start_enabled_iter_5 (valid output) Executing: kill -INT 1414 PASS: uprobes_onthefly - otf_timer_100ms (valid output) Executing: kill -INT 1669 PASS: uprobes_onthefly - otf_timer_50ms (valid output) Executing: kill -INT 1923 PASS: uprobes_onthefly - otf_stress_10ms_iter_50 (survived) Executing: kill -INT 2180 PASS: uprobes_onthefly - otf_stress_5ms_iter_50 (survived) Executing: kill -INT 2442 PASS: uprobes_onthefly - otf_stress_1ms_iter_50 (survived) Executing: kill -INT 2697 PASS: uprobes_onthefly - otf_stress_500us_iter_50 (survived) Executing: kill -INT 2953 PASS: uprobes_onthefly - otf_stress_100us_iter_50 (survived) Executing: kill -INT 3207 PASS: uprobes_onthefly - otf_stress_prof_iter_2000 (survived) Executing: kill -INT 3463 PASS: uprobes_onthefly - otf_stress_hard_iter_2000 (survived) Executing: kill -INT 4550 PASS: uprobes_onthefly - otf_stress_max_iter_5000 (survived) testcase /root/systemtap_write/systemtap/testsuite/systemtap.onthefly/uprobes_onthefly.exp completed in 346 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildko.exp ... Running /root/systemtap_write/systemtap/testsuite/buildko/global_access.stp starting /root/systemtap_write/systemtap/testsuite/buildko/global_access.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildko/global_access.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildko/global_access.stp In file included from /root/systemtap_write/install/share/systemtap/runtime/common_session_state.h:12:0, from /tmp/stapIC1iyB/stap_88aba848a431066a9802376be89007b4_1500_src.c:140: /tmp/stapIC1iyB/stap_88aba848a431066a9802376be89007b4_1500_src.c: In function 'function___global_write__overload_0': /root/systemtap_write/install/share/systemtap/runtime/linux/common_session_state.h:51:45: error: assignment makes integer from pointer without a cast [-Werror] #define global_set(name, val) (global(name) = (val)) ^ /tmp/stapIC1iyB/stap_88aba848a431066a9802376be89007b4_1500_src.c:301:36: note: in expansion of macro 'global_set' #define STAP_GLOBAL_SET_var(val) global_set(s___global_var, val) ^ /tmp/stapIC1iyB/stap_88aba848a431066a9802376be89007b4_1500_src.c:304:3: note: in expansion of macro 'STAP_GLOBAL_SET_var' STAP_GLOBAL_SET_var("test"); ^ cc1: all warnings being treated as errors make[4]: *** [/tmp/stapIC1iyB/stap_88aba848a431066a9802376be89007b4_1500_src.o] Error 1 make[3]: *** [_module_/tmp/stapIC1iyB] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] wait results: 5649 exp36 0 1 XFAIL: buildko/global_access.stp Running /root/systemtap_write/systemtap/testsuite/buildko/one.stp starting /root/systemtap_write/systemtap/testsuite/buildko/one.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildko/one.stp spawn /root/systemtap_write/systemtap/testsuite/buildko/one.stp /tmp/stapwk45Nw/stap_2469c429ba0df0817edd600bd13d5ddd_1688_src.c: In function 'function___global_get_release__overload_0': /tmp/stapwk45Nw/stap_2469c429ba0df0817edd600bd13d5ddd_1688_src.c:259:15: error: assignment makes pointer from integer without a cast [-Werror] STAP_RETVALUE = 5; ^ cc1: all warnings being treated as errors make[4]: *** [/tmp/stapwk45Nw/stap_2469c429ba0df0817edd600bd13d5ddd_1688_src.o] Error 1 make[3]: *** [_module_/tmp/stapwk45Nw] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] wait results: 5847 exp36 0 1 XFAIL: buildko/one.stp Running /root/systemtap_write/systemtap/testsuite/buildko/three.stp starting /root/systemtap_write/systemtap/testsuite/buildko/three.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildko/three.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildko/three.stp /tmp/staphlLzRr/stap_fe1631ec6e1834d725e451bb6978ed14_1359_src.c: In function 'probe_2760': /tmp/staphlLzRr/stap_fe1631ec6e1834d725e451bb6978ed14_1359_src.c:122:39: error: 'SYNTAX' undeclared (first use in this function) (void) (((int64_t) ( /* not pure */ SYNTAX ERROR ))); ^ /tmp/staphlLzRr/stap_fe1631ec6e1834d725e451bb6978ed14_1359_src.c:122:39: note: each undeclared identifier is reported only once for each function it appears in /tmp/staphlLzRr/stap_fe1631ec6e1834d725e451bb6978ed14_1359_src.c:122:46: error: expected ')' before 'ERROR' (void) (((int64_t) ( /* not pure */ SYNTAX ERROR ))); ^ make[4]: *** [/tmp/staphlLzRr/stap_fe1631ec6e1834d725e451bb6978ed14_1359_src.o] Error 1 make[3]: *** [_module_/tmp/staphlLzRr] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] wait results: 6046 exp36 0 1 XFAIL: buildko/three.stp Running /root/systemtap_write/systemtap/testsuite/buildko/two.stp starting /root/systemtap_write/systemtap/testsuite/buildko/two.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildko/two.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildko/two.stp In file included from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:279:0: /root/systemtap_write/install/share/systemtap/runtime/map-gen.c:324:2: error: #error "excessive key arity == too many array indexes" #error "excessive key arity == too many array indexes" ^ In file included from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:304:0: /root/systemtap_write/install/share/systemtap/runtime/map-gen.c:324:2: error: #error "excessive key arity == too many array indexes" #error "excessive key arity == too many array indexes" ^ In file included from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:328:0: /root/systemtap_write/install/share/systemtap/runtime/map-gen.c:324:2: error: #error "excessive key arity == too many array indexes" #error "excessive key arity == too many array indexes" ^ In file included from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:353:0: /root/systemtap_write/install/share/systemtap/runtime/map-gen.c:324:2: error: #error "excessive key arity == too many array indexes" #error "excessive key arity == too many array indexes" ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'probe_2760': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1082:7: error: implicit declaration of function '_stp_map_set_isisisisiss' [-Werror=implicit-function-declaration] { int rc = _stp_map_set_isisisisiss (global(s___global_a10), ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", (l->__tmp11[0] ? l->__tmp11 : NULL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1090:7: error: implicit declaration of function '_stp_map_set_sisisisisii' [-Werror=implicit-function-declaration] { int rc = _stp_map_set_sisisisisii (global(s___global_b10), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), l->__tmp24); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1097:7: error: implicit declaration of function '_stp_pmap_add_isisisisisx' [-Werror=implicit-function-declaration] { int rc = _stp_pmap_add_isisisisisx (global(s___global_c10), ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1104:7: error: implicit declaration of function '_stp_pmap_add_sisisisisix' [-Werror=implicit-function-declaration] { int rc = _stp_pmap_add_sisisisisix (global(s___global_d10), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), ((int64_t)0LL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'probe_2763': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1152:5: error: implicit declaration of function '_stp_map_sort_isisisisiss' [-Werror=implicit-function-declaration] _stp_map_sort_isisisisiss (global(s___global_a10), 0, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1163:7: error: implicit declaration of function '_stp_map_key_get_int64_isisisisiss' [-Werror=implicit-function-declaration] l->l___idx0 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1164:7: error: implicit declaration of function '_stp_map_key_get_str_isisisisiss' [-Werror=implicit-function-declaration] strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1164:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1166:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx3, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 4) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1168:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx5, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 6) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1170:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx7, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 8) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1172:80: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx9, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 10) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1173:7: error: implicit declaration of function '_stp_map_get_str_isisisisiss' [-Werror=implicit-function-declaration] strlcpy (l->l___val, (_stp_map_get_str_isisisisiss (l->__tmp0) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1173:71: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___val, (_stp_map_get_str_isisisisiss (l->__tmp0) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'probe_2765': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1241:5: error: implicit declaration of function '_stp_map_sort_sisisisisii' [-Werror=implicit-function-declaration] _stp_map_sort_sisisisisii (global(s___global_b10), 0, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1252:7: error: implicit declaration of function '_stp_map_key_get_str_sisisisisii' [-Werror=implicit-function-declaration] strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1252:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1253:7: error: implicit declaration of function '_stp_map_key_get_int64_sisisisisii' [-Werror=implicit-function-declaration] l->l___idx1 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 2); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1254:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx2, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 3) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1256:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx4, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 5) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1258:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx6, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 7) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1260:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx8, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 9) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1262:7: error: implicit declaration of function '_stp_map_get_int64_sisisisisii' [-Werror=implicit-function-declaration] l->l___val = _stp_map_get_int64_sisisisisii (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'probe_2767': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1329:5: error: implicit declaration of function '_stp_pmap_agg_isisisisisx' [-Werror=implicit-function-declaration] if (unlikely(NULL == _stp_pmap_agg_isisisisisx (global(s___global_c10)))) { ^ In file included from ./include/asm-generic/bug.h:4:0, from ./arch/arm64/include/asm/bug.h:62, from ./include/linux/bug.h:4, from ./include/linux/mmdebug.h:4, from ./include/linux/gfp.h:4, from /root/systemtap_write/install/share/systemtap/runtime/linux/runtime_defines.h:20, from /root/systemtap_write/install/share/systemtap/runtime/runtime_defines.h:8, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:10: /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1329:23: error: comparison between pointer and integer [-Werror] if (unlikely(NULL == _stp_pmap_agg_isisisisisx (global(s___global_c10)))) { ^ ./include/linux/compiler.h:168:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1335:7: error: implicit declaration of function '_stp_map_sort_isisisisisx' [-Werror=implicit-function-declaration] _stp_map_sort_isisisisisx (_stp_pmap_get_agg(global(s___global_c10)), SORT_COUNT, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1346:7: error: implicit declaration of function '_stp_map_key_get_int64_isisisisisx' [-Werror=implicit-function-declaration] l->l___idx0 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1347:7: error: implicit declaration of function '_stp_map_key_get_str_isisisisisx' [-Werror=implicit-function-declaration] strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1347:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1349:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx3, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 4) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1351:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx5, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 6) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1353:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx7, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 8) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1355:80: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx9, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 10) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1370:11: error: implicit declaration of function '_stp_map_get_stat_data_isisisisisx' [-Werror=implicit-function-declaration] l->__tmp12 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1370:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp12 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1379:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp15 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1391:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp18 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1403:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp21 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1412:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp24 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'probe_2769': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1479:5: error: implicit declaration of function '_stp_pmap_agg_sisisisisix' [-Werror=implicit-function-declaration] if (unlikely(NULL == _stp_pmap_agg_sisisisisix (global(s___global_d10)))) { ^ In file included from ./include/asm-generic/bug.h:4:0, from ./arch/arm64/include/asm/bug.h:62, from ./include/linux/bug.h:4, from ./include/linux/mmdebug.h:4, from ./include/linux/gfp.h:4, from /root/systemtap_write/install/share/systemtap/runtime/linux/runtime_defines.h:20, from /root/systemtap_write/install/share/systemtap/runtime/runtime_defines.h:8, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:10: /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1479:23: error: comparison between pointer and integer [-Werror] if (unlikely(NULL == _stp_pmap_agg_sisisisisix (global(s___global_d10)))) { ^ ./include/linux/compiler.h:168:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1485:7: error: implicit declaration of function '_stp_map_sort_sisisisisix' [-Werror=implicit-function-declaration] _stp_map_sort_sisisisisix (_stp_pmap_get_agg(global(s___global_d10)), SORT_COUNT, 1); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1496:7: error: implicit declaration of function '_stp_map_key_get_str_sisisisisix' [-Werror=implicit-function-declaration] strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1496:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1497:7: error: implicit declaration of function '_stp_map_key_get_int64_sisisisisix' [-Werror=implicit-function-declaration] l->l___idx1 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 2); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1498:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx2, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 3) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1500:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx4, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 5) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1502:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx6, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 7) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1504:79: error: pointer/integer type mismatch in conditional expression [-Werror] strlcpy (l->l___idx8, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 9) ?: ""), MAXSTRINGLEN); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1520:11: error: implicit declaration of function '_stp_map_get_stat_data_sisisisisix' [-Werror=implicit-function-declaration] l->__tmp12 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1520:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp12 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1529:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp15 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1541:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp18 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1553:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp21 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1562:22: error: assignment makes pointer from integer without a cast [-Werror] l->__tmp24 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c: In function 'systemtap_module_init': /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2005:3: error: implicit declaration of function '_stp_map_new_isisisisiss' [-Werror=implicit-function-declaration] global_set(s___global_a10, _stp_map_new_isisisisiss (MAXMAPENTRIES, 0)); if (global(s___global_a10) == NULL) rc = -ENOMEM; ^ In file included from /root/systemtap_write/install/share/systemtap/runtime/common_session_state.h:12:0, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1043: /root/systemtap_write/install/share/systemtap/runtime/linux/common_session_state.h:51:45: error: assignment makes pointer from integer without a cast [-Werror] #define global_set(name, val) (global(name) = (val)) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2005:3: note: in expansion of macro 'global_set' global_set(s___global_a10, _stp_map_new_isisisisiss (MAXMAPENTRIES, 0)); if (global(s___global_a10) == NULL) rc = -ENOMEM; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2014:3: error: implicit declaration of function '_stp_map_new_sisisisisii' [-Werror=implicit-function-declaration] global_set(s___global_b10, _stp_map_new_sisisisisii (MAXMAPENTRIES, 0)); if (global(s___global_b10) == NULL) rc = -ENOMEM; ^ In file included from /root/systemtap_write/install/share/systemtap/runtime/common_session_state.h:12:0, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1043: /root/systemtap_write/install/share/systemtap/runtime/linux/common_session_state.h:51:45: error: assignment makes pointer from integer without a cast [-Werror] #define global_set(name, val) (global(name) = (val)) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2014:3: note: in expansion of macro 'global_set' global_set(s___global_b10, _stp_map_new_sisisisisii (MAXMAPENTRIES, 0)); if (global(s___global_b10) == NULL) rc = -ENOMEM; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2023:3: error: implicit declaration of function '_stp_pmap_new_isisisisisx' [-Werror=implicit-function-declaration] global_set(s___global_c10, _stp_pmap_new_isisisisisx (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_c10) == NULL) rc = -ENOMEM; ^ In file included from /root/systemtap_write/install/share/systemtap/runtime/common_session_state.h:12:0, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1043: /root/systemtap_write/install/share/systemtap/runtime/linux/common_session_state.h:51:45: error: assignment makes pointer from integer without a cast [-Werror] #define global_set(name, val) (global(name) = (val)) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2023:3: note: in expansion of macro 'global_set' global_set(s___global_c10, _stp_pmap_new_isisisisisx (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_c10) == NULL) rc = -ENOMEM; ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2032:3: error: implicit declaration of function '_stp_pmap_new_sisisisisix' [-Werror=implicit-function-declaration] global_set(s___global_d10, _stp_pmap_new_sisisisisix (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_d10) == NULL) rc = -ENOMEM; ^ In file included from /root/systemtap_write/install/share/systemtap/runtime/common_session_state.h:12:0, from /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:1043: /root/systemtap_write/install/share/systemtap/runtime/linux/common_session_state.h:51:45: error: assignment makes pointer from integer without a cast [-Werror] #define global_set(name, val) (global(name) = (val)) ^ /tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.c:2032:3: note: in expansion of macro 'global_set' global_set(s___global_d10, _stp_pmap_new_sisisisisix (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_d10) == NULL) rc = -ENOMEM; ^ cc1: all warnings being treated as errors make[4]: *** [/tmp/stapWWmsQj/stap_5ee71d06a4e3dc03a08435d3c2b38abf_4879_src.o] Error 1 make[3]: *** [_module_/tmp/stapWWmsQj] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] wait results: 6245 exp36 0 1 XFAIL: buildko/two.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildko.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok-dyninst.exp ... UNTESTED: buildok (dyninst) : no dyninst support found testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok-dyninst.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok-interactive.exp ... spawn stap -i -vp4 PASS: Started stap -i running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp' PASS: buildok/alias_suffixes01.stp (interactive) - arg parsing Sending "delete" to stapi delete Example commands: 'sample', 'add', 'run', 'help' stap> delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes01.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp stap> PASS: buildok/alias_suffixes01.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43840res/2624shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stap8tAn1m/stap_4c592b7fda0e8f933b06972feaf95f40_1113_src.c" using 56256virt/47168res/5248shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4c592b7fda0e8f933b06972feaf95f40_1113.ko Pass 4: compiled C into "stap_4c592b7fda0e8f933b06972feaf95f40_1113.ko" in 0usr/14000sys/14409real ms. stap> PASS: buildok/alias_suffixes01.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43392res/2176shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4c592b7fda0e8f933b06972feaf95f40_1113.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4c592b7fda0e8f933b06972feaf95f40_1113.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4c592b7fda0e8f933b06972feaf95f40_1113.ko stap> PASS: buildok/alias_suffixes01.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp' PASS: buildok/alias_suffixes02.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes02.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp stap> PASS: buildok/alias_suffixes02.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43136res/1920shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 98 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1810sys/1832real ms. Pass 3: translated to C into "/tmp/stap2BLGGi/stap_7389120ee8b8d2be668e709fd4aabd1d_59029_src.c" using 100992virt/93888res/7296shr/84544data kb, in 0usr/20sys/12real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_7389120ee8b8d2be668e709fd4aabd1d_59029.ko Pass 4: compiled C into "stap_7389120ee8b8d2be668e709fd4aabd1d_59029.ko" in 0usr/3600sys/3653real ms. stap> PASS: buildok/alias_suffixes02.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43392res/2176shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 98 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1830sys/1846real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_7389120ee8b8d2be668e709fd4aabd1d_59029.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_7389120ee8b8d2be668e709fd4aabd1d_59029.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_7389120ee8b8d2be668e709fd4aabd1d_59029.ko stap> PASS: buildok/alias_suffixes02.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp' PASS: buildok/alias_suffixes03.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes03.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp stap> PASS: buildok/alias_suffixes03.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43392res/2176shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 99 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1820sys/1834real ms. Pass 3: translated to C into "/tmp/stapm4RRu3/stap_b71e29673322404a46fd01de9075e687_59436_src.c" using 100992virt/93888res/7296shr/84544data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b7/stap_b71e29673322404a46fd01de9075e687_59436.ko Pass 4: compiled C into "stap_b71e29673322404a46fd01de9075e687_59436.ko" in 0usr/3610sys/3668real ms. stap> PASS: buildok/alias_suffixes03.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43072res/1856shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 99 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1820sys/1838real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b7/stap_b71e29673322404a46fd01de9075e687_59436.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b7/stap_b71e29673322404a46fd01de9075e687_59436.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b7/stap_b71e29673322404a46fd01de9075e687_59436.ko stap> PASS: buildok/alias_suffixes03.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp' PASS: buildok/alias_suffixes04.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes04.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp stap> PASS: buildok/alias_suffixes04.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43776res/2560shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 3 probes, 2 functions, 98 embeds, 0 globals using 101184virt/93888res/7168shr/84736data kb, in 0usr/2400sys/2425real ms. Pass 3: translated to C into "/tmp/stapkJCxcm/stap_4da649340faecf15a4c814874547b5d5_60063_src.c" using 101184virt/94016res/7296shr/84736data kb, in 0usr/10sys/12real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4da649340faecf15a4c814874547b5d5_60063.ko Pass 4: compiled C into "stap_4da649340faecf15a4c814874547b5d5_60063.ko" in 0usr/3680sys/3725real ms. stap> PASS: buildok/alias_suffixes04.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43200res/1984shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 2 functions, 98 embeds, 0 globals using 101184virt/93888res/7168shr/84736data kb, in 0usr/2410sys/2432real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4da649340faecf15a4c814874547b5d5_60063.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4da649340faecf15a4c814874547b5d5_60063.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4da649340faecf15a4c814874547b5d5_60063.ko stap> PASS: buildok/alias_suffixes04.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp' PASS: buildok/alias_suffixes05.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes05.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp stap> PASS: buildok/alias_suffixes05.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43904res/2688shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 98 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1820sys/1840real ms. Pass 3: translated to C into "/tmp/stapo6hOqc/stap_dbf1acfca630352e5bb9c8f468c7beb4_58729_src.c" using 100992virt/93888res/7296shr/84544data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/db/stap_dbf1acfca630352e5bb9c8f468c7beb4_58729.ko Pass 4: compiled C into "stap_dbf1acfca630352e5bb9c8f468c7beb4_58729.ko" in 0usr/3580sys/3632real ms. stap> PASS: buildok/alias_suffixes05.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43072res/1856shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 98 embeds, 0 globals using 100992virt/93760res/7168shr/84544data kb, in 0usr/1810sys/1833real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/db/stap_dbf1acfca630352e5bb9c8f468c7beb4_58729.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/db/stap_dbf1acfca630352e5bb9c8f468c7beb4_58729.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/db/stap_dbf1acfca630352e5bb9c8f468c7beb4_58729.ko stap> PASS: buildok/alias_suffixes05.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp' PASS: buildok/alias_suffixes06.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/alias_suffixes06.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp stap> PASS: buildok/alias_suffixes06.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43072res/1856shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 1 function, 98 embeds, 0 globals using 101248virt/93952res/7168shr/84800data kb, in 0usr/3580sys/3614real ms. Pass 3: translated to C into "/tmp/stapa0sY7f/stap_072359db851a88303d4032da619b5ec8_59692_src.c" using 101248virt/94080res/7296shr/84800data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/07/stap_072359db851a88303d4032da619b5ec8_59692.ko Pass 4: compiled C into "stap_072359db851a88303d4032da619b5ec8_59692.ko" in 0usr/3640sys/3699real ms. stap> PASS: buildok/alias_suffixes06.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43072res/1856shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 1 function, 98 embeds, 0 globals using 101248virt/93952res/7168shr/84800data kb, in 0usr/3750sys/3782real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/07/stap_072359db851a88303d4032da619b5ec8_59692.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/07/stap_072359db851a88303d4032da619b5ec8_59692.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/07/stap_072359db851a88303d4032da619b5ec8_59692.ko stap> PASS: buildok/alias_suffixes06.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp' PASS: buildok/arch_bytes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/arch_bytes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp stap> PASS: buildok/arch_bytes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43328res/2112shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 6 functions, 3 embeds, 1 global using 217664virt/50880res/7360shr/201088data kb, in 0usr/4330sys/4463real ms. Pass 3: translated to C into "/tmp/stapwzVKAr/stap_a39f612d749bc764f5606d6096812384_7063_src.c" using 217664virt/50880res/7360shr/201088data kb, in 0usr/10sys/4real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a3/stap_a39f612d749bc764f5606d6096812384_7063.ko Pass 4: compiled C into "stap_a39f612d749bc764f5606d6096812384_7063.ko" in 0usr/3440sys/3492real ms. stap> PASS: buildok/arch_bytes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43520res/2304shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 6 functions, 3 embeds, 1 global using 217664virt/50880res/7360shr/201088data kb, in 0usr/2940sys/3000real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a3/stap_a39f612d749bc764f5606d6096812384_7063.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a3/stap_a39f612d749bc764f5606d6096812384_7063.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a3/stap_a39f612d749bc764f5606d6096812384_7063.ko stap> PASS: buildok/arch_bytes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp' PASS: buildok/array_size.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/array_size.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp stap> PASS: buildok/array_size.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43520res/2304shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/staphThu5j/stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239_src.c" using 56256virt/47232res/5312shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239.ko Pass 4: compiled C into "stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239.ko" in 0usr/3430sys/3485real ms. stap> PASS: buildok/array_size.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43520res/2304shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43f0ffa2bee9a3c8a8fc47152bfa177f_1239.ko stap> PASS: buildok/array_size.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp' PASS: buildok/atomic.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/atomic.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp stap> PASS: buildok/atomic.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43712res/2496shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapLhE8N7/stap_48a78db82459a4517dfce3dae1c66108_1967_src.c" using 56256virt/47168res/5248shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/48/stap_48a78db82459a4517dfce3dae1c66108_1967.ko Pass 4: compiled C into "stap_48a78db82459a4517dfce3dae1c66108_1967.ko" in 0usr/3300sys/3342real ms. stap> PASS: buildok/atomic.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43712res/2496shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 56256virt/45952res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/48/stap_48a78db82459a4517dfce3dae1c66108_1967.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/48/stap_48a78db82459a4517dfce3dae1c66108_1967.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/48/stap_48a78db82459a4517dfce3dae1c66108_1967.ko stap> PASS: buildok/atomic.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/aux_syscalls-embedded.stp (interactive) - unsupported option UNTESTED: buildok/cmdline01.stp (interactive) - shell script running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp' PASS: buildok/context-embedded-ns.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/context-embedded-ns.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp stap> PASS: buildok/context-embedded-ns.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 3 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2940sys/3003real ms. Pass 3: translated to C into "/tmp/stappbCWnz/stap_0c1c6ef55327a1a3f1321c8a7e228158_5265_src.c" using 217600virt/50880res/7360shr/201024data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c1c6ef55327a1a3f1321c8a7e228158_5265.ko Pass 4: compiled C into "stap_0c1c6ef55327a1a3f1321c8a7e228158_5265.ko" in 0usr/3560sys/3605real ms. stap> PASS: buildok/context-embedded-ns.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43712res/2496shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 3 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2950sys/3006real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c1c6ef55327a1a3f1321c8a7e228158_5265.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c1c6ef55327a1a3f1321c8a7e228158_5265.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c1c6ef55327a1a3f1321c8a7e228158_5265.ko stap> PASS: buildok/context-embedded-ns.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp' PASS: buildok/context-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/context-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp stap> PASS: buildok/context-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44224res/3008shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 44 functions, 5 embeds, 0 globals using 217664virt/50880res/7360shr/201088data kb, in 0usr/2960sys/3020real ms. Pass 3: translated to C into "/tmp/stap2wuwsa/stap_75a3d79532379a2e396ffc0c555bb111_22258_src.c" using 217664virt/50880res/7360shr/201088data kb, in 0usr/10sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/75/stap_75a3d79532379a2e396ffc0c555bb111_22258.ko Pass 4: compiled C into "stap_75a3d79532379a2e396ffc0c555bb111_22258.ko" in 0usr/4210sys/4266real ms. stap> PASS: buildok/context-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44224res/3008shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 44 functions, 5 embeds, 0 globals using 217664virt/50880res/7360shr/201088data kb, in 0usr/2930sys/2990real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/75/stap_75a3d79532379a2e396ffc0c555bb111_22258.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/75/stap_75a3d79532379a2e396ffc0c555bb111_22258.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/75/stap_75a3d79532379a2e396ffc0c555bb111_22258.ko stap> PASS: buildok/context-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp' PASS: buildok/context-symbols-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/context-symbols-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp stap> PASS: buildok/context-symbols-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 19 functions, 4 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2940sys/3002real ms. Pass 3: translated to C into "/tmp/stapg6yLnm/stap_3d7f66959b638ad658ea9dd3265cf687_8602_src.c" using 217600virt/50880res/7360shr/201024data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3d/stap_3d7f66959b638ad658ea9dd3265cf687_8602.ko Pass 4: compiled C into "stap_3d7f66959b638ad658ea9dd3265cf687_8602.ko" in 0usr/5920sys/5992real ms. stap> PASS: buildok/context-symbols-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44096res/2880shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 19 functions, 4 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2940sys/3001real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3d/stap_3d7f66959b638ad658ea9dd3265cf687_8602.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3d/stap_3d7f66959b638ad658ea9dd3265cf687_8602.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3d/stap_3d7f66959b638ad658ea9dd3265cf687_8602.ko stap> PASS: buildok/context-symbols-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp' PASS: buildok/context-unwind-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/context-unwind-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp stap> PASS: buildok/context-unwind-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/43968res/2752shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 5 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2940sys/2998real ms. Pass 3: translated to C into "/tmp/stapx9cY5j/stap_4050b803672a060fa93ad3429bafa999_5474_src.c" using 217600virt/50880res/7360shr/201024data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_4050b803672a060fa93ad3429bafa999_5474.ko Pass 4: compiled C into "stap_4050b803672a060fa93ad3429bafa999_5474.ko" in 0usr/4340sys/4408real ms. stap> PASS: buildok/context-unwind-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 5 embeds, 0 globals using 217600virt/50880res/7360shr/201024data kb, in 0usr/2930sys/2996real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_4050b803672a060fa93ad3429bafa999_5474.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_4050b803672a060fa93ad3429bafa999_5474.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_4050b803672a060fa93ad3429bafa999_5474.ko stap> PASS: buildok/context-unwind-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp' PASS: buildok/conversions-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/conversions-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp stap> PASS: buildok/conversions-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 1 probe, 69 functions, 1 embed, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/35real ms. Pass 3: translated to C into "/tmp/stapwucOlY/stap_23c130cc7f8f6118346fcd2fccbc6e23_22453_src.c" using 56448virt/47488res/5376shr/40000data kb, in 0usr/20sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/23/stap_23c130cc7f8f6118346fcd2fccbc6e23_22453.ko Pass 4: compiled C into "stap_23c130cc7f8f6118346fcd2fccbc6e23_22453.ko" in 0usr/4790sys/4860real ms. stap> PASS: buildok/conversions-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 1 probe, 69 functions, 1 embed, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/35real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/23/stap_23c130cc7f8f6118346fcd2fccbc6e23_22453.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/23/stap_23c130cc7f8f6118346fcd2fccbc6e23_22453.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/23/stap_23c130cc7f8f6118346fcd2fccbc6e23_22453.ko stap> PASS: buildok/conversions-embedded.stp (interactive) - cached compile running the equivalent of 'stap -gup4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp' PASS: buildok/conversions-guru-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 1" to stapi set unoptimized 1 stap> PASS: buildok/conversions-guru-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp stap> PASS: buildok/conversions-guru-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/staps4gZTq/stap_6d019497087a98e6d021c2cf158ef5d7_4244_src.c" using 56256virt/47232res/5312shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d019497087a98e6d021c2cf158ef5d7_4244.ko Pass 4: compiled C into "stap_6d019497087a98e6d021c2cf158ef5d7_4244.ko" in 0usr/3410sys/3457real ms. stap> PASS: buildok/conversions-guru-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d019497087a98e6d021c2cf158ef5d7_4244.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d019497087a98e6d021c2cf158ef5d7_4244.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d019497087a98e6d021c2cf158ef5d7_4244.ko stap> PASS: buildok/conversions-guru-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp' PASS: buildok/conversions.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/conversions.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp stap> PASS: buildok/conversions.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 58 functions, 1 embed, 0 globals using 56448virt/46208res/4352shr/40000data kb, in 0usr/30sys/33real ms. Pass 3: translated to C into "/tmp/stapKVM38P/stap_7c0fdb3d616f3ba56995902f345910ab_19147_src.c" using 56448virt/47424res/5312shr/40000data kb, in 0usr/10sys/8real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7c/stap_7c0fdb3d616f3ba56995902f345910ab_19147.ko Pass 4: compiled C into "stap_7c0fdb3d616f3ba56995902f345910ab_19147.ko" in 0usr/4550sys/4622real ms. stap> PASS: buildok/conversions.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 58 functions, 1 embed, 0 globals using 56448virt/46208res/4352shr/40000data kb, in 0usr/30sys/33real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7c/stap_7c0fdb3d616f3ba56995902f345910ab_19147.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7c/stap_7c0fdb3d616f3ba56995902f345910ab_19147.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7c/stap_7c0fdb3d616f3ba56995902f345910ab_19147.ko stap> PASS: buildok/conversions.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp' PASS: buildok/ctime-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ctime-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp stap> PASS: buildok/ctime-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 1 embed, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapI9eKpz/stap_142516126e04579784e852dba35aac0c_4531_src.c" using 56256virt/47168res/5248shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/14/stap_142516126e04579784e852dba35aac0c_4531.ko Pass 4: compiled C into "stap_142516126e04579784e852dba35aac0c_4531.ko" in 0usr/3350sys/3400real ms. stap> PASS: buildok/ctime-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44032res/2816shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 1 embed, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/14/stap_142516126e04579784e852dba35aac0c_4531.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/14/stap_142516126e04579784e852dba35aac0c_4531.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/14/stap_142516126e04579784e852dba35aac0c_4531.ko stap> PASS: buildok/ctime-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/delete.stp' PASS: buildok/delete.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/delete.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/delete.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/delete.stp stap> PASS: buildok/delete.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/delete.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 6 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapORuKn4/stap_ac611be20060a5669b9cd6a661fed461_1325_src.c" using 56448virt/47232res/5312shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac611be20060a5669b9cd6a661fed461_1325.ko Pass 4: compiled C into "stap_ac611be20060a5669b9cd6a661fed461_1325.ko" in 0usr/3560sys/3625real ms. stap> PASS: buildok/delete.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/delete.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 6 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac611be20060a5669b9cd6a661fed461_1325.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac611be20060a5669b9cd6a661fed461_1325.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac611be20060a5669b9cd6a661fed461_1325.ko stap> PASS: buildok/delete.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/dentry-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp' PASS: buildok/dev-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/dev-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp stap> PASS: buildok/dev-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 16 functions, 1 embed, 0 globals using 326720virt/277248res/125184shr/310272data kb, in 0usr/1270sys/1280real ms. Pass 3: translated to C into "/tmp/stapaEQ79T/stap_405186232507d8c69e11a72e83d3766a_9361_src.c" using 326720virt/278656res/125760shr/310272data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_405186232507d8c69e11a72e83d3766a_9361.ko Pass 4: compiled C into "stap_405186232507d8c69e11a72e83d3766a_9361.ko" in 0usr/3540sys/3594real ms. stap> PASS: buildok/dev-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 16 functions, 1 embed, 0 globals using 326720virt/277248res/125184shr/310272data kb, in 0usr/1260sys/1272real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_405186232507d8c69e11a72e83d3766a_9361.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_405186232507d8c69e11a72e83d3766a_9361.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_405186232507d8c69e11a72e83d3766a_9361.ko stap> PASS: buildok/dev-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp' PASS: buildok/dw_op_rot.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/dw_op_rot.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp stap> PASS: buildok/dw_op_rot.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44096res/2880shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 0 functions, 0 embeds, 0 globals using 96704virt/89472res/6976shr/80256data kb, in 0usr/1250sys/1262real ms. Pass 3: translated to C into "/tmp/stapvoCNLw/stap_55328d2647b2f1663c9f2d7667716953_1833_src.c" using 96704virt/89664res/7168shr/80256data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/55/stap_55328d2647b2f1663c9f2d7667716953_1833.ko Pass 4: compiled C into "stap_55328d2647b2f1663c9f2d7667716953_1833.ko" in 0usr/3480sys/3514real ms. stap> PASS: buildok/dw_op_rot.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44096res/2880shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 0 functions, 0 embeds, 0 globals using 96704virt/89472res/6976shr/80256data kb, in 0usr/1250sys/1264real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/55/stap_55328d2647b2f1663c9f2d7667716953_1833.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/55/stap_55328d2647b2f1663c9f2d7667716953_1833.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/55/stap_55328d2647b2f1663c9f2d7667716953_1833.ko stap> PASS: buildok/dw_op_rot.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eight.stp' PASS: buildok/eight.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/eight.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/eight.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/eight.stp stap> PASS: buildok/eight.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/eight.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 1 global using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapFZdP9a/stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061_src.c" using 56256virt/47232res/5312shr/39808data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061.ko Pass 4: compiled C into "stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061.ko" in 0usr/3320sys/3378real ms. stap> PASS: buildok/eight.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/eight.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 1 global using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a76bf872dbe38b1bdda9b32465a4e4c7_1061.ko stap> PASS: buildok/eight.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp' PASS: buildok/eighteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/eighteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp stap> PASS: buildok/eighteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 110720virt/103360res/6848shr/94272data kb, in 0usr/530sys/543real ms. Pass 3: translated to C into "/tmp/stapFrEhCZ/stap_722c433f47783f12db308caa3078a768_2713_src.c" using 110720virt/103488res/6976shr/94272data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/72/stap_722c433f47783f12db308caa3078a768_2713.ko Pass 4: compiled C into "stap_722c433f47783f12db308caa3078a768_2713.ko" in 0usr/3490sys/3536real ms. stap> PASS: buildok/eighteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 110720virt/103360res/6848shr/94272data kb, in 0usr/520sys/527real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/72/stap_722c433f47783f12db308caa3078a768_2713.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/72/stap_722c433f47783f12db308caa3078a768_2713.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/72/stap_722c433f47783f12db308caa3078a768_2713.ko stap> PASS: buildok/eighteen.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp' PASS: buildok/eleven.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/eleven.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp stap> PASS: buildok/eleven.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapZoZV5q/stap_5adc7399fc02f99815b3f9add9c8f3b1_1260_src.c" using 56448virt/47232res/5312shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5a/stap_5adc7399fc02f99815b3f9add9c8f3b1_1260.ko Pass 4: compiled C into "stap_5adc7399fc02f99815b3f9add9c8f3b1_1260.ko" in 0usr/3230sys/3278real ms. stap> PASS: buildok/eleven.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5a/stap_5adc7399fc02f99815b3f9add9c8f3b1_1260.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5a/stap_5adc7399fc02f99815b3f9add9c8f3b1_1260.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5a/stap_5adc7399fc02f99815b3f9add9c8f3b1_1260.ko stap> PASS: buildok/eleven.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp' PASS: buildok/endian-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/endian-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp stap> PASS: buildok/endian-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 6 functions, 0 embeds, 0 globals using 56256virt/46080res/4224shr/39808data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapPkRmwX/stap_b88c66f6cdb61f38bfbd474afc782a3e_1736_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b88c66f6cdb61f38bfbd474afc782a3e_1736.ko Pass 4: compiled C into "stap_b88c66f6cdb61f38bfbd474afc782a3e_1736.ko" in 0usr/3290sys/3338real ms. stap> PASS: buildok/endian-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 6 functions, 0 embeds, 0 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b88c66f6cdb61f38bfbd474afc782a3e_1736.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b88c66f6cdb61f38bfbd474afc782a3e_1736.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b88c66f6cdb61f38bfbd474afc782a3e_1736.ko stap> PASS: buildok/endian-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp' PASS: buildok/errno-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/errno-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp stap> PASS: buildok/errno-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 5 functions, 2 embeds, 0 globals using 56256virt/46080res/4224shr/39808data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapL3qdh6/stap_f4238e5b575037027c30d8648a2dea9b_7966_src.c" using 56384virt/47296res/5312shr/39936data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4238e5b575037027c30d8648a2dea9b_7966.ko Pass 4: compiled C into "stap_f4238e5b575037027c30d8648a2dea9b_7966.ko" in 0usr/3350sys/3383real ms. stap> PASS: buildok/errno-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 5 functions, 2 embeds, 0 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4238e5b575037027c30d8648a2dea9b_7966.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4238e5b575037027c30d8648a2dea9b_7966.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4238e5b575037027c30d8648a2dea9b_7966.ko stap> PASS: buildok/errno-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp' PASS: buildok/fifteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fifteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp stap> PASS: buildok/fifteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 96576virt/88960res/6784shr/80128data kb, in 0usr/1200sys/1211real ms. Pass 3: translated to C into "/tmp/stapjq7kWW/stap_ba582771dc6b5ddf39c137b9e97eecbb_1828_src.c" using 96576virt/89152res/6976shr/80128data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ba/stap_ba582771dc6b5ddf39c137b9e97eecbb_1828.ko Pass 4: compiled C into "stap_ba582771dc6b5ddf39c137b9e97eecbb_1828.ko" in 0usr/3570sys/3619real ms. stap> PASS: buildok/fifteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 96576virt/88960res/6784shr/80128data kb, in 0usr/1200sys/1212real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ba/stap_ba582771dc6b5ddf39c137b9e97eecbb_1828.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ba/stap_ba582771dc6b5ddf39c137b9e97eecbb_1828.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ba/stap_ba582771dc6b5ddf39c137b9e97eecbb_1828.ko stap> PASS: buildok/fifteen.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/five.stp' PASS: buildok/five.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/five.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/five.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/five.stp stap> PASS: buildok/five.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/five.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96576virt/88960res/6784shr/80128data kb, in 0usr/1200sys/1206real ms. Pass 3: translated to C into "/tmp/stapxe7rbJ/stap_ff5b543d4badafd7aafbab6244d88d6d_1436_src.c" using 96576virt/89152res/6976shr/80128data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff5b543d4badafd7aafbab6244d88d6d_1436.ko Pass 4: compiled C into "stap_ff5b543d4badafd7aafbab6244d88d6d_1436.ko" in 0usr/3500sys/3556real ms. stap> PASS: buildok/five.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/five.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96576virt/88960res/6784shr/80128data kb, in 0usr/1190sys/1201real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff5b543d4badafd7aafbab6244d88d6d_1436.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff5b543d4badafd7aafbab6244d88d6d_1436.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff5b543d4badafd7aafbab6244d88d6d_1436.ko stap> PASS: buildok/five.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp' PASS: buildok/fortyeight.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortyeight.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp stap> PASS: buildok/fortyeight.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56640virt/46208res/4352shr/40192data kb, in 0usr/30sys/31real ms. Pass 3: translated to C into "/tmp/stapMfNJhn/stap_5fa5dd28fdb31cb17b2684bdac169e83_1175_src.c" using 56640virt/47488res/5312shr/40192data kb, in 0usr/10sys/6real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5fa5dd28fdb31cb17b2684bdac169e83_1175.ko Pass 4: compiled C into "stap_5fa5dd28fdb31cb17b2684bdac169e83_1175.ko" in 0usr/3300sys/3354real ms. stap> PASS: buildok/fortyeight.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56640virt/46208res/4352shr/40192data kb, in 0usr/30sys/31real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5fa5dd28fdb31cb17b2684bdac169e83_1175.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5fa5dd28fdb31cb17b2684bdac169e83_1175.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5fa5dd28fdb31cb17b2684bdac169e83_1175.ko stap> PASS: buildok/fortyeight.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp' PASS: buildok/fortyfive.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortyfive.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp stap> PASS: buildok/fortyfive.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 11 functions, 100 embeds, 2 globals using 258368virt/91776res/7424shr/241792data kb, in 0usr/4120sys/4200real ms. Pass 3: translated to C into "/tmp/stap8Q1dsU/stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685_src.c" using 258368virt/91904res/7552shr/241792data kb, in 0usr/20sys/13real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685.ko Pass 4: compiled C into "stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685.ko" in 0usr/5290sys/5364real ms. stap> PASS: buildok/fortyfive.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44288res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 11 functions, 100 embeds, 2 globals using 258368virt/91776res/7424shr/241792data kb, in 0usr/4130sys/4204real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a7605c6f2579ebce56ac3f42b11b9c8e_64685.ko stap> PASS: buildok/fortyfive.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp' PASS: buildok/fortynine.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortynine.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp stap> PASS: buildok/fortynine.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stap46dmoN/stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486.ko Pass 4: compiled C into "stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486.ko" in 0usr/3250sys/3298real ms. stap> PASS: buildok/fortynine.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9ba806f9c0c539bd3cdb2d77391cfbbe_1486.ko stap> PASS: buildok/fortynine.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp' PASS: buildok/fortyone.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortyone.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp stap> PASS: buildok/fortyone.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56448virt/46016res/4160shr/40000data kb, in 0usr/20sys/28real ms. Pass 3: translated to C into "/tmp/stapSWtUct/stap_fd790300a57a59d008582471f8983c32_2581_src.c" using 56448virt/47296res/5312shr/40000data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fd/stap_fd790300a57a59d008582471f8983c32_2581.ko Pass 4: compiled C into "stap_fd790300a57a59d008582471f8983c32_2581.ko" in 0usr/3390sys/3446real ms. stap> PASS: buildok/fortyone.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56448virt/46016res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fd/stap_fd790300a57a59d008582471f8983c32_2581.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fd/stap_fd790300a57a59d008582471f8983c32_2581.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fd/stap_fd790300a57a59d008582471f8983c32_2581.ko stap> PASS: buildok/fortyone.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp' PASS: buildok/fortyseven.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortyseven.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp stap> PASS: buildok/fortyseven.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. semantic error: unresolved function (similar: gid, pid, sid, tid, uid): identifier 'matched' at :6:29 source: printf ("%s %s %s", matched(0), matched(1), matched(2)) ^ Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 56256virt/46720res/4800shr/39808data kb, in 0usr/30sys/32real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/fortyseven.stp (interactive) - compile (PRMS: 15065) running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp' PASS: buildok/fortysix.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fortysix.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp stap> PASS: buildok/fortysix.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1753 probes, 0 functions, 0 embeds, 0 globals using 64704virt/57280res/6784shr/48256data kb, in 0usr/1710sys/1752real ms. Pass 3: translated to C into "/tmp/stapiaEtWG/stap_081fcea718f7fa1adb12fe5fef93de94_492490_src.c" using 64704virt/57472res/6976shr/48256data kb, in 0usr/2060sys/2104real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/08/stap_081fcea718f7fa1adb12fe5fef93de94_492490.ko Pass 4: compiled C into "stap_081fcea718f7fa1adb12fe5fef93de94_492490.ko" in 0usr/3900sys/3948real ms. stap> PASS: buildok/fortysix.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1753 probes, 0 functions, 0 embeds, 0 globals using 64704virt/57280res/6784shr/48256data kb, in 0usr/1640sys/1675real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/08/stap_081fcea718f7fa1adb12fe5fef93de94_492490.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/08/stap_081fcea718f7fa1adb12fe5fef93de94_492490.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/08/stap_081fcea718f7fa1adb12fe5fef93de94_492490.ko stap> PASS: buildok/fortysix.stp (interactive) - cached compile UNTESTED: buildok/fortytwo.stp (interactive) - shell script running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/four.stp' PASS: buildok/four.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/four.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/four.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/four.stp stap> PASS: buildok/four.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/four.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56768virt/47872res/5504shr/40320data kb, in 0usr/1470sys/1502real ms. Pass 3: translated to C into "/tmp/stapKPWZ48/stap_94906b4ada87a697c61a79eabe390d6f_1101_src.c" using 56768virt/48064res/5696shr/40320data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/94/stap_94906b4ada87a697c61a79eabe390d6f_1101.ko Pass 4: compiled C into "stap_94906b4ada87a697c61a79eabe390d6f_1101.ko" in 0usr/3230sys/3273real ms. stap> PASS: buildok/four.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/four.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56768virt/47872res/5504shr/40320data kb, in 0usr/1520sys/1551real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/94/stap_94906b4ada87a697c61a79eabe390d6f_1101.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/94/stap_94906b4ada87a697c61a79eabe390d6f_1101.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/94/stap_94906b4ada87a697c61a79eabe390d6f_1101.ko stap> PASS: buildok/four.stp (interactive) - cached compile running the equivalent of 'stap -tp4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp' PASS: buildok/fourteen-plus.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 1" to stapi set timing 1 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fourteen-plus.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp stap> PASS: buildok/fourteen-plus.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 21 probes, 0 functions, 0 embeds, 2 globals using 56384virt/46784res/4864shr/39936data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stap4L69Hb/stap_4bb8e2de934f7b785398d32dfc64ad32_2399_src.c" using 56384virt/47744res/5760shr/39936data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4b/stap_4bb8e2de934f7b785398d32dfc64ad32_2399.ko Pass 4: compiled C into "stap_4bb8e2de934f7b785398d32dfc64ad32_2399.ko" in 0usr/3750sys/3809real ms. stap> PASS: buildok/fourteen-plus.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 21 probes, 0 functions, 0 embeds, 2 globals using 56384virt/46848res/4864shr/39936data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4b/stap_4bb8e2de934f7b785398d32dfc64ad32_2399.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4b/stap_4bb8e2de934f7b785398d32dfc64ad32_2399.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4b/stap_4bb8e2de934f7b785398d32dfc64ad32_2399.ko stap> PASS: buildok/fourteen-plus.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp' PASS: buildok/fourteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/fourteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp stap> PASS: buildok/fourteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 21 probes, 0 functions, 0 embeds, 2 globals using 56384virt/46848res/4864shr/39936data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapuMB3fq/stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399_src.c" using 56384virt/47744res/5760shr/39936data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fb/stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399.ko Pass 4: compiled C into "stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399.ko" in 0usr/3600sys/3654real ms. stap> PASS: buildok/fourteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 21 probes, 0 functions, 0 embeds, 2 globals using 56384virt/46848res/4864shr/39936data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fb/stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fb/stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fb/stap_fb62c90c74dd7313bb944b6b0ad5a9b7_2399.ko stap> PASS: buildok/fourteen.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/globals.stp' PASS: buildok/globals.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/globals.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/globals.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/globals.stp stap> PASS: buildok/globals.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/globals.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 6 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapy5XlzZ/stap_3ed8affb720f945f42c0cf0fda953bc3_1418_src.c" using 56384virt/47360res/5376shr/39936data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3ed8affb720f945f42c0cf0fda953bc3_1418.ko Pass 4: compiled C into "stap_3ed8affb720f945f42c0cf0fda953bc3_1418.ko" in 0usr/3630sys/3683real ms. stap> PASS: buildok/globals.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/globals.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 6 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3ed8affb720f945f42c0cf0fda953bc3_1418.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3ed8affb720f945f42c0cf0fda953bc3_1418.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3ed8affb720f945f42c0cf0fda953bc3_1418.ko stap> PASS: buildok/globals.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp' PASS: buildok/gtod_init.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/gtod_init.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp stap> PASS: buildok/gtod_init.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 1 embed, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stap5NrsIU/stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592.ko Pass 4: compiled C into "stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592.ko" in 0usr/3380sys/3420real ms. stap> PASS: buildok/gtod_init.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 1 embed, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/40/stap_40b1eba1cf51d5fab1c2b478eea32ff4_1592.ko stap> PASS: buildok/gtod_init.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp' PASS: buildok/gtod_noinit.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/gtod_noinit.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp stap> PASS: buildok/gtod_noinit.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapHyvy4K/stap_fe672fbdf8b6f12f2e78622b38925184_1224_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fe/stap_fe672fbdf8b6f12f2e78622b38925184_1224.ko Pass 4: compiled C into "stap_fe672fbdf8b6f12f2e78622b38925184_1224.ko" in 0usr/3240sys/3287real ms. stap> PASS: buildok/gtod_noinit.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56256virt/46016res/4160shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fe/stap_fe672fbdf8b6f12f2e78622b38925184_1224.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fe/stap_fe672fbdf8b6f12f2e78622b38925184_1224.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fe/stap_fe672fbdf8b6f12f2e78622b38925184_1224.ko stap> PASS: buildok/gtod_noinit.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/guru.stp' PASS: buildok/guru.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/guru.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/guru.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/guru.stp stap> PASS: buildok/guru.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/guru.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 1 embed, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapd06sU6/stap_ff72b1422db2bc4788413a111098533c_1676_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff72b1422db2bc4788413a111098533c_1676.ko Pass 4: compiled C into "stap_ff72b1422db2bc4788413a111098533c_1676.ko" in 0usr/3230sys/3287real ms. stap> PASS: buildok/guru.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/guru.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 1 embed, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff72b1422db2bc4788413a111098533c_1676.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff72b1422db2bc4788413a111098533c_1676.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ff/stap_ff72b1422db2bc4788413a111098533c_1676.ko stap> PASS: buildok/guru.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp' PASS: buildok/histogram_operator_in.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/histogram_operator_in.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp stap> PASS: buildok/histogram_operator_in.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapHwhJxY/stap_9fdfc1b5b5d207913b510de8f597408f_1556_src.c" using 56448virt/47296res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9f/stap_9fdfc1b5b5d207913b510de8f597408f_1556.ko Pass 4: compiled C into "stap_9fdfc1b5b5d207913b510de8f597408f_1556.ko" in 0usr/3470sys/3524real ms. stap> PASS: buildok/histogram_operator_in.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56256virt/46144res/4288shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9f/stap_9fdfc1b5b5d207913b510de8f597408f_1556.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9f/stap_9fdfc1b5b5d207913b510de8f597408f_1556.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9f/stap_9fdfc1b5b5d207913b510de8f597408f_1556.ko stap> PASS: buildok/histogram_operator_in.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp' PASS: buildok/hwbkpt.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/hwbkpt.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp stap> PASS: buildok/hwbkpt.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapTDviGS/stap_c4a9aa129a238bd68588382be6a89cac_1035_src.c" using 56448virt/47168res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4a9aa129a238bd68588382be6a89cac_1035.ko Pass 4: compiled C into "stap_c4a9aa129a238bd68588382be6a89cac_1035.ko" in 0usr/3300sys/3347real ms. stap> PASS: buildok/hwbkpt.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4a9aa129a238bd68588382be6a89cac_1035.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4a9aa129a238bd68588382be6a89cac_1035.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4a9aa129a238bd68588382be6a89cac_1035.ko stap> PASS: buildok/hwbkpt.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/indent.stp' PASS: buildok/indent.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/indent.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/indent.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/indent.stp stap> PASS: buildok/indent.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/indent.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 12 functions, 4 embeds, 2 globals using 217664virt/50880res/7360shr/201088data kb, in 0usr/2940sys/3000real ms. Pass 3: translated to C into "/tmp/stapJb9zWp/stap_c2448d0ca7f191c5ce82a879004271af_4971_src.c" using 217664virt/50880res/7360shr/201088data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c2/stap_c2448d0ca7f191c5ce82a879004271af_4971.ko Pass 4: compiled C into "stap_c2448d0ca7f191c5ce82a879004271af_4971.ko" in 0usr/3650sys/3698real ms. stap> PASS: buildok/indent.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/indent.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 12 functions, 4 embeds, 2 globals using 217664virt/50880res/7360shr/201088data kb, in 0usr/2930sys/3000real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c2/stap_c2448d0ca7f191c5ce82a879004271af_4971.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c2/stap_c2448d0ca7f191c5ce82a879004271af_4971.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c2/stap_c2448d0ca7f191c5ce82a879004271af_4971.ko stap> PASS: buildok/indent.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp' PASS: buildok/inet-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/inet-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp stap> PASS: buildok/inet-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 6 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapih47ck/stap_e9812c847137e09e14501d88c901cb7c_1766_src.c" using 56384virt/47296res/5312shr/39936data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e9/stap_e9812c847137e09e14501d88c901cb7c_1766.ko Pass 4: compiled C into "stap_e9812c847137e09e14501d88c901cb7c_1766.ko" in 0usr/3280sys/3328real ms. stap> PASS: buildok/inet-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 6 functions, 0 embeds, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e9/stap_e9812c847137e09e14501d88c901cb7c_1766.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e9/stap_e9812c847137e09e14501d88c901cb7c_1766.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e9/stap_e9812c847137e09e14501d88c901cb7c_1766.ko stap> PASS: buildok/inet-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp' PASS: buildok/inet_sock-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/inet_sock-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp stap> PASS: buildok/inet_sock-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 1 embed, 0 globals using 760128virt/394624res/128192shr/743552data kb, in 0usr/10720sys/11000real ms. Pass 3: translated to C into "/tmp/stapuiyuiL/stap_053908d8fd56b018a7dd613fd94cfc64_8068_src.c" using 760128virt/394624res/128192shr/743552data kb, in 0usr/10sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_053908d8fd56b018a7dd613fd94cfc64_8068.ko Pass 4: compiled C into "stap_053908d8fd56b018a7dd613fd94cfc64_8068.ko" in 0usr/3440sys/3527real ms. stap> PASS: buildok/inet_sock-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 1 embed, 0 globals using 760128virt/394624res/128192shr/743552data kb, in 0usr/7270sys/7396real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_053908d8fd56b018a7dd613fd94cfc64_8068.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_053908d8fd56b018a7dd613fd94cfc64_8068.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_053908d8fd56b018a7dd613fd94cfc64_8068.ko stap> PASS: buildok/inet_sock-embedded.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp' PASS: buildok/ioblock-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ioblock-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp stap> PASS: buildok/ioblock-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 0 functions, 2 embeds, 0 globals using 378560virt/327616res/122816shr/362112data kb, in 0usr/109750sys/19052real ms. Pass 3: translated to C into "/tmp/stapPcf6QD/stap_9aebc0c93aed036372ae9644cdae8c50_1985_src.c" using 378560virt/327744res/122944shr/362112data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9a/stap_9aebc0c93aed036372ae9644cdae8c50_1985.ko Pass 4: compiled C into "stap_9aebc0c93aed036372ae9644cdae8c50_1985.ko" in 0usr/4170sys/3749real ms. stap> PASS: buildok/ioblock-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 0 functions, 2 embeds, 0 globals using 378560virt/327616res/122816shr/362112data kb, in 0usr/4210sys/4274real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9a/stap_9aebc0c93aed036372ae9644cdae8c50_1985.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9a/stap_9aebc0c93aed036372ae9644cdae8c50_1985.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9a/stap_9aebc0c93aed036372ae9644cdae8c50_1985.ko stap> PASS: buildok/ioblock-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp' PASS: buildok/ioblock-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ioblock-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp stap> PASS: buildok/ioblock-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("generic_make_request@block/blk-core.c:1993") from: ioblock.request from: ioblock.request semantic error: unable to find member 'bi_rw' for struct bio (alternatives: bi_css, bi_ioc, bi_opf, __bi_cnt, bi_bdev, bi_error, bi_iter, bi_next, bi_pool, bi_vcnt, bi_flags, bi_ioprio, bi_end_io, bi_io_vec, bi_private, bi_integrity, bi_max_vecs, __bi_remaining, bi_inline_vecs, bi_seg_back_size, bi_phys_segments, bi_seg_front_size): operator '->' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp:113:18 source: rw = $bio->bi_rw ^ Pass 2: analyzed script: 5 probes, 69 functions, 2 embeds, 1 global using 378688virt/327808res/122944shr/362240data kb, in 0usr/4230sys/4296real ms. Pass 2: analysis failed. [man error::pass2] stap> FAIL: buildok/ioblock-detailed.stp (interactive) - compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/ioblock-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp' PASS: buildok/ioscheduler-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ioscheduler-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp stap> PASS: buildok/ioscheduler-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 13 probes, 8 functions, 2 embeds, 0 globals using 113088virt/105856res/7168shr/96640data kb, in 0usr/3260sys/3320real ms. Pass 3: translated to C into "/tmp/stap5dJO4U/stap_1726cb86c7e775e7663bbcc982759264_16832_src.c" using 113088virt/105984res/7296shr/96640data kb, in 0usr/20sys/14real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/17/stap_1726cb86c7e775e7663bbcc982759264_16832.ko Pass 4: compiled C into "stap_1726cb86c7e775e7663bbcc982759264_16832.ko" in 0usr/4570sys/4258real ms. stap> PASS: buildok/ioscheduler-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 13 probes, 8 functions, 2 embeds, 0 globals using 113088virt/105856res/7168shr/96640data kb, in 0usr/3270sys/3328real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/17/stap_1726cb86c7e775e7663bbcc982759264_16832.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/17/stap_1726cb86c7e775e7663bbcc982759264_16832.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/17/stap_1726cb86c7e775e7663bbcc982759264_16832.ko stap> PASS: buildok/ioscheduler-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp' PASS: buildok/ioscheduler-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ioscheduler-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp stap> PASS: buildok/ioscheduler-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 11 probes, 19 functions, 1 embed, 0 globals using 113088virt/105984res/7168shr/96640data kb, in 0usr/3290sys/3340real ms. Pass 3: translated to C into "/tmp/stapDeb7ST/stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834_src.c" using 113088virt/106112res/7296shr/96640data kb, in 0usr/20sys/21real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/56/stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834.ko Pass 4: compiled C into "stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834.ko" in 0usr/5340sys/5643real ms. stap> PASS: buildok/ioscheduler-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 11 probes, 19 functions, 1 embed, 0 globals using 113024virt/105984res/7168shr/96576data kb, in 0usr/3280sys/3330real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/56/stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/56/stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/56/stap_5600ff80e34f6ed6bbed4fa3f505eb74_38834.ko stap> PASS: buildok/ioscheduler-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp' PASS: buildok/ioscheduler-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ioscheduler-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp stap> PASS: buildok/ioscheduler-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapOfZIiz/stap_0070f0bf023ee1d65c48e60bdc6f015f_2734_src.c" using 56384virt/47296res/5312shr/39936data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/00/stap_0070f0bf023ee1d65c48e60bdc6f015f_2734.ko Pass 4: compiled C into "stap_0070f0bf023ee1d65c48e60bdc6f015f_2734.ko" in 0usr/3400sys/3448real ms. stap> PASS: buildok/ioscheduler-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 56256virt/46208res/4352shr/39808data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/00/stap_0070f0bf023ee1d65c48e60bdc6f015f_2734.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/00/stap_0070f0bf023ee1d65c48e60bdc6f015f_2734.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/00/stap_0070f0bf023ee1d65c48e60bdc6f015f_2734.ko stap> PASS: buildok/ioscheduler-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp' PASS: buildok/ip-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ip-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp stap> PASS: buildok/ip-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 17 functions, 1 embed, 0 globals using 760128virt/394624res/128192shr/743552data kb, in 0usr/7240sys/7367real ms. Pass 3: translated to C into "/tmp/stapk1OwXu/stap_81747ab2f03b890f57e8dbfb2058a2ac_12292_src.c" using 760128virt/394624res/128192shr/743552data kb, in 0usr/10sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/81/stap_81747ab2f03b890f57e8dbfb2058a2ac_12292.ko Pass 4: compiled C into "stap_81747ab2f03b890f57e8dbfb2058a2ac_12292.ko" in 0usr/3650sys/3703real ms. stap> PASS: buildok/ip-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 17 functions, 1 embed, 0 globals using 760128virt/394624res/128192shr/743552data kb, in 0usr/7260sys/7385real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/81/stap_81747ab2f03b890f57e8dbfb2058a2ac_12292.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/81/stap_81747ab2f03b890f57e8dbfb2058a2ac_12292.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/81/stap_81747ab2f03b890f57e8dbfb2058a2ac_12292.ko stap> PASS: buildok/ip-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp' PASS: buildok/ipmib-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ipmib-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp stap> PASS: buildok/ipmib-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Pass 2: analyzed script: 20 probes, 35 functions, 6 embeds, 14 globals using 1114496virt/426368res/125312shr/1097920data kb, in 0usr/15260sys/15624real ms. Pass 3: translated to C into "/tmp/stapfZfq3N/stap_cf40529e776f234d6bca53d6bc9f085f_49800_src.c" using 1114496virt/426496res/125440shr/1097920data kb, in 0usr/60sys/55real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf40529e776f234d6bca53d6bc9f085f_49800.ko Pass 4: compiled C into "stap_cf40529e776f234d6bca53d6bc9f085f_49800.ko" in 0usr/5030sys/5237real ms. stap> PASS: buildok/ipmib-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Pass 2: analyzed script: 20 probes, 35 functions, 6 embeds, 14 globals using 1114496virt/426368res/125312shr/1097920data kb, in 0usr/11510sys/11712real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf40529e776f234d6bca53d6bc9f085f_49800.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf40529e776f234d6bca53d6bc9f085f_49800.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf40529e776f234d6bca53d6bc9f085f_49800.ko stap> PASS: buildok/ipmib-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp' PASS: buildok/ipmib-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ipmib-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp stap> PASS: buildok/ipmib-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Pass 2: analyzed script: 20 probes, 35 functions, 6 embeds, 14 globals using 1114368virt/426304res/125312shr/1097792data kb, in 0usr/11540sys/11740real ms. Pass 3: translated to C into "/tmp/stapbTjbeT/stap_399894e6729b334773a345bef30c967f_50123_src.c" using 1114368virt/426432res/125440shr/1097792data kb, in 0usr/60sys/57real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/39/stap_399894e6729b334773a345bef30c967f_50123.ko Pass 4: compiled C into "stap_399894e6729b334773a345bef30c967f_50123.ko" in 0usr/5070sys/5141real ms. stap> PASS: buildok/ipmib-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at :24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Pass 2: analyzed script: 20 probes, 35 functions, 6 embeds, 14 globals using 1114368virt/426304res/125312shr/1097792data kb, in 0usr/11490sys/11697real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/39/stap_399894e6729b334773a345bef30c967f_50123.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/39/stap_399894e6729b334773a345bef30c967f_50123.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/39/stap_399894e6729b334773a345bef30c967f_50123.ko stap> PASS: buildok/ipmib-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/ipmib-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp' PASS: buildok/irq-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/irq-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp stap> PASS: buildok/irq-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 0 functions, 96 embeds, 0 globals using 226816virt/60288res/7552shr/210240data kb, in 0usr/4640sys/4813real ms. Pass 3: translated to C into "/tmp/stapbIXUTj/stap_2293a5241387e127aa84c30db3e01b43_53658_src.c" using 226816virt/60288res/7552shr/210240data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_2293a5241387e127aa84c30db3e01b43_53658.ko Pass 4: compiled C into "stap_2293a5241387e127aa84c30db3e01b43_53658.ko" in 0usr/4000sys/3594real ms. stap> PASS: buildok/irq-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 0 functions, 96 embeds, 0 globals using 226816virt/60224res/7552shr/210240data kb, in 0usr/3350sys/3425real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_2293a5241387e127aa84c30db3e01b43_53658.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_2293a5241387e127aa84c30db3e01b43_53658.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_2293a5241387e127aa84c30db3e01b43_53658.ko stap> PASS: buildok/irq-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp' PASS: buildok/irq-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/irq-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp stap> PASS: buildok/irq-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 11 functions, 96 embeds, 0 globals using 226880virt/60288res/7552shr/210304data kb, in 0usr/3350sys/3422real ms. Pass 3: translated to C into "/tmp/stap5lF0EF/stap_067b68013520ddb4f0c5433a060c5f72_64956_src.c" using 226880virt/60288res/7552shr/210304data kb, in 0usr/10sys/5real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_067b68013520ddb4f0c5433a060c5f72_64956.ko Pass 4: compiled C into "stap_067b68013520ddb4f0c5433a060c5f72_64956.ko" in 0usr/4410sys/4168real ms. stap> PASS: buildok/irq-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 5 probes, 11 functions, 96 embeds, 0 globals using 226880virt/60288res/7552shr/210304data kb, in 0usr/3360sys/3428real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_067b68013520ddb4f0c5433a060c5f72_64956.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_067b68013520ddb4f0c5433a060c5f72_64956.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_067b68013520ddb4f0c5433a060c5f72_64956.ko stap> PASS: buildok/irq-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp' PASS: buildok/iterate_histogram_buckets.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/iterate_histogram_buckets.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp stap> PASS: buildok/iterate_histogram_buckets.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56384virt/46912res/4928shr/39936data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapEOJ5oY/stap_4e55b5028c7f60a32ea6f864c43be931_1612_src.c" using 56384virt/47296res/5312shr/39936data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4e/stap_4e55b5028c7f60a32ea6f864c43be931_1612.ko Pass 4: compiled C into "stap_4e55b5028c7f60a32ea6f864c43be931_1612.ko" in 0usr/3490sys/3537real ms. stap> PASS: buildok/iterate_histogram_buckets.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56384virt/46912res/4928shr/39936data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4e/stap_4e55b5028c7f60a32ea6f864c43be931_1612.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4e/stap_4e55b5028c7f60a32ea6f864c43be931_1612.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4e/stap_4e55b5028c7f60a32ea6f864c43be931_1612.ko stap> PASS: buildok/iterate_histogram_buckets.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp' PASS: buildok/json-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/json-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp stap> PASS: buildok/json-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 4 probes, 10 functions, 1 embed, 11 globals using 56640virt/46144res/4160shr/40192data kb, in 0usr/50sys/53real ms. Pass 3: translated to C into "/tmp/stapij01NR/stap_83fbf806697e63ec06e641cea549a2c6_21118_src.c" using 56640virt/47616res/5312shr/40192data kb, in 0usr/20sys/20real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/83/stap_83fbf806697e63ec06e641cea549a2c6_21118.ko Pass 4: compiled C into "stap_83fbf806697e63ec06e641cea549a2c6_21118.ko" in 0usr/4740sys/4803real ms. stap> PASS: buildok/json-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 4 probes, 10 functions, 1 embed, 11 globals using 56640virt/46144res/4160shr/40192data kb, in 0usr/50sys/53real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/83/stap_83fbf806697e63ec06e641cea549a2c6_21118.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/83/stap_83fbf806697e63ec06e641cea549a2c6_21118.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/83/stap_83fbf806697e63ec06e641cea549a2c6_21118.ko stap> PASS: buildok/json-detailed.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp' PASS: buildok/kprocess-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/kprocess-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp stap> PASS: buildok/kprocess-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 2 functions, 100 embeds, 0 globals using 259328virt/92736res/7424shr/242752data kb, in 0usr/4130sys/4210real ms. Pass 3: translated to C into "/tmp/stapQUe7Fg/stap_fa462964d92141c4d3698a56553f224f_60840_src.c" using 259328virt/92864res/7552shr/242752data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_fa462964d92141c4d3698a56553f224f_60840.ko Pass 4: compiled C into "stap_fa462964d92141c4d3698a56553f224f_60840.ko" in 0usr/3650sys/3687real ms. stap> PASS: buildok/kprocess-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 2 functions, 100 embeds, 0 globals using 259328virt/92736res/7424shr/242752data kb, in 0usr/4130sys/4208real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_fa462964d92141c4d3698a56553f224f_60840.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_fa462964d92141c4d3698a56553f224f_60840.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fa/stap_fa462964d92141c4d3698a56553f224f_60840.ko stap> PASS: buildok/kprocess-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp' PASS: buildok/kprocess-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/kprocess-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp stap> PASS: buildok/kprocess-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 12 functions, 100 embeds, 0 globals using 259264virt/92800res/7424shr/242688data kb, in 0usr/4140sys/4214real ms. Pass 3: translated to C into "/tmp/stapWHz6fT/stap_e4380ed273bb9e55423bc08d5fc79c3a_67382_src.c" using 259264virt/92928res/7552shr/242688data kb, in 0usr/10sys/13real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e4/stap_e4380ed273bb9e55423bc08d5fc79c3a_67382.ko Pass 4: compiled C into "stap_e4380ed273bb9e55423bc08d5fc79c3a_67382.ko" in 0usr/3960sys/4015real ms. stap> PASS: buildok/kprocess-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 12 functions, 100 embeds, 0 globals using 259264virt/92800res/7424shr/242688data kb, in 0usr/4140sys/4216real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e4/stap_e4380ed273bb9e55423bc08d5fc79c3a_67382.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e4/stap_e4380ed273bb9e55423bc08d5fc79c3a_67382.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e4/stap_e4380ed273bb9e55423bc08d5fc79c3a_67382.ko stap> PASS: buildok/kprocess-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/kprocess-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp' PASS: buildok/linuxmib-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/linuxmib-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp stap> PASS: buildok/linuxmib-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 8 functions, 1 embed, 5 globals using 100736virt/93312res/6848shr/84288data kb, in 0usr/1270sys/1290real ms. Pass 3: translated to C into "/tmp/stapcDFtEl/stap_5235632e58c96f43feafde9610a68670_13836_src.c" using 100736virt/93440res/6976shr/84288data kb, in 0usr/20sys/15real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/52/stap_5235632e58c96f43feafde9610a68670_13836.ko Pass 4: compiled C into "stap_5235632e58c96f43feafde9610a68670_13836.ko" in 0usr/3860sys/3925real ms. stap> PASS: buildok/linuxmib-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 8 functions, 1 embed, 5 globals using 100736virt/93312res/6848shr/84288data kb, in 0usr/1270sys/1281real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/52/stap_5235632e58c96f43feafde9610a68670_13836.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/52/stap_5235632e58c96f43feafde9610a68670_13836.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/52/stap_5235632e58c96f43feafde9610a68670_13836.ko stap> PASS: buildok/linuxmib-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp' PASS: buildok/linuxmib-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/linuxmib-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp stap> PASS: buildok/linuxmib-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 8 functions, 1 embed, 5 globals using 100736virt/93312res/6848shr/84288data kb, in 0usr/1260sys/1281real ms. Pass 3: translated to C into "/tmp/stapPAILEI/stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048_src.c" using 100736virt/93440res/6976shr/84288data kb, in 0usr/20sys/16real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048.ko Pass 4: compiled C into "stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048.ko" in 0usr/3880sys/3942real ms. stap> PASS: buildok/linuxmib-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 8 functions, 1 embed, 5 globals using 100736virt/93312res/6848shr/84288data kb, in 0usr/1260sys/1276real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a80a8d8d7f1f9bde7673ef8a60334b_14048.ko stap> PASS: buildok/linuxmib-detailed.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp' PASS: buildok/logging-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/logging-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp stap> PASS: buildok/logging-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 56448virt/46208res/4352shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapg5AKb9/stap_3e5b3ee360bc0518d95c9fdcc721611f_3140_src.c" using 56384virt/47232res/5248shr/39936data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3e5b3ee360bc0518d95c9fdcc721611f_3140.ko Pass 4: compiled C into "stap_3e5b3ee360bc0518d95c9fdcc721611f_3140.ko" in 0usr/3280sys/3327real ms. stap> PASS: buildok/logging-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 0 embeds, 0 globals using 56448virt/46144res/4288shr/40000data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3e5b3ee360bc0518d95c9fdcc721611f_3140.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3e5b3ee360bc0518d95c9fdcc721611f_3140.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3e/stap_3e5b3ee360bc0518d95c9fdcc721611f_3140.ko stap> PASS: buildok/logging-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp' PASS: buildok/map_probe_cond.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/map_probe_cond.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp stap> PASS: buildok/map_probe_cond.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 1 global using 63296virt/55872res/6784shr/46848data kb, in 0usr/410sys/418real ms. Pass 3: translated to C into "/tmp/stapinQRXt/stap_c75af3789371d5b71efeb7ad5d6506fa_1553_src.c" using 63296virt/56064res/6976shr/46848data kb, in 0usr/1450sys/1480real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c7/stap_c75af3789371d5b71efeb7ad5d6506fa_1553.ko Pass 4: compiled C into "stap_c75af3789371d5b71efeb7ad5d6506fa_1553.ko" in 0usr/4750sys/4807real ms. stap> PASS: buildok/map_probe_cond.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 1 global using 63296virt/55872res/6784shr/46848data kb, in 0usr/410sys/419real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c7/stap_c75af3789371d5b71efeb7ad5d6506fa_1553.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c7/stap_c75af3789371d5b71efeb7ad5d6506fa_1553.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c7/stap_c75af3789371d5b71efeb7ad5d6506fa_1553.ko stap> PASS: buildok/map_probe_cond.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp' PASS: buildok/maxactive01.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/maxactive01.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp stap> PASS: buildok/maxactive01.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44416res/3136shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 96064virt/88576res/6784shr/79616data kb, in 0usr/1190sys/1207real ms. Pass 3: translated to C into "/tmp/stapRrzM4x/stap_d0f8eafbb76439ceea1c422c0894a146_1127_src.c" using 96064virt/88768res/6976shr/79616data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d0/stap_d0f8eafbb76439ceea1c422c0894a146_1127.ko Pass 4: compiled C into "stap_d0f8eafbb76439ceea1c422c0894a146_1127.ko" in 0usr/3450sys/3491real ms. stap> PASS: buildok/maxactive01.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 96064virt/88576res/6784shr/79616data kb, in 0usr/1190sys/1205real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d0/stap_d0f8eafbb76439ceea1c422c0894a146_1127.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d0/stap_d0f8eafbb76439ceea1c422c0894a146_1127.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d0/stap_d0f8eafbb76439ceea1c422c0894a146_1127.ko stap> PASS: buildok/maxactive01.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp' PASS: buildok/memory-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/memory-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp stap> PASS: buildok/memory-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 23 probes, 6 functions, 6 embeds, 0 globals using 322304virt/155584res/7552shr/305728data kb, in 0usr/7260sys/7389real ms. Pass 3: translated to C into "/tmp/stap0UoZIy/stap_fc37bf878073fb04ffe3b7faeddd8b11_15137_src.c" using 322304virt/155712res/7680shr/305728data kb, in 0usr/20sys/14real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fc/stap_fc37bf878073fb04ffe3b7faeddd8b11_15137.ko Pass 4: compiled C into "stap_fc37bf878073fb04ffe3b7faeddd8b11_15137.ko" in 0usr/4390sys/4106real ms. stap> PASS: buildok/memory-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 23 probes, 6 functions, 6 embeds, 0 globals using 322304virt/155584res/7552shr/305728data kb, in 0usr/7280sys/7409real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fc/stap_fc37bf878073fb04ffe3b7faeddd8b11_15137.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fc/stap_fc37bf878073fb04ffe3b7faeddd8b11_15137.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/fc/stap_fc37bf878073fb04ffe3b7faeddd8b11_15137.ko stap> PASS: buildok/memory-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp' PASS: buildok/memory-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/memory-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp stap> PASS: buildok/memory-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/1real ms. WARNING: cannot probe .return of 1 inlined functions kmalloc_node WARNING: cannot probe .return of 1 inlined functions kmem_cache_alloc_node semantic error: while processing probe kernel.function("do_wp_page@mm/memory.c:2359") from: vm.write_shared from: vm.write_shared semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x1481b8a in kernel, near pc 0xfffffc000824f814 in do_wp_page mm/memory.c (alternatives: $fe, $vma, $old_page, $orig_pte)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:148:15 source: address = $address ^ Pass 2: analyzed script: 20 probes, 20 functions, 6 embeds, 1 global using 316864virt/150336res/7552shr/300288data kb, in 0usr/7650sys/7780real ms. Pass 2: analysis failed. [man error::pass2] stap> FAIL: buildok/memory-detailed.stp (interactive) - compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/memory-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp' PASS: buildok/memory-mmap.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/memory-mmap.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp stap> PASS: buildok/memory-mmap.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 96832virt/89344res/6848shr/80384data kb, in 0usr/1210sys/1224real ms. Pass 3: translated to C into "/tmp/stapRbsmS8/stap_f0f64c6e7a44b5d8905651b139a92494_3240_src.c" using 96832virt/89472res/6976shr/80384data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f0/stap_f0f64c6e7a44b5d8905651b139a92494_3240.ko Pass 4: compiled C into "stap_f0f64c6e7a44b5d8905651b139a92494_3240.ko" in 0usr/3480sys/3530real ms. stap> PASS: buildok/memory-mmap.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 96832virt/89344res/6848shr/80384data kb, in 0usr/1200sys/1220real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f0/stap_f0f64c6e7a44b5d8905651b139a92494_3240.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f0/stap_f0f64c6e7a44b5d8905651b139a92494_3240.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f0/stap_f0f64c6e7a44b5d8905651b139a92494_3240.ko stap> PASS: buildok/memory-mmap.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp' PASS: buildok/memory-write_shared_copy.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/memory-write_shared_copy.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp stap> PASS: buildok/memory-write_shared_copy.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("cow_user_page@mm/memory.c:1989") from: vm.write_shared_copy from: vm.write_shared_copy semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x147fa75 in kernel, near pc 0xfffffc000824e828 in cow_user_page mm/memory.c (alternatives: $dst, $src, $va, $vma)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:173:17 source: address = $address ^ Pass 2: analyzed script: 2 probes, 1 function, 1 embed, 0 globals using 101696virt/94464res/7104shr/85248data kb, in 0usr/1570sys/1589real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/memory-write_shared_copy.stp (interactive) - compile (PRMS: 1155) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory.stp' PASS: buildok/memory.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/memory.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/memory.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/memory.stp stap> PASS: buildok/memory.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/memory.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 9 functions, 5 embeds, 1 global using 279488virt/112832res/7424shr/262912data kb, in 0usr/3560sys/3635real ms. Pass 3: translated to C into "/tmp/staprhcrpd/stap_43dd2fd89ad0d0e832acaefe864c80cd_7009_src.c" using 279488virt/112960res/7552shr/262912data kb, in 0usr/450sys/461real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43dd2fd89ad0d0e832acaefe864c80cd_7009.ko Pass 4: compiled C into "stap_43dd2fd89ad0d0e832acaefe864c80cd_7009.ko" in 0usr/7700sys/7802real ms. stap> PASS: buildok/memory.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/memory.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44352res/3072shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 9 functions, 5 embeds, 1 global using 279488virt/112832res/7424shr/262912data kb, in 0usr/3570sys/3639real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43dd2fd89ad0d0e832acaefe864c80cd_7009.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43dd2fd89ad0d0e832acaefe864c80cd_7009.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/43/stap_43dd2fd89ad0d0e832acaefe864c80cd_7009.ko stap> PASS: buildok/memory.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp' PASS: buildok/nd_syscalls-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nd_syscalls-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp stap> PASS: buildok/nd_syscalls-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 605 probes, 157 functions, 100 embeds, 10 globals using 221888virt/55424res/7552shr/205312data kb, in 0usr/152910sys/154098real ms. Pass 3: translated to C into "/tmp/stapfaykc9/stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936_src.c" using 222272virt/55744res/7616shr/205696data kb, in 0usr/1970sys/1992real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936.ko Pass 4: compiled C into "stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936.ko" in 0usr/20280sys/20541real ms. stap> PASS: buildok/nd_syscalls-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55680virt/44480res/3200shr/39232data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 605 probes, 157 functions, 100 embeds, 10 globals using 221888virt/55424res/7552shr/205312data kb, in 0usr/152760sys/153954real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2d8dcb8cd64685b938c1c8da1dc68c9_443936.ko stap> PASS: buildok/nd_syscalls-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp' PASS: buildok/nd_syscalls-arch-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nd_syscalls-arch-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp stap> PASS: buildok/nd_syscalls-arch-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44416res/3072shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 3 probes, 11 functions, 5 embeds, 1 global using 218176virt/51712res/7552shr/201600data kb, in 0usr/3510sys/3574real ms. Pass 3: translated to C into "/tmp/stap9jaTdX/stap_e6eb54b3840ac4a0430ea690e22e18b4_15929_src.c" using 218176virt/51712res/7552shr/201600data kb, in 0usr/0sys/7real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e6/stap_e6eb54b3840ac4a0430ea690e22e18b4_15929.ko Pass 4: compiled C into "stap_e6eb54b3840ac4a0430ea690e22e18b4_15929.ko" in 0usr/3880sys/3930real ms. stap> PASS: buildok/nd_syscalls-arch-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/3136shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 3 probes, 11 functions, 5 embeds, 1 global using 218176virt/51712res/7552shr/201600data kb, in 0usr/3550sys/3614real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e6/stap_e6eb54b3840ac4a0430ea690e22e18b4_15929.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e6/stap_e6eb54b3840ac4a0430ea690e22e18b4_15929.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e6/stap_e6eb54b3840ac4a0430ea690e22e18b4_15929.ko stap> PASS: buildok/nd_syscalls-arch-detailed.stp (interactive) - cached compile running the equivalent of 'stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp' PASS: buildok/nd_syscalls-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 1" to stapi set panic_warnings 1 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nd_syscalls-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp stap> PASS: buildok/nd_syscalls-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44480res/3008shr/40384data kb, in 0usr/10sys/16real ms. Pass 2: analyzed script: 300 probes, 102 functions, 100 embeds, 4 globals using 221376virt/54848res/7552shr/204800data kb, in 0usr/61250sys/61746real ms. Pass 3: translated to C into "/tmp/stapd249rc/stap_f7f8db3270f7871eedb154262845c1d7_274689_src.c" using 221440virt/55040res/7616shr/204864data kb, in 0usr/590sys/596real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f7/stap_f7f8db3270f7871eedb154262845c1d7_274689.ko Pass 4: compiled C into "stap_f7f8db3270f7871eedb154262845c1d7_274689.ko" in 0usr/17180sys/17402real ms. stap> PASS: buildok/nd_syscalls-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44480res/2944shr/40384data kb, in 0usr/10sys/16real ms. Pass 2: analyzed script: 300 probes, 102 functions, 100 embeds, 4 globals using 221376virt/54848res/7552shr/204800data kb, in 0usr/61120sys/61612real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f7/stap_f7f8db3270f7871eedb154262845c1d7_274689.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f7/stap_f7f8db3270f7871eedb154262845c1d7_274689.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f7/stap_f7f8db3270f7871eedb154262845c1d7_274689.ko stap> PASS: buildok/nd_syscalls-detailed.stp (interactive) - cached compile running the equivalent of 'stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp' PASS: buildok/nd_syscalls2-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 1" to stapi set panic_warnings 1 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nd_syscalls2-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp stap> PASS: buildok/nd_syscalls2-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44544res/3008shr/40384data kb, in 0usr/10sys/16real ms. Pass 2: analyzed script: 298 probes, 112 functions, 100 embeds, 8 globals using 221504virt/55040res/7552shr/204928data kb, in 0usr/86120sys/86801real ms. Pass 3: translated to C into "/tmp/stap2gDYKe/stap_1f0ce7b32a745fd01dc84598deb821ae_302423_src.c" using 221632virt/55232res/7616shr/205056data kb, in 0usr/890sys/904real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1f/stap_1f0ce7b32a745fd01dc84598deb821ae_302423.ko Pass 4: compiled C into "stap_1f0ce7b32a745fd01dc84598deb821ae_302423.ko" in 0usr/17310sys/17520real ms. stap> PASS: buildok/nd_syscalls2-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44480res/2944shr/40384data kb, in 0usr/10sys/17real ms. Pass 2: analyzed script: 298 probes, 112 functions, 100 embeds, 8 globals using 221504virt/55040res/7552shr/204928data kb, in 0usr/86250sys/86943real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1f/stap_1f0ce7b32a745fd01dc84598deb821ae_302423.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1f/stap_1f0ce7b32a745fd01dc84598deb821ae_302423.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1f/stap_1f0ce7b32a745fd01dc84598deb821ae_302423.ko stap> PASS: buildok/nd_syscalls2-detailed.stp (interactive) - cached compile running the equivalent of 'stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp' PASS: buildok/netfilter-glob.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 1" to stapi set unoptimized 1 stap> PASS: buildok/netfilter-glob.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp stap> PASS: buildok/netfilter-glob.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 31 probes, 424 functions, 5 embeds, 3 globals using 2048640virt/408960res/133056shr/2032064data kb, in 0usr/29280sys/30232real ms. Pass 3: translated to C into "/tmp/stapjeXkDe/stap_6db3b624b8480a7d16b334744da78e44_406999_src.c" using 2048640virt/408960res/133056shr/2032064data kb, in 0usr/160sys/154real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6db3b624b8480a7d16b334744da78e44_406999.ko Pass 4: compiled C into "stap_6db3b624b8480a7d16b334744da78e44_406999.ko" in 0usr/15020sys/15213real ms. stap> PASS: buildok/netfilter-glob.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 31 probes, 424 functions, 5 embeds, 3 globals using 2048768virt/409024res/133056shr/2032192data kb, in 0usr/18990sys/19366real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6db3b624b8480a7d16b334744da78e44_406999.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6db3b624b8480a7d16b334744da78e44_406999.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6db3b624b8480a7d16b334744da78e44_406999.ko stap> PASS: buildok/netfilter-glob.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp' PASS: buildok/netfilter01.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/netfilter01.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp stap> PASS: buildok/netfilter01.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapZLY2yK/stap_5c5a2c34d94d91baaa530bde33e7adfc_1349_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5c/stap_5c5a2c34d94d91baaa530bde33e7adfc_1349.ko Pass 4: compiled C into "stap_5c5a2c34d94d91baaa530bde33e7adfc_1349.ko" in 0usr/3510sys/3566real ms. stap> PASS: buildok/netfilter01.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5c/stap_5c5a2c34d94d91baaa530bde33e7adfc_1349.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5c/stap_5c5a2c34d94d91baaa530bde33e7adfc_1349.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5c/stap_5c5a2c34d94d91baaa530bde33e7adfc_1349.ko stap> PASS: buildok/netfilter01.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp' PASS: buildok/netfilter02.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/netfilter02.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp stap> PASS: buildok/netfilter02.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. WARNING: side-effect-free probe 'probe_2760': keyword at :4:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") { } ^ WARNING: side-effect-free probe 'probe_2761': keyword at :5:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") { } ^ Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/20sys/28real ms. Pass 3: translated to C into "/tmp/stapmX46QL/stap_b40861e7fe31f50826c39322aaee32a7_1161_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b4/stap_b40861e7fe31f50826c39322aaee32a7_1161.ko Pass 4: compiled C into "stap_b40861e7fe31f50826c39322aaee32a7_1161.ko" in 0usr/3460sys/3518real ms. stap> PASS: buildok/netfilter02.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. WARNING: side-effect-free probe 'probe_2760': keyword at :4:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") { } ^ WARNING: side-effect-free probe 'probe_2761': keyword at :5:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") { } ^ Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b4/stap_b40861e7fe31f50826c39322aaee32a7_1161.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b4/stap_b40861e7fe31f50826c39322aaee32a7_1161.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b4/stap_b40861e7fe31f50826c39322aaee32a7_1161.ko stap> PASS: buildok/netfilter02.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp' PASS: buildok/netfilter03.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/netfilter03.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp stap> PASS: buildok/netfilter03.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapv1A3SN/stap_d4a3eb1627d1569d760b551a184369b2_1046_src.c" using 56448virt/47296res/5312shr/40000data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4a3eb1627d1569d760b551a184369b2_1046.ko Pass 4: compiled C into "stap_d4a3eb1627d1569d760b551a184369b2_1046.ko" in 0usr/3440sys/3492real ms. stap> PASS: buildok/netfilter03.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/20sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4a3eb1627d1569d760b551a184369b2_1046.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4a3eb1627d1569d760b551a184369b2_1046.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d4a3eb1627d1569d760b551a184369b2_1046.ko stap> PASS: buildok/netfilter03.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp' PASS: buildok/netfilter04.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/netfilter04.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp stap> PASS: buildok/netfilter04.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. WARNING: side-effect-free probe 'probe_2759': keyword at :3:1 source: probe netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") { } ^ Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapKyspSS/stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/da/stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008.ko Pass 4: compiled C into "stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008.ko" in 0usr/3510sys/3561real ms. stap> PASS: buildok/netfilter04.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. WARNING: side-effect-free probe 'probe_2759': keyword at :3:1 source: probe netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") { } ^ Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/da/stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/da/stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/da/stap_da4b3a9e318cfef74ad77d2d9363c7f5_1008.ko stap> PASS: buildok/netfilter04.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp' PASS: buildok/networking-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/networking-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp stap> PASS: buildok/networking-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 19 probes, 0 functions, 1 embed, 0 globals using 370944virt/319936res/122816shr/354496data kb, in 0usr/2570sys/2598real ms. Pass 3: translated to C into "/tmp/stapXE00f7/stap_ac6984e32f0222e4ff12771d138ed2ee_3931_src.c" using 370944virt/320064res/122944shr/354496data kb, in 0usr/10sys/12real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac6984e32f0222e4ff12771d138ed2ee_3931.ko Pass 4: compiled C into "stap_ac6984e32f0222e4ff12771d138ed2ee_3931.ko" in 0usr/3480sys/3521real ms. stap> PASS: buildok/networking-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 19 probes, 0 functions, 1 embed, 0 globals using 370944virt/319936res/122816shr/354496data kb, in 0usr/2570sys/2596real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac6984e32f0222e4ff12771d138ed2ee_3931.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac6984e32f0222e4ff12771d138ed2ee_3931.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ac/stap_ac6984e32f0222e4ff12771d138ed2ee_3931.ko stap> PASS: buildok/networking-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp' PASS: buildok/networking-change_rx_flag.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/networking-change_rx_flag.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp stap> PASS: buildok/networking-change_rx_flag.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 0 functions, 0 embeds, 0 globals using 367424virt/316416res/122816shr/350976data kb, in 0usr/2500sys/2531real ms. Pass 3: translated to C into "/tmp/stapMaukTb/stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862_src.c" using 367424virt/316544res/122944shr/350976data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/85/stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862.ko Pass 4: compiled C into "stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862.ko" in 0usr/3540sys/3574real ms. stap> PASS: buildok/networking-change_rx_flag.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 0 functions, 0 embeds, 0 globals using 367424virt/316416res/122816shr/350976data kb, in 0usr/2490sys/2516real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/85/stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/85/stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/85/stap_85792ba3a9f8f71e18b55ba0b1d532ba_1862.ko stap> PASS: buildok/networking-change_rx_flag.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp' PASS: buildok/networking-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/networking-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp stap> PASS: buildok/networking-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("dev_close@net/core/dev.c:1472") from: netdev.close from: netdev.open semantic error: failed to retrieve location attribute for 'dev' [man error::dwarf]: identifier '$dev' at /root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp:120:29 dieoffset: 0x5730ff0 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: dev_close at net/core/dev.c:1474 inlined by dev_change_net_namespace at net/core/dev.c:7851 source: dev_name = get_netdev_name($dev) ^ Pass 2: analyzed script: 16 probes, 53 functions, 1 embed, 0 globals using 371008virt/320064res/122944shr/354560data kb, in 0usr/2480sys/2514real ms. Pass 2: analysis failed. [man error::pass2] stap> FAIL: buildok/networking-detailed.stp (interactive) - compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp' PASS: buildok/networking-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/networking-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp stap> PASS: buildok/networking-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 326720virt/277248res/125120shr/310272data kb, in 0usr/1270sys/1283real ms. Pass 3: translated to C into "/tmp/stapWaqDeT/stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608_src.c" using 326720virt/278592res/125696shr/310272data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e5/stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608.ko Pass 4: compiled C into "stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608.ko" in 0usr/3280sys/3333real ms. stap> PASS: buildok/networking-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 326720virt/277184res/125120shr/310272data kb, in 0usr/1270sys/1282real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e5/stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e5/stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e5/stap_e56beec3a21b6eeaf0a3b5a9a956bee0_2608.ko stap> PASS: buildok/networking-embedded.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp' PASS: buildok/newlocals01.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/newlocals01.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp stap> PASS: buildok/newlocals01.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/20sys/28real ms. Pass 3: translated to C into "/tmp/stapFyuUaJ/stap_456e6614be40a558310d888b5d330f8d_1306_src.c" using 56448virt/47296res/5312shr/40000data kb, in 0usr/10sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/45/stap_456e6614be40a558310d888b5d330f8d_1306.ko Pass 4: compiled C into "stap_456e6614be40a558310d888b5d330f8d_1306.ko" in 0usr/3240sys/3296real ms. stap> PASS: buildok/newlocals01.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/45/stap_456e6614be40a558310d888b5d330f8d_1306.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/45/stap_456e6614be40a558310d888b5d330f8d_1306.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/45/stap_456e6614be40a558310d888b5d330f8d_1306.ko stap> PASS: buildok/newlocals01.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp' PASS: buildok/nfs-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfs-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp stap> PASS: buildok/nfs-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 358 probes, 8 functions, 106 embeds, 0 globals using 986880virt/457472res/135488shr/970304data kb, in 0usr/203600sys/205459real ms. Pass 3: translated to C into "/tmp/stapZr0I7q/stap_c9a41593262fa3e322a3b21318b76cd3_168374_src.c" using 986880virt/457600res/135616shr/970304data kb, in 0usr/2920sys/2968real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9a41593262fa3e322a3b21318b76cd3_168374.ko Pass 4: compiled C into "stap_c9a41593262fa3e322a3b21318b76cd3_168374.ko" in 0usr/4120sys/4185real ms. stap> PASS: buildok/nfs-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44480res/2944shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 358 probes, 8 functions, 106 embeds, 0 globals using 986880virt/457472res/135488shr/970304data kb, in 0usr/203730sys/205622real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9a41593262fa3e322a3b21318b76cd3_168374.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9a41593262fa3e322a3b21318b76cd3_168374.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9a41593262fa3e322a3b21318b76cd3_168374.ko stap> PASS: buildok/nfs-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp' PASS: buildok/nfs-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfs-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp stap> PASS: buildok/nfs-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/3real ms. Pass 2: analyzed script: 87 probes, 114 functions, 106 embeds, 0 globals using 978752virt/449472res/135488shr/962176data kb, in 0usr/35290sys/35679real ms. Pass 3: translated to C into "/tmp/stapbJjpkZ/stap_7434a879b0ac8ad339c5e1ca22747d35_259812_src.c" using 978752virt/449600res/135616shr/962176data kb, in 0usr/1930sys/1967real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_7434a879b0ac8ad339c5e1ca22747d35_259812.ko Pass 4: compiled C into "stap_7434a879b0ac8ad339c5e1ca22747d35_259812.ko" in 0usr/8570sys/8691real ms. stap> PASS: buildok/nfs-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/4real ms. Pass 2: analyzed script: 87 probes, 114 functions, 106 embeds, 0 globals using 978752virt/449472res/135488shr/962176data kb, in 0usr/35310sys/35705real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_7434a879b0ac8ad339c5e1ca22747d35_259812.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_7434a879b0ac8ad339c5e1ca22747d35_259812.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_7434a879b0ac8ad339c5e1ca22747d35_259812.ko stap> PASS: buildok/nfs-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/nfs-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp' PASS: buildok/nfs-fop.check_flags.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfs-fop.check_flags.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp stap> PASS: buildok/nfs-fop.check_flags.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. semantic error: while processing probe module("nfs").function("nfs_check_flags@fs/nfs/file.c:51") from: nfs.fop.check_flags from: nfs.fop.check_flags semantic error: failed to retrieve location attribute for 'flags' [man error::dwarf]: identifier '$flags' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp:874:16 dieoffset: 0x7f33c from /lib/modules/4.8.0-rc1uprobes+/kernel/fs/nfs/nfs.ko function: nfs_check_flags at fs/nfs/file.c:53 inlined by nfs_file_open at fs/nfs/file.c:71 source: flag = $flags ^ Pass 2: analyzed script: 2 probes, 1 function, 2 embeds, 0 globals using 813120virt/442944res/135168shr/796544data kb, in 0usr/7620sys/7731real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/nfs-fop.check_flags.stp (interactive) - compile (PRMS: GCC) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp' PASS: buildok/nfs_proc-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfs_proc-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp stap> PASS: buildok/nfs_proc-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 72 probes, 55 functions, 4 embeds, 0 globals using 818880virt/448768res/135168shr/802304data kb, in 0usr/48240sys/48750real ms. Pass 3: translated to C into "/tmp/stap5f8awC/stap_cf5fba1b4f5b86cc59b198aa87606b15_131221_src.c" using 818880virt/448896res/135296shr/802304data kb, in 0usr/2910sys/2960real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf5fba1b4f5b86cc59b198aa87606b15_131221.ko Pass 4: compiled C into "stap_cf5fba1b4f5b86cc59b198aa87606b15_131221.ko" in 0usr/7040sys/7139real ms. stap> PASS: buildok/nfs_proc-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 72 probes, 55 functions, 4 embeds, 0 globals using 818880virt/448768res/135168shr/802304data kb, in 0usr/48170sys/48673real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf5fba1b4f5b86cc59b198aa87606b15_131221.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf5fba1b4f5b86cc59b198aa87606b15_131221.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cf/stap_cf5fba1b4f5b86cc59b198aa87606b15_131221.ko stap> PASS: buildok/nfs_proc-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/nfs_proc-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp' PASS: buildok/nfsd-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfsd-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp stap> PASS: buildok/nfsd-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 296 probes, 11 functions, 9 embeds, 1 global using 1475008virt/467200res/141952shr/1458432data kb, in 0usr/78310sys/79156real ms. Pass 3: translated to C into "/tmp/stapIZPgSv/stap_747afdd90727b62474d1843751916fe8_213351_src.c" using 1475008virt/467328res/142080shr/1458432data kb, in 0usr/2530sys/2568real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_747afdd90727b62474d1843751916fe8_213351.ko Pass 4: compiled C into "stap_747afdd90727b62474d1843751916fe8_213351.ko" in 0usr/4130sys/4200real ms. stap> PASS: buildok/nfsd-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 296 probes, 11 functions, 9 embeds, 1 global using 1475008virt/467200res/141952shr/1458432data kb, in 0usr/81470sys/82342real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_747afdd90727b62474d1843751916fe8_213351.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_747afdd90727b62474d1843751916fe8_213351.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/74/stap_747afdd90727b62474d1843751916fe8_213351.ko stap> PASS: buildok/nfsd-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp' PASS: buildok/nfsd-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfsd-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp stap> PASS: buildok/nfsd-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56064virt/44608res/3072shr/39616data kb, in 0usr/0sys/4real ms. Pass 2: analyzed script: 238 probes, 85 functions, 9 embeds, 1 global using 1475264virt/467456res/141952shr/1458688data kb, in 0usr/69270sys/70034real ms. Pass 3: translated to C into "/tmp/stap3rV4cj/stap_f600c2fb6820dafe50f594a75141ade0_418766_src.c" using 1475264virt/467584res/142080shr/1458688data kb, in 0usr/2620sys/2663real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f600c2fb6820dafe50f594a75141ade0_418766.ko Pass 4: compiled C into "stap_f600c2fb6820dafe50f594a75141ade0_418766.ko" in 0usr/9790sys/9912real ms. stap> PASS: buildok/nfsd-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56064virt/44544res/3008shr/39616data kb, in 0usr/0sys/3real ms. Pass 2: analyzed script: 238 probes, 85 functions, 9 embeds, 1 global using 1475264virt/467456res/141952shr/1458688data kb, in 0usr/69180sys/69940real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f600c2fb6820dafe50f594a75141ade0_418766.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f600c2fb6820dafe50f594a75141ade0_418766.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f600c2fb6820dafe50f594a75141ade0_418766.ko stap> PASS: buildok/nfsd-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/nfsd-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp' PASS: buildok/nfsderrno-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nfsderrno-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp stap> PASS: buildok/nfsderrno-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 1 embed, 0 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapxwPMty/stap_92a00e7b576ca432ca02c36e25e90275_12479_src.c" using 56448virt/47296res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/92/stap_92a00e7b576ca432ca02c36e25e90275_12479.ko Pass 4: compiled C into "stap_92a00e7b576ca432ca02c36e25e90275_12479.ko" in 0usr/3240sys/3289real ms. stap> PASS: buildok/nfsderrno-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 1 embed, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/92/stap_92a00e7b576ca432ca02c36e25e90275_12479.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/92/stap_92a00e7b576ca432ca02c36e25e90275_12479.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/92/stap_92a00e7b576ca432ca02c36e25e90275_12479.ko stap> PASS: buildok/nfsderrno-embedded.stp (interactive) - cached compile running the equivalent of 'stap -wp2 /root/systemtap_write/systemtap/testsuite/buildok/nine.stp' PASS: buildok/nine.stp (interactive) - arg parsing UNTESTED: buildok/nine.stp (interactive) - last pass isn't 4 (2) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp' PASS: buildok/nineteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/nineteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp stap> PASS: buildok/nineteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapheRcuh/stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a8/stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518.ko Pass 4: compiled C into "stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518.ko" in 0usr/3280sys/3323real ms. stap> PASS: buildok/nineteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a8/stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a8/stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a8/stap_a89e3a4bbebcd5baaa1f3360ad7d4cfd_1518.ko stap> PASS: buildok/nineteen.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/null.stp' PASS: buildok/null.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/null.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/null.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/null.stp stap> PASS: buildok/null.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/null.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 2 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapjBn9PA/stap_6f8a451376c68efd0434f588c97aa7a2_1138_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6f8a451376c68efd0434f588c97aa7a2_1138.ko Pass 4: compiled C into "stap_6f8a451376c68efd0434f588c97aa7a2_1138.ko" in 0usr/3260sys/3305real ms. stap> PASS: buildok/null.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/null.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 2 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6f8a451376c68efd0434f588c97aa7a2_1138.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6f8a451376c68efd0434f588c97aa7a2_1138.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6f8a451376c68efd0434f588c97aa7a2_1138.ko stap> PASS: buildok/null.stp (interactive) - cached compile UNTESTED: buildok/oldlocals01.stp (interactive) - shell script running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp' PASS: buildok/oldlocals02.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/oldlocals02.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp stap> PASS: buildok/oldlocals02.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapSMzzZy/stap_4fb8586f8b829a340e7be5d0e3939170_1408_src.c" using 56448virt/47232res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4f/stap_4fb8586f8b829a340e7be5d0e3939170_1408.ko Pass 4: compiled C into "stap_4fb8586f8b829a340e7be5d0e3939170_1408.ko" in 0usr/3250sys/3291real ms. stap> PASS: buildok/oldlocals02.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 56448virt/46080res/4160shr/40000data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4f/stap_4fb8586f8b829a340e7be5d0e3939170_1408.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4f/stap_4fb8586f8b829a340e7be5d0e3939170_1408.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4f/stap_4fb8586f8b829a340e7be5d0e3939170_1408.ko stap> PASS: buildok/oldlocals02.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/one.stp' PASS: buildok/one.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/one.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/one.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/one.stp stap> PASS: buildok/one.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/one.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapmJLVri/stap_02b0231db18a16fccace5588bd896656_1475_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/02/stap_02b0231db18a16fccace5588bd896656_1475.ko Pass 4: compiled C into "stap_02b0231db18a16fccace5588bd896656_1475.ko" in 0usr/3480sys/3531real ms. stap> PASS: buildok/one.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/one.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/02/stap_02b0231db18a16fccace5588bd896656_1475.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/02/stap_02b0231db18a16fccace5588bd896656_1475.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/02/stap_02b0231db18a16fccace5588bd896656_1475.ko stap> PASS: buildok/one.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp' PASS: buildok/per-process-syscall.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/per-process-syscall.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp stap> PASS: buildok/per-process-syscall.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 4 functions, 4 embeds, 1 global using 217728virt/50944res/7360shr/201152data kb, in 0usr/2930sys/2997real ms. Pass 3: translated to C into "/tmp/stapsL2gN9/stap_5f717ec8b8682514eeaaae82854645e5_4607_src.c" using 217728virt/50944res/7360shr/201152data kb, in 0usr/10sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5f717ec8b8682514eeaaae82854645e5_4607.ko Pass 4: compiled C into "stap_5f717ec8b8682514eeaaae82854645e5_4607.ko" in 0usr/4640sys/4706real ms. stap> PASS: buildok/per-process-syscall.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 4 functions, 4 embeds, 1 global using 217728virt/50944res/7360shr/201152data kb, in 0usr/2950sys/3012real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5f717ec8b8682514eeaaae82854645e5_4607.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5f717ec8b8682514eeaaae82854645e5_4607.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/5f/stap_5f717ec8b8682514eeaaae82854645e5_4607.ko stap> PASS: buildok/per-process-syscall.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp' PASS: buildok/pmap_foreach.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/pmap_foreach.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp stap> PASS: buildok/pmap_foreach.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 1 global using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapMapsZe/stap_4d1b8a00f00ab788ea339db19f036ccf_2317_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4d1b8a00f00ab788ea339db19f036ccf_2317.ko Pass 4: compiled C into "stap_4d1b8a00f00ab788ea339db19f036ccf_2317.ko" in 0usr/3850sys/3917real ms. stap> PASS: buildok/pmap_foreach.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/10sys/1real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 1 global using 56448virt/46144res/4160shr/40000data kb, in 0usr/20sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4d1b8a00f00ab788ea339db19f036ccf_2317.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4d1b8a00f00ab788ea339db19f036ccf_2317.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4d1b8a00f00ab788ea339db19f036ccf_2317.ko stap> PASS: buildok/pmap_foreach.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp' PASS: buildok/pr10678.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/pr10678.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp stap> PASS: buildok/pr10678.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 57152virt/49664res/6848shr/40704data kb, in 0usr/1480sys/1512real ms. Pass 3: translated to C into "/tmp/stapwLjOea/stap_88078d34002364d5d97a53aa39db1c54_2131_src.c" using 57280virt/49920res/6976shr/40832data kb, in 0usr/1480sys/1512real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/88/stap_88078d34002364d5d97a53aa39db1c54_2131.ko Pass 4: compiled C into "stap_88078d34002364d5d97a53aa39db1c54_2131.ko" in 0usr/3470sys/3518real ms. stap> PASS: buildok/pr10678.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 57152virt/49664res/6848shr/40704data kb, in 0usr/1480sys/1511real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/88/stap_88078d34002364d5d97a53aa39db1c54_2131.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/88/stap_88078d34002364d5d97a53aa39db1c54_2131.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/88/stap_88078d34002364d5d97a53aa39db1c54_2131.ko stap> PASS: buildok/pr10678.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp' PASS: buildok/pr13284.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/pr13284.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp stap> PASS: buildok/pr13284.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 96320virt/88832res/6848shr/79872data kb, in 0usr/1200sys/1218real ms. Pass 3: translated to C into "/tmp/stapwqbgYw/stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082_src.c" using 96320virt/88960res/6976shr/79872data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e8/stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082.ko Pass 4: compiled C into "stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082.ko" in 0usr/3490sys/3526real ms. stap> PASS: buildok/pr13284.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 96320virt/88832res/6848shr/79872data kb, in 0usr/1200sys/1218real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e8/stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e8/stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e8/stap_e8a876d5b94fb079ead92e99f9c5b4f4_2082.ko stap> PASS: buildok/pr13284.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp' PASS: buildok/pretty-uprobes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/pretty-uprobes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp stap> PASS: buildok/pretty-uprobes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 19 functions, 1 embed, 1 global using 85248virt/77760res/6848shr/68800data kb, in 0usr/690sys/696real ms. Pass 3: translated to C into "/tmp/staptiYHX3/stap_ecc551549608643bf370b5b6df907ef2_15429_src.c" using 85248virt/77888res/6976shr/68800data kb, in 0usr/1450sys/1482real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ec/stap_ecc551549608643bf370b5b6df907ef2_15429.ko Pass 4: compiled C into "stap_ecc551549608643bf370b5b6df907ef2_15429.ko" in 0usr/5200sys/5273real ms. stap> PASS: buildok/pretty-uprobes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 19 functions, 1 embed, 1 global using 85248virt/77760res/6848shr/68800data kb, in 0usr/690sys/697real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ec/stap_ecc551549608643bf370b5b6df907ef2_15429.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ec/stap_ecc551549608643bf370b5b6df907ef2_15429.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ec/stap_ecc551549608643bf370b5b6df907ef2_15429.ko stap> PASS: buildok/pretty-uprobes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp' PASS: buildok/pretty.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/pretty.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp stap> PASS: buildok/pretty.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 3 probes, 61 functions, 2 embeds, 1 global using 637696virt/431552res/127488shr/621120data kb, in 0usr/8720sys/8876real ms. Pass 3: translated to C into "/tmp/stap4LKEWk/stap_95ed11b89b4c9a23a523efa46783f744_67478_src.c" using 637696virt/431680res/127616shr/621120data kb, in 0usr/20sys/20real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95ed11b89b4c9a23a523efa46783f744_67478.ko Pass 4: compiled C into "stap_95ed11b89b4c9a23a523efa46783f744_67478.ko" in 0usr/6240sys/5997real ms. stap> PASS: buildok/pretty.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 61 functions, 2 embeds, 1 global using 637696virt/431552res/127488shr/621120data kb, in 0usr/8710sys/8856real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95ed11b89b4c9a23a523efa46783f744_67478.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95ed11b89b4c9a23a523efa46783f744_67478.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95ed11b89b4c9a23a523efa46783f744_67478.ko stap> PASS: buildok/pretty.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp' PASS: buildok/print_histogram_entry.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/print_histogram_entry.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp stap> PASS: buildok/print_histogram_entry.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapvMuj2S/stap_21266267bd97e8d48199743be27d18fb_1742_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/21/stap_21266267bd97e8d48199743be27d18fb_1742.ko Pass 4: compiled C into "stap_21266267bd97e8d48199743be27d18fb_1742.ko" in 0usr/3520sys/3571real ms. stap> PASS: buildok/print_histogram_entry.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 2 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/21/stap_21266267bd97e8d48199743be27d18fb_1742.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/21/stap_21266267bd97e8d48199743be27d18fb_1742.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/21/stap_21266267bd97e8d48199743be27d18fb_1742.ko stap> PASS: buildok/print_histogram_entry.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp' PASS: buildok/print_histograms.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/print_histograms.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp stap> PASS: buildok/print_histograms.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 3 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapJ8XpXu/stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876.ko Pass 4: compiled C into "stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876.ko" in 0usr/3590sys/3650real ms. stap> PASS: buildok/print_histograms.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 1 function, 0 embeds, 3 globals using 56448virt/46144res/4224shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfd4b7bcfc8afe9b697e4cab5d32e133_1876.ko stap> PASS: buildok/print_histograms.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/printf.stp' PASS: buildok/printf.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/printf.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/printf.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/printf.stp stap> PASS: buildok/printf.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/printf.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46208res/4224shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapxXwzQs/stap_95bc50c5d2292e12162523a10b344678_2160_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95bc50c5d2292e12162523a10b344678_2160.ko Pass 4: compiled C into "stap_95bc50c5d2292e12162523a10b344678_2160.ko" in 0usr/3650sys/3700real ms. stap> PASS: buildok/printf.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/printf.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46208res/4224shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95bc50c5d2292e12162523a10b344678_2160.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95bc50c5d2292e12162523a10b344678_2160.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95bc50c5d2292e12162523a10b344678_2160.ko stap> PASS: buildok/printf.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/proc_mem-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp' PASS: buildok/process_test.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/process_test.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp stap> PASS: buildok/process_test.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 10 functions, 100 embeds, 1 global using 539456virt/329088res/123200shr/522880data kb, in 0usr/7120sys/7248real ms. Pass 3: translated to C into "/tmp/stapzHdF4T/stap_0ee3596d53305dfa617089aef89df109_74878_src.c" using 539456virt/329216res/123328shr/522880data kb, in 0usr/20sys/20real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0e/stap_0ee3596d53305dfa617089aef89df109_74878.ko Pass 4: compiled C into "stap_0ee3596d53305dfa617089aef89df109_74878.ko" in 0usr/4820sys/4591real ms. stap> PASS: buildok/process_test.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 9 probes, 10 functions, 100 embeds, 1 global using 539392virt/329088res/123200shr/522816data kb, in 0usr/7150sys/7275real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0e/stap_0ee3596d53305dfa617089aef89df109_74878.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0e/stap_0ee3596d53305dfa617089aef89df109_74878.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0e/stap_0ee3596d53305dfa617089aef89df109_74878.ko stap> PASS: buildok/process_test.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp' PASS: buildok/procfs01.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/procfs01.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp stap> PASS: buildok/procfs01.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 1 global using 56448virt/46272res/4352shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapx177bj/stap_95591ff1dc644ba4f353457da1445621_2287_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95591ff1dc644ba4f353457da1445621_2287.ko Pass 4: compiled C into "stap_95591ff1dc644ba4f353457da1445621_2287.ko" in 0usr/3430sys/3481real ms. stap> PASS: buildok/procfs01.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 1 embed, 1 global using 56448virt/46208res/4288shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95591ff1dc644ba4f353457da1445621_2287.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95591ff1dc644ba4f353457da1445621_2287.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/95/stap_95591ff1dc644ba4f353457da1445621_2287.ko stap> PASS: buildok/procfs01.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp' PASS: buildok/profiletimer.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/profiletimer.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp stap> PASS: buildok/profiletimer.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56384virt/46528res/4544shr/39936data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapPfgGzM/stap_69698d14495a24e0b981469f9c81388d_1129_src.c" using 56384virt/47296res/5248shr/39936data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/69/stap_69698d14495a24e0b981469f9c81388d_1129.ko Pass 4: compiled C into "stap_69698d14495a24e0b981469f9c81388d_1129.ko" in 0usr/3340sys/3386real ms. stap> PASS: buildok/profiletimer.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56384virt/46528res/4544shr/39936data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/69/stap_69698d14495a24e0b981469f9c81388d_1129.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/69/stap_69698d14495a24e0b981469f9c81388d_1129.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/69/stap_69698d14495a24e0b981469f9c81388d_1129.ko stap> PASS: buildok/profiletimer.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp' PASS: buildok/queue_stats-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/queue_stats-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp stap> PASS: buildok/queue_stats-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 15 functions, 1 embed, 9 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/40sys/39real ms. Pass 3: translated to C into "/tmp/stapCRn9F7/stap_0522a94ea79c3ef856390289feef96a3_9101_src.c" using 56448virt/47424res/5312shr/40000data kb, in 0usr/0sys/7real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_0522a94ea79c3ef856390289feef96a3_9101.ko Pass 4: compiled C into "stap_0522a94ea79c3ef856390289feef96a3_9101.ko" in 0usr/3890sys/3939real ms. stap> PASS: buildok/queue_stats-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 15 functions, 1 embed, 9 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/40sys/39real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_0522a94ea79c3ef856390289feef96a3_9101.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_0522a94ea79c3ef856390289feef96a3_9101.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/05/stap_0522a94ea79c3ef856390289feef96a3_9101.ko stap> PASS: buildok/queue_stats-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp' PASS: buildok/random-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/random-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp stap> PASS: buildok/random-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapkJzE9o/stap_15a2491f3b0a187d1c188756761d83af_1242_src.c" using 56448virt/47296res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a2491f3b0a187d1c188756761d83af_1242.ko Pass 4: compiled C into "stap_15a2491f3b0a187d1c188756761d83af_1242.ko" in 0usr/3250sys/3294real ms. stap> PASS: buildok/random-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a2491f3b0a187d1c188756761d83af_1242.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a2491f3b0a187d1c188756761d83af_1242.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/15/stap_15a2491f3b0a187d1c188756761d83af_1242.ko stap> PASS: buildok/random-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp' PASS: buildok/rcu.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/rcu.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp stap> PASS: buildok/rcu.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapg291Vd/stap_c0ca5939628b7ec9889291068003d430_1783_src.c" using 56448virt/47296res/5248shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c0/stap_c0ca5939628b7ec9889291068003d430_1783.ko Pass 4: compiled C into "stap_c0ca5939628b7ec9889291068003d430_1783.ko" in 0usr/3270sys/3320real ms. stap> PASS: buildok/rcu.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 1 embed, 0 globals using 56448virt/46208res/4288shr/40000data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c0/stap_c0ca5939628b7ec9889291068003d430_1783.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c0/stap_c0ca5939628b7ec9889291068003d430_1783.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c0/stap_c0ca5939628b7ec9889291068003d430_1783.ko stap> PASS: buildok/rcu.stp (interactive) - cached compile running the equivalent of 'stap -wp4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/rpc-all-probes.stp (interactive) - unsupported option running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/rpc-detailed.stp (interactive) - unsupported option running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/rpc-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp' PASS: buildok/scheduler-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp stap> PASS: buildok/scheduler-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 15 probes, 0 functions, 2 embeds, 0 globals using 268992virt/102464res/7552shr/252416data kb, in 0usr/5950sys/6064real ms. Pass 3: translated to C into "/tmp/stapOCzhZz/stap_d5868182e279f157294e11b3489c0b12_4390_src.c" using 268992virt/102592res/7680shr/252416data kb, in 0usr/10sys/12real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d5/stap_d5868182e279f157294e11b3489c0b12_4390.ko Pass 4: compiled C into "stap_d5868182e279f157294e11b3489c0b12_4390.ko" in 0usr/4500sys/4182real ms. stap> PASS: buildok/scheduler-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 15 probes, 0 functions, 2 embeds, 0 globals using 268992virt/102464res/7552shr/252416data kb, in 0usr/5950sys/6067real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d5/stap_d5868182e279f157294e11b3489c0b12_4390.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d5/stap_d5868182e279f157294e11b3489c0b12_4390.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d5/stap_d5868182e279f157294e11b3489c0b12_4390.ko stap> PASS: buildok/scheduler-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp' PASS: buildok/scheduler-cpu_off.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-cpu_off.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp stap> PASS: buildok/scheduler-cpu_off.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 226816virt/59904res/7232shr/210240data kb, in 0usr/3220sys/3291real ms. Pass 3: translated to C into "/tmp/stapHjpwSv/stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119_src.c" using 226816virt/59904res/7232shr/210240data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ad/stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119.ko Pass 4: compiled C into "stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119.ko" in 0usr/3750sys/3500real ms. stap> PASS: buildok/scheduler-cpu_off.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 226816virt/59904res/7232shr/210240data kb, in 0usr/3230sys/3299real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ad/stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ad/stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ad/stap_ad8fb45f426e3c7e8b0595a3e3a1d29d_2119.ko stap> PASS: buildok/scheduler-cpu_off.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp' PASS: buildok/scheduler-cpu_on.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-cpu_on.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp stap> PASS: buildok/scheduler-cpu_on.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 257856virt/91008res/7232shr/241280data kb, in 0usr/2660sys/2706real ms. Pass 3: translated to C into "/tmp/stapWpAzhk/stap_f96df3b624fabf05c4b60b376f0c74fc_3194_src.c" using 257856virt/91136res/7360shr/241280data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f96df3b624fabf05c4b60b376f0c74fc_3194.ko Pass 4: compiled C into "stap_f96df3b624fabf05c4b60b376f0c74fc_3194.ko" in 0usr/3530sys/3587real ms. stap> PASS: buildok/scheduler-cpu_on.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 257856virt/91008res/7232shr/241280data kb, in 0usr/2660sys/2710real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f96df3b624fabf05c4b60b376f0c74fc_3194.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f96df3b624fabf05c4b60b376f0c74fc_3194.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f9/stap_f96df3b624fabf05c4b60b376f0c74fc_3194.ko stap> PASS: buildok/scheduler-cpu_on.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp' PASS: buildok/scheduler-ctxswitch.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-ctxswitch.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp stap> PASS: buildok/scheduler-ctxswitch.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 2 embeds, 0 globals using 227520virt/60800res/7424shr/210944data kb, in 0usr/4690sys/4788real ms. Pass 3: translated to C into "/tmp/stapFNXDNA/stap_0605094dd5cfd0a32c54926a8c686e72_8040_src.c" using 227520virt/60800res/7424shr/210944data kb, in 0usr/10sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_0605094dd5cfd0a32c54926a8c686e72_8040.ko Pass 4: compiled C into "stap_0605094dd5cfd0a32c54926a8c686e72_8040.ko" in 0usr/3980sys/3718real ms. stap> PASS: buildok/scheduler-ctxswitch.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 2 embeds, 0 globals using 227520virt/60800res/7424shr/210944data kb, in 0usr/4680sys/4782real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_0605094dd5cfd0a32c54926a8c686e72_8040.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_0605094dd5cfd0a32c54926a8c686e72_8040.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/06/stap_0605094dd5cfd0a32c54926a8c686e72_8040.ko stap> PASS: buildok/scheduler-ctxswitch.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp' PASS: buildok/scheduler-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp stap> PASS: buildok/scheduler-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 20 probes, 23 functions, 3 embeds, 0 globals using 269312virt/102784res/7552shr/252736data kb, in 0usr/5930sys/6053real ms. Pass 3: translated to C into "/tmp/stapeGNO5w/stap_681f818ab9fe0c1ec784cdade4a46297_29538_src.c" using 269312virt/102912res/7680shr/252736data kb, in 0usr/10sys/20real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_681f818ab9fe0c1ec784cdade4a46297_29538.ko Pass 4: compiled C into "stap_681f818ab9fe0c1ec784cdade4a46297_29538.ko" in 0usr/5270sys/4966real ms. stap> PASS: buildok/scheduler-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 20 probes, 23 functions, 3 embeds, 0 globals using 269312virt/102784res/7552shr/252736data kb, in 0usr/5950sys/6062real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_681f818ab9fe0c1ec784cdade4a46297_29538.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_681f818ab9fe0c1ec784cdade4a46297_29538.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_681f818ab9fe0c1ec784cdade4a46297_29538.ko stap> PASS: buildok/scheduler-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/scheduler-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp' PASS: buildok/scheduler-migrate.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scheduler-migrate.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp stap> PASS: buildok/scheduler-migrate.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 5 functions, 2 embeds, 0 globals using 227456virt/60800res/7424shr/210880data kb, in 0usr/4680sys/4786real ms. Pass 3: translated to C into "/tmp/stapAp1Ls3/stap_d47ac1dff812a4dfdd99ab689e1f7147_5580_src.c" using 227456virt/60800res/7424shr/210880data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d47ac1dff812a4dfdd99ab689e1f7147_5580.ko Pass 4: compiled C into "stap_d47ac1dff812a4dfdd99ab689e1f7147_5580.ko" in 0usr/3910sys/3650real ms. stap> PASS: buildok/scheduler-migrate.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 5 functions, 2 embeds, 0 globals using 227456virt/60800res/7424shr/210880data kb, in 0usr/4670sys/4777real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d47ac1dff812a4dfdd99ab689e1f7147_5580.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d47ac1dff812a4dfdd99ab689e1f7147_5580.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d4/stap_d47ac1dff812a4dfdd99ab689e1f7147_5580.ko stap> PASS: buildok/scheduler-migrate.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp' PASS: buildok/scsi-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scsi-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp stap> PASS: buildok/scsi-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 0 functions, 1 embed, 0 globals using 479232virt/428288res/122944shr/462784data kb, in 0usr/10680sys/10859real ms. Pass 3: translated to C into "/tmp/staplMPXU4/stap_be3203621b7086ffed9b167a5eb8bb45_2345_src.c" using 479232virt/428416res/123072shr/462784data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/be/stap_be3203621b7086ffed9b167a5eb8bb45_2345.ko Pass 4: compiled C into "stap_be3203621b7086ffed9b167a5eb8bb45_2345.ko" in 0usr/4090sys/3783real ms. stap> PASS: buildok/scsi-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 6 probes, 0 functions, 1 embed, 0 globals using 479232virt/428288res/122944shr/462784data kb, in 0usr/10670sys/10845real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/be/stap_be3203621b7086ffed9b167a5eb8bb45_2345.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/be/stap_be3203621b7086ffed9b167a5eb8bb45_2345.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/be/stap_be3203621b7086ffed9b167a5eb8bb45_2345.ko stap> PASS: buildok/scsi-all-probes.stp (interactive) - cached compile UNTESTED: buildok/scsi-detailed.stp (interactive) - shell script running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp' PASS: buildok/scsi-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/scsi-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp stap> PASS: buildok/scsi-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 1 embed, 0 globals using 437632virt/389696res/125952shr/421184data kb, in 0usr/2900sys/2931real ms. Pass 3: translated to C into "/tmp/stapKhXGyk/stap_53bf46adfcb59550ea3e1ff851046420_7099_src.c" using 437632virt/389760res/126016shr/421184data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_53bf46adfcb59550ea3e1ff851046420_7099.ko Pass 4: compiled C into "stap_53bf46adfcb59550ea3e1ff851046420_7099.ko" in 0usr/3490sys/3536real ms. stap> PASS: buildok/scsi-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 9 functions, 1 embed, 0 globals using 437632virt/389696res/125952shr/421184data kb, in 0usr/2890sys/2931real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_53bf46adfcb59550ea3e1ff851046420_7099.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_53bf46adfcb59550ea3e1ff851046420_7099.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_53bf46adfcb59550ea3e1ff851046420_7099.ko stap> PASS: buildok/scsi-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp' PASS: buildok/semicolon.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/semicolon.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp stap> PASS: buildok/semicolon.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 1 global using 56448virt/46208res/4224shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapdTlaY6/stap_ea496051b1073e710c78b9d476e46314_1448_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ea/stap_ea496051b1073e710c78b9d476e46314_1448.ko Pass 4: compiled C into "stap_ea496051b1073e710c78b9d476e46314_1448.ko" in 0usr/3280sys/3332real ms. stap> PASS: buildok/semicolon.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 1 global using 56448virt/46208res/4224shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ea/stap_ea496051b1073e710c78b9d476e46314_1448.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ea/stap_ea496051b1073e710c78b9d476e46314_1448.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ea/stap_ea496051b1073e710c78b9d476e46314_1448.ko stap> PASS: buildok/semicolon.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seven.stp' PASS: buildok/seven.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/seven.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/seven.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/seven.stp stap> PASS: buildok/seven.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/seven.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 96512virt/88960res/6848shr/80064data kb, in 0usr/1200sys/1220real ms. Pass 3: translated to C into "/tmp/stapLebbwp/stap_030363450b3c99f5045694e92cb5f192_2729_src.c" using 96512virt/89088res/6976shr/80064data kb, in 0usr/20sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/03/stap_030363450b3c99f5045694e92cb5f192_2729.ko Pass 4: compiled C into "stap_030363450b3c99f5045694e92cb5f192_2729.ko" in 0usr/3490sys/3540real ms. stap> PASS: buildok/seven.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/seven.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 0 embeds, 0 globals using 96512virt/88960res/6848shr/80064data kb, in 0usr/1200sys/1215real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/03/stap_030363450b3c99f5045694e92cb5f192_2729.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/03/stap_030363450b3c99f5045694e92cb5f192_2729.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/03/stap_030363450b3c99f5045694e92cb5f192_2729.ko stap> PASS: buildok/seven.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp' PASS: buildok/seventeen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/seventeen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp stap> PASS: buildok/seventeen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 4 functions, 0 embeds, 0 globals using 98624virt/91456res/7168shr/82176data kb, in 0usr/2720sys/2767real ms. Pass 3: translated to C into "/tmp/stapxry9Ao/stap_f4c200a4a3de77f4c580bc99c5d4729f_4555_src.c" using 98624virt/91584res/7296shr/82176data kb, in 0usr/1870sys/1906real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4c200a4a3de77f4c580bc99c5d4729f_4555.ko Pass 4: compiled C into "stap_f4c200a4a3de77f4c580bc99c5d4729f_4555.ko" in 0usr/3690sys/3746real ms. stap> PASS: buildok/seventeen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 4 functions, 0 embeds, 0 globals using 98624virt/91456res/7168shr/82176data kb, in 0usr/2720sys/2763real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4c200a4a3de77f4c580bc99c5d4729f_4555.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4c200a4a3de77f4c580bc99c5d4729f_4555.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f4/stap_f4c200a4a3de77f4c580bc99c5d4729f_4555.ko stap> PASS: buildok/seventeen.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp' PASS: buildok/signal-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/signal-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp stap> PASS: buildok/signal-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 33 probes, 11 functions, 101 embeds, 1 global using 538624virt/328512res/123328shr/522048data kb, in 0usr/12480sys/12656real ms. Pass 3: translated to C into "/tmp/stapIHRjdf/stap_63c6809178f4d651a802ec1b8863b586_85290_src.c" using 538624virt/328640res/123456shr/522048data kb, in 0usr/20sys/21real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63c6809178f4d651a802ec1b8863b586_85290.ko Pass 4: compiled C into "stap_63c6809178f4d651a802ec1b8863b586_85290.ko" in 0usr/4730sys/4493real ms. stap> PASS: buildok/signal-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 33 probes, 11 functions, 101 embeds, 1 global using 538624virt/328512res/123328shr/522048data kb, in 0usr/12500sys/12677real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63c6809178f4d651a802ec1b8863b586_85290.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63c6809178f4d651a802ec1b8863b586_85290.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63c6809178f4d651a802ec1b8863b586_85290.ko stap> PASS: buildok/signal-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp' PASS: buildok/signal-check_ignored.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/signal-check_ignored.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp stap> PASS: buildok/signal-check_ignored.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("sig_ignored@kernel/signal.c:81") from: signal.check_ignored from: signal.check_ignored semantic error: failed to retrieve location attribute for 't' [man error::dwarf]: identifier '$t' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:365:15 dieoffset: 0x6d1011 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: sigismember at ./include/linux/signal.h:77 inlined by sig_ignored at kernel/signal.c:88 inlined by prepare_signal at kernel/signal.c:846 source: sig_pid = $t->pid ^ Pass 2: analyzed script: 2 probes, 2 functions, 96 embeds, 1 global using 367040virt/316224res/122944shr/350592data kb, in 0usr/2450sys/2476real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/signal-check_ignored.stp (interactive) - compile (PRMS: GCC) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp' PASS: buildok/signal-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/signal-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp stap> PASS: buildok/signal-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/1real ms. WARNING: cannot probe .return of 1 inlined functions sig_ignored WARNING: cannot probe .return of 1 inlined functions do_sigpending Pass 2: analyzed script: 23 probes, 29 functions, 100 embeds, 1 global using 538688virt/328576res/123328shr/522112data kb, in 0usr/10930sys/11088real ms. Pass 3: translated to C into "/tmp/stap6sIltB/stap_c9ddef1165983dffb785d16d134f4e6c_112996_src.c" using 538688virt/328704res/123456shr/522112data kb, in 0usr/30sys/32real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9ddef1165983dffb785d16d134f4e6c_112996.ko Pass 4: compiled C into "stap_c9ddef1165983dffb785d16d134f4e6c_112996.ko" in 0usr/5660sys/5423real ms. stap> PASS: buildok/signal-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/1real ms. WARNING: cannot probe .return of 1 inlined functions sig_ignored WARNING: cannot probe .return of 1 inlined functions do_sigpending Pass 2: analyzed script: 23 probes, 29 functions, 100 embeds, 1 global using 538688virt/328576res/123328shr/522112data kb, in 0usr/10870sys/11034real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9ddef1165983dffb785d16d134f4e6c_112996.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9ddef1165983dffb785d16d134f4e6c_112996.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c9ddef1165983dffb785d16d134f4e6c_112996.ko stap> PASS: buildok/signal-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp' PASS: buildok/signal-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/signal-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp stap> PASS: buildok/signal-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 8 functions, 0 embeds, 1 global using 326912virt/277312res/125120shr/310464data kb, in 0usr/1280sys/1296real ms. Pass 3: translated to C into "/tmp/stappcZ7bh/stap_7d8add0ee3e92d2b663531a06b706504_11919_src.c" using 326912virt/278784res/125760shr/310464data kb, in 0usr/10sys/6real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7d/stap_7d8add0ee3e92d2b663531a06b706504_11919.ko Pass 4: compiled C into "stap_7d8add0ee3e92d2b663531a06b706504_11919.ko" in 0usr/3660sys/3717real ms. stap> PASS: buildok/signal-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 8 functions, 0 embeds, 1 global using 326912virt/277248res/125120shr/310464data kb, in 0usr/1270sys/1290real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7d/stap_7d8add0ee3e92d2b663531a06b706504_11919.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7d/stap_7d8add0ee3e92d2b663531a06b706504_11919.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7d/stap_7d8add0ee3e92d2b663531a06b706504_11919.ko stap> PASS: buildok/signal-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp' PASS: buildok/signal-handle.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/signal-handle.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp stap> PASS: buildok/signal-handle.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 96 embeds, 1 global using 336576virt/289600res/126848shr/320128data kb, in 0usr/3020sys/3077real ms. Pass 3: translated to C into "/tmp/stapEfxcY8/stap_d622dacce4c8d48ee66dc6f377cb9e29_61643_src.c" using 336576virt/289600res/126848shr/320128data kb, in 0usr/10sys/7real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d6/stap_d622dacce4c8d48ee66dc6f377cb9e29_61643.ko Pass 4: compiled C into "stap_d622dacce4c8d48ee66dc6f377cb9e29_61643.ko" in 0usr/4220sys/4001real ms. stap> PASS: buildok/signal-handle.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 96 embeds, 1 global using 336576virt/289600res/126848shr/320128data kb, in 0usr/3010sys/3070real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d6/stap_d622dacce4c8d48ee66dc6f377cb9e29_61643.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d6/stap_d622dacce4c8d48ee66dc6f377cb9e29_61643.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/d6/stap_d622dacce4c8d48ee66dc6f377cb9e29_61643.ko stap> PASS: buildok/signal-handle.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/six.stp' PASS: buildok/six.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/six.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/six.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/six.stp stap> PASS: buildok/six.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/six.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96768virt/89152res/6784shr/80320data kb, in 0usr/1200sys/1220real ms. Pass 3: translated to C into "/tmp/stapeVe6Wu/stap_1dcfc7858f527e068a9b8039aea557fa_1349_src.c" using 96768virt/89344res/6976shr/80320data kb, in 0usr/20sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1dcfc7858f527e068a9b8039aea557fa_1349.ko Pass 4: compiled C into "stap_1dcfc7858f527e068a9b8039aea557fa_1349.ko" in 0usr/3470sys/3527real ms. stap> PASS: buildok/six.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/six.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96768virt/89152res/6784shr/80320data kb, in 0usr/1200sys/1217real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1dcfc7858f527e068a9b8039aea557fa_1349.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1dcfc7858f527e068a9b8039aea557fa_1349.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1dcfc7858f527e068a9b8039aea557fa_1349.ko stap> PASS: buildok/six.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp' PASS: buildok/sixteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/sixteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp stap> PASS: buildok/sixteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 1 global using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapP6vW7B/stap_59148b8aba60d20f5d91dbe9258afd1e_1494_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/59/stap_59148b8aba60d20f5d91dbe9258afd1e_1494.ko Pass 4: compiled C into "stap_59148b8aba60d20f5d91dbe9258afd1e_1494.ko" in 0usr/3410sys/3456real ms. stap> PASS: buildok/sixteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 1 global using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/59/stap_59148b8aba60d20f5d91dbe9258afd1e_1494.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/59/stap_59148b8aba60d20f5d91dbe9258afd1e_1494.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/59/stap_59148b8aba60d20f5d91dbe9258afd1e_1494.ko stap> PASS: buildok/sixteen.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp' PASS: buildok/socket-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/socket-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp stap> PASS: buildok/socket-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 26 probes, 14 functions, 4 embeds, 8 globals using 816704virt/446528res/135168shr/800128data kb, in 0usr/16260sys/16452real ms. Pass 3: translated to C into "/tmp/stap5nUGkP/stap_63e4d8badb545867db973ac67bbd518d_57827_src.c" using 816704virt/446656res/135296shr/800128data kb, in 0usr/30sys/32real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63e4d8badb545867db973ac67bbd518d_57827.ko Pass 4: compiled C into "stap_63e4d8badb545867db973ac67bbd518d_57827.ko" in 0usr/4920sys/4987real ms. stap> PASS: buildok/socket-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 26 probes, 14 functions, 4 embeds, 8 globals using 816704virt/446528res/135168shr/800128data kb, in 0usr/16600sys/16796real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63e4d8badb545867db973ac67bbd518d_57827.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63e4d8badb545867db973ac67bbd518d_57827.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/63/stap_63e4d8badb545867db973ac67bbd518d_57827.ko stap> PASS: buildok/socket-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp' PASS: buildok/socket-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/socket-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp stap> PASS: buildok/socket-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 26 probes, 42 functions, 4 embeds, 8 globals using 817280virt/447104res/135168shr/800704data kb, in 0usr/10810sys/10955real ms. Pass 3: translated to C into "/tmp/stapiS6BTH/stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793_src.c" using 817280virt/447232res/135296shr/800704data kb, in 0usr/70sys/78real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793.ko Pass 4: compiled C into "stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793.ko" in 0usr/7510sys/7604real ms. stap> PASS: buildok/socket-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 26 probes, 42 functions, 4 embeds, 8 globals using 817280virt/447104res/135168shr/800704data kb, in 0usr/10780sys/10926real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0c/stap_0c92ddbfe50282c18ca6c6f4021bfd3a_132793.ko stap> PASS: buildok/socket-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/socket-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp' PASS: buildok/stap_staticmarkers-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/stap_staticmarkers-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp stap> PASS: buildok/stap_staticmarkers-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 25 probes, 6 functions, 1 embed, 0 globals using 57152virt/48768res/6016shr/40704data kb, in 0usr/80sys/86real ms. Pass 3: translated to C into "/tmp/staptmOMaB/stap_eb384b6bc1633ff7c434d10da918ddb9_12186_src.c" using 57216virt/49216res/6336shr/40768data kb, in 0usr/1460sys/1486real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/eb/stap_eb384b6bc1633ff7c434d10da918ddb9_12186.ko Pass 4: compiled C into "stap_eb384b6bc1633ff7c434d10da918ddb9_12186.ko" in 0usr/5010sys/5084real ms. stap> PASS: buildok/stap_staticmarkers-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 25 probes, 6 functions, 1 embed, 0 globals using 57152virt/48768res/6016shr/40704data kb, in 0usr/80sys/84real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/eb/stap_eb384b6bc1633ff7c434d10da918ddb9_12186.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/eb/stap_eb384b6bc1633ff7c434d10da918ddb9_12186.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/eb/stap_eb384b6bc1633ff7c434d10da918ddb9_12186.ko stap> PASS: buildok/stap_staticmarkers-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp' PASS: buildok/stat_extract.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/stat_extract.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp stap> PASS: buildok/stat_extract.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 3 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/20sys/28real ms. Pass 3: translated to C into "/tmp/stapnMSMaP/stap_225d8365aab657f855b04af1d046ed8b_1863_src.c" using 56448virt/47360res/5312shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_225d8365aab657f855b04af1d046ed8b_1863.ko Pass 4: compiled C into "stap_225d8365aab657f855b04af1d046ed8b_1863.ko" in 0usr/3850sys/3903real ms. stap> PASS: buildok/stat_extract.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 1 function, 0 embeds, 3 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/20sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_225d8365aab657f855b04af1d046ed8b_1863.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_225d8365aab657f855b04af1d046ed8b_1863.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/22/stap_225d8365aab657f855b04af1d046ed8b_1863.ko stap> PASS: buildok/stat_extract.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp' PASS: buildok/stat_insert.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/stat_insert.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp stap> PASS: buildok/stat_insert.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44672res/3136shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 5 probes, 2 functions, 0 embeds, 8 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/29real ms. Pass 3: translated to C into "/tmp/stapcal2MT/stap_042503c73d6c067bc5211d1d01317513_3660_src.c" using 56576virt/47552res/5376shr/40128data kb, in 0usr/0sys/5real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/04/stap_042503c73d6c067bc5211d1d01317513_3660.ko Pass 4: compiled C into "stap_042503c73d6c067bc5211d1d01317513_3660.ko" in 0usr/4170sys/4228real ms. stap> PASS: buildok/stat_insert.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 5 probes, 2 functions, 0 embeds, 8 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/29real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/04/stap_042503c73d6c067bc5211d1d01317513_3660.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/04/stap_042503c73d6c067bc5211d1d01317513_3660.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/04/stap_042503c73d6c067bc5211d1d01317513_3660.ko stap> PASS: buildok/stat_insert.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp' PASS: buildok/stopwatches.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/stopwatches.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp stap> PASS: buildok/stopwatches.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 608 probes, 18 functions, 102 embeds, 3 globals using 556928virt/346880res/123328shr/540352data kb, in 0usr/228830sys/230758real ms. Pass 3: translated to C into "/tmp/stapSt3EBy/stap_a4b35fb3ad3439057e5ac866a5037371_291212_src.c" using 556928virt/347008res/123456shr/540352data kb, in 0usr/140sys/139real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a4/stap_a4b35fb3ad3439057e5ac866a5037371_291212.ko Pass 4: compiled C into "stap_a4b35fb3ad3439057e5ac866a5037371_291212.ko" in 0usr/7280sys/7379real ms. stap> PASS: buildok/stopwatches.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 608 probes, 18 functions, 102 embeds, 3 globals using 556928virt/346880res/123328shr/540352data kb, in 0usr/228750sys/230664real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a4/stap_a4b35fb3ad3439057e5ac866a5037371_291212.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a4/stap_a4b35fb3ad3439057e5ac866a5037371_291212.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a4/stap_a4b35fb3ad3439057e5ac866a5037371_291212.ko stap> PASS: buildok/stopwatches.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp' PASS: buildok/string-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/string-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp stap> PASS: buildok/string-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 1 embed, 0 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/29real ms. Pass 3: translated to C into "/tmp/stappDOnUn/stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795_src.c" using 56448virt/47296res/5248shr/40000data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e2/stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795.ko Pass 4: compiled C into "stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795.ko" in 0usr/3450sys/3498real ms. stap> PASS: buildok/string-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 1 embed, 0 globals using 56448virt/46144res/4160shr/40000data kb, in 0usr/30sys/29real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e2/stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e2/stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e2/stap_e222beb1f6ecf5a562cae62ef1d7fa8e_4795.ko stap> PASS: buildok/string-embedded.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp' PASS: buildok/syscall.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/syscall.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp stap> PASS: buildok/syscall.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 606 probes, 160 functions, 101 embeds, 1 global using 555200virt/345152res/123328shr/538624data kb, in 0usr/228360sys/230285real ms. Pass 3: translated to C into "/tmp/stapjgqxSP/stap_8709ecde2342e205afc3dd3685f83fd7_1153902_src.c" using 555200virt/345280res/123456shr/538624data kb, in 0usr/460sys/463real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/87/stap_8709ecde2342e205afc3dd3685f83fd7_1153902.ko Pass 4: compiled C into "stap_8709ecde2342e205afc3dd3685f83fd7_1153902.ko" in 0usr/32160sys/32567real ms. stap> PASS: buildok/syscall.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44608res/3072shr/39424data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 606 probes, 160 functions, 101 embeds, 1 global using 555200virt/345152res/123328shr/538624data kb, in 0usr/229020sys/231003real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/87/stap_8709ecde2342e205afc3dd3685f83fd7_1153902.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/87/stap_8709ecde2342e205afc3dd3685f83fd7_1153902.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/87/stap_8709ecde2342e205afc3dd3685f83fd7_1153902.ko stap> PASS: buildok/syscall.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp' PASS: buildok/syscalls-arch-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/syscalls-arch-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp stap> PASS: buildok/syscalls-arch-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 2 probes, 4 functions, 2 embeds, 0 globals using 101632virt/94336res/7104shr/85184data kb, in 0usr/2030sys/2046real ms. Pass 3: translated to C into "/tmp/stapXLMjG8/stap_8b11259f9ea03c70dc05c810f9665aa6_8920_src.c" using 101632virt/94528res/7296shr/85184data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/8b/stap_8b11259f9ea03c70dc05c810f9665aa6_8920.ko Pass 4: compiled C into "stap_8b11259f9ea03c70dc05c810f9665aa6_8920.ko" in 0usr/3590sys/3643real ms. stap> PASS: buildok/syscalls-arch-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55872virt/44544res/3008shr/39424data kb, in 0usr/0sys/2real ms. Pass 2: analyzed script: 2 probes, 4 functions, 2 embeds, 0 globals using 101632virt/94336res/7104shr/85184data kb, in 0usr/2070sys/2087real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/8b/stap_8b11259f9ea03c70dc05c810f9665aa6_8920.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/8b/stap_8b11259f9ea03c70dc05c810f9665aa6_8920.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/8b/stap_8b11259f9ea03c70dc05c810f9665aa6_8920.ko stap> PASS: buildok/syscalls-arch-detailed.stp (interactive) - cached compile running the equivalent of 'stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp' PASS: buildok/syscalls-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 1" to stapi set panic_warnings 1 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/syscalls-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp stap> PASS: buildok/syscalls-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44480res/2944shr/40384data kb, in 0usr/10sys/15real ms. Pass 2: analyzed script: 299 probes, 101 functions, 99 embeds, 1 global using 118208virt/111168res/7168shr/101760data kb, in 0usr/100220sys/101065real ms. Pass 3: translated to C into "/tmp/stap5RVQzV/stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588_src.c" using 118208virt/111296res/7296shr/101760data kb, in 0usr/210sys/216real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a5/stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588.ko Pass 4: compiled C into "stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588.ko" in 0usr/18710sys/18943real ms. stap> PASS: buildok/syscalls-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56832virt/44480res/2880shr/40384data kb, in 0usr/10sys/16real ms. Pass 2: analyzed script: 299 probes, 101 functions, 99 embeds, 1 global using 118208virt/111168res/7168shr/101760data kb, in 0usr/94010sys/94790real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a5/stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a5/stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a5/stap_a56f80b5ba4c1ce676b0f88e1e75ff39_557588.ko stap> PASS: buildok/syscalls-detailed.stp (interactive) - cached compile running the equivalent of 'stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp' PASS: buildok/syscalls2-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 1" to stapi set panic_warnings 1 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/syscalls2-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp stap> PASS: buildok/syscalls2-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56896virt/44544res/2944shr/40448data kb, in 0usr/20sys/17real ms. Pass 2: analyzed script: 301 probes, 111 functions, 99 embeds, 1 global using 388288virt/337408res/122944shr/371840data kb, in 0usr/139500sys/140683real ms. Pass 3: translated to C into "/tmp/stapgrBLn9/stap_6fa5b1a1c616855f352c824bc257d557_596011_src.c" using 388288virt/337536res/123072shr/371840data kb, in 0usr/210sys/214real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6fa5b1a1c616855f352c824bc257d557_596011.ko Pass 4: compiled C into "stap_6fa5b1a1c616855f352c824bc257d557_596011.ko" in 0usr/18680sys/18910real ms. stap> PASS: buildok/syscalls2-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56896virt/44544res/2944shr/40448data kb, in 0usr/10sys/16real ms. Pass 2: analyzed script: 301 probes, 111 functions, 99 embeds, 1 global using 388288virt/337408res/122944shr/371840data kb, in 0usr/130200sys/131285real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6fa5b1a1c616855f352c824bc257d557_596011.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6fa5b1a1c616855f352c824bc257d557_596011.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6f/stap_6fa5b1a1c616855f352c824bc257d557_596011.ko stap> PASS: buildok/syscalls2-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp' PASS: buildok/system-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/system-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp stap> PASS: buildok/system-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapT3hDCf/stap_354779022c7b04c824d49f47813e3337_1069_src.c" using 56512virt/47296res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/35/stap_354779022c7b04c824d49f47813e3337_1069.ko Pass 4: compiled C into "stap_354779022c7b04c824d49f47813e3337_1069.ko" in 0usr/3220sys/3269real ms. stap> PASS: buildok/system-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/35/stap_354779022c7b04c824d49f47813e3337_1069.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/35/stap_354779022c7b04c824d49f47813e3337_1069.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/35/stap_354779022c7b04c824d49f47813e3337_1069.ko stap> PASS: buildok/system-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp' PASS: buildok/systemtap_privilege.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/systemtap_privilege.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp stap> PASS: buildok/systemtap_privilege.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapT7UD3j/stap_c905f0a1ba390d4e105ef869a9d00b78_953_src.c" using 56512virt/47296res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c905f0a1ba390d4e105ef869a9d00b78_953.ko Pass 4: compiled C into "stap_c905f0a1ba390d4e105ef869a9d00b78_953.ko" in 0usr/3240sys/3286real ms. stap> PASS: buildok/systemtap_privilege.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c905f0a1ba390d4e105ef869a9d00b78_953.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c905f0a1ba390d4e105ef869a9d00b78_953.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c9/stap_c905f0a1ba390d4e105ef869a9d00b78_953.ko stap> PASS: buildok/systemtap_privilege.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp' PASS: buildok/task-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/task-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp stap> PASS: buildok/task-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 35 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2940sys/3002real ms. Pass 3: translated to C into "/tmp/stapdGaa4T/stap_c4374a4ac4fd669b279a5950b74c8fb6_23139_src.c" using 217792virt/51008res/7360shr/201216data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4374a4ac4fd669b279a5950b74c8fb6_23139.ko Pass 4: compiled C into "stap_c4374a4ac4fd669b279a5950b74c8fb6_23139.ko" in 0usr/4510sys/4559real ms. stap> PASS: buildok/task-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 35 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2940sys/3000real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4374a4ac4fd669b279a5950b74c8fb6_23139.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4374a4ac4fd669b279a5950b74c8fb6_23139.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/c4/stap_c4374a4ac4fd669b279a5950b74c8fb6_23139.ko stap> PASS: buildok/task-embedded.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp' PASS: buildok/task_ns.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/task_ns.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp stap> PASS: buildok/task_ns.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 10 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2920sys/2990real ms. Pass 3: translated to C into "/tmp/stapwlrspu/stap_3f595b1fda8876a1307366aab3bffefb_5568_src.c" using 217792virt/51008res/7360shr/201216data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3f595b1fda8876a1307366aab3bffefb_5568.ko Pass 4: compiled C into "stap_3f595b1fda8876a1307366aab3bffefb_5568.ko" in 0usr/3610sys/3668real ms. stap> PASS: buildok/task_ns.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 10 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2930sys/2996real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3f595b1fda8876a1307366aab3bffefb_5568.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3f595b1fda8876a1307366aab3bffefb_5568.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3f595b1fda8876a1307366aab3bffefb_5568.ko stap> PASS: buildok/task_ns.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp' PASS: buildok/task_rlimit_test.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/task_rlimit_test.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp stap> PASS: buildok/task_rlimit_test.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 20 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2940sys/3003real ms. Pass 3: translated to C into "/tmp/staprI3Qwn/stap_4cd4fb95e5b05654c249323eaf7d8eab_8941_src.c" using 217792virt/51008res/7360shr/201216data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4cd4fb95e5b05654c249323eaf7d8eab_8941.ko Pass 4: compiled C into "stap_4cd4fb95e5b05654c249323eaf7d8eab_8941.ko" in 0usr/3530sys/3565real ms. stap> PASS: buildok/task_rlimit_test.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 20 functions, 2 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2960sys/3022real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4cd4fb95e5b05654c249323eaf7d8eab_8941.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4cd4fb95e5b05654c249323eaf7d8eab_8941.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4c/stap_4cd4fb95e5b05654c249323eaf7d8eab_8941.ko stap> PASS: buildok/task_rlimit_test.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp' PASS: buildok/task_test.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/task_test.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp stap> PASS: buildok/task_test.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 42 functions, 4 embeds, 0 globals using 217792virt/51072res/7360shr/201216data kb, in 0usr/2960sys/3026real ms. Pass 3: translated to C into "/tmp/stapuJlHhi/stap_6d0d97e7294fb51f9a247381a9604562_22889_src.c" using 217792virt/51072res/7360shr/201216data kb, in 0usr/10sys/6real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d0d97e7294fb51f9a247381a9604562_22889.ko Pass 4: compiled C into "stap_6d0d97e7294fb51f9a247381a9604562_22889.ko" in 0usr/4400sys/4465real ms. stap> PASS: buildok/task_test.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 42 functions, 4 embeds, 0 globals using 217792virt/51072res/7360shr/201216data kb, in 0usr/2940sys/3002real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d0d97e7294fb51f9a247381a9604562_22889.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d0d97e7294fb51f9a247381a9604562_22889.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6d0d97e7294fb51f9a247381a9604562_22889.ko stap> PASS: buildok/task_test.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp' PASS: buildok/task_time-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/task_time-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp stap> PASS: buildok/task_time-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 15 functions, 3 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2950sys/3010real ms. Pass 3: translated to C into "/tmp/stapbe0tn5/stap_32f4d1357b3575baadb55dd08ce01e4e_7696_src.c" using 217792virt/51008res/7360shr/201216data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/32/stap_32f4d1357b3575baadb55dd08ce01e4e_7696.ko Pass 4: compiled C into "stap_32f4d1357b3575baadb55dd08ce01e4e_7696.ko" in 0usr/3520sys/3558real ms. stap> PASS: buildok/task_time-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 15 functions, 3 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2930sys/2999real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/32/stap_32f4d1357b3575baadb55dd08ce01e4e_7696.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/32/stap_32f4d1357b3575baadb55dd08ce01e4e_7696.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/32/stap_32f4d1357b3575baadb55dd08ce01e4e_7696.ko stap> PASS: buildok/task_time-embedded.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp' PASS: buildok/tcp-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcp-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp stap> PASS: buildok/tcp-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 30 probes, 2 functions, 5 embeds, 3 globals using 1275968virt/428736res/126080shr/1259392data kb, in 0usr/12850sys/13083real ms. Pass 3: translated to C into "/tmp/stapqcwwEU/stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447_src.c" using 1275968virt/428864res/126208shr/1259392data kb, in 0usr/20sys/22real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0f/stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447.ko Pass 4: compiled C into "stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447.ko" in 0usr/4210sys/4257real ms. stap> PASS: buildok/tcp-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 30 probes, 2 functions, 5 embeds, 3 globals using 1275968virt/428736res/126080shr/1259392data kb, in 0usr/12900sys/13131real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0f/stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0f/stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/0f/stap_0f0cabe1a1b6b84f9b43571aacaa70ed_28447.ko stap> PASS: buildok/tcp-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp' PASS: buildok/tcp-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcp-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp stap> PASS: buildok/tcp-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 20 probes, 51 functions, 5 embeds, 3 globals using 1276032virt/428608res/125952shr/1259456data kb, in 0usr/12890sys/13114real ms. Pass 3: translated to C into "/tmp/stapDTY2Ex/stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931_src.c" using 1276032virt/428736res/126080shr/1259456data kb, in 0usr/40sys/37real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931.ko Pass 4: compiled C into "stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931.ko" in 0usr/5640sys/5722real ms. stap> PASS: buildok/tcp-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 20 probes, 51 functions, 5 embeds, 3 globals using 1276032virt/428608res/125952shr/1259456data kb, in 0usr/12840sys/13075real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9b/stap_9b99020d16cc10a4e95a9ec99ae7cfc9_77931.ko stap> PASS: buildok/tcp-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp' PASS: buildok/tcp-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcp-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp stap> PASS: buildok/tcp-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 7 functions, 3 embeds, 3 globals using 921728virt/396928res/129024shr/905152data kb, in 0usr/8710sys/8868real ms. Pass 3: translated to C into "/tmp/stapChZFQd/stap_68d4e17dddbbc7d7232272549e2ee150_22721_src.c" using 921728virt/396928res/129024shr/905152data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_68d4e17dddbbc7d7232272549e2ee150_22721.ko Pass 4: compiled C into "stap_68d4e17dddbbc7d7232272549e2ee150_22721.ko" in 0usr/4080sys/4135real ms. stap> PASS: buildok/tcp-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 4 probes, 7 functions, 3 embeds, 3 globals using 921728virt/396928res/129024shr/905152data kb, in 0usr/8740sys/8892real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_68d4e17dddbbc7d7232272549e2ee150_22721.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_68d4e17dddbbc7d7232272549e2ee150_22721.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/68/stap_68d4e17dddbbc7d7232272549e2ee150_22721.ko stap> PASS: buildok/tcp-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp' PASS: buildok/tcp_test.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcp_test.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp stap> PASS: buildok/tcp_test.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 10 probes, 19 functions, 5 embeds, 12 globals using 1113792virt/425600res/125312shr/1097216data kb, in 0usr/11400sys/11601real ms. Pass 3: translated to C into "/tmp/stapFcEbxH/stap_b8b896d97dd0c807680b863e9531c301_34788_src.c" using 1113792virt/425728res/125440shr/1097216data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b8b896d97dd0c807680b863e9531c301_34788.ko Pass 4: compiled C into "stap_b8b896d97dd0c807680b863e9531c301_34788.ko" in 0usr/4750sys/4818real ms. stap> PASS: buildok/tcp_test.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 10 probes, 19 functions, 5 embeds, 12 globals using 1113792virt/425600res/125312shr/1097216data kb, in 0usr/11380sys/11577real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b8b896d97dd0c807680b863e9531c301_34788.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b8b896d97dd0c807680b863e9531c301_34788.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/b8/stap_b8b896d97dd0c807680b863e9531c301_34788.ko stap> PASS: buildok/tcp_test.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp' PASS: buildok/tcpmib-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcpmib-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp stap> PASS: buildok/tcpmib-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 16 probes, 16 functions, 6 embeds, 12 globals using 1115008virt/426816res/125312shr/1098432data kb, in 0usr/11370sys/11572real ms. Pass 3: translated to C into "/tmp/stapHJhoCJ/stap_739b5eaa77d167e5281745443d0c301a_42850_src.c" using 1115008virt/426944res/125440shr/1098432data kb, in 0usr/40sys/32real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_739b5eaa77d167e5281745443d0c301a_42850.ko Pass 4: compiled C into "stap_739b5eaa77d167e5281745443d0c301a_42850.ko" in 0usr/4810sys/4887real ms. stap> PASS: buildok/tcpmib-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 16 probes, 16 functions, 6 embeds, 12 globals using 1115008virt/426816res/125312shr/1098432data kb, in 0usr/11400sys/11603real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_739b5eaa77d167e5281745443d0c301a_42850.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_739b5eaa77d167e5281745443d0c301a_42850.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_739b5eaa77d167e5281745443d0c301a_42850.ko stap> PASS: buildok/tcpmib-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp' PASS: buildok/tcpmib-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tcpmib-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp stap> PASS: buildok/tcpmib-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 15 probes, 16 functions, 6 embeds, 11 globals using 1114880virt/426752res/125312shr/1098304data kb, in 0usr/11400sys/11596real ms. Pass 3: translated to C into "/tmp/stapZzEBHN/stap_dfc5fa8521e09d217f8753c5ab1c3248_42943_src.c" using 1114880virt/426880res/125440shr/1098304data kb, in 0usr/30sys/32real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfc5fa8521e09d217f8753c5ab1c3248_42943.ko Pass 4: compiled C into "stap_dfc5fa8521e09d217f8753c5ab1c3248_42943.ko" in 0usr/4820sys/4897real ms. stap> PASS: buildok/tcpmib-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 15 probes, 16 functions, 6 embeds, 11 globals using 1114880virt/426752res/125312shr/1098304data kb, in 0usr/11390sys/11594real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfc5fa8521e09d217f8753c5ab1c3248_42943.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfc5fa8521e09d217f8753c5ab1c3248_42943.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/df/stap_dfc5fa8521e09d217f8753c5ab1c3248_42943.ko stap> PASS: buildok/tcpmib-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/tcpmib-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/ten.stp' PASS: buildok/ten.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 1" to stapi set unoptimized 1 stap> PASS: buildok/ten.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ten.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ten.stp stap> PASS: buildok/ten.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ten.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapE45487/stap_7aea364c9679fba73c7fa38ffa3169b1_1477_src.c" using 56512virt/47424res/5312shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7a/stap_7aea364c9679fba73c7fa38ffa3169b1_1477.ko Pass 4: compiled C into "stap_7aea364c9679fba73c7fa38ffa3169b1_1477.ko" in 0usr/3220sys/3270real ms. stap> PASS: buildok/ten.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ten.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/20sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7a/stap_7aea364c9679fba73c7fa38ffa3169b1_1477.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7a/stap_7aea364c9679fba73c7fa38ffa3169b1_1477.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/7a/stap_7aea364c9679fba73c7fa38ffa3169b1_1477.ko stap> PASS: buildok/ten.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp' PASS: buildok/thirteen.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/thirteen.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp stap> PASS: buildok/thirteen.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97152virt/89728res/6848shr/80704data kb, in 0usr/1210sys/1222real ms. Pass 3: translated to C into "/tmp/stap4gtsyF/stap_9ca17e757d5b0c6d7753c9627757a7c8_1804_src.c" using 97152virt/89856res/6976shr/80704data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9c/stap_9ca17e757d5b0c6d7753c9627757a7c8_1804.ko Pass 4: compiled C into "stap_9ca17e757d5b0c6d7753c9627757a7c8_1804.ko" in 0usr/3470sys/3523real ms. stap> PASS: buildok/thirteen.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97152virt/89728res/6848shr/80704data kb, in 0usr/1210sys/1221real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9c/stap_9ca17e757d5b0c6d7753c9627757a7c8_1804.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9c/stap_9ca17e757d5b0c6d7753c9627757a7c8_1804.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9c/stap_9ca17e757d5b0c6d7753c9627757a7c8_1804.ko stap> PASS: buildok/thirteen.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp' PASS: buildok/thirty.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/thirty.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp stap> PASS: buildok/thirty.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 37 probes, 0 functions, 0 embeds, 36 globals using 57088virt/46208res/4160shr/40640data kb, in 0usr/40sys/45real ms. Pass 3: translated to C into "/tmp/stap437MyU/stap_f2aa1161a93bb2352a86d955ae03a1fd_20322_src.c" using 57152virt/48192res/5376shr/40704data kb, in 0usr/20sys/25real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2aa1161a93bb2352a86d955ae03a1fd_20322.ko Pass 4: compiled C into "stap_f2aa1161a93bb2352a86d955ae03a1fd_20322.ko" in 0usr/9540sys/9655real ms. stap> PASS: buildok/thirty.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/1real ms. Pass 2: analyzed script: 37 probes, 0 functions, 0 embeds, 36 globals using 57088virt/46208res/4160shr/40640data kb, in 0usr/50sys/45real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2aa1161a93bb2352a86d955ae03a1fd_20322.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2aa1161a93bb2352a86d955ae03a1fd_20322.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f2/stap_f2aa1161a93bb2352a86d955ae03a1fd_20322.ko stap> PASS: buildok/thirty.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp' PASS: buildok/thirtyfour.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/thirtyfour.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp stap> PASS: buildok/thirtyfour.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapGdy0MG/stap_111aeb555bf6a7de3afff4c529646ae5_1192_src.c" using 56512virt/47296res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/11/stap_111aeb555bf6a7de3afff4c529646ae5_1192.ko Pass 4: compiled C into "stap_111aeb555bf6a7de3afff4c529646ae5_1192.ko" in 0usr/3250sys/3296real ms. stap> PASS: buildok/thirtyfour.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/11/stap_111aeb555bf6a7de3afff4c529646ae5_1192.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/11/stap_111aeb555bf6a7de3afff4c529646ae5_1192.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/11/stap_111aeb555bf6a7de3afff4c529646ae5_1192.ko stap> PASS: buildok/thirtyfour.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp' PASS: buildok/thirtyone.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/thirtyone.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp stap> PASS: buildok/thirtyone.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 0 globals using 96192virt/88640res/6784shr/79744data kb, in 0usr/1190sys/1207real ms. Pass 3: translated to C into "/tmp/stapAO9ZJ5/stap_7920a389ed5ee826332ecb121a075fb2_1258_src.c" using 96192virt/88832res/6976shr/79744data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_7920a389ed5ee826332ecb121a075fb2_1258.ko Pass 4: compiled C into "stap_7920a389ed5ee826332ecb121a075fb2_1258.ko" in 0usr/3470sys/3514real ms. stap> PASS: buildok/thirtyone.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 3 probes, 0 functions, 0 embeds, 0 globals using 96192virt/88640res/6784shr/79744data kb, in 0usr/1210sys/1220real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_7920a389ed5ee826332ecb121a075fb2_1258.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_7920a389ed5ee826332ecb121a075fb2_1258.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_7920a389ed5ee826332ecb121a075fb2_1258.ko stap> PASS: buildok/thirtyone.stp (interactive) - cached compile UNTESTED: buildok/thirtythree.stp (interactive) - shell script UNTESTED: buildok/thirtytwo.stp (interactive) - shell script running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/three.stp' PASS: buildok/three.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/three.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/three.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/three.stp stap> PASS: buildok/three.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/three.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96192virt/88640res/6784shr/79744data kb, in 0usr/1200sys/1213real ms. Pass 3: translated to C into "/tmp/stap3SEVCh/stap_6de87dff1a8d00a953871e446d432cc9_1829_src.c" using 96192virt/88832res/6976shr/79744data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6de87dff1a8d00a953871e446d432cc9_1829.ko Pass 4: compiled C into "stap_6de87dff1a8d00a953871e446d432cc9_1829.ko" in 0usr/3510sys/3552real ms. stap> PASS: buildok/three.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/three.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 96192virt/88640res/6784shr/79744data kb, in 0usr/1190sys/1209real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6de87dff1a8d00a953871e446d432cc9_1829.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6de87dff1a8d00a953871e446d432cc9_1829.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/6d/stap_6de87dff1a8d00a953871e446d432cc9_1829.ko stap> PASS: buildok/three.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp' PASS: buildok/timestamp-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/timestamp-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp stap> PASS: buildok/timestamp-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapbb26Lq/stap_2763196190ee7e7fac1a6dd1902ec2e8_5350_src.c" using 56512virt/47360res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/27/stap_2763196190ee7e7fac1a6dd1902ec2e8_5350.ko Pass 4: compiled C into "stap_2763196190ee7e7fac1a6dd1902ec2e8_5350.ko" in 0usr/3430sys/3487real ms. stap> PASS: buildok/timestamp-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 7 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/27/stap_2763196190ee7e7fac1a6dd1902ec2e8_5350.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/27/stap_2763196190ee7e7fac1a6dd1902ec2e8_5350.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/27/stap_2763196190ee7e7fac1a6dd1902ec2e8_5350.ko stap> PASS: buildok/timestamp-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp' PASS: buildok/timestamp_gtod-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/timestamp_gtod-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp stap> PASS: buildok/timestamp_gtod-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapmXvLqI/stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753_src.c" using 56512virt/47296res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753.ko Pass 4: compiled C into "stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753.ko" in 0usr/3410sys/3460real ms. stap> PASS: buildok/timestamp_gtod-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/4d/stap_4de1fbbc87e1d3057cfc8bb3ca024c6f_1753.ko stap> PASS: buildok/timestamp_gtod-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp' PASS: buildok/timestamp_monotonic-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/timestamp_monotonic-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp stap> PASS: buildok/timestamp_monotonic-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 8 functions, 1 embed, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/staphld4cT/stap_3c1a26cad69aa67b3736442c610f5873_3751_src.c" using 56512virt/47360res/5248shr/40064data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3c/stap_3c1a26cad69aa67b3736442c610f5873_3751.ko Pass 4: compiled C into "stap_3c1a26cad69aa67b3736442c610f5873_3751.ko" in 0usr/3460sys/3514real ms. stap> PASS: buildok/timestamp_monotonic-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 8 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3c/stap_3c1a26cad69aa67b3736442c610f5873_3751.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3c/stap_3c1a26cad69aa67b3736442c610f5873_3751.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3c/stap_3c1a26cad69aa67b3736442c610f5873_3751.ko stap> PASS: buildok/timestamp_monotonic-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp' PASS: buildok/tty-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tty-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp stap> PASS: buildok/tty-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("tty_register_device@drivers/tty/tty_io.c:3241") from: tty.register from: tty.register semantic error: failed to retrieve location attribute for 'driver' [man error::dwarf]: identifier '$driver' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:155:37 dieoffset: 0x3da0b36 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: tty_register_device at drivers/tty/tty_io.c:3244 inlined by tty_register_driver at drivers/tty/tty_io.c:3509 source: driver_name = kernel_string_quoted($driver->driver_name) ^ Pass 2: analyzed script: 11 probes, 51 functions, 3 embeds, 0 globals using 629440virt/419328res/123328shr/612864data kb, in 0usr/7010sys/7119real ms. Pass 2: analysis failed. [man error::pass2] stap> FAIL: buildok/tty-detailed.stp (interactive) - compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp' PASS: buildok/tty-resize.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/tty-resize.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp stap> PASS: buildok/tty-resize.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. semantic error: while processing probe kernel.function("tiocswinsz@drivers/tty/tty_io.c:2371") from: tty.resize from: tty.resize semantic error: failed to retrieve location attribute for 'tty' [man error::dwarf]: identifier '$tty' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:81:30 dieoffset: 0x3da2c18 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: current_thread_info at ./arch/arm64/include/asm/thread_info.h:83 inlined by copy_from_user at ./arch/arm64/include/asm/uaccess.h:281 inlined by tiocswinsz at drivers/tty/tty_io.c:2374 inlined by tty_ioctl at drivers/tty/tty_io.c:2892 source: name = kernel_string_quoted($tty->name) ^ Pass 2: analyzed script: 1 probe, 1 function, 1 embed, 0 globals using 96576virt/89280res/7104shr/80128data kb, in 0usr/1220sys/1239real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/tty-resize.stp (interactive) - compile (PRMS: GCC) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp' PASS: buildok/twelve.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twelve.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp stap> PASS: buildok/twelve.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapUk4ACL/stap_841985b5587f0009d1b3fc179812eda2_1558_src.c" using 56512virt/47424res/5312shr/40064data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_841985b5587f0009d1b3fc179812eda2_1558.ko Pass 4: compiled C into "stap_841985b5587f0009d1b3fc179812eda2_1558.ko" in 0usr/3520sys/3701real ms. stap> PASS: buildok/twelve.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 3 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_841985b5587f0009d1b3fc179812eda2_1558.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_841985b5587f0009d1b3fc179812eda2_1558.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_841985b5587f0009d1b3fc179812eda2_1558.ko stap> PASS: buildok/twelve.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp' PASS: buildok/twenty.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twenty.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp stap> PASS: buildok/twenty.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97152virt/89664res/6848shr/80704data kb, in 0usr/1200sys/1215real ms. Pass 3: translated to C into "/tmp/stap7Oerad/stap_bda0c1554c1040d2b929a507379661be_2472_src.c" using 97152virt/89792res/6976shr/80704data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/bd/stap_bda0c1554c1040d2b929a507379661be_2472.ko Pass 4: compiled C into "stap_bda0c1554c1040d2b929a507379661be_2472.ko" in 0usr/3480sys/3667real ms. stap> PASS: buildok/twenty.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97152virt/89664res/6848shr/80704data kb, in 0usr/1200sys/1219real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/bd/stap_bda0c1554c1040d2b929a507379661be_2472.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/bd/stap_bda0c1554c1040d2b929a507379661be_2472.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/bd/stap_bda0c1554c1040d2b929a507379661be_2472.ko stap> PASS: buildok/twenty.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp' PASS: buildok/twentyeight.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyeight.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp stap> PASS: buildok/twentyeight.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56896virt/48128res/5568shr/40448data kb, in 0usr/30sys/30real ms. Pass 3: translated to C into "/tmp/stapygl2UA/stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199_src.c" using 57024virt/48576res/5952shr/40576data kb, in 0usr/10sys/12real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199.ko Pass 4: compiled C into "stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199.ko" in 0usr/3450sys/3500real ms. stap> PASS: buildok/twentyeight.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56896virt/48128res/5568shr/40448data kb, in 0usr/30sys/30real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/3f/stap_3fa89662de7ec5037d3e3bb1df2d38ba_1199.ko stap> PASS: buildok/twentyeight.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp' PASS: buildok/twentyeightprime.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyeightprime.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp stap> PASS: buildok/twentyeightprime.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. semantic error: while resolving probe point: identifier 'process' at :3:7 source: probe process(0).statement(0).absolute { log("absolute zero reached") } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analyzed script: 0 probes, 0 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/28real ms. Pass 2: analysis failed. [man error::pass2] stap> KFAIL: buildok/twentyeightprime.stp (interactive) - compile (PRMS: INODE_UPROBES) running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp' PASS: buildok/twentyfive.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyfive.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp stap> PASS: buildok/twentyfive.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56896virt/48064res/5504shr/40448data kb, in 0usr/1470sys/1503real ms. Pass 3: translated to C into "/tmp/stapJzXQPx/stap_38878f9b9793fdd790892725cd816645_1110_src.c" using 56896virt/48256res/5696shr/40448data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38878f9b9793fdd790892725cd816645_1110.ko Pass 4: compiled C into "stap_38878f9b9793fdd790892725cd816645_1110.ko" in 0usr/3280sys/3333real ms. stap> PASS: buildok/twentyfive.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 56896virt/48064res/5504shr/40448data kb, in 0usr/1470sys/1503real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38878f9b9793fdd790892725cd816645_1110.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38878f9b9793fdd790892725cd816645_1110.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38878f9b9793fdd790892725cd816645_1110.ko stap> PASS: buildok/twentyfive.stp (interactive) - cached compile running the equivalent of 'stap -wgp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp' PASS: buildok/twentyfour.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyfour.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp stap> PASS: buildok/twentyfour.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46592res/4544shr/40000data kb, in 0usr/20sys/27real ms. Pass 3: translated to C into "/tmp/stapffh9f4/stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906_src.c" using 56448virt/47296res/5248shr/40000data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906.ko Pass 4: compiled C into "stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906.ko" in 0usr/3220sys/3270real ms. stap> PASS: buildok/twentyfour.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56448virt/46592res/4544shr/40000data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/f6/stap_f6e62c8ba4a7d28ed9d9433d5e626b3e_906.ko stap> PASS: buildok/twentyfour.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp' PASS: buildok/twentynine.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentynine.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp stap> PASS: buildok/twentynine.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 99648virt/92160res/6848shr/83200data kb, in 0usr/1240sys/1252real ms. Pass 3: translated to C into "/tmp/stapBAfDCr/stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146_src.c" using 99648virt/92288res/6976shr/83200data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cb/stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146.ko Pass 4: compiled C into "stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146.ko" in 0usr/3470sys/3522real ms. stap> PASS: buildok/twentynine.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 99648virt/92160res/6848shr/83200data kb, in 0usr/1230sys/1249real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cb/stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cb/stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/cb/stap_cbfb7c9f0cc58d7c7b661e981aa9e3d0_2146.ko stap> PASS: buildok/twentynine.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp' PASS: buildok/twentyone.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyone.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp stap> PASS: buildok/twentyone.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 56512virt/46208res/4160shr/40064data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapSAvjrH/stap_afd807de75a5e0cb2d6c23eb9d991385_1992_src.c" using 56512virt/47424res/5312shr/40064data kb, in 0usr/0sys/2real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/af/stap_afd807de75a5e0cb2d6c23eb9d991385_1992.ko Pass 4: compiled C into "stap_afd807de75a5e0cb2d6c23eb9d991385_1992.ko" in 0usr/3500sys/3550real ms. stap> PASS: buildok/twentyone.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 1 global using 56512virt/46208res/4160shr/40064data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/af/stap_afd807de75a5e0cb2d6c23eb9d991385_1992.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/af/stap_afd807de75a5e0cb2d6c23eb9d991385_1992.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/af/stap_afd807de75a5e0cb2d6c23eb9d991385_1992.ko stap> PASS: buildok/twentyone.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp' PASS: buildok/twentyseven.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentyseven.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp stap> PASS: buildok/twentyseven.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97344virt/89984res/7040shr/80896data kb, in 0usr/1210sys/1224real ms. Pass 3: translated to C into "/tmp/stapmSGD9n/stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994_src.c" using 97344virt/90112res/7168shr/80896data kb, in 0usr/10sys/10real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ab/stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994.ko Pass 4: compiled C into "stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994.ko" in 0usr/3470sys/3525real ms. stap> PASS: buildok/twentyseven.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using 97344virt/89984res/7040shr/80896data kb, in 0usr/1210sys/1222real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ab/stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ab/stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/ab/stap_abfb423ffd1efb84ef4a90eb5b9edbf6_1994.ko stap> PASS: buildok/twentyseven.stp (interactive) - cached compile running the equivalent of 'stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp' PASS: buildok/twentythree.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 1" to stapi set guru_mode 1 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentythree.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp stap> PASS: buildok/twentythree.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 97344virt/89792res/6848shr/80896data kb, in 0usr/1210sys/1223real ms. Pass 3: translated to C into "/tmp/stapw3X7GK/stap_79730ed3761873bea8d0caa4ce3f89b6_2594_src.c" using 97344virt/89920res/6976shr/80896data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_79730ed3761873bea8d0caa4ce3f89b6_2594.ko Pass 4: compiled C into "stap_79730ed3761873bea8d0caa4ce3f89b6_2594.ko" in 0usr/3510sys/3563real ms. stap> PASS: buildok/twentythree.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 97344virt/89792res/6848shr/80896data kb, in 0usr/1210sys/1222real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_79730ed3761873bea8d0caa4ce3f89b6_2594.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_79730ed3761873bea8d0caa4ce3f89b6_2594.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/79/stap_79730ed3761873bea8d0caa4ce3f89b6_2594.ko stap> PASS: buildok/twentythree.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp' PASS: buildok/twentytwo.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/twentytwo.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp stap> PASS: buildok/twentytwo.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 97344virt/89920res/6848shr/80896data kb, in 0usr/1210sys/1223real ms. Pass 3: translated to C into "/tmp/stapRq7st9/stap_38e7a7b6b71090ed95d9859b37288ecb_2915_src.c" using 97344virt/90048res/6976shr/80896data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38e7a7b6b71090ed95d9859b37288ecb_2915.ko Pass 4: compiled C into "stap_38e7a7b6b71090ed95d9859b37288ecb_2915.ko" in 0usr/3540sys/3598real ms. stap> PASS: buildok/twentytwo.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 2 probes, 2 functions, 0 embeds, 0 globals using 97344virt/89920res/6848shr/80896data kb, in 0usr/1220sys/1229real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38e7a7b6b71090ed95d9859b37288ecb_2915.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38e7a7b6b71090ed95d9859b37288ecb_2915.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/38/stap_38e7a7b6b71090ed95d9859b37288ecb_2915.ko stap> PASS: buildok/twentytwo.stp (interactive) - cached compile UNTESTED: buildok/two.stp (interactive) - shell script running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp' PASS: buildok/ucontext-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ucontext-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp stap> PASS: buildok/ucontext-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 4 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2940sys/3010real ms. Pass 3: translated to C into "/tmp/stapFBPHYC/stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674_src.c" using 217792virt/51008res/7360shr/201216data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9e/stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674.ko Pass 4: compiled C into "stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674.ko" in 0usr/4550sys/4624real ms. stap> PASS: buildok/ucontext-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 1 probe, 3 functions, 4 embeds, 0 globals using 217792virt/51008res/7360shr/201216data kb, in 0usr/2930sys/2999real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9e/stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9e/stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/9e/stap_9e8a3b2d8803dfa7d33246d99b29dad5_2674.ko stap> PASS: buildok/ucontext-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp' PASS: buildok/ucontext-symbols-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ucontext-symbols-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp stap> PASS: buildok/ucontext-symbols-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/30real ms. Pass 3: translated to C into "/tmp/stapaNsMir/stap_e127be549b11183de80c2fe33d176e11_4400_src.c" using 56512virt/47424res/5312shr/40064data kb, in 0usr/0sys/3real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e1/stap_e127be549b11183de80c2fe33d176e11_4400.ko Pass 4: compiled C into "stap_e127be549b11183de80c2fe33d176e11_4400.ko" in 0usr/5060sys/5119real ms. stap> PASS: buildok/ucontext-symbols-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 11 functions, 1 embed, 0 globals using 56512virt/46144res/4160shr/40064data kb, in 0usr/30sys/30real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e1/stap_e127be549b11183de80c2fe33d176e11_4400.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e1/stap_e127be549b11183de80c2fe33d176e11_4400.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/e1/stap_e127be549b11183de80c2fe33d176e11_4400.ko stap> PASS: buildok/ucontext-symbols-embedded.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp' PASS: buildok/ucontext-unwind-embedded.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/ucontext-unwind-embedded.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp stap> PASS: buildok/ucontext-unwind-embedded.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/28real ms. Pass 3: translated to C into "/tmp/stapLUPyNv/stap_1decb1aec2f177ed89e533f8c39f74b3_2330_src.c" using 56512virt/47360res/5248shr/40064data kb, in 0usr/0sys/1real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1decb1aec2f177ed89e533f8c39f74b3_2330.ko Pass 4: compiled C into "stap_1decb1aec2f177ed89e533f8c39f74b3_2330.ko" in 0usr/5520sys/5604real ms. stap> PASS: buildok/ucontext-unwind-embedded.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 4 functions, 0 embeds, 0 globals using 56512virt/46208res/4224shr/40064data kb, in 0usr/30sys/28real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1decb1aec2f177ed89e533f8c39f74b3_2330.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1decb1aec2f177ed89e533f8c39f74b3_2330.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/1d/stap_1decb1aec2f177ed89e533f8c39f74b3_2330.ko stap> PASS: buildok/ucontext-unwind-embedded.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp' PASS: buildok/udp-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/udp-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp stap> PASS: buildok/udp-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 12 probes, 2 functions, 5 embeds, 3 globals using 1113792virt/425664res/125312shr/1097216data kb, in 0usr/11360sys/11560real ms. Pass 3: translated to C into "/tmp/stapIn1EFP/stap_90e367e9460fa64e846bcc59b3935376_24471_src.c" using 1113792virt/425792res/125440shr/1097216data kb, in 0usr/20sys/20real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/90/stap_90e367e9460fa64e846bcc59b3935376_24471.ko Pass 4: compiled C into "stap_90e367e9460fa64e846bcc59b3935376_24471.ko" in 0usr/4180sys/4244real ms. stap> PASS: buildok/udp-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 12 probes, 2 functions, 5 embeds, 3 globals using 1113792virt/425664res/125312shr/1097216data kb, in 0usr/11350sys/11550real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/90/stap_90e367e9460fa64e846bcc59b3935376_24471.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/90/stap_90e367e9460fa64e846bcc59b3935376_24471.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/90/stap_90e367e9460fa64e846bcc59b3935376_24471.ko stap> PASS: buildok/udp-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp' PASS: buildok/udp-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/udp-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp stap> PASS: buildok/udp-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 12 probes, 5 functions, 5 embeds, 3 globals using 1113792virt/425664res/125312shr/1097216data kb, in 0usr/11360sys/11558real ms. Pass 3: translated to C into "/tmp/stapkyKc7c/stap_a782d130de7d86bc8a09d0d73ffb5340_30901_src.c" using 1113792virt/425792res/125440shr/1097216data kb, in 0usr/20sys/22real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a782d130de7d86bc8a09d0d73ffb5340_30901.ko Pass 4: compiled C into "stap_a782d130de7d86bc8a09d0d73ffb5340_30901.ko" in 0usr/4320sys/4394real ms. stap> PASS: buildok/udp-detailed.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44672res/3072shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 12 probes, 5 functions, 5 embeds, 3 globals using 1113792virt/425664res/125312shr/1097216data kb, in 0usr/11350sys/11554real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a782d130de7d86bc8a09d0d73ffb5340_30901.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a782d130de7d86bc8a09d0d73ffb5340_30901.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/a7/stap_a782d130de7d86bc8a09d0d73ffb5340_30901.ko stap> PASS: buildok/udp-detailed.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp' PASS: buildok/udp_test.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/udp_test.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp stap> PASS: buildok/udp_test.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/10sys/0real ms. Pass 2: analyzed script: 10 probes, 14 functions, 5 embeds, 7 globals using 1113856virt/425664res/125312shr/1097280data kb, in 0usr/11400sys/11604real ms. Pass 3: translated to C into "/tmp/stapmOneMC/stap_6544b7e33410f25751c6faf52da3dc2f_32640_src.c" using 1113856virt/425792res/125440shr/1097280data kb, in 0usr/30sys/24real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/65/stap_6544b7e33410f25751c6faf52da3dc2f_32640.ko Pass 4: compiled C into "stap_6544b7e33410f25751c6faf52da3dc2f_32640.ko" in 0usr/4560sys/4626real ms. stap> PASS: buildok/udp_test.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 10 probes, 14 functions, 5 embeds, 7 globals using 1113856virt/425664res/125312shr/1097280data kb, in 0usr/11350sys/11553real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/65/stap_6544b7e33410f25751c6faf52da3dc2f_32640.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/65/stap_6544b7e33410f25751c6faf52da3dc2f_32640.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/65/stap_6544b7e33410f25751c6faf52da3dc2f_32640.ko stap> PASS: buildok/udp_test.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp' PASS: buildok/utrace.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/utrace.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp stap> PASS: buildok/utrace.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56512virt/46080res/4096shr/40064data kb, in 0usr/30sys/27real ms. Pass 3: translated to C into "/tmp/stapYMSHYH/stap_536d88a466566036a1e625daff797663_922_src.c" using 56512virt/47360res/5248shr/40064data kb, in 0usr/0sys/0real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_536d88a466566036a1e625daff797663_922.ko Pass 4: compiled C into "stap_536d88a466566036a1e625daff797663_922.ko" in 0usr/4400sys/4462real ms. stap> PASS: buildok/utrace.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 0 functions, 0 embeds, 0 globals using 56512virt/46080res/4096shr/40064data kb, in 0usr/30sys/27real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_536d88a466566036a1e625daff797663_922.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_536d88a466566036a1e625daff797663_922.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/53/stap_536d88a466566036a1e625daff797663_922.ko stap> PASS: buildok/utrace.stp (interactive) - cached compile running the equivalent of 'stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp' PASS: buildok/vfs-all-probes.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 1" to stapi set suppress_warnings 1 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/vfs-all-probes.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp stap> PASS: buildok/vfs-all-probes.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 50 probes, 15 functions, 106 embeds, 0 globals using 977664virt/448192res/135488shr/961088data kb, in 0usr/43090sys/43532real ms. Pass 3: translated to C into "/tmp/stapAetcPe/stap_734f37d6d0235201bef034795a73ea0f_97188_src.c" using 977664virt/448320res/135616shr/961088data kb, in 0usr/20sys/18real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_734f37d6d0235201bef034795a73ea0f_97188.ko Pass 4: compiled C into "stap_734f37d6d0235201bef034795a73ea0f_97188.ko" in 0usr/4280sys/4338real ms. stap> PASS: buildok/vfs-all-probes.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44608res/3008shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 50 probes, 15 functions, 106 embeds, 0 globals using 977664virt/448192res/135488shr/961088data kb, in 0usr/43140sys/43576real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_734f37d6d0235201bef034795a73ea0f_97188.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_734f37d6d0235201bef034795a73ea0f_97188.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/73/stap_734f37d6d0235201bef034795a73ea0f_97188.ko stap> PASS: buildok/vfs-all-probes.stp (interactive) - cached compile running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp' PASS: buildok/vfs-detailed.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/vfs-detailed.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp stap> PASS: buildok/vfs-detailed.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 56128virt/44608res/3008shr/39680data kb, in 0usr/0sys/5real ms. semantic error: while processing probe kernel.function("__block_write_begin@fs/buffer.c:2036") from: _vfs.block_prepare_write from: _vfs.block_prepare_write semantic error: failed to retrieve location attribute for 'page' [man error::dwarf]: identifier '$page' at /root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp:1110:9 dieoffset: 0x19cb94b from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: __block_write_begin at fs/buffer.c:2039 inlined by block_write_begin at fs/buffer.c:2098 source: page = $page ^ Pass 2: analyzed script: 63 probes, 346 functions, 106 embeds, 0 globals using 978560virt/449152res/135488shr/961984data kb, in 0usr/21200sys/21467real ms. Pass 2: analysis failed. [man error::pass2] stap> FAIL: buildok/vfs-detailed.stp (interactive) - compile running the equivalent of 'stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp' unsupported option '--compatible=2.9' UNTESTED: buildok/vfs-embedded.stp (interactive) - unsupported option running the equivalent of 'stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp' PASS: buildok/xtime.stp (interactive) - arg parsing Sending "delete" to stapi delete Delete entire script? (y or n) y stap> Sending "set guru_mode 0" to stapi set guru_mode 0 stap> Sending "set suppress_warnings 0" to stapi set suppress_warnings 0 stap> Sending "set panic_warnings 0" to stapi set panic_warnings 0 stap> Sending "set timing 0" to stapi set timing 0 stap> Sending "set unoptimized 0" to stapi set unoptimized 0 stap> PASS: buildok/xtime.stp (interactive) - reset Sending "load /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp" to stapi load /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp stap> PASS: buildok/xtime.stp (interactive) - load Running /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 96768virt/89536res/7040shr/80320data kb, in 0usr/1200sys/1217real ms. Pass 3: translated to C into "/tmp/stap2viTlg/stap_84737861897023b640365d13231fbdbe_2544_src.c" using 96768virt/89664res/7168shr/80320data kb, in 0usr/10sys/11real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_84737861897023b640365d13231fbdbe_2544.ko Pass 4: compiled C into "stap_84737861897023b640365d13231fbdbe_2544.ko" in 0usr/3490sys/3540real ms. stap> PASS: buildok/xtime.stp (interactive) - compile Running /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp again Sending "run" to stapi run Pass 1: parsed user script and 115 library scripts using 55936virt/44544res/2944shr/39488data kb, in 0usr/0sys/0real ms. Pass 2: analyzed script: 1 probe, 2 functions, 0 embeds, 0 globals using 96768virt/89536res/7040shr/80320data kb, in 0usr/1210sys/1221real ms. /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_84737861897023b640365d13231fbdbe_2544.ko Pass 3: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_84737861897023b640365d13231fbdbe_2544.c Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.cache_test-root/cache/84/stap_84737861897023b640365d13231fbdbe_2544.ko stap> PASS: buildok/xtime.stp (interactive) - cached compile quit Executing: kill -INT -6449 testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok-interactive.exp completed in 4826 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok.exp ... Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1f/stap_1f0c9cea8c68a7bd2d33957bd6a44cc2_1520.ko wait results: 20547 exp36 0 0 PASS: buildok/alias_suffixes01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d7/stap_d78a2466acbf79e4a65f59bd4cfc9d06_59436.ko wait results: 20792 exp36 0 0 PASS: buildok/alias_suffixes02.stp Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_4099409e890d7d180007c46221d0da3d_59843.ko wait results: 21038 exp36 0 0 PASS: buildok/alias_suffixes03.stp Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c62b337776a2c615f03c22917b50072_60470.ko wait results: 21285 exp36 0 0 PASS: buildok/alias_suffixes04.stp Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_771b059f3dd32224f66a60e7f80ecf10_59136.ko wait results: 21530 exp36 0 0 PASS: buildok/alias_suffixes05.stp Running /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp starting /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0a175496ad53fbde091b4a46a13ab09_60099.ko wait results: 21775 exp36 0 0 PASS: buildok/alias_suffixes06.stp Running /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_8094bf750dc9a0823d666e78c8026179_7079.ko wait results: 22020 exp36 0 0 PASS: buildok/arch_bytes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp starting /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_277c6001aa649091fbfdac94699c5d00_1658.ko wait results: 22267 exp36 0 0 PASS: buildok/array_size.stp Running /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp starting /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_582c2024a2dbb47cf53ff77d959fe00e_2374.ko wait results: 22512 exp36 0 0 PASS: buildok/atomic.stp Running /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8a4ead44532c291ed3b5a7ef340d9cf_150093.ko wait results: 22757 exp36 0 0 PASS: buildok/aux_syscalls-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/cmdline01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/cmdline01.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/cmdline01.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/cmdline01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_703f7ad11eafc480a61f4ee0f253b10c_1655.ko wait results: 23002 exp36 0 0 PASS: buildok/cmdline01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp starting /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e35e5bff162be32f1cec33058e66cbdd_5592.ko wait results: 23248 exp36 0 0 PASS: buildok/context-embedded-ns.stp Running /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_feb88f8ebaca04dba1e045622b5abd5f_22585.ko wait results: 23493 exp36 0 0 PASS: buildok/context-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f10ef91e791b8cb844ba6771a2897ceb_8929.ko wait results: 23738 exp36 0 0 PASS: buildok/context-symbols-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/01/stap_01d356e4b0cda19a71d11a8717fc5786_5490.ko wait results: 23984 exp36 0 0 PASS: buildok/context-unwind-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a0845d6bd87c0a584143756a8811c43_22860.ko wait results: 24230 exp36 0 0 PASS: buildok/conversions-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp spawn1 stap -gup4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp spawn stap -gup4 /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_40e30d8641cc0e3b4e3045d83e47e222_5388.ko wait results: 24476 exp36 0 0 PASS: buildok/conversions-guru-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp starting /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_5356c48c2c3bec9a715c59eb95ac5476_19554.ko wait results: 24721 exp36 0 0 PASS: buildok/conversions.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3a/stap_3a68870fa75af6dcc9a68ead434a7fe7_4938.ko wait results: 24966 exp36 0 0 PASS: buildok/ctime-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/delete.stp starting /root/systemtap_write/systemtap/testsuite/buildok/delete.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/delete.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/delete.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04b9e4f04971517252b30b0dda5e25e4_1744.ko wait results: 25211 exp36 0 0 PASS: buildok/delete.stp Running /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/stap_6ddac61a8575e492a2ba53066bfad928_36306.ko wait results: 25457 exp36 0 0 PASS: buildok/dentry-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a42b16f771d5d1280970140e220a7ee_9768.ko wait results: 25702 exp36 0 0 PASS: buildok/dev-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp starting /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d7f2d975186c095832a417d0bc71005_2252.ko wait results: 25947 exp36 0 0 PASS: buildok/dw_op_rot.stp Running /root/systemtap_write/systemtap/testsuite/buildok/eight.stp starting /root/systemtap_write/systemtap/testsuite/buildok/eight.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eight.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eight.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_536fd5946339469ab269f1c983f36a05_1480.ko wait results: 26192 exp36 0 0 PASS: buildok/eight.stp Running /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/stap_28187e7eabcb0eab9fac4bcf5fd5128c_3395.ko wait results: 26438 exp36 0 0 PASS: buildok/eighteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp starting /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3bd72d0b3119830bc196f79839259cb_1679.ko wait results: 26683 exp36 0 0 PASS: buildok/eleven.stp Running /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fb/stap_fb480b7d906c4d42b49e161f4621cfbe_2143.ko wait results: 26928 exp36 0 0 PASS: buildok/endian-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_213ef5af3fe4995862d09d1f2f1d5463_8373.ko wait results: 27173 exp36 0 0 PASS: buildok/errno-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_21806c2a1528d23fa8a99ec3fbe130b8_2235.ko wait results: 27418 exp36 0 0 PASS: buildok/fifteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/five.stp starting /root/systemtap_write/systemtap/testsuite/buildok/five.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/five.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/five.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_0882e371d630ba9de9fdc82d0ea9cd7b_1843.ko wait results: 27663 exp36 0 0 PASS: buildok/five.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe895f1156db9422e30acacdfd819075_1582.ko wait results: 27908 exp36 0 0 PASS: buildok/fortyeight.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c281ad3f7eda1e85968f75882c7cfc1c_65012.ko wait results: 28153 exp36 0 0 PASS: buildok/fortyfive.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e1221a8cbd41f55dc7253cbe4b608062_1893.ko wait results: 28398 exp36 0 0 PASS: buildok/fortynine.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e88297f75320bd405fbf15cec5deb1b7_2677.ko wait results: 28643 exp36 0 0 PASS: buildok/fortyone.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp semantic error: unresolved function (similar: gid, pid, sid, tid, uid): identifier 'matched' at /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp:6:29 source: printf ("%s %s %s", matched(0), matched(1), matched(2)) ^ Pass 2: analysis failed. [man error::pass2] wait results: 28888 exp36 0 1 KFAIL: buildok/fortyseven.stp (PRMS: 15065) Running /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_2148d5f9cc6ffaf3e07ac1403bdba3bd_492909.ko wait results: 28893 exp36 0 0 PASS: buildok/fortysix.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fortytwo.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fortytwo.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/fortytwo.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/fortytwo.stp /root/systemtap_write/systemtap/testsuite/buildok/fortytwo.stp: do_readv_writev@fs/read_write.c found, starting line 808 probe kernel.statement("do_readv_writev@fs/read_write.c:808") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:809") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:810") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:812") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:814") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:818") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:823") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:828") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:833") {$file} # OK probe kernel.statement("do_readv_writev@fs/read_write.c:808").nearest {$file} # OK wait results: 29139 exp36 0 0 PASS: buildok/fortytwo.stp Running /root/systemtap_write/systemtap/testsuite/buildok/four.stp starting /root/systemtap_write/systemtap/testsuite/buildok/four.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/four.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/four.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30e357e455a9ffe5a6746cfa92728f1a_1508.ko wait results: 30172 exp36 0 0 PASS: buildok/four.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp spawn1 stap -tp4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp spawn stap -tp4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/stap_09b4e563a73b9ba8ff7d9ec178be7ac7_2818.ko wait results: 30417 exp36 0 0 PASS: buildok/fourteen-plus.stp Running /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_830d5f3da4d9d47552b8cf66154b0e58_2818.ko wait results: 30665 exp36 0 0 PASS: buildok/fourteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/globals.stp starting /root/systemtap_write/systemtap/testsuite/buildok/globals.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/globals.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/globals.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff5d8759e38ff7909754b08857c53940_1837.ko wait results: 30910 exp36 0 0 PASS: buildok/globals.stp Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp starting /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/stap_7eef36513dd0e39ad5a6b9c10b2e1fc8_1999.ko wait results: 31155 exp36 0 0 PASS: buildok/gtod_init.stp Running /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp starting /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b25f884bdf441f235b79690c4d5de16_1631.ko wait results: 31400 exp36 0 0 PASS: buildok/gtod_noinit.stp Running /root/systemtap_write/systemtap/testsuite/buildok/guru.stp starting /root/systemtap_write/systemtap/testsuite/buildok/guru.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/guru.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/guru.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/96/stap_960c8c2b9da27480e194afb8a85632ef_2083.ko wait results: 31645 exp36 0 0 PASS: buildok/guru.stp Running /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp starting /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad144b57375b0fe234cc6e727ccce28e_1963.ko wait results: 31890 exp36 0 0 PASS: buildok/histogram_operator_in.stp Running /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp starting /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/72/stap_72bd346229ca0266ce623a92742d23aa_1454.ko wait results: 32135 exp36 0 0 PASS: buildok/hwbkpt.stp Running /root/systemtap_write/systemtap/testsuite/buildok/indent.stp starting /root/systemtap_write/systemtap/testsuite/buildok/indent.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/indent.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/indent.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/stap_941449b40e397d4810cca0365be229a5_5298.ko wait results: 32380 exp36 0 0 PASS: buildok/indent.stp Running /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/59/stap_59f28319bce3049270e9ed0aefe45c20_2173.ko wait results: 32625 exp36 0 0 PASS: buildok/inet-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b3725d7d559c04648300a4bd44ba26e_8355.ko wait results: 402 exp36 0 0 PASS: buildok/inet_sock-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/stap_d065059f58b1bc779ea6031e11c216fc_2364.ko wait results: 1155 exp36 0 0 PASS: buildok/ioblock-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp semantic error: while processing probe kernel.function("generic_make_request@block/blk-core.c:1993") from: ioblock.request from: ioblock.request semantic error: unable to find member 'bi_rw' for struct bio (alternatives: bi_css, bi_ioc, bi_opf, __bi_cnt, bi_bdev, bi_error, bi_iter, bi_next, bi_pool, bi_vcnt, bi_flags, bi_ioprio, bi_end_io, bi_io_vec, bi_private, bi_integrity, bi_max_vecs, __bi_remaining, bi_inline_vecs, bi_seg_back_size, bi_phys_segments, bi_seg_front_size): operator '->' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp:113:18 source: rw = $bio->bi_rw ^ Pass 2: analysis failed. [man error::pass2] wait results: 1413 exp36 0 1 FAIL: buildok/ioblock-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp /tmp/stapPkim42/stap_8be1941b924932dae3f07aec40667f46_12959_src.c: In function 'function___global_bio_rw_num__overload_0': /tmp/stapPkim42/stap_8be1941b924932dae3f07aec40667f46_12959_src.c:1053:89: error: 'REQ_WRITE' undeclared (first use in this function) l->__retvalue = ((l->l_rw) & ((((int64_t) (/* pure */ /* unprivileged */ /* stable */ REQ_WRITE))))); ^ /tmp/stapPkim42/stap_8be1941b924932dae3f07aec40667f46_12959_src.c:1053:89: note: each undeclared identifier is reported only once for each function it appears in make[4]: *** [/tmp/stapPkim42/stap_8be1941b924932dae3f07aec40667f46_12959_src.o] Error 1 make[3]: *** [_module_/tmp/stapPkim42] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] wait results: 1418 exp36 0 1 FAIL: buildok/ioblock-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ed73b5e3448a90494cf9cb6a8fe7243_17239.ko wait results: 1617 exp36 0 0 PASS: buildok/ioscheduler-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_556f1c54429d830b097344c29adc8684_39241.ko wait results: 1872 exp36 0 0 PASS: buildok/ioscheduler-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af1de9de751525c1f0ca70edc6bb49e1_3141.ko wait results: 2126 exp36 0 0 PASS: buildok/ioscheduler-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2fdbb5453c168f8be2163265d82bb52_12579.ko wait results: 2378 exp36 0 0 PASS: buildok/ip-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71b22fbe9f5bbc601003f59c057bf53d_50087.ko Number of similar warning messages suppressed: 11. Rerun with -v to see them. wait results: 2629 exp36 0 0 PASS: buildok/ipmib-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30c4e0096b9c77c60588afeeb7b534da_50410.ko Number of similar warning messages suppressed: 11. Rerun with -v to see them. wait results: 3304 exp36 0 0 PASS: buildok/ipmib-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78f2a4494552f61d1b74f3bfa24cb601_24844.ko wait results: 3550 exp36 0 0 PASS: buildok/ipmib-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c916ab4771b789c4d46c158719e530d5_54077.ko wait results: 3796 exp36 0 0 PASS: buildok/irq-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_eadb98f44afd17ed2098f57c46643efe_65363.ko wait results: 4262 exp36 0 0 PASS: buildok/irq-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp starting /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02185c1b3ffa63cbd27dbf5f79a248d1_2019.ko wait results: 4515 exp36 0 0 PASS: buildok/iterate_histogram_buckets.stp Running /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/26/stap_26573ac8e0b80919a49446163a3e2d5f_21214.ko wait results: 4761 exp36 0 0 PASS: buildok/json-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/stap_059aac0db88ef8a7ed30919568a1f456_61167.ko wait results: 5006 exp36 0 0 PASS: buildok/kprocess-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_160b89451477626bab96a376dab52301_67709.ko wait results: 5251 exp36 0 0 PASS: buildok/kprocess-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/07/stap_07ee38c706c54318ccfeb058cc7a3912_1475.ko wait results: 5503 exp36 0 0 PASS: buildok/kprocess-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/stap_75edad2f7c8de993e212369d6d67a659_14243.ko wait results: 5750 exp36 0 0 PASS: buildok/linuxmib-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d3/stap_d353260f11d57d0f793f8ac501cd80ea_14455.ko wait results: 5995 exp36 0 0 PASS: buildok/linuxmib-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce873035971922f4c8ccbaeec315b6a9_3236.ko wait results: 6241 exp36 0 0 PASS: buildok/logging-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp starting /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff8b72fdb690f5cdc377c08e06895ac6_1972.ko wait results: 6486 exp36 0 0 PASS: buildok/map_probe_cond.stp Running /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_468ca47598ad345d4a56a9a5d99bdcc3_1546.ko wait results: 6731 exp36 0 0 PASS: buildok/maxactive01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bffea313b9004d787f5f5d3f7358a7d_15464.ko wait results: 6976 exp36 0 0 PASS: buildok/memory-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp WARNING: cannot probe .return of 1 inlined functions kmalloc_node WARNING: cannot probe .return of 1 inlined functions kmem_cache_alloc_node semantic error: while processing probe kernel.function("do_wp_page@mm/memory.c:2359") from: vm.write_shared from: vm.write_shared semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x1481b8a in kernel, near pc 0xfffffc000824f814 in do_wp_page mm/memory.c (alternatives: $fe, $vma, $old_page, $orig_pte)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:148:15 source: address = $address ^ Pass 2: analysis failed. [man error::pass2] wait results: 7230 exp36 0 1 FAIL: buildok/memory-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a8/stap_a8f015ca82e4d6d17dcc4bcbfe12f1c4_6805.ko wait results: 7235 exp36 0 0 PASS: buildok/memory-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c1/stap_c1824536adea5df59fd259b2f42a3200_3647.ko wait results: 7480 exp36 0 0 PASS: buildok/memory-mmap.stp Running /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp semantic error: while processing probe kernel.function("cow_user_page@mm/memory.c:1989") from: vm.write_shared_copy from: vm.write_shared_copy semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x147fa75 in kernel, near pc 0xfffffc000824e828 in cow_user_page mm/memory.c (alternatives: $dst, $src, $va, $vma)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:173:17 source: address = $address ^ Pass 2: analysis failed. [man error::pass2] wait results: 7726 exp36 0 1 KFAIL: buildok/memory-write_shared_copy.stp (PRMS: 1155) Running /root/systemtap_write/systemtap/testsuite/buildok/memory.stp starting /root/systemtap_write/systemtap/testsuite/buildok/memory.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/memory.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6a89ee935f3ae312aaec50e3c2fb5ff_7336.ko wait results: 7731 exp36 0 0 PASS: buildok/memory.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fdc5dd0a61eb16fa9a915dc5e55dc0e_443952.ko wait results: 7977 exp36 0 0 PASS: buildok/nd_syscalls-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_706fd03f248bcbfd31f38b67cf098fc2_15945.ko wait results: 8227 exp36 0 0 PASS: buildok/nd_syscalls-arch-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp spawn1 stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp spawn stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce6f37f63a0edf9310660506b7b1b78a_274705.ko wait results: 8472 exp36 0 0 PASS: buildok/nd_syscalls-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp spawn1 stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp spawn stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_80e56e6761174bf99b9b3421ec192d28_302439.ko wait results: 8717 exp36 0 0 PASS: buildok/nd_syscalls2-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp starting /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp spawn1 stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp spawn stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9ae1900c5b99efb3c85cfea063afc71e_408023.ko wait results: 8964 exp36 0 0 PASS: buildok/netfilter-glob.stp Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4fa57a700b171854b33f4ff64d2a97a8_1768.ko wait results: 10491 exp36 0 0 PASS: buildok/netfilter01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp starting /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp WARNING: side-effect-free probe 'probe_2761': keyword at /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp:4:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") { } ^ WARNING: side-effect-free probe 'probe_2762': keyword at :5:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") { } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/stap_4a497faefcdbc6d9115524ca0d7fd1c6_1580.ko wait results: 10736 exp36 0 0 PASS: buildok/netfilter02.stp Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp starting /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b0ba6c5e129c1175beee05ff666ef6c_1465.ko wait results: 10981 exp36 0 0 PASS: buildok/netfilter03.stp Running /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp starting /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp WARNING: side-effect-free probe 'probe_2760': keyword at /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp:3:1 source: probe netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") { } ^ /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_70ab4289da7ede37ef29d7712e23aa17_1427.ko wait results: 11226 exp36 0 0 PASS: buildok/netfilter04.stp Running /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d462f96f2eddf50006cdc912ba55fc72_4310.ko wait results: 11471 exp36 0 0 PASS: buildok/networking-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp starting /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_679c464e3992644d9cf470b22514b76b_2241.ko wait results: 11716 exp36 0 0 PASS: buildok/networking-change_rx_flag.stp Running /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp semantic error: while processing probe kernel.function("dev_close@net/core/dev.c:1472") from: netdev.close from: netdev.open semantic error: failed to retrieve location attribute for 'dev' [man error::dwarf]: identifier '$dev' at /root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp:120:29 dieoffset: 0x5730ff0 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: dev_close at net/core/dev.c:1474 inlined by dev_change_net_namespace at net/core/dev.c:7851 source: dev_name = get_netdev_name($dev) ^ Pass 2: analysis failed. [man error::pass2] wait results: 11961 exp36 0 1 FAIL: buildok/networking-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0a3411d56370c9a97c9a4205ffc075d8_3015.ko wait results: 11967 exp36 0 0 PASS: buildok/networking-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3d/stap_3d0c65ced8efe3934ef3d240ff7d2636_1713.ko wait results: 12212 exp36 0 0 PASS: buildok/newlocals01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a42fa0779187012715974e7b2533254_168581.ko wait results: 12459 exp36 0 0 PASS: buildok/nfs-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_dea19d05e165761075bec451dc590442_260019.ko wait results: 12708 exp36 0 0 PASS: buildok/nfs-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f3365e77823e34646c6a7c0148a1832_28072.ko wait results: 12955 exp36 0 0 PASS: buildok/nfs-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp semantic error: while processing probe module("nfs").function("nfs_check_flags@fs/nfs/file.c:51") from: nfs.fop.check_flags from: nfs.fop.check_flags semantic error: failed to retrieve location attribute for 'flags' [man error::dwarf]: identifier '$flags' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp:874:16 dieoffset: 0x7f33c from /lib/modules/4.8.0-rc1uprobes+/kernel/fs/nfs/nfs.ko function: nfs_check_flags at fs/nfs/file.c:53 inlined by nfs_file_open at fs/nfs/file.c:71 source: flag = $flags ^ Pass 2: analysis failed. [man error::pass2] wait results: 13200 exp36 0 1 KFAIL: buildok/nfs-fop.check_flags.stp (PRMS: GCC) Running /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d62c8bb37512810e9855bd275938262_131508.ko wait results: 13205 exp36 0 0 PASS: buildok/nfs_proc-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c947e0f5afa89d1a90a5c94f574202e8_14231.ko wait results: 13453 exp36 0 0 PASS: buildok/nfs_proc-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b7803eea2b71d596ca26013daafb696_213398.ko wait results: 13698 exp36 0 0 PASS: buildok/nfsd-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c7e86d7e3bb46037a7204242ab8ab1b2_418813.ko wait results: 13945 exp36 0 0 PASS: buildok/nfsd-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_9388a5248e9d8976187a55001e59d355_11042.ko wait results: 14190 exp36 0 0 PASS: buildok/nfsd-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb7f10989f74a9b20b696689140c4096_12886.ko wait results: 14436 exp36 0 0 PASS: buildok/nfsderrno-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nine.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nine.stp spawn1 stap -wp2 /root/systemtap_write/systemtap/testsuite/buildok/nine.stp spawn stap -wp2 /root/systemtap_write/systemtap/testsuite/buildok/nine.stp # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 14681 exp36 0 0 PASS: buildok/nine.stp Running /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f258fe738c42d4feb84c4a44021e9108_1925.ko wait results: 14686 exp36 0 0 PASS: buildok/nineteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/null.stp starting /root/systemtap_write/systemtap/testsuite/buildok/null.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/null.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/null.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stap_5a69bfb20f69c59a33fe21b1e5a9d3dc_1545.ko wait results: 14933 exp36 0 0 PASS: buildok/null.stp Running /root/systemtap_write/systemtap/testsuite/buildok/oldlocals01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/oldlocals01.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/oldlocals01.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/oldlocals01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91daf2ecb02af7698aa756c4dbebf3ab_1718.ko wait results: 15178 exp36 0 0 PASS: buildok/oldlocals01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp starting /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/stap_6c5fddc840ae050e585f7a20f3b3477e_1815.ko wait results: 15439 exp36 0 0 PASS: buildok/oldlocals02.stp Running /root/systemtap_write/systemtap/testsuite/buildok/one.stp starting /root/systemtap_write/systemtap/testsuite/buildok/one.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/one.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/one.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_306f69d765a474b160113a9c76745918_1894.ko wait results: 15684 exp36 0 0 PASS: buildok/one.stp Running /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp starting /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_481244e0d3f02b56fa0a5bdde9929631_4934.ko wait results: 15930 exp36 0 0 PASS: buildok/per-process-syscall.stp Running /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp starting /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_5477d53bcf1eca9e368f44265e21f225_2724.ko wait results: 16175 exp36 0 0 PASS: buildok/pmap_foreach.stp Running /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp starting /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1e/stap_1e898fe1e201e097a14a61c2e29fbd7f_2808.ko wait results: 16420 exp36 0 0 PASS: buildok/pr10678.stp Running /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp starting /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_464b680f26908f4e9db445953f069038_2759.ko wait results: 16665 exp36 0 0 PASS: buildok/pr13284.stp Running /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7cefa962bf53befb10b1dc8bddda5eaa_19435.ko wait results: 16910 exp36 0 0 PASS: buildok/pretty-uprobes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp starting /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a2a2ee7ae5ae30f60c047bd9bcf511_79107.ko wait results: 17156 exp36 0 0 PASS: buildok/pretty.stp Running /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp starting /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49faa2fd40ebf354e50cfead36d3e8c0_2149.ko wait results: 17409 exp36 0 0 PASS: buildok/print_histogram_entry.stp Running /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp starting /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b80ef8490ac63a874ff8cca3869f20d_2283.ko wait results: 17654 exp36 0 0 PASS: buildok/print_histograms.stp Running /root/systemtap_write/systemtap/testsuite/buildok/printf.stp starting /root/systemtap_write/systemtap/testsuite/buildok/printf.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/printf.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/printf.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_399ddd165ed8dbf5123bb79b851a34f6_2579.ko wait results: 17899 exp36 0 0 PASS: buildok/printf.stp Running /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_992c0db71680494f59b87f06b2f3d446_18995.ko wait results: 18144 exp36 0 0 PASS: buildok/proc_mem-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp starting /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_999ac8eb9e238466b784af14d7f9f5d0_75165.ko wait results: 18389 exp36 0 0 PASS: buildok/process_test.stp Running /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp starting /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/65/stap_6566859b8d50e7fe5655aa333861e3c3_3079.ko wait results: 18644 exp36 0 0 PASS: buildok/procfs01.stp Running /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp starting /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc592ab5026cc50b100f2a161a810f07_1536.ko wait results: 18890 exp36 0 0 PASS: buildok/profiletimer.stp Running /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2e/stap_2eb27ed07dac7fbdcf806d96d0505a7a_9508.ko wait results: 19135 exp36 0 0 PASS: buildok/queue_stats-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cbe695a7986ac2f5d994ffae8281b2f5_1649.ko wait results: 19380 exp36 0 0 PASS: buildok/random-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp starting /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dba93a9d6bde3131eb3fc4363c740afe_2190.ko wait results: 19625 exp36 0 0 PASS: buildok/rcu.stp Running /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp spawn1 stap -wp4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp spawn stap -wp4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc1fc1d351349797bbd42c5f7784c79e_66169.ko wait results: 19871 exp36 0 0 PASS: buildok/rpc-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp WARNING: cannot probe .return of 1 inlined functions rpc_release_task /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6a/stap_6ab0026847c2c8fe27473a747777d718_253811.ko Number of similar warning messages suppressed: 2. Rerun with -v to see them. wait results: 20121 exp36 0 0 PASS: buildok/rpc-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6883fa6e342ed2ef3127676da6a2a2c_22071.ko wait results: 20366 exp36 0 0 PASS: buildok/rpc-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e24b8f2ec701ce0d67d1bd49e4e8161_4729.ko wait results: 20611 exp36 0 0 PASS: buildok/scheduler-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d53eb14416acd05d681a0b5304794618_2526.ko wait results: 20864 exp36 0 0 PASS: buildok/scheduler-cpu_off.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/51/stap_5114ce7d5b445326dd7429945af3feb2_3601.ko wait results: 21118 exp36 0 0 PASS: buildok/scheduler-cpu_on.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/18/stap_183ff6b2eb09c1533ed6e3b12b51bac8_8367.ko wait results: 21365 exp36 0 0 PASS: buildok/scheduler-ctxswitch.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a255a963ae5f39ce38518a82fcc0c96_29865.ko wait results: 21618 exp36 0 0 PASS: buildok/scheduler-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d26f34a89c40ccef546cec2a05f2bc64_3502.ko wait results: 21871 exp36 0 0 PASS: buildok/scheduler-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/stap_8c939fcd086d56bfbcdee80abf6d0b40_5907.ko wait results: 22116 exp36 0 0 PASS: buildok/scheduler-migrate.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_674f1589786fc921a9aa757c38e6fa33_2724.ko wait results: 22369 exp36 0 0 PASS: buildok/scsi-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scsi-detailed.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/scsi-detailed.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/scsi-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f9/stap_f9e93db890b0e2682737db14cfad0509_58320.ko wait results: 22622 exp36 0 0 PASS: buildok/scsi-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_98cbebf2f294267a35382158f0fd2768_7466.ko wait results: 22877 exp36 0 0 PASS: buildok/scsi-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp starting /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b4448b7a67b0af35fb7b48f3899484e8_1855.ko wait results: 23122 exp36 0 0 PASS: buildok/semicolon.stp Running /root/systemtap_write/systemtap/testsuite/buildok/seven.stp starting /root/systemtap_write/systemtap/testsuite/buildok/seven.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seven.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seven.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_eeccf1a7616d9c54b62e0ea4959eefa0_3656.ko wait results: 23367 exp36 0 0 PASS: buildok/seven.stp Running /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c78a80dad50fbf3200e75d11de134e0e_5522.ko wait results: 23612 exp36 0 0 PASS: buildok/seventeen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_768f77daea2570a5a9014f082ef26cf4_85577.ko wait results: 23857 exp36 0 0 PASS: buildok/signal-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp starting /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp semantic error: while processing probe kernel.function("sig_ignored@kernel/signal.c:81") from: signal.check_ignored from: signal.check_ignored semantic error: failed to retrieve location attribute for 't' [man error::dwarf]: identifier '$t' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:365:15 dieoffset: 0x6d1011 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: sigismember at ./include/linux/signal.h:77 inlined by sig_ignored at kernel/signal.c:88 inlined by prepare_signal at kernel/signal.c:846 source: sig_pid = $t->pid ^ Pass 2: analysis failed. [man error::pass2] wait results: 24113 exp36 0 1 KFAIL: buildok/signal-check_ignored.stp (PRMS: GCC) Running /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp WARNING: cannot probe .return of 1 inlined functions sig_ignored WARNING: cannot probe .return of 1 inlined functions do_sigpending /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/stap_3c02ed8924b81afd33ad0fdd5e71d68b_113283.ko wait results: 24118 exp36 0 0 PASS: buildok/signal-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/81/stap_81c4c8ba32754c8aa92fada90ed8ec4e_12326.ko wait results: 24374 exp36 0 0 PASS: buildok/signal-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp starting /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_55774570edcd89b5c3dbf2d2c312a5e6_62050.ko wait results: 24620 exp36 0 0 PASS: buildok/signal-handle.stp Running /root/systemtap_write/systemtap/testsuite/buildok/six.stp starting /root/systemtap_write/systemtap/testsuite/buildok/six.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/six.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/six.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3254909aa6b0b6d39eb74be48a24140_1756.ko wait results: 24873 exp36 0 0 PASS: buildok/six.stp Running /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9adaf0f6205a664628c5864132c1fbdb_1901.ko wait results: 25118 exp36 0 0 PASS: buildok/sixteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8573e40a4f11dfc03cf9ae3567bbfd0_58114.ko wait results: 25363 exp36 0 0 PASS: buildok/socket-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/52/stap_528246675b9b762bae0c58a7b307e2f9_133080.ko wait results: 25608 exp36 0 0 PASS: buildok/socket-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1d/stap_1df0e67715fa2a6dc9054f082f574074_14632.ko wait results: 25853 exp36 0 0 PASS: buildok/socket-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf638f08e71f6140e0ffc2016dfc9068_12593.ko wait results: 26098 exp36 0 0 PASS: buildok/stap_staticmarkers-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp starting /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b5/stap_b5a800e0f68aa802ab996577fc27c259_2270.ko wait results: 26344 exp36 0 0 PASS: buildok/stat_extract.stp Running /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp starting /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bb6377977877893595ffabc821ec0338_4067.ko wait results: 26589 exp36 0 0 PASS: buildok/stat_insert.stp Running /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp starting /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/df/stap_df6613d288107e3c74c57b995a1f5d33_291499.ko wait results: 26834 exp36 0 0 PASS: buildok/stopwatches.stp Running /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb56e4dae9463a859dbcac709154eb65_5202.ko wait results: 27081 exp36 0 0 PASS: buildok/string-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp starting /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78578076181b5ada2d8ba03fcbb98e6f_1154189.ko wait results: 27326 exp36 0 0 PASS: buildok/syscall.stp Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b314e66d3cf4b12cafd1f6af0ac613fa_9327.ko wait results: 27576 exp36 0 0 PASS: buildok/syscalls-arch-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp spawn1 stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp spawn stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e3c632dc12b4f8fad12be03619009029_557995.ko wait results: 27821 exp36 0 0 PASS: buildok/syscalls-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp spawn1 stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp spawn stap -Wp4 /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9afe158c59b9d4e86ab8f5dc3efcb002_596378.ko wait results: 28070 exp36 0 0 PASS: buildok/syscalls2-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d94d17d04de793c32a2dc3947591f535_1476.ko wait results: 28318 exp36 0 0 PASS: buildok/system-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp starting /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f15a6ddda16b73dfe6054948c547b549_1372.ko wait results: 28564 exp36 0 0 PASS: buildok/systemtap_privilege.stp Running /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b6/stap_b6be04983850037c006f7710bdb540fa_23466.ko wait results: 28809 exp36 0 0 PASS: buildok/task-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp starting /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_276480e662901fc0daf2455c24ba348e_5895.ko wait results: 29055 exp36 0 0 PASS: buildok/task_ns.stp Running /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp starting /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d9a1cd052a5dceba107ef420bdb5eef7_9268.ko wait results: 29301 exp36 0 0 PASS: buildok/task_rlimit_test.stp Running /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp starting /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5cf25146c9f85cd9fb7f6a2d0d6489c_23216.ko wait results: 29546 exp36 0 0 PASS: buildok/task_test.stp Running /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c31f53adcfb3fa4fe6388c96f70c9286_8023.ko wait results: 29791 exp36 0 0 PASS: buildok/task_time-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/stap_a225984a8816ad1b4dd55bbf419f31dc_28734.ko wait results: 30036 exp36 0 0 PASS: buildok/tcp-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/stap_34ad6d003cc03d2e7ec81171b87f57ee_78218.ko wait results: 30281 exp36 0 0 PASS: buildok/tcp-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc22f7df4d15b884fb0a3517f3e32ba7_23008.ko wait results: 30526 exp36 0 0 PASS: buildok/tcp-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/stap_c4f4f43ef3ce7490eb8d2af8de7a239f_35075.ko wait results: 30772 exp36 0 0 PASS: buildok/tcp_test.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1f1cc249de26563179e5cdcb708a8df_43137.ko wait results: 31017 exp36 0 0 PASS: buildok/tcpmib-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5204b708d7c87a87ecd3e2be5aa61a3_43230.ko wait results: 31262 exp36 0 0 PASS: buildok/tcpmib-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1ccfe203696fcd59f98c4dfe9e51f878_26708.ko wait results: 31507 exp36 0 0 PASS: buildok/tcpmib-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ten.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ten.stp spawn1 stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/ten.stp spawn stap -up4 /root/systemtap_write/systemtap/testsuite/buildok/ten.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d95006b0b21bdd3cfaf80c78ee2354e6_2633.ko wait results: 31752 exp36 0 0 PASS: buildok/ten.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/57/stap_57ebf29cc53c4fcc3c13b028f9c1515a_2486.ko wait results: 31997 exp36 0 0 PASS: buildok/thirteen.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/stap_4290bcd174846fa555cc7a0fd2d95bec_20741.ko wait results: 32242 exp36 0 0 PASS: buildok/thirty.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7c7562c23fa27bfbaab82bc0fcd4999_1599.ko wait results: 32487 exp36 0 0 PASS: buildok/thirtyfour.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_2458932dab3979fee842ce5366cc8ffc_1677.ko wait results: 32732 exp36 0 0 PASS: buildok/thirtyone.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirtythree.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirtythree.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/thirtythree.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/thirtythree.stp Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapAstsG0" Session arch: arm64 release: 4.8.0-rc1uprobes+ Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/.config", containing 4406 tuples Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/Module.symvers", containing 8397 vmlinux exports Parsed kernel "/lib/modules/4.8.0-rc1uprobes+/build/System.map", containing 38221 symbols Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/json.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task.stpm" Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/choose_defined.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/container_of.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/macros.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/offsetof.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/print_stats.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/private30.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/sizeof.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/try_assign.stpm" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/type_defined.stpm" Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64/aux_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64/syscall_num.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-caller.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-envvar.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/context.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ctime.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/dentry.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/guru-signal.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/inet_sock.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ipmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/irq.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/json.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/kprocess.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls2.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/nfsderrno.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/panic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/perf.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/proc_mem.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/pstrace.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rcu.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rlimit.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/rpc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/scheduler.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/scsi.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscall_table.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/syscalls_cfg_trunc.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/target_set.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task_ancestry.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/task_time.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib-filter-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_gtod.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_monotonic.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/tzinfo.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-symbols.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-unwind.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/ucontext.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/udp.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/utrace.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/arm64/registers.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/ansi.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/argv.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/context.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/errno.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/indent-default.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/indent.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/init.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/java.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/logging.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/null.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/oneshot.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/pn.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/queue_stats.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/random.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/registers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/speculative.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/stap_staticmarkers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/stopwatch.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/string.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/switchfile.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/system.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/timers.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/tokenize.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/tzinfo.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/uconversions-guru.stp" Processing tapset "/root/systemtap_write/install/share/systemtap/tapset/uconversions.stp" Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54016virt/45248res/6080shr/37568data kb, in 0usr/400sys/408real ms. Eliding side-effect-free empty block operator '{' at :1:13 Eliding side-effect-free singleton block operator '{' at :1:19 Eliding side-effect-free null statement keyword at :1:1 Pass 2: analyzed script: 2 probes, 1 function, 0 embeds, 0 globals using 54784virt/45248res/6080shr/38336data kb, in 0usr/10sys/8real ms. Extracting build ID. blacklist regexps: blfn: ^(.^)$ blfn_ret: ^(_start)$ blfile: ^(.^)$ blsection: ^(.^) Running /usr/bin/env LD_TRACE_LOADED_OBJECTS=1 LD_WARN=yes LD_BIND_NOW=yes /lib/ld-linux-aarch64.so.1 /usr/bin/ls Added -d '/lib64/libselinux.so.1' due to 'libselinux.so.1' Added -d '/lib64/libcap.so.2' due to 'libcap.so.2' Added -d '/lib64/libacl.so.1' due to 'libacl.so.1' Added -d '/lib64/libc.so.6' due to 'libc.so.6' Added -d '/lib/ld-linux-aarch64.so.1' Added -d '/lib64/libpcre.so.1' due to 'libpcre.so.1' Added -d '/lib64/libdl.so.2' due to 'libdl.so.2' Added -d '/lib64/libattr.so.1' due to 'libattr.so.1' Spawn waitpid result (0x0): 0 function recursion-analysis: max-nesting 0 non-recursive variable msg for function error will be passed by reference (char *) adapt location:15max - 29/2tot =>[] adapt derivation:22max - 37/2tot =>[] adapt pp:15max - 23/2tot =>[] adapt pn:15max - 23/2tot =>[] 1 statements for probe probe_2760 probe 1 ('timer.s(900)') locks nothing 1 statements for probe probe_2761 dump_unwindsyms /lib/ld-linux-aarch64.so.1 index=0 base=0x10000 Found build-id in /lib/ld-linux-aarch64.so.1, length 20, start at 0x1d8 dump_unwindsyms /lib64/libacl.so.1 index=1 base=0x10000 Found build-id in /lib64/libacl.so.1, length 20, start at 0x1d8 dump_unwindsyms /lib64/libattr.so.1 index=2 base=0x10000 Found build-id in /lib64/libattr.so.1, length 20, start at 0x1d8 dump_unwindsyms /lib64/libc.so.6 index=3 base=0x10000 Found build-id in /lib64/libc.so.6, length 20, start at 0x280 dump_unwindsyms /lib64/libcap.so.2 index=4 base=0x10000 Found build-id in /lib64/libcap.so.2, length 20, start at 0x1d8 dump_unwindsyms /lib64/libdl.so.2 index=5 base=0x10000 Found build-id in /lib64/libdl.so.2, length 20, start at 0x1d8 dump_unwindsyms /lib64/libpcre.so.1 index=6 base=0x10000 Found build-id in /lib64/libpcre.so.1, length 20, start at 0x1d8 dump_unwindsyms /lib64/libselinux.so.1 index=7 base=0x10000 Found build-id in /lib64/libselinux.so.1, length 20, start at 0x210 dump_unwindsyms /usr/bin/ls index=8 base=0x400000 Found build-id in /usr/bin/ls, length 20, start at 0x400284 Pass 3: translated to C into "/tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.c" using 63040virt/48128res/7360shr/46592data kb, in 0usr/1460sys/1485real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapAstsG0 modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 V=1 -j9 make[3]: Entering directory `/root/linux' test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \ echo >&2; \ echo >&2 " ERROR: Kernel configuration is invalid."; \ echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\ echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo >&2 ; \ /bin/false) mkdir -p /tmp/stapAstsG0/.tmp_versions ; rm -f /tmp/stapAstsG0/.tmp_versions/* make -f ./scripts/Makefile.build obj=/tmp/stapAstsG0 (cat /dev/null; echo kernel//tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko;) > /tmp/stapAstsG0/modules.order gcc -Wp,-MD,/tmp/stapAstsG0/.stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapAstsG0/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DMODULE -mcmodel=large -DKBUILD_BASENAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src"' -DKBUILD_MODNAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675"' -c -o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.c gcc -Wp,-MD,/tmp/stapAstsG0/.stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapAstsG0/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DMODULE -mcmodel=large -DKBUILD_BASENAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0"' -DKBUILD_MODNAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675"' -c -o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.c if [ "-pg" = "-pg" ]; then if [ /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.o"; fi; fi; if [ "-pg" = "-pg" ]; then if [ /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.o"; fi; fi; ld -EL -r -o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_aux_0.o ; scripts/mod/modpost /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.o make -f ./scripts/Makefile.modpost find /tmp/stapAstsG0/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -i ./Module.symvers -I /tmp/stapAstsG0/Module.symvers -o /tmp/stapAstsG0/Module.symvers -w -s -T - gcc -Wp,-MD,/tmp/stapAstsG0/.stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.mod.o.d -nostdinc -isystem /usr/lib/gcc/aarch64-redhat-linux/4.8.5/include -I./arch/arm64/include -I./arch/arm64/include/generated/uapi -I./arch/arm64/include/generated -I./include -I./arch/arm64/include/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mgeneral-regs-only -DCONFIG_AS_LSE=1 -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Iinclude2/asm/mach-default -I/lib/modules/4.8.0-rc1uprobes+/build -include /tmp/stapAstsG0/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -Wno-unused -Werror -I"/root/systemtap_write/install/share/systemtap/runtime" -DKBUILD_BASENAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.mod"' -DKBUILD_MODNAME='"stap_eba13177e363e1d49b09d9b70bbcf7d7_1675"' -DMODULE -mcmodel=large -c -o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.mod.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.mod.c ld -EL -r -T ./scripts/module-common.lds --build-id -o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.o /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.mod.o make[3]: Leaving directory `/root/linux' Spawn waitpid result (0x0): 0 /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko Pass 4: compiled C into "stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko" in 0usr/3480sys/3527real ms. Cache cleaning skipped, interval not reached 26 s / 300 s. Copying /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko Copying /tmp/stapAstsG0/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.c Copying /tmp/stapAstsG0/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running rm -rf /tmp/stapAstsG0 Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapAstsG0" wait results: 519 exp36 0 0 PASS: buildok/thirtythree.stp Running /root/systemtap_write/systemtap/testsuite/buildok/thirtytwo.stp starting /root/systemtap_write/systemtap/testsuite/buildok/thirtytwo.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/thirtytwo.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/thirtytwo.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_db5a3552c5524f332581256e03791802_123136.ko wait results: 829 exp36 0 0 PASS: buildok/thirtytwo.stp Running /root/systemtap_write/systemtap/testsuite/buildok/three.stp starting /root/systemtap_write/systemtap/testsuite/buildok/three.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/three.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/three.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c11700cf8da8aff6a15f2e044e445d3_2236.ko wait results: 1086 exp36 0 0 PASS: buildok/three.stp Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce793264c39a7ecf096b862bdbd9048a_5757.ko wait results: 1335 exp36 0 0 PASS: buildok/timestamp-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c319da852c4fa9c52fd25000e25ef9c7_2160.ko wait results: 1582 exp36 0 0 PASS: buildok/timestamp_gtod-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/29/stap_2943ff91810b943fed7a76bab9d50256_4158.ko wait results: 1829 exp36 0 0 PASS: buildok/timestamp_monotonic-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp semantic error: while processing probe kernel.function("tty_register_device@drivers/tty/tty_io.c:3241") from: tty.register from: tty.register semantic error: failed to retrieve location attribute for 'driver' [man error::dwarf]: identifier '$driver' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:155:37 dieoffset: 0x3da0b36 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: tty_register_device at drivers/tty/tty_io.c:3244 inlined by tty_register_driver at drivers/tty/tty_io.c:3509 source: driver_name = kernel_string_quoted($driver->driver_name) ^ Pass 2: analysis failed. [man error::pass2] wait results: 2074 exp36 0 1 FAIL: buildok/tty-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp starting /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp semantic error: while processing probe kernel.function("tiocswinsz@drivers/tty/tty_io.c:2371") from: tty.resize from: tty.resize semantic error: failed to retrieve location attribute for 'tty' [man error::dwarf]: identifier '$tty' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:81:30 dieoffset: 0x3da2c18 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: current_thread_info at ./arch/arm64/include/asm/thread_info.h:83 inlined by copy_from_user at ./arch/arm64/include/asm/uaccess.h:281 inlined by tiocswinsz at drivers/tty/tty_io.c:2374 inlined by tty_ioctl at drivers/tty/tty_io.c:2892 source: name = kernel_string_quoted($tty->name) ^ Pass 2: analysis failed. [man error::pass2] wait results: 2079 exp36 0 1 KFAIL: buildok/tty-resize.stp (PRMS: GCC) Running /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c7700ad6711ece15f989f65146bf13dd_1977.ko wait results: 2084 exp36 0 0 PASS: buildok/twelve.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d3/stap_d3966c2690c73dcb67cdaf4e4684c80c_2985.ko wait results: 2334 exp36 0 0 PASS: buildok/twenty.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/stap_94c75cbcdc8f239cda7bbe28bc85dcd3_1606.ko wait results: 2585 exp36 0 0 PASS: buildok/twentyeight.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp:3:7 source: probe process(0).statement(0).absolute { log("absolute zero reached") } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] wait results: 2831 exp36 0 1 KFAIL: buildok/twentyeightprime.stp (PRMS: INODE_UPROBES) Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f05d1a6fa44a313f18174f297b82b64e_1517.ko wait results: 2856 exp36 0 0 PASS: buildok/twentyfive.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp spawn1 stap -wgp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp spawn stap -wgp4 /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1cef053a2722b29b2b7f0ed398015353_1325.ko wait results: 3101 exp36 0 0 PASS: buildok/twentyfour.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5fad1d2bc8b3ecfb2402dce5f75a2cca_2781.ko wait results: 3348 exp36 0 0 PASS: buildok/twentynine.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/38/stap_38b611ab31c8ed461db542290771c7f3_2399.ko wait results: 3594 exp36 0 0 PASS: buildok/twentyone.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ac/stap_aca3a205b77d7e16e94abc267ecbb2a8_2691.ko wait results: 3840 exp36 0 0 PASS: buildok/twentyseven.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp spawn1 stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp spawn stap -gp4 /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_00e5f3f25715f9ed6c13056fc6f997d8_3233.ko wait results: 4087 exp36 0 0 PASS: buildok/twentythree.stp Running /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp starting /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/stap_a1a2495b301ea28a9c3255674c5a7737_3882.ko wait results: 4332 exp36 0 0 PASS: buildok/twentytwo.stp Running /root/systemtap_write/systemtap/testsuite/buildok/two.stp starting /root/systemtap_write/systemtap/testsuite/buildok/two.stp spawn2 /root/systemtap_write/systemtap/testsuite/buildok/two.stp spawn /root/systemtap_write/systemtap/testsuite/buildok/two.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb4232cc27dbe09cc56d72e7b1527636_1851.ko wait results: 4577 exp36 0 0 PASS: buildok/two.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c250b7dbfd25a4d401996128c2e5f8b_3001.ko wait results: 4824 exp36 0 0 PASS: buildok/ucontext-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7c3e15c268f21d9135dd76407575d4b1_4807.ko wait results: 5071 exp36 0 0 PASS: buildok/ucontext-symbols-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c6/stap_c6638ce4c572f6a571277f6134a1eea9_2737.ko wait results: 5316 exp36 0 0 PASS: buildok/ucontext-unwind-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30eec93dc2832637ad932ccf6716f56a_24758.ko wait results: 5570 exp36 0 0 PASS: buildok/udp-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30340d43ce69778f1ce7a7e322673642_31188.ko wait results: 5818 exp36 0 0 PASS: buildok/udp-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp starting /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4fe1a5fe7523a02b24289c683ca409f3_32927.ko wait results: 6063 exp36 0 0 PASS: buildok/udp_test.stp Running /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp starting /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/84/stap_840edf0340d6e5985154603230eaec15_1341.ko wait results: 6311 exp36 0 0 PASS: buildok/utrace.stp Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp starting /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp spawn1 stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp spawn stap -wp4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_93767e29573630f43b4891784f5903dc_97395.ko wait results: 6556 exp36 0 0 PASS: buildok/vfs-all-probes.stp Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp starting /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp semantic error: while processing probe kernel.function("__block_write_begin@fs/buffer.c:2036") from: _vfs.block_prepare_write from: _vfs.block_prepare_write semantic error: failed to retrieve location attribute for 'page' [man error::dwarf]: identifier '$page' at /root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp:1110:9 dieoffset: 0x19cb94b from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: __block_write_begin at fs/buffer.c:2039 inlined by block_write_begin at fs/buffer.c:2098 source: page = $page ^ Pass 2: analysis failed. [man error::pass2] wait results: 6801 exp36 0 1 FAIL: buildok/vfs-detailed.stp Running /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp starting /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp spawn1 stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp spawn stap -p4 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30433cbd7ee7965574101c2acf00f357_15738.ko wait results: 6808 exp36 0 0 PASS: buildok/vfs-embedded.stp Running /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp starting /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_5364ebf68edbd8acf047ad8b114b3f86_3211.ko wait results: 7055 exp36 0 0 PASS: buildok/xtime.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/buildok.exp completed in 3245 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx -gdwarf-4 -fdebug-types-section -g -lm -o debugtypes.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx -gdwarf-4 -fdebug-types-section -g -lm -o debugtypes.exe PASS: compiling debugtypes.cxx starting /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_cast_get_cast_1:long (:long) __private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_p_0:long () __private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_p_1:long () __private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_q_2:long () # probes process("/root/systemtap_write/systemtap/testsuite/debugtypes.exe").function("func1@/root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx:24") /* pc=.absolute+0x658 */ /* <- process("/root/systemtap_write/systemtap/testsuite/debugtypes.exe").function("func1@/root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx:24") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_p_0_value:long __stable___private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_p_1_value:long process("/root/systemtap_write/systemtap/testsuite/debugtypes.exe").function("func2@/root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx:29") /* pc=.absolute+0x670 */ /* <- process("/root/systemtap_write/systemtap/testsuite/debugtypes.exe").function("func2@/root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.cxx:29") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_q_2_value:long __stable___private__root_systemtap_write_systemtap_testsuite_systemtap_pass1_4_debugtypes_stp__dwarf_tvar_get_p_1_value:long timer.s(900) /* <- timer.s(900) */ wait results: 7323 exp36 0 0 PASS: compiling debugtypes.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/debugtypes.exp completed in 1 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parse-semko.exp ... PASS: semko/_start.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/_start.stp PASS: semko/_start.stp parse-semko - parsing PASS: semko/alias_suffixes01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp PASS: semko/alias_suffixes01.stp parse-semko - parsing PASS: semko/alias_suffixes02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp PASS: semko/alias_suffixes02.stp parse-semko - parsing PASS: semko/alias_suffixes03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp PASS: semko/alias_suffixes03.stp parse-semko - parsing PASS: semko/alias_suffixes04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp PASS: semko/alias_suffixes04.stp parse-semko - parsing PASS: semko/alias_suffixes05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp PASS: semko/alias_suffixes05.stp parse-semko - parsing PASS: semko/alias_suffixes06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp PASS: semko/alias_suffixes06.stp parse-semko - parsing PASS: semko/alias_suffixes07.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp PASS: semko/alias_suffixes07.stp parse-semko - parsing PASS: semko/alias_suffixes08.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp PASS: semko/alias_suffixes08.stp parse-semko - parsing PASS: semko/alias_suffixes09.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp PASS: semko/alias_suffixes09.stp parse-semko - parsing PASS: semko/array01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array01.stp PASS: semko/array01.stp parse-semko - parsing PASS: semko/array02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array02.stp PASS: semko/array02.stp parse-semko - parsing PASS: semko/array_slicing01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp PASS: semko/array_slicing01.stp parse-semko - parsing PASS: semko/array_slicing02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp PASS: semko/array_slicing02.stp parse-semko - parsing PASS: semko/array_slicing03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp PASS: semko/array_slicing03.stp parse-semko - parsing PASS: semko/array_slicing04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp PASS: semko/array_slicing04.stp parse-semko - parsing PASS: semko/array_slicing05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp PASS: semko/array_slicing05.stp parse-semko - parsing PASS: semko/array_slicing06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp PASS: semko/array_slicing06.stp parse-semko - parsing PASS: semko/autocast01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp PASS: semko/autocast01.stp parse-semko - parsing PASS: semko/autocast02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp PASS: semko/autocast02.stp parse-semko - parsing PASS: semko/autocast03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp PASS: semko/autocast03.stp parse-semko - parsing PASS: semko/autocast04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp PASS: semko/autocast04.stp parse-semko - parsing PASS: semko/autocast05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp PASS: semko/autocast05.stp parse-semko - parsing PASS: semko/autocast06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp PASS: semko/autocast06.stp parse-semko - parsing PASS: semko/autocast07.stp parse-semko - pass 1 substitute Running stap -gp1 /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp PASS: semko/autocast07.stp parse-semko - parsing PASS: semko/autocast08.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp PASS: semko/autocast08.stp parse-semko - parsing PASS: semko/autocast09.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp PASS: semko/autocast09.stp parse-semko - parsing UNTESTED: semko/autocast10.stp parse-semko - shell script PASS: semko/autocast11.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp PASS: semko/autocast11.stp parse-semko - parsing PASS: semko/autocast12.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp PASS: semko/autocast12.stp parse-semko - parsing PASS: semko/autocast13.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp PASS: semko/autocast13.stp parse-semko - parsing PASS: semko/autocast14.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp PASS: semko/autocast14.stp parse-semko - parsing PASS: semko/badregex01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp PASS: semko/badregex01.stp parse-semko - parsing PASS: semko/binexpr_infer_type.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp PASS: semko/binexpr_infer_type.stp parse-semko - parsing PASS: semko/binexpr_infer_type2.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp PASS: semko/binexpr_infer_type2.stp parse-semko - parsing PASS: semko/binexpr_infer_type3.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp PASS: semko/binexpr_infer_type3.stp parse-semko - parsing PASS: semko/binexpr_infer_type4.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp PASS: semko/binexpr_infer_type4.stp parse-semko - parsing UNTESTED: semko/deprecated01.stp parse-semko - shell script PASS: semko/doubleglob.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp PASS: semko/doubleglob.stp parse-semko - parsing PASS: semko/eight.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/eight.stp PASS: semko/eight.stp parse-semko - parsing PASS: semko/eighteen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp PASS: semko/eighteen.stp parse-semko - parsing PASS: semko/eleven.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/eleven.stp PASS: semko/eleven.stp parse-semko - parsing PASS: semko/entry01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/entry01.stp PASS: semko/entry01.stp parse-semko - parsing PASS: semko/entry02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/entry02.stp PASS: semko/entry02.stp parse-semko - parsing PASS: semko/entry03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/entry03.stp PASS: semko/entry03.stp parse-semko - parsing PASS: semko/entry04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/entry04.stp PASS: semko/entry04.stp parse-semko - parsing PASS: semko/fifteen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp PASS: semko/fifteen.stp parse-semko - parsing PASS: semko/fiftyone.stp parse-semko - pass 1 substitute Running stap -wp1 /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp PASS: semko/fiftyone.stp parse-semko - parsing PASS: semko/five.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/five.stp PASS: semko/five.stp parse-semko - parsing PASS: semko/foreachstmt01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp PASS: semko/foreachstmt01.stp parse-semko - parsing PASS: semko/foreachstmt02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp PASS: semko/foreachstmt02.stp parse-semko - parsing PASS: semko/foreachstmt03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp PASS: semko/foreachstmt03.stp parse-semko - parsing PASS: semko/foreachstmt04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp PASS: semko/foreachstmt04.stp parse-semko - parsing PASS: semko/forty.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/forty.stp PASS: semko/forty.stp parse-semko - parsing PASS: semko/fortyeight.stp parse-semko - pass 1 substitute Running stap -Wp1 /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp PASS: semko/fortyeight.stp parse-semko - parsing PASS: semko/fortyfive.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp PASS: semko/fortyfive.stp parse-semko - parsing PASS: semko/fortyfour.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp PASS: semko/fortyfour.stp parse-semko - parsing PASS: semko/fortynine.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp PASS: semko/fortynine.stp parse-semko - parsing PASS: semko/fortyone.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp PASS: semko/fortyone.stp parse-semko - parsing PASS: semko/fortyseven.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp PASS: semko/fortyseven.stp parse-semko - parsing PASS: semko/fortysix.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp PASS: semko/fortysix.stp parse-semko - parsing PASS: semko/fortythree.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp PASS: semko/fortythree.stp parse-semko - parsing PASS: semko/fortytwo.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp PASS: semko/fortytwo.stp parse-semko - parsing PASS: semko/four.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/four.stp PASS: semko/four.stp parse-semko - parsing PASS: semko/fourteen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp PASS: semko/fourteen.stp parse-semko - parsing PASS: semko/global_access.stp parse-semko - pass 1 substitute Running stap -gp1 /root/systemtap_write/systemtap/testsuite/semko/global_access.stp PASS: semko/global_access.stp parse-semko - parsing PASS: semko/gurufunc.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/gurufunc.stp PASS: semko/gurufunc.stp parse-semko - parsing PASS: semko/inb_blacklisted.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp PASS: semko/inb_blacklisted.stp parse-semko - parsing PASS: semko/local_array.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/local_array.stp PASS: semko/local_array.stp parse-semko - parsing PASS: semko/local_stat.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp PASS: semko/local_stat.stp parse-semko - parsing PASS: semko/logging-embedded.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/logging-embedded.stp PASS: semko/logging-embedded.stp parse-semko - parsing PASS: semko/map_wrap_bad.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp PASS: semko/map_wrap_bad.stp parse-semko - parsing PASS: semko/maxactive01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp PASS: semko/maxactive01.stp parse-semko - parsing PASS: semko/maxactive02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp PASS: semko/maxactive02.stp parse-semko - parsing PASS: semko/maxactive03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp PASS: semko/maxactive03.stp parse-semko - parsing PASS: semko/maxactive04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp PASS: semko/maxactive04.stp parse-semko - parsing PASS: semko/maxactive05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp PASS: semko/maxactive05.stp parse-semko - parsing PASS: semko/maxactive06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp PASS: semko/maxactive06.stp parse-semko - parsing PASS: semko/netfilter01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp PASS: semko/netfilter01.stp parse-semko - parsing PASS: semko/netfilter02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp PASS: semko/netfilter02.stp parse-semko - parsing PASS: semko/netfilter03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp PASS: semko/netfilter03.stp parse-semko - parsing PASS: semko/netfilter04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp PASS: semko/netfilter04.stp parse-semko - parsing PASS: semko/netfilter05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp PASS: semko/netfilter05.stp parse-semko - parsing PASS: semko/netfilter06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp PASS: semko/netfilter06.stp parse-semko - parsing PASS: semko/netfilter07.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp PASS: semko/netfilter07.stp parse-semko - parsing PASS: semko/netfilter08.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp PASS: semko/netfilter08.stp parse-semko - parsing PASS: semko/netfilter09.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp PASS: semko/netfilter09.stp parse-semko - parsing PASS: semko/netfilter10.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp PASS: semko/netfilter10.stp parse-semko - parsing PASS: semko/netfilter11.stp parse-semko - pass 1 substitute Running stap -gp1 /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp PASS: semko/netfilter11.stp parse-semko - parsing PASS: semko/nine.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/nine.stp PASS: semko/nine.stp parse-semko - parsing PASS: semko/nofunc.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp PASS: semko/nofunc.stp parse-semko - parsing PASS: semko/one.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/one.stp PASS: semko/one.stp parse-semko - parsing PASS: semko/overload.stp parse-semko - pass 1 substitute Running stap -Wp1 /root/systemtap_write/systemtap/testsuite/semko/overload.stp PASS: semko/overload.stp parse-semko - parsing PASS: semko/perf02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf02.stp PASS: semko/perf02.stp parse-semko - parsing PASS: semko/perf03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf03.stp PASS: semko/perf03.stp parse-semko - parsing PASS: semko/perf04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf04.stp PASS: semko/perf04.stp parse-semko - parsing PASS: semko/perf05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf05.stp PASS: semko/perf05.stp parse-semko - parsing PASS: semko/perf06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf06.stp PASS: semko/perf06.stp parse-semko - parsing PASS: semko/perf_sample.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp PASS: semko/perf_sample.stp parse-semko - parsing PASS: semko/plt1.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/plt1.stp PASS: semko/plt1.stp parse-semko - parsing UNTESTED: semko/plt2.stp parse-semko - shell script PASS: semko/procfs01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp PASS: semko/procfs01.stp parse-semko - parsing PASS: semko/procfs02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp PASS: semko/procfs02.stp parse-semko - parsing PASS: semko/procfs03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp PASS: semko/procfs03.stp parse-semko - parsing PASS: semko/procfs04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp PASS: semko/procfs04.stp parse-semko - parsing PASS: semko/procfs05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp PASS: semko/procfs05.stp parse-semko - parsing PASS: semko/procfs06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp PASS: semko/procfs06.stp parse-semko - parsing PASS: semko/procfs07.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp PASS: semko/procfs07.stp parse-semko - parsing PASS: semko/procfs08.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp PASS: semko/procfs08.stp parse-semko - parsing PASS: semko/procfs09.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp PASS: semko/procfs09.stp parse-semko - parsing PASS: semko/procfs10.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp PASS: semko/procfs10.stp parse-semko - parsing PASS: semko/procfs11.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp PASS: semko/procfs11.stp parse-semko - parsing PASS: semko/procfs12.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp PASS: semko/procfs12.stp parse-semko - parsing PASS: semko/procfs13.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp PASS: semko/procfs13.stp parse-semko - parsing PASS: semko/procfs14.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp PASS: semko/procfs14.stp parse-semko - parsing PASS: semko/procfs15.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp PASS: semko/procfs15.stp parse-semko - parsing PASS: semko/return01.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/return01.stp PASS: semko/return01.stp parse-semko - parsing PASS: semko/return02.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/return02.stp PASS: semko/return02.stp parse-semko - parsing PASS: semko/seven.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/seven.stp PASS: semko/seven.stp parse-semko - parsing PASS: semko/seventeen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp PASS: semko/seventeen.stp parse-semko - parsing PASS: semko/six.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/six.stp PASS: semko/six.stp parse-semko - parsing PASS: semko/sixteen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp PASS: semko/sixteen.stp parse-semko - parsing PASS: semko/source_context.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/source_context.stp PASS: semko/source_context.stp parse-semko - parsing PASS: semko/target_addr1.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp PASS: semko/target_addr1.stp parse-semko - parsing PASS: semko/target_addr2.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp PASS: semko/target_addr2.stp parse-semko - parsing PASS: semko/target_addr3.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp PASS: semko/target_addr3.stp parse-semko - parsing UNTESTED: semko/target_lvalue.stp parse-semko - shell script PASS: semko/task_ns.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/task_ns.stp PASS: semko/task_ns.stp parse-semko - parsing PASS: semko/ten.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/ten.stp PASS: semko/ten.stp parse-semko - parsing PASS: semko/thirteen.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp PASS: semko/thirteen.stp parse-semko - parsing PASS: semko/thirty.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/thirty.stp PASS: semko/thirty.stp parse-semko - parsing PASS: semko/thirtyeight.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp PASS: semko/thirtyeight.stp parse-semko - parsing PASS: semko/thirtyfive.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp PASS: semko/thirtyfive.stp parse-semko - parsing PASS: semko/thirtyfour.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp PASS: semko/thirtyfour.stp parse-semko - parsing PASS: semko/thirtynine.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp PASS: semko/thirtynine.stp parse-semko - parsing PASS: semko/thirtyone.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp PASS: semko/thirtyone.stp parse-semko - parsing PASS: semko/thirtyseven.stp parse-semko - pass 1 substitute Running stap -gp1 /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp PASS: semko/thirtyseven.stp parse-semko - parsing PASS: semko/thirtysix.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp PASS: semko/thirtysix.stp parse-semko - parsing PASS: semko/thirtythree.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp PASS: semko/thirtythree.stp parse-semko - parsing PASS: semko/thirtytwo.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp PASS: semko/thirtytwo.stp parse-semko - parsing PASS: semko/three.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/three.stp PASS: semko/three.stp parse-semko - parsing PASS: semko/timer_hz_randomize.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp PASS: semko/timer_hz_randomize.stp parse-semko - parsing PASS: semko/twelve.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twelve.stp PASS: semko/twelve.stp parse-semko - parsing PASS: semko/twenty.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twenty.stp PASS: semko/twenty.stp parse-semko - parsing PASS: semko/twentyeight.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp PASS: semko/twentyeight.stp parse-semko - parsing PASS: semko/twentyfive.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp PASS: semko/twentyfive.stp parse-semko - parsing PASS: semko/twentyfour.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp PASS: semko/twentyfour.stp parse-semko - parsing PASS: semko/twentynine.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp PASS: semko/twentynine.stp parse-semko - parsing PASS: semko/twentyone.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp PASS: semko/twentyone.stp parse-semko - parsing PASS: semko/twentyseven.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp PASS: semko/twentyseven.stp parse-semko - parsing PASS: semko/twentysix.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp PASS: semko/twentysix.stp parse-semko - parsing PASS: semko/twentythree.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp PASS: semko/twentythree.stp parse-semko - parsing PASS: semko/twentytwo.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp PASS: semko/twentytwo.stp parse-semko - parsing PASS: semko/two.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/two.stp PASS: semko/two.stp parse-semko - parsing PASS: semko/twotwo.stp parse-semko - pass 1 substitute Running stap -up1 /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp PASS: semko/twotwo.stp parse-semko - parsing PASS: semko/typemismatch1.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp PASS: semko/typemismatch1.stp parse-semko - parsing PASS: semko/typemismatch2.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp PASS: semko/typemismatch2.stp parse-semko - parsing PASS: semko/typemismatch3.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp PASS: semko/typemismatch3.stp parse-semko - parsing PASS: semko/typemismatch4.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp PASS: semko/typemismatch4.stp parse-semko - parsing PASS: semko/typemismatch5.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp PASS: semko/typemismatch5.stp parse-semko - parsing PASS: semko/utrace.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace.stp PASS: semko/utrace.stp parse-semko - parsing PASS: semko/utrace03.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp PASS: semko/utrace03.stp parse-semko - parsing PASS: semko/utrace04.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp PASS: semko/utrace04.stp parse-semko - parsing PASS: semko/utrace05.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp PASS: semko/utrace05.stp parse-semko - parsing PASS: semko/utrace06.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp PASS: semko/utrace06.stp parse-semko - parsing PASS: semko/utrace07.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp PASS: semko/utrace07.stp parse-semko - parsing PASS: semko/utrace15.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp PASS: semko/utrace15.stp parse-semko - parsing PASS: semko/utrace16.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp PASS: semko/utrace16.stp parse-semko - parsing PASS: semko/utrace17.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp PASS: semko/utrace17.stp parse-semko - parsing PASS: semko/utrace18.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp PASS: semko/utrace18.stp parse-semko - parsing PASS: semko/utrace19.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp PASS: semko/utrace19.stp parse-semko - parsing PASS: semko/utrace20.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp PASS: semko/utrace20.stp parse-semko - parsing PASS: semko/utrace21.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp PASS: semko/utrace21.stp parse-semko - parsing PASS: semko/utrace22.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp PASS: semko/utrace22.stp parse-semko - parsing PASS: semko/var_definition.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp PASS: semko/var_definition.stp parse-semko - parsing PASS: semko/zero.stp parse-semko - pass 1 substitute Running stap -p1 /root/systemtap_write/systemtap/testsuite/semko/zero.stp PASS: semko/zero.stp parse-semko - parsing testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parse-semko.exp completed in 111 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parse-semok.exp ... PASS: buildok/alias_suffixes01.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp PASS: buildok/alias_suffixes01.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes01.stp > /tmp/staptestyotL1A/alias_suffixes01.p1 PASS: buildok/alias_suffixes01.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes01.p1 PASS: buildok/alias_suffixes01.stp parse-semok - parsed output is semok PASS: buildok/alias_suffixes02.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp PASS: buildok/alias_suffixes02.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes02.stp > /tmp/staptestyotL1A/alias_suffixes02.p1 PASS: buildok/alias_suffixes02.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes02.p1 PASS: buildok/alias_suffixes02.stp parse-semok - parsed output is semok PASS: buildok/alias_suffixes03.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp PASS: buildok/alias_suffixes03.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes03.stp > /tmp/staptestyotL1A/alias_suffixes03.p1 PASS: buildok/alias_suffixes03.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes03.p1 PASS: buildok/alias_suffixes03.stp parse-semok - parsed output is semok PASS: buildok/alias_suffixes04.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp PASS: buildok/alias_suffixes04.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes04.stp > /tmp/staptestyotL1A/alias_suffixes04.p1 PASS: buildok/alias_suffixes04.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes04.p1 PASS: buildok/alias_suffixes04.stp parse-semok - parsed output is semok PASS: buildok/alias_suffixes05.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp PASS: buildok/alias_suffixes05.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes05.stp > /tmp/staptestyotL1A/alias_suffixes05.p1 PASS: buildok/alias_suffixes05.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes05.p1 PASS: buildok/alias_suffixes05.stp parse-semok - parsed output is semok PASS: buildok/alias_suffixes06.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp PASS: buildok/alias_suffixes06.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/alias_suffixes06.stp > /tmp/staptestyotL1A/alias_suffixes06.p1 PASS: buildok/alias_suffixes06.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/alias_suffixes06.p1 PASS: buildok/alias_suffixes06.stp parse-semok - parsed output is semok PASS: buildok/arch_bytes.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp PASS: buildok/arch_bytes.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/arch_bytes.stp > /tmp/staptestyotL1A/arch_bytes.p1 PASS: buildok/arch_bytes.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/arch_bytes.p1 PASS: buildok/arch_bytes.stp parse-semok - parsed output is semok PASS: buildok/array_size.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp PASS: buildok/array_size.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/array_size.stp > /tmp/staptestyotL1A/array_size.p1 PASS: buildok/array_size.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/array_size.p1 PASS: buildok/array_size.stp parse-semok - parsed output is semok PASS: buildok/atomic.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp PASS: buildok/atomic.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/atomic.stp > /tmp/staptestyotL1A/atomic.p1 PASS: buildok/atomic.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/atomic.p1 PASS: buildok/atomic.stp parse-semok - parsed output is semok PASS: buildok/aux_syscalls-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp PASS: buildok/aux_syscalls-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/aux_syscalls-embedded.stp > /tmp/staptestyotL1A/aux_syscalls-embedded.p1 PASS: buildok/aux_syscalls-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/aux_syscalls-embedded.p1 PASS: buildok/aux_syscalls-embedded.stp parse-semok - parsed output is semok UNTESTED: buildok/cmdline01.stp parse-semok - shell script PASS: buildok/context-embedded-ns.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp PASS: buildok/context-embedded-ns.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded-ns.stp > /tmp/staptestyotL1A/context-embedded-ns.p1 PASS: buildok/context-embedded-ns.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/context-embedded-ns.p1 PASS: buildok/context-embedded-ns.stp parse-semok - parsed output is semok PASS: buildok/context-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp PASS: buildok/context-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/context-embedded.stp > /tmp/staptestyotL1A/context-embedded.p1 PASS: buildok/context-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/context-embedded.p1 PASS: buildok/context-embedded.stp parse-semok - parsed output is semok PASS: buildok/context-symbols-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp PASS: buildok/context-symbols-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/context-symbols-embedded.stp > /tmp/staptestyotL1A/context-symbols-embedded.p1 PASS: buildok/context-symbols-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/context-symbols-embedded.p1 PASS: buildok/context-symbols-embedded.stp parse-semok - parsed output is semok PASS: buildok/context-unwind-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp PASS: buildok/context-unwind-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/context-unwind-embedded.stp > /tmp/staptestyotL1A/context-unwind-embedded.p1 PASS: buildok/context-unwind-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/context-unwind-embedded.p1 PASS: buildok/context-unwind-embedded.stp parse-semok - parsed output is semok PASS: buildok/conversions-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp PASS: buildok/conversions-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/conversions-embedded.stp > /tmp/staptestyotL1A/conversions-embedded.p1 PASS: buildok/conversions-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/conversions-embedded.p1 PASS: buildok/conversions-embedded.stp parse-semok - parsed output is semok PASS: buildok/conversions-guru-embedded.stp parse-semok - arg parsing Running stap -p2 -g -u /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp PASS: buildok/conversions-guru-embedded.stp parse-semok - semok Running stap -p1 -g -u /root/systemtap_write/systemtap/testsuite/buildok/conversions-guru-embedded.stp > /tmp/staptestyotL1A/conversions-guru-embedded.p1 PASS: buildok/conversions-guru-embedded.stp parse-semok - parsing Running stap -p2 -g -u /tmp/staptestyotL1A/conversions-guru-embedded.p1 PASS: buildok/conversions-guru-embedded.stp parse-semok - parsed output is semok PASS: buildok/conversions.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp PASS: buildok/conversions.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/conversions.stp > /tmp/staptestyotL1A/conversions.p1 PASS: buildok/conversions.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/conversions.p1 PASS: buildok/conversions.stp parse-semok - parsed output is semok PASS: buildok/ctime-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp PASS: buildok/ctime-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ctime-embedded.stp > /tmp/staptestyotL1A/ctime-embedded.p1 PASS: buildok/ctime-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ctime-embedded.p1 PASS: buildok/ctime-embedded.stp parse-semok - parsed output is semok PASS: buildok/delete.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/delete.stp PASS: buildok/delete.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/delete.stp > /tmp/staptestyotL1A/delete.p1 PASS: buildok/delete.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/delete.p1 PASS: buildok/delete.stp parse-semok - parsed output is semok PASS: buildok/dentry-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp PASS: buildok/dentry-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/dentry-embedded.stp > /tmp/staptestyotL1A/dentry-embedded.p1 PASS: buildok/dentry-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/dentry-embedded.p1 PASS: buildok/dentry-embedded.stp parse-semok - parsed output is semok PASS: buildok/dev-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp PASS: buildok/dev-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/dev-embedded.stp > /tmp/staptestyotL1A/dev-embedded.p1 PASS: buildok/dev-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/dev-embedded.p1 PASS: buildok/dev-embedded.stp parse-semok - parsed output is semok PASS: buildok/dw_op_rot.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp PASS: buildok/dw_op_rot.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/dw_op_rot.stp > /tmp/staptestyotL1A/dw_op_rot.p1 PASS: buildok/dw_op_rot.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/dw_op_rot.p1 PASS: buildok/dw_op_rot.stp parse-semok - parsed output is semok PASS: buildok/eight.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/eight.stp PASS: buildok/eight.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/eight.stp > /tmp/staptestyotL1A/eight.p1 PASS: buildok/eight.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/eight.p1 PASS: buildok/eight.stp parse-semok - parsed output is semok PASS: buildok/eighteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp PASS: buildok/eighteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/eighteen.stp > /tmp/staptestyotL1A/eighteen.p1 PASS: buildok/eighteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/eighteen.p1 PASS: buildok/eighteen.stp parse-semok - parsed output is semok PASS: buildok/eleven.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp PASS: buildok/eleven.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/eleven.stp > /tmp/staptestyotL1A/eleven.p1 PASS: buildok/eleven.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/eleven.p1 PASS: buildok/eleven.stp parse-semok - parsed output is semok PASS: buildok/endian-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp PASS: buildok/endian-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/endian-embedded.stp > /tmp/staptestyotL1A/endian-embedded.p1 PASS: buildok/endian-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/endian-embedded.p1 PASS: buildok/endian-embedded.stp parse-semok - parsed output is semok PASS: buildok/errno-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp PASS: buildok/errno-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/errno-embedded.stp > /tmp/staptestyotL1A/errno-embedded.p1 PASS: buildok/errno-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/errno-embedded.p1 PASS: buildok/errno-embedded.stp parse-semok - parsed output is semok PASS: buildok/fifteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp PASS: buildok/fifteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/fifteen.stp > /tmp/staptestyotL1A/fifteen.p1 PASS: buildok/fifteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/fifteen.p1 PASS: buildok/fifteen.stp parse-semok - parsed output is semok PASS: buildok/five.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/five.stp PASS: buildok/five.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/five.stp > /tmp/staptestyotL1A/five.p1 PASS: buildok/five.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/five.p1 PASS: buildok/five.stp parse-semok - parsed output is semok PASS: buildok/fortyeight.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp PASS: buildok/fortyeight.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/fortyeight.stp > /tmp/staptestyotL1A/fortyeight.p1 PASS: buildok/fortyeight.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/fortyeight.p1 PASS: buildok/fortyeight.stp parse-semok - parsed output is semok PASS: buildok/fortyfive.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp PASS: buildok/fortyfive.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/fortyfive.stp > /tmp/staptestyotL1A/fortyfive.p1 PASS: buildok/fortyfive.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/fortyfive.p1 PASS: buildok/fortyfive.stp parse-semok - parsed output is semok PASS: buildok/fortynine.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp PASS: buildok/fortynine.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/fortynine.stp > /tmp/staptestyotL1A/fortynine.p1 PASS: buildok/fortynine.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/fortynine.p1 PASS: buildok/fortynine.stp parse-semok - parsed output is semok PASS: buildok/fortyone.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp PASS: buildok/fortyone.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/fortyone.stp > /tmp/staptestyotL1A/fortyone.p1 PASS: buildok/fortyone.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/fortyone.p1 PASS: buildok/fortyone.stp parse-semok - parsed output is semok PASS: buildok/fortyseven.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp semantic error: unresolved function (similar: gid, pid, sid, tid, uid): identifier 'matched' at /root/systemtap_write/systemtap/testsuite/buildok/fortyseven.stp:6:29 source: printf ("%s %s %s", matched(0), matched(1), matched(2)) ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/fortyseven.stp parse-semok - not semok PASS: buildok/fortysix.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp PASS: buildok/fortysix.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/fortysix.stp > /tmp/staptestyotL1A/fortysix.p1 PASS: buildok/fortysix.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/fortysix.p1 PASS: buildok/fortysix.stp parse-semok - parsed output is semok UNTESTED: buildok/fortytwo.stp parse-semok - shell script PASS: buildok/four.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/four.stp PASS: buildok/four.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/four.stp > /tmp/staptestyotL1A/four.p1 PASS: buildok/four.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/four.p1 PASS: buildok/four.stp parse-semok - parsed output is semok PASS: buildok/fourteen-plus.stp parse-semok - arg parsing Running stap -p2 -t /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp PASS: buildok/fourteen-plus.stp parse-semok - semok Running stap -p1 -t /root/systemtap_write/systemtap/testsuite/buildok/fourteen-plus.stp > /tmp/staptestyotL1A/fourteen-plus.p1 PASS: buildok/fourteen-plus.stp parse-semok - parsing Running stap -p2 -t /tmp/staptestyotL1A/fourteen-plus.p1 PASS: buildok/fourteen-plus.stp parse-semok - parsed output is semok PASS: buildok/fourteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp PASS: buildok/fourteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/fourteen.stp > /tmp/staptestyotL1A/fourteen.p1 PASS: buildok/fourteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/fourteen.p1 PASS: buildok/fourteen.stp parse-semok - parsed output is semok PASS: buildok/globals.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/globals.stp PASS: buildok/globals.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/globals.stp > /tmp/staptestyotL1A/globals.p1 PASS: buildok/globals.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/globals.p1 PASS: buildok/globals.stp parse-semok - parsed output is semok PASS: buildok/gtod_init.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp PASS: buildok/gtod_init.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/gtod_init.stp > /tmp/staptestyotL1A/gtod_init.p1 PASS: buildok/gtod_init.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/gtod_init.p1 PASS: buildok/gtod_init.stp parse-semok - parsed output is semok PASS: buildok/gtod_noinit.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp PASS: buildok/gtod_noinit.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/gtod_noinit.stp > /tmp/staptestyotL1A/gtod_noinit.p1 PASS: buildok/gtod_noinit.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/gtod_noinit.p1 PASS: buildok/gtod_noinit.stp parse-semok - parsed output is semok PASS: buildok/guru.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/guru.stp PASS: buildok/guru.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/guru.stp > /tmp/staptestyotL1A/guru.p1 PASS: buildok/guru.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/guru.p1 PASS: buildok/guru.stp parse-semok - parsed output is semok PASS: buildok/histogram_operator_in.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp PASS: buildok/histogram_operator_in.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/histogram_operator_in.stp > /tmp/staptestyotL1A/histogram_operator_in.p1 PASS: buildok/histogram_operator_in.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/histogram_operator_in.p1 PASS: buildok/histogram_operator_in.stp parse-semok - parsed output is semok PASS: buildok/hwbkpt.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp PASS: buildok/hwbkpt.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/hwbkpt.stp > /tmp/staptestyotL1A/hwbkpt.p1 PASS: buildok/hwbkpt.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/hwbkpt.p1 PASS: buildok/hwbkpt.stp parse-semok - parsed output is semok PASS: buildok/indent.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/indent.stp PASS: buildok/indent.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/indent.stp > /tmp/staptestyotL1A/indent.p1 PASS: buildok/indent.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/indent.p1 PASS: buildok/indent.stp parse-semok - parsed output is semok PASS: buildok/inet-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp PASS: buildok/inet-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/inet-embedded.stp > /tmp/staptestyotL1A/inet-embedded.p1 PASS: buildok/inet-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/inet-embedded.p1 PASS: buildok/inet-embedded.stp parse-semok - parsed output is semok PASS: buildok/inet_sock-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp PASS: buildok/inet_sock-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/inet_sock-embedded.stp > /tmp/staptestyotL1A/inet_sock-embedded.p1 PASS: buildok/inet_sock-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/inet_sock-embedded.p1 PASS: buildok/inet_sock-embedded.stp parse-semok - parsed output is semok PASS: buildok/ioblock-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp PASS: buildok/ioblock-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/ioblock-all-probes.stp > /tmp/staptestyotL1A/ioblock-all-probes.p1 PASS: buildok/ioblock-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/ioblock-all-probes.p1 PASS: buildok/ioblock-all-probes.stp parse-semok - parsed output is semok PASS: buildok/ioblock-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-detailed.stp semantic error: while processing probe kernel.function("generic_make_request@block/blk-core.c:1993") from: ioblock.request from: ioblock.request semantic error: unable to find member 'bi_rw' for struct bio (alternatives: bi_css, bi_ioc, bi_opf, __bi_cnt, bi_bdev, bi_error, bi_iter, bi_next, bi_pool, bi_vcnt, bi_flags, bi_ioprio, bi_end_io, bi_io_vec, bi_private, bi_integrity, bi_max_vecs, __bi_remaining, bi_inline_vecs, bi_seg_back_size, bi_phys_segments, bi_seg_front_size): operator '->' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp:113:18 source: rw = $bio->bi_rw ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/ioblock-detailed.stp parse-semok - not semok PASS: buildok/ioblock-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp PASS: buildok/ioblock-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ioblock-embedded.stp > /tmp/staptestyotL1A/ioblock-embedded.p1 PASS: buildok/ioblock-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/ioblock-embedded.p1 PASS: buildok/ioblock-embedded.stp parse-semok - parsed output is semok PASS: buildok/ioscheduler-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp PASS: buildok/ioscheduler-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-all-probes.stp > /tmp/staptestyotL1A/ioscheduler-all-probes.p1 PASS: buildok/ioscheduler-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/ioscheduler-all-probes.p1 PASS: buildok/ioscheduler-all-probes.stp parse-semok - parsed output is semok PASS: buildok/ioscheduler-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp PASS: buildok/ioscheduler-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-detailed.stp > /tmp/staptestyotL1A/ioscheduler-detailed.p1 PASS: buildok/ioscheduler-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ioscheduler-detailed.p1 PASS: buildok/ioscheduler-detailed.stp parse-semok - parsed output is semok PASS: buildok/ioscheduler-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp PASS: buildok/ioscheduler-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ioscheduler-embedded.stp > /tmp/staptestyotL1A/ioscheduler-embedded.p1 PASS: buildok/ioscheduler-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ioscheduler-embedded.p1 PASS: buildok/ioscheduler-embedded.stp parse-semok - parsed output is semok PASS: buildok/ip-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp PASS: buildok/ip-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ip-embedded.stp > /tmp/staptestyotL1A/ip-embedded.p1 PASS: buildok/ip-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ip-embedded.p1 PASS: buildok/ip-embedded.stp parse-semok - parsed output is semok PASS: buildok/ipmib-all-probes.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-all-probes.stp # global embedded code %{ /* pure */ #include #include #include #include #include %} %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals InReceives:long [long] InNoRoutes:long [long] InAddrErrors:long [long] InUnknownProtos:long [long] InDiscards:long [long] ForwDatagrams:long [long] OutRequests:long [long] ReasmTimeout:long [long] ReasmReqds:long [long] FragOKs:long [long] FragFails:long [long] sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions __get_skb_iphdr:long (skb:long) __ip_skb_daddr:long (iphdr:long) __ip_skb_proto:long (iphdr:long) __ip_skb_saddr:long (iphdr:long) __tcp_skb_dport:long (tcphdr:long) __tcp_skb_sport:long (tcphdr:long) _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ipmib_get_proto:long (skb:long) # locals iphdr:long ipmib_local_addr:long (skb:long, SourceIsLocal:long) # locals iphdr:long ipmib_remote_addr:long (skb:long, SourceIsLocal:long) # locals iphdr:long ipmib_tcp_local_port:long (skb:long, SourceIsLocal:long) # locals th:long ipmib_tcp_remote_port:long (skb:long, SourceIsLocal:long) # locals th:long ntohl:long (x:long) ntohs:long (x:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_12:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_13:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_14:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_14:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_21:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_13:long () _ehostunreach:long () _enetunreach:long () _icmp_dest_unreach:long () _icmp_exc_fragtime:long () _icmp_prot_unreach:long () _icmp_time_exceeded:long () _net_rx_drop:long () _plunge_into_tcphdr:long (skb:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_tcp_stp__dwarf_cast_get_cast_23:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_tcp_stp__dwarf_cast_get_cast_24:long (:long) # probes kernel.function("ip_forward_finish@net/ipv4/ip_forward.c:64") /* pc=_stext+0x782e70 */ /* <- kernel.function("ip_forward_finish@net/ipv4/ip_forward.c:64") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").call /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").call /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").call! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10_value:long kernel.function("ip_rcv@net/ipv4/ip_input.c:405").call /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").call! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_10_value:long kernel.function("ip_rcv@net/ipv4/ip_input.c:405") /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long kernel.function("icmp_send@net/ipv4/icmp.c:568") /* pc=_stext+0x7bec48 */ /* <- kernel.function("icmp_send@net/ipv4/icmp.c:568") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_13_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_14_value:long kernel.function("ip_output@net/ipv4/ip_output.c:348") /* pc=_stext+0x7876a0 */ /* <- kernel.function("ip_output@net/ipv4/ip_output.c:348") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_mc_output@net/ipv4/ip_output.c:286") /* pc=_stext+0x7873b8 */ /* <- kernel.function("ip_mc_output@net/ipv4/ip_output.c:286") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_defrag@net/ipv4/ip_fragment.c:655") /* pc=_stext+0x7820f4 */ /* <- kernel.function("ip_defrag@net/ipv4/ip_fragment.c:655") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_21_value:long kernel.function("icmp_send@net/ipv4/icmp.c:568") /* pc=_stext+0x7bec48 */ /* <- kernel.function("icmp_send@net/ipv4/icmp.c:568") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_11_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_13_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_14_value:long timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Number of similar warning messages suppressed: 11. Rerun with -v to see them. UNTESTED: buildok/ipmib-all-probes.stp parse-semok - not semok PASS: buildok/ipmib-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-detailed.stp # global embedded code %{ /* pure */ #include #include #include #include #include %} %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals InReceives:long [long] InNoRoutes:long [long] InAddrErrors:long [long] InUnknownProtos:long [long] InDiscards:long [long] ForwDatagrams:long [long] OutRequests:long [long] ReasmTimeout:long [long] ReasmReqds:long [long] FragOKs:long [long] FragFails:long [long] sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions __get_skb_iphdr:long (skb:long) __ip_skb_daddr:long (iphdr:long) __ip_skb_proto:long (iphdr:long) __ip_skb_saddr:long (iphdr:long) __tcp_skb_dport:long (tcphdr:long) __tcp_skb_sport:long (tcphdr:long) _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ipmib_get_proto:long (skb:long) # locals iphdr:long ipmib_local_addr:long (skb:long, SourceIsLocal:long) # locals iphdr:long ipmib_remote_addr:long (skb:long, SourceIsLocal:long) # locals iphdr:long ipmib_tcp_local_port:long (skb:long, SourceIsLocal:long) # locals th:long ipmib_tcp_remote_port:long (skb:long, SourceIsLocal:long) # locals th:long ntohl:long (x:long) ntohs:long (x:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_12:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_13:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ip_stp__dwarf_cast_get_cast_14:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_19:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_20:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_18:long () _ehostunreach:long () _enetunreach:long () _icmp_dest_unreach:long () _icmp_exc_fragtime:long () _icmp_prot_unreach:long () _icmp_time_exceeded:long () _net_rx_drop:long () _plunge_into_tcphdr:long (skb:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_tcp_stp__dwarf_cast_get_cast_23:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_tcp_stp__dwarf_cast_get_cast_24:long (:long) # probes kernel.function("ip_rcv@net/ipv4/ip_input.c:405") /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").call! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").call! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! /* pc=_stext+0x77c5b0 */ /* <- kernel.function("ip_route_input_noref@net/ipv4/route.c:1955").return! */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2_value:long kernel.function("icmp_send@net/ipv4/icmp.c:568") /* pc=_stext+0x7bec48 */ /* <- kernel.function("icmp_send@net/ipv4/icmp.c:568") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_18_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_19_value:long kernel.function("ip_rcv@net/ipv4/ip_input.c:405").call /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return /* pc=_stext+0x7815ec */ /* <- kernel.function("ip_rcv@net/ipv4/ip_input.c:405").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2_value:long kernel.function("ip_forward_finish@net/ipv4/ip_forward.c:64") /* pc=_stext+0x782e70 */ /* <- kernel.function("ip_forward_finish@net/ipv4/ip_forward.c:64") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10_value:long kernel.function("ip_output@net/ipv4/ip_output.c:348") /* pc=_stext+0x7876a0 */ /* <- kernel.function("ip_output@net/ipv4/ip_output.c:348") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10_value:long kernel.function("ip_mc_output@net/ipv4/ip_output.c:286") /* pc=_stext+0x7873b8 */ /* <- kernel.function("ip_mc_output@net/ipv4/ip_output.c:286") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10_value:long kernel.function("icmp_send@net/ipv4/icmp.c:568") /* pc=_stext+0x7bec48 */ /* <- kernel.function("icmp_send@net/ipv4/icmp.c:568") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_0_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_type_18_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_code_19_value:long kernel.function("ip_defrag@net/ipv4/ip_fragment.c:655") /* pc=_stext+0x7820f4 */ /* <- kernel.function("ip_defrag@net/ipv4/ip_fragment.c:655") */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_20_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").call /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").call /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_skb_10_value:long kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return /* pc=_stext+0x7866a4 */ /* <- kernel.function("ip_fragment@net/ipv4/ip_output.c:491").return */ # locals skb:long op:long SourceIsLocal:long key:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_ipmib_stp__dwarf_tvar_get_return_2_value:long timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: instance of overloaded function will never be reached: identifier 'ipmib_filter_key' at /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp:24:10 source: function ipmib_filter_key:long (skb:long, op:long, SourceIsLocal:long) ^ Number of similar warning messages suppressed: 11. Rerun with -v to see them. UNTESTED: buildok/ipmib-detailed.stp parse-semok - not semok PASS: buildok/ipmib-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp PASS: buildok/ipmib-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/ipmib-embedded.stp > /tmp/staptestyotL1A/ipmib-embedded.p1 PASS: buildok/ipmib-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/ipmib-embedded.p1 PASS: buildok/ipmib-embedded.stp parse-semok - parsed output is semok PASS: buildok/irq-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp PASS: buildok/irq-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/irq-all-probes.stp > /tmp/staptestyotL1A/irq-all-probes.p1 PASS: buildok/irq-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/irq-all-probes.p1 PASS: buildok/irq-all-probes.stp parse-semok - parsed output is semok PASS: buildok/irq-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp PASS: buildok/irq-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/irq-detailed.stp > /tmp/staptestyotL1A/irq-detailed.p1 PASS: buildok/irq-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/irq-detailed.p1 PASS: buildok/irq-detailed.stp parse-semok - parsed output is semok PASS: buildok/iterate_histogram_buckets.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp PASS: buildok/iterate_histogram_buckets.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/iterate_histogram_buckets.stp > /tmp/staptestyotL1A/iterate_histogram_buckets.p1 PASS: buildok/iterate_histogram_buckets.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/iterate_histogram_buckets.p1 PASS: buildok/iterate_histogram_buckets.stp parse-semok - parsed output is semok PASS: buildok/json-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp PASS: buildok/json-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/json-detailed.stp > /tmp/staptestyotL1A/json-detailed.p1 PASS: buildok/json-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/json-detailed.p1 PASS: buildok/json-detailed.stp parse-semok - parsed output is semok PASS: buildok/kprocess-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp PASS: buildok/kprocess-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/kprocess-all-probes.stp > /tmp/staptestyotL1A/kprocess-all-probes.p1 PASS: buildok/kprocess-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/kprocess-all-probes.p1 PASS: buildok/kprocess-all-probes.stp parse-semok - parsed output is semok PASS: buildok/kprocess-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp PASS: buildok/kprocess-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-detailed.stp > /tmp/staptestyotL1A/kprocess-detailed.p1 PASS: buildok/kprocess-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/kprocess-detailed.p1 PASS: buildok/kprocess-detailed.stp parse-semok - parsed output is semok PASS: buildok/kprocess-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp PASS: buildok/kprocess-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/kprocess-embedded.stp > /tmp/staptestyotL1A/kprocess-embedded.p1 PASS: buildok/kprocess-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/kprocess-embedded.p1 PASS: buildok/kprocess-embedded.stp parse-semok - parsed output is semok PASS: buildok/linuxmib-all-probes.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp PASS: buildok/linuxmib-all-probes.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-all-probes.stp > /tmp/staptestyotL1A/linuxmib-all-probes.p1 PASS: buildok/linuxmib-all-probes.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/linuxmib-all-probes.p1 PASS: buildok/linuxmib-all-probes.stp parse-semok - parsed output is semok PASS: buildok/linuxmib-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp PASS: buildok/linuxmib-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/linuxmib-detailed.stp > /tmp/staptestyotL1A/linuxmib-detailed.p1 PASS: buildok/linuxmib-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/linuxmib-detailed.p1 PASS: buildok/linuxmib-detailed.stp parse-semok - parsed output is semok PASS: buildok/logging-embedded.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp PASS: buildok/logging-embedded.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/logging-embedded.stp > /tmp/staptestyotL1A/logging-embedded.p1 PASS: buildok/logging-embedded.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/logging-embedded.p1 PASS: buildok/logging-embedded.stp parse-semok - parsed output is semok PASS: buildok/map_probe_cond.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp PASS: buildok/map_probe_cond.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/map_probe_cond.stp > /tmp/staptestyotL1A/map_probe_cond.p1 PASS: buildok/map_probe_cond.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/map_probe_cond.p1 PASS: buildok/map_probe_cond.stp parse-semok - parsed output is semok PASS: buildok/maxactive01.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp PASS: buildok/maxactive01.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/maxactive01.stp > /tmp/staptestyotL1A/maxactive01.p1 PASS: buildok/maxactive01.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/maxactive01.p1 PASS: buildok/maxactive01.stp parse-semok - parsed output is semok PASS: buildok/memory-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp PASS: buildok/memory-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/memory-all-probes.stp > /tmp/staptestyotL1A/memory-all-probes.p1 PASS: buildok/memory-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/memory-all-probes.p1 PASS: buildok/memory-all-probes.stp parse-semok - parsed output is semok PASS: buildok/memory-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/memory-detailed.stp WARNING: cannot probe .return of 1 inlined functions kmalloc_node WARNING: cannot probe .return of 1 inlined functions kmem_cache_alloc_node semantic error: while processing probe kernel.function("do_wp_page@mm/memory.c:2359") from: vm.write_shared from: vm.write_shared semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x1481b8a in kernel, near pc 0xfffffc000824f814 in do_wp_page mm/memory.c (alternatives: $fe, $vma, $old_page, $orig_pte)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:148:15 source: address = $address ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/memory-detailed.stp parse-semok - not semok PASS: buildok/memory-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp PASS: buildok/memory-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/memory-embedded.stp > /tmp/staptestyotL1A/memory-embedded.p1 PASS: buildok/memory-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/memory-embedded.p1 PASS: buildok/memory-embedded.stp parse-semok - parsed output is semok PASS: buildok/memory-mmap.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp PASS: buildok/memory-mmap.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/memory-mmap.stp > /tmp/staptestyotL1A/memory-mmap.p1 PASS: buildok/memory-mmap.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/memory-mmap.p1 PASS: buildok/memory-mmap.stp parse-semok - parsed output is semok PASS: buildok/memory-write_shared_copy.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/memory-write_shared_copy.stp semantic error: while processing probe kernel.function("cow_user_page@mm/memory.c:1989") from: vm.write_shared_copy from: vm.write_shared_copy semantic error: unable to find local 'address', [man error::dwarf] dieoffset 0x147fa75 in kernel, near pc 0xfffffc000824e828 in cow_user_page mm/memory.c (alternatives: $dst, $src, $va, $vma)): identifier '$address' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:173:17 source: address = $address ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/memory-write_shared_copy.stp parse-semok - not semok PASS: buildok/memory.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/memory.stp PASS: buildok/memory.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/memory.stp > /tmp/staptestyotL1A/memory.p1 PASS: buildok/memory.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/memory.p1 PASS: buildok/memory.stp parse-semok - parsed output is semok PASS: buildok/nd_syscalls-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp PASS: buildok/nd_syscalls-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-all-probes.stp > /tmp/staptestyotL1A/nd_syscalls-all-probes.p1 PASS: buildok/nd_syscalls-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/nd_syscalls-all-probes.p1 PASS: buildok/nd_syscalls-all-probes.stp parse-semok - parsed output is semok PASS: buildok/nd_syscalls-arch-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp PASS: buildok/nd_syscalls-arch-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-arch-detailed.stp > /tmp/staptestyotL1A/nd_syscalls-arch-detailed.p1 PASS: buildok/nd_syscalls-arch-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nd_syscalls-arch-detailed.p1 PASS: buildok/nd_syscalls-arch-detailed.stp parse-semok - parsed output is semok PASS: buildok/nd_syscalls-detailed.stp parse-semok - arg parsing Running stap -p2 -W /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp PASS: buildok/nd_syscalls-detailed.stp parse-semok - semok Running stap -p1 -W /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls-detailed.stp > /tmp/staptestyotL1A/nd_syscalls-detailed.p1 PASS: buildok/nd_syscalls-detailed.stp parse-semok - parsing Running stap -p2 -W /tmp/staptestyotL1A/nd_syscalls-detailed.p1 PASS: buildok/nd_syscalls-detailed.stp parse-semok - parsed output is semok PASS: buildok/nd_syscalls2-detailed.stp parse-semok - arg parsing Running stap -p2 -W /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp PASS: buildok/nd_syscalls2-detailed.stp parse-semok - semok Running stap -p1 -W /root/systemtap_write/systemtap/testsuite/buildok/nd_syscalls2-detailed.stp > /tmp/staptestyotL1A/nd_syscalls2-detailed.p1 PASS: buildok/nd_syscalls2-detailed.stp parse-semok - parsing Running stap -p2 -W /tmp/staptestyotL1A/nd_syscalls2-detailed.p1 PASS: buildok/nd_syscalls2-detailed.stp parse-semok - parsed output is semok PASS: buildok/netfilter-glob.stp parse-semok - arg parsing Running stap -p2 -u /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp PASS: buildok/netfilter-glob.stp parse-semok - semok Running stap -p1 -u /root/systemtap_write/systemtap/testsuite/buildok/netfilter-glob.stp > /tmp/staptestyotL1A/netfilter-glob.p1 PASS: buildok/netfilter-glob.stp parse-semok - parsing Running stap -p2 -u /tmp/staptestyotL1A/netfilter-glob.p1 PASS: buildok/netfilter-glob.stp parse-semok - parsed output is semok PASS: buildok/netfilter01.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp PASS: buildok/netfilter01.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/netfilter01.stp > /tmp/staptestyotL1A/netfilter01.p1 PASS: buildok/netfilter01.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/netfilter01.p1 PASS: buildok/netfilter01.stp parse-semok - parsed output is semok PASS: buildok/netfilter02.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp # functions error:unknown (msg:string) # probes netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") /* <- netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") */ netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") /* <- netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2761': keyword at /root/systemtap_write/systemtap/testsuite/buildok/netfilter02.stp:4:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4").priority("1") { } ^ WARNING: side-effect-free probe 'probe_2762': keyword at :5:1 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4") { } ^ UNTESTED: buildok/netfilter02.stp parse-semok - not semok PASS: buildok/netfilter03.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp PASS: buildok/netfilter03.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/netfilter03.stp > /tmp/staptestyotL1A/netfilter03.p1 PASS: buildok/netfilter03.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/netfilter03.p1 PASS: buildok/netfilter03.stp parse-semok - parsed output is semok PASS: buildok/netfilter04.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp # functions error:unknown (msg:string) # probes netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") /* <- netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at /root/systemtap_write/systemtap/testsuite/buildok/netfilter04.stp:3:1 source: probe netfilter.pf("NFPROTO_IPV4").hook("NF_INET_PRE_ROUTING") { } ^ UNTESTED: buildok/netfilter04.stp parse-semok - not semok PASS: buildok/networking-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp PASS: buildok/networking-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/networking-all-probes.stp > /tmp/staptestyotL1A/networking-all-probes.p1 PASS: buildok/networking-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/networking-all-probes.p1 PASS: buildok/networking-all-probes.stp parse-semok - parsed output is semok PASS: buildok/networking-change_rx_flag.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp PASS: buildok/networking-change_rx_flag.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/networking-change_rx_flag.stp > /tmp/staptestyotL1A/networking-change_rx_flag.p1 PASS: buildok/networking-change_rx_flag.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/networking-change_rx_flag.p1 PASS: buildok/networking-change_rx_flag.stp parse-semok - parsed output is semok PASS: buildok/networking-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/networking-detailed.stp semantic error: while processing probe kernel.function("dev_close@net/core/dev.c:1472") from: netdev.close from: netdev.open semantic error: failed to retrieve location attribute for 'dev' [man error::dwarf]: identifier '$dev' at /root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp:120:29 dieoffset: 0x5730ff0 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: dev_close at net/core/dev.c:1474 inlined by dev_change_net_namespace at net/core/dev.c:7851 source: dev_name = get_netdev_name($dev) ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/networking-detailed.stp parse-semok - not semok PASS: buildok/networking-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp PASS: buildok/networking-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/networking-embedded.stp > /tmp/staptestyotL1A/networking-embedded.p1 PASS: buildok/networking-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/networking-embedded.p1 PASS: buildok/networking-embedded.stp parse-semok - parsed output is semok PASS: buildok/newlocals01.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp PASS: buildok/newlocals01.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/newlocals01.stp > /tmp/staptestyotL1A/newlocals01.p1 PASS: buildok/newlocals01.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/newlocals01.p1 PASS: buildok/newlocals01.stp parse-semok - parsed output is semok PASS: buildok/nfs-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp PASS: buildok/nfs-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/nfs-all-probes.stp > /tmp/staptestyotL1A/nfs-all-probes.p1 PASS: buildok/nfs-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/nfs-all-probes.p1 PASS: buildok/nfs-all-probes.stp parse-semok - parsed output is semok PASS: buildok/nfs-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp PASS: buildok/nfs-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nfs-detailed.stp > /tmp/staptestyotL1A/nfs-detailed.p1 PASS: buildok/nfs-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nfs-detailed.p1 PASS: buildok/nfs-detailed.stp parse-semok - parsed output is semok PASS: buildok/nfs-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp PASS: buildok/nfs-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs-embedded.stp > /tmp/staptestyotL1A/nfs-embedded.p1 PASS: buildok/nfs-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/nfs-embedded.p1 PASS: buildok/nfs-embedded.stp parse-semok - parsed output is semok PASS: buildok/nfs-fop.check_flags.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nfs-fop.check_flags.stp semantic error: while processing probe module("nfs").function("nfs_check_flags@fs/nfs/file.c:51") from: nfs.fop.check_flags from: nfs.fop.check_flags semantic error: failed to retrieve location attribute for 'flags' [man error::dwarf]: identifier '$flags' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp:874:16 dieoffset: 0x7f33c from /lib/modules/4.8.0-rc1uprobes+/kernel/fs/nfs/nfs.ko function: nfs_check_flags at fs/nfs/file.c:53 inlined by nfs_file_open at fs/nfs/file.c:71 source: flag = $flags ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/nfs-fop.check_flags.stp parse-semok - not semok PASS: buildok/nfs_proc-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp PASS: buildok/nfs_proc-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-detailed.stp > /tmp/staptestyotL1A/nfs_proc-detailed.p1 PASS: buildok/nfs_proc-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nfs_proc-detailed.p1 PASS: buildok/nfs_proc-detailed.stp parse-semok - parsed output is semok PASS: buildok/nfs_proc-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp PASS: buildok/nfs_proc-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfs_proc-embedded.stp > /tmp/staptestyotL1A/nfs_proc-embedded.p1 PASS: buildok/nfs_proc-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/nfs_proc-embedded.p1 PASS: buildok/nfs_proc-embedded.stp parse-semok - parsed output is semok PASS: buildok/nfsd-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp PASS: buildok/nfsd-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/nfsd-all-probes.stp > /tmp/staptestyotL1A/nfsd-all-probes.p1 PASS: buildok/nfsd-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/nfsd-all-probes.p1 PASS: buildok/nfsd-all-probes.stp parse-semok - parsed output is semok PASS: buildok/nfsd-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp PASS: buildok/nfsd-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-detailed.stp > /tmp/staptestyotL1A/nfsd-detailed.p1 PASS: buildok/nfsd-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nfsd-detailed.p1 PASS: buildok/nfsd-detailed.stp parse-semok - parsed output is semok PASS: buildok/nfsd-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp PASS: buildok/nfsd-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/nfsd-embedded.stp > /tmp/staptestyotL1A/nfsd-embedded.p1 PASS: buildok/nfsd-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/nfsd-embedded.p1 PASS: buildok/nfsd-embedded.stp parse-semok - parsed output is semok PASS: buildok/nfsderrno-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp PASS: buildok/nfsderrno-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nfsderrno-embedded.stp > /tmp/staptestyotL1A/nfsderrno-embedded.p1 PASS: buildok/nfsderrno-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nfsderrno-embedded.p1 PASS: buildok/nfsderrno-embedded.stp parse-semok - parsed output is semok PASS: buildok/nine.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/nine.stp PASS: buildok/nine.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/nine.stp > /tmp/staptestyotL1A/nine.p1 PASS: buildok/nine.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/nine.p1 PASS: buildok/nine.stp parse-semok - parsed output is semok PASS: buildok/nineteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp PASS: buildok/nineteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/nineteen.stp > /tmp/staptestyotL1A/nineteen.p1 PASS: buildok/nineteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/nineteen.p1 PASS: buildok/nineteen.stp parse-semok - parsed output is semok PASS: buildok/null.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/null.stp PASS: buildok/null.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/null.stp > /tmp/staptestyotL1A/null.p1 PASS: buildok/null.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/null.p1 PASS: buildok/null.stp parse-semok - parsed output is semok UNTESTED: buildok/oldlocals01.stp parse-semok - shell script PASS: buildok/oldlocals02.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp PASS: buildok/oldlocals02.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/oldlocals02.stp > /tmp/staptestyotL1A/oldlocals02.p1 PASS: buildok/oldlocals02.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/oldlocals02.p1 PASS: buildok/oldlocals02.stp parse-semok - parsed output is semok PASS: buildok/one.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/one.stp PASS: buildok/one.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/one.stp > /tmp/staptestyotL1A/one.p1 PASS: buildok/one.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/one.p1 PASS: buildok/one.stp parse-semok - parsed output is semok PASS: buildok/per-process-syscall.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp PASS: buildok/per-process-syscall.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/per-process-syscall.stp > /tmp/staptestyotL1A/per-process-syscall.p1 PASS: buildok/per-process-syscall.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/per-process-syscall.p1 PASS: buildok/per-process-syscall.stp parse-semok - parsed output is semok PASS: buildok/pmap_foreach.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp PASS: buildok/pmap_foreach.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/pmap_foreach.stp > /tmp/staptestyotL1A/pmap_foreach.p1 PASS: buildok/pmap_foreach.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/pmap_foreach.p1 PASS: buildok/pmap_foreach.stp parse-semok - parsed output is semok PASS: buildok/pr10678.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp PASS: buildok/pr10678.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/pr10678.stp > /tmp/staptestyotL1A/pr10678.p1 PASS: buildok/pr10678.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/pr10678.p1 PASS: buildok/pr10678.stp parse-semok - parsed output is semok PASS: buildok/pr13284.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp PASS: buildok/pr13284.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/pr13284.stp > /tmp/staptestyotL1A/pr13284.p1 PASS: buildok/pr13284.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/pr13284.p1 PASS: buildok/pr13284.stp parse-semok - parsed output is semok PASS: buildok/pretty-uprobes.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp PASS: buildok/pretty-uprobes.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/pretty-uprobes.stp > /tmp/staptestyotL1A/pretty-uprobes.p1 PASS: buildok/pretty-uprobes.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/pretty-uprobes.p1 PASS: buildok/pretty-uprobes.stp parse-semok - parsed output is semok PASS: buildok/pretty.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp PASS: buildok/pretty.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/pretty.stp > /tmp/staptestyotL1A/pretty.p1 PASS: buildok/pretty.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/pretty.p1 PASS: buildok/pretty.stp parse-semok - parsed output is semok PASS: buildok/print_histogram_entry.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp PASS: buildok/print_histogram_entry.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/print_histogram_entry.stp > /tmp/staptestyotL1A/print_histogram_entry.p1 PASS: buildok/print_histogram_entry.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/print_histogram_entry.p1 PASS: buildok/print_histogram_entry.stp parse-semok - parsed output is semok PASS: buildok/print_histograms.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp PASS: buildok/print_histograms.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/print_histograms.stp > /tmp/staptestyotL1A/print_histograms.p1 PASS: buildok/print_histograms.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/print_histograms.p1 PASS: buildok/print_histograms.stp parse-semok - parsed output is semok PASS: buildok/printf.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/printf.stp PASS: buildok/printf.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/printf.stp > /tmp/staptestyotL1A/printf.p1 PASS: buildok/printf.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/printf.p1 PASS: buildok/printf.stp parse-semok - parsed output is semok PASS: buildok/proc_mem-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp PASS: buildok/proc_mem-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/proc_mem-embedded.stp > /tmp/staptestyotL1A/proc_mem-embedded.p1 PASS: buildok/proc_mem-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/proc_mem-embedded.p1 PASS: buildok/proc_mem-embedded.stp parse-semok - parsed output is semok PASS: buildok/process_test.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp PASS: buildok/process_test.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/process_test.stp > /tmp/staptestyotL1A/process_test.p1 PASS: buildok/process_test.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/process_test.p1 PASS: buildok/process_test.stp parse-semok - parsed output is semok PASS: buildok/procfs01.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp PASS: buildok/procfs01.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/procfs01.stp > /tmp/staptestyotL1A/procfs01.p1 PASS: buildok/procfs01.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/procfs01.p1 PASS: buildok/procfs01.stp parse-semok - parsed output is semok PASS: buildok/profiletimer.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp PASS: buildok/profiletimer.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/profiletimer.stp > /tmp/staptestyotL1A/profiletimer.p1 PASS: buildok/profiletimer.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/profiletimer.p1 PASS: buildok/profiletimer.stp parse-semok - parsed output is semok PASS: buildok/queue_stats-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp PASS: buildok/queue_stats-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/queue_stats-embedded.stp > /tmp/staptestyotL1A/queue_stats-embedded.p1 PASS: buildok/queue_stats-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/queue_stats-embedded.p1 PASS: buildok/queue_stats-embedded.stp parse-semok - parsed output is semok PASS: buildok/random-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp PASS: buildok/random-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/random-embedded.stp > /tmp/staptestyotL1A/random-embedded.p1 PASS: buildok/random-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/random-embedded.p1 PASS: buildok/random-embedded.stp parse-semok - parsed output is semok PASS: buildok/rcu.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp PASS: buildok/rcu.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/rcu.stp > /tmp/staptestyotL1A/rcu.p1 PASS: buildok/rcu.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/rcu.p1 PASS: buildok/rcu.stp parse-semok - parsed output is semok PASS: buildok/rpc-all-probes.stp parse-semok - arg parsing Running stap -p2 -w --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp PASS: buildok/rpc-all-probes.stp parse-semok - semok Running stap -p1 -w --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-all-probes.stp > /tmp/staptestyotL1A/rpc-all-probes.p1 PASS: buildok/rpc-all-probes.stp parse-semok - parsing Running stap -p2 -w --compatible=2.9 /tmp/staptestyotL1A/rpc-all-probes.p1 PASS: buildok/rpc-all-probes.stp parse-semok - parsed output is semok PASS: buildok/rpc-detailed.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-detailed.stp # global embedded code %{ // Includes everything needed for __rpc_prot_from_protocol(). #include %} %{ #include #include #include %} %{ #include %} %{ #define N(a) [a]=#a static const char * const errlist[] = { /* from asm-generic/errno-base.h */ [1] = "EPERM", [2] = "ENOENT", [3] = "ESRCH", [4] = "EINTR", [5] = "EIO", [6] = "ENXIO", [7] = "E2BIG", [8] = "ENOEXEC", [9] = "EBADF", [10]= "ECHILD", [11]= "EAGAIN", [12]= "ENOMEM", [13]= "EACCES", [14]= "EFAULT", [15]= "ENOTBLK", [16]= "EBUSY", [17]= "EEXIST", [18]= "EXDEV", [19]= "ENODEV", [20]= "ENOTDIR", [21]= "EISDIR", [22]= "EINVAL", [23]= "ENFILE", [24]= "EMFILE", [25]= "ENOTTY", [26]= "ETXTBSY", [27]= "EFBIG", [28]= "ENOSPC", [29]= "ESPIPE", [30]= "EROFS", [31]= "EMLINK", [32]= "EPIPE", [33]= "EDOM", [34]= "ERANGE", /* end of errno-base.h */ /* The rest of this is arch-dependent */ #ifdef EDEADLK N(EDEADLK), #endif #ifdef ENAMETOOLONG N(ENAMETOOLONG), #endif #ifdef ENOLCK N(ENOLCK), #endif #ifdef ENOSYS N(ENOSYS), #endif #ifdef ENOTEMPTY N(ENOTEMPTY), #endif #ifdef ELOOP N(ELOOP), #endif #ifdef ENOMSG N(ENOMSG), #endif #ifdef EIDRM N(EIDRM), #endif #ifdef ECHRNG N(ECHRNG), #endif #ifdef EL2NSYNC N(EL2NSYNC), #endif #ifdef EL3HLT N(EL3HLT), #endif #ifdef EL3RST N(EL3RST), #endif #ifdef ELNRNG N(ELNRNG), #endif #ifdef EUNATCH N(EUNATCH), #endif #ifdef ENOCSI N(ENOCSI), #endif #ifdef EL2HLT N(EL2HLT), #endif #ifdef EBADE N(EBADE), #endif #ifdef EBADR N(EBADR), #endif #ifdef EXFULL N(EXFULL), #endif #ifdef ENOANO N(ENOANO), #endif #ifdef EBADRQC N(EBADRQC), #endif #ifdef EBADSLT N(EBADSLT), #endif #ifdef EBFONT N(EBFONT), #endif #ifdef ENOSTR N(ENOSTR), #endif #ifdef ENODATA N(ENODATA), #endif #ifdef ETIME N(ETIME), #endif #ifdef ENOSR N(ENOSR), #endif #ifdef ENONET N(ENONET), #endif #ifdef ENOPKG N(ENOPKG), #endif #ifdef EREMOTE N(EREMOTE), #endif #ifdef ENOLINK N(ENOLINK), #endif #ifdef EADV N(EADV), #endif #ifdef ESRMNT N(ESRMNT), #endif #ifdef ECOMM N(ECOMM), #endif #ifdef EPROTO N(EPROTO), #endif #ifdef EMULTIHOP N(EMULTIHOP), #endif #ifdef EDOTDOT N(EDOTDOT), #endif #ifdef EBADMSG N(EBADMSG), #endif #ifdef EOVERFLOW N(EOVERFLOW), #endif #ifdef ENOTUNIQ N(ENOTUNIQ), #endif #ifdef EBADFD N(EBADFD), #endif #ifdef EREMCHG N(EREMCHG), #endif #ifdef ELIBACC N(ELIBACC), #endif #ifdef ELIBBAD N(ELIBBAD), #endif #ifdef ELIBSCN N(ELIBSCN), #endif #ifdef ELIBMAX N(ELIBMAX), #endif #ifdef ELIBEXEC N(ELIBEXEC), #endif #ifdef EILSEQ N(EILSEQ), #endif #ifdef ERESTART N(ERESTART), #endif #ifdef ESTRPIPE N(ESTRPIPE), #endif #ifdef EUSERS N(EUSERS), #endif #ifdef ENOTSOCK N(ENOTSOCK), #endif #ifdef EDESTADDRREQ N(EDESTADDRREQ), #endif #ifdef EMSGSIZE N(EMSGSIZE), #endif #ifdef EPROTOTYPE N(EPROTOTYPE), #endif #ifdef ENOPROTOOPT N(ENOPROTOOPT), #endif #ifdef EPROTONOSUPPORT N(EPROTONOSUPPORT), #endif #ifdef ESOCKTNOSUPPORT N(ESOCKTNOSUPPORT), #endif #ifdef EOPNOTSUPP N(EOPNOTSUPP), #endif #ifdef EPFNOSUPPORT N(EPFNOSUPPORT), #endif #ifdef EAFNOSUPPORT N(EAFNOSUPPORT), #endif #ifdef EADDRINUSE N(EADDRINUSE), #endif #ifdef EADDRNOTAVAIL N(EADDRNOTAVAIL), #endif #ifdef ENETDOWN N(ENETDOWN), #endif #ifdef ENETUNREACH N(ENETUNREACH), #endif #ifdef ENETRESET N(ENETRESET), #endif #ifdef ECONNABORTED N(ECONNABORTED), #endif #ifdef ECONNRESET N(ECONNRESET), #endif #ifdef ENOBUFS N(ENOBUFS), #endif #ifdef EISCONN N(EISCONN), #endif #ifdef ENOTCONN N(ENOTCONN), #endif #ifdef ESHUTDOWN N(ESHUTDOWN), #endif #ifdef ETOOMANYREFS N(ETOOMANYREFS), #endif #ifdef ETIMEDOUT N(ETIMEDOUT), #endif #ifdef ECONNREFUSED N(ECONNREFUSED), #endif #ifdef EHOSTDOWN N(EHOSTDOWN), #endif #ifdef EHOSTUNREACH N(EHOSTUNREACH), #endif #ifdef EALREADY N(EALREADY), #endif #ifdef EINPROGRESS N(EINPROGRESS), #endif #ifdef ESTALE N(ESTALE), #endif #ifdef EUCLEAN N(EUCLEAN), #endif #ifdef ENOTNAM N(ENOTNAM), #endif #ifdef ENAVAIL N(ENAVAIL), #endif #ifdef EISNAM N(EISNAM), #endif #ifdef EREMOTEIO N(EREMOTEIO), #endif #ifdef EDQUOT N(EDQUOT), #endif #ifdef ENOMEDIUM N(ENOMEDIUM), #endif #ifdef EMEDIUMTYPE N(EMEDIUMTYPE), #endif #ifdef ECANCELED N(ECANCELED), #endif #ifdef ENOKEY N(ENOKEY), #endif #ifdef EKEYEXPIRED N(EKEYEXPIRED), #endif #ifdef EKEYREVOKED N(EKEYREVOKED), #endif #ifdef EKEYREJECTED N(EKEYREJECTED), #endif #ifdef EOWNERDEAD N(EOWNERDEAD), #endif #ifdef ENOTRECOVERABLE N(ENOTRECOVERABLE), #endif #if defined (EDEADLOCK) && EDEADLOCK != EDEADLK N(EDEADLOCK), #endif #ifdef E N(EADV), #endif }; #undef N static const int Maxerrno = sizeof(errlist)/sizeof(char *); %} %{ static long _stp_returnval(struct pt_regs *regs) { if (regs) { #if defined (STAPCONF_X86_UNIREGS) && (defined (__x86_64__) || defined (__i386__)) return regs->ax; #elif defined (__i386__) return regs->eax; #elif defined (__x86_64__) // TODO: Handle -m32 apps. return regs->rax; #elif defined (__powerpc__) return regs->gpr[3]; #elif defined (__ia64__) return regs->r8; #elif defined (__sparc64__) return regs->u_regs[UREG_RETPC]; #elif defined (__s390x__) return regs->gprs[2]; #elif defined (__aarch64__) return regs->regs[0]; #elif defined (__arm__) return regs->ARM_r0; #else _stp_error("returnval() not defined for this architecture"); return 0; #endif } else { _stp_error("returnval() not defined in this context"); return 0; } } %} %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals __rpc_create_args:long [long] # functions __rpc_format_servername:string (servername:long, address:long) addr_from_rqst:long (rqstp:long) # locals addr:long atomic_read:long (addr:long) clones_from_clnt:long (clnt:long) errno_p:long (err:long) errno_str:string (err:long) error:unknown (msg:string) format_ipaddr:string (addr:long, family:long) kernel_string:string (addr:long) kernel_string:string (addr:long, err_msg:string) ntohs:long (x:long) port_from_clnt:long (clnt:long) # locals cl_xprt:long port_from_xprt:long (cl_xprt:long) # locals addr:long proc_from_msg:long (msg:long) prog_from_clnt:long (clnt:long) prot_from_clnt:long (clnt:long) rcu_dereference:long (protected_pointer:long) return_str:string (format:long, ret:long) tid:long () vers_from_clnt:long (clnt:long) vers_from_prog:long (program:long, vers:long) xid_from_clnt:long (clnt:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_1:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_24:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_26:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_28:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_29:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_31:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_32:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_35:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_37:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_38:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_39:long (:long, :long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_40:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_42:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_44:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_50:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_cast_get_cast_52:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_1:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_2:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_241:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_242:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_243:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_244:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_245:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_bufsize_132:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_268:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_283:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_284:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_286:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_287:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_288:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_289:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_291:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_292:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_293:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_326:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_delay_207:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_flags_113:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_112:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_327:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_port_128:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_129:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_130:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_131:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_program_306:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_program_307:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_proto_127:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_144:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_395:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_124:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_125:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_135:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_166:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_387:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_388:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_389:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_390:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_391:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_417:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_418:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_185:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_189:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_117:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_119:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_122:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_123:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_timeout_169:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_vers_309:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_15:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_18:long () # probes module("sunrpc").function("rpc_new_client@net/sunrpc/clnt.c:356").call? /* pc= */ /* <- module("sunrpc").function("rpc_new_client@net/sunrpc/clnt.c:356").call? */ # locals servername:string progname:string prog:long vers:long authflavor:long prot:long port:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_1_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_2_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_241_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_242_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_243_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_244_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_245_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_15_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_18_value:long module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639") /* pc= */ /* <- module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long authflavor:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_268_value:long module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938") /* pc= */ /* <- module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938") */ # locals servername:string __xprt:long old_progname:string old_vers:long progname:string vers:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_program_306_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_327_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_vers_309_value:long module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844") /* pc= */ /* <- module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long authflavor:long clones:long tasks:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_268_value:long module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064") /* pc= */ /* <- module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064") */ # locals servername:string __xprt:long progname:string vers:long xid:long procname:string flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_112_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_flags_113_value:long module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100") /* pc= */ /* <- module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100") */ # locals servername:string __xprt:long progname:string vers:long xid:long procname:string flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_112_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_flags_113_value:long module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504") /* pc= */ /* <- module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504") */ # locals servername:string __xprt:long prog:long xid:long tk_pid:long tk_flags:long tk_priority:long tk_runstate:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_117_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_119_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_122_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_123_value:long module("sunrpc").function("svc_register@net/sunrpc/svc.c:931") /* pc= */ /* <- module("sunrpc").function("svc_register@net/sunrpc/svc.c:931") */ # locals sv_name:string progname:string prot:long port:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_124_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_125_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_proto_127_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_port_128_value:long module("sunrpc").function("svc_create@net/sunrpc/svc.c:471") /* pc= */ /* <- module("sunrpc").function("svc_create@net/sunrpc/svc.c:471") */ # locals progname:string prog:long pg_nvers:long bufsize:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_129_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_130_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_131_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_bufsize_132_value:long module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509") /* pc= */ /* <- module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509") */ # locals sv_name:string sv_prog:long sv_nrthreads:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_124_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_135_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_242_value:long module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301") /* pc= */ /* <- module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301") */ # locals sv_name:string sv_prog:long peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_144_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76") /* pc= */ /* <- module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76") */ # locals peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845") /* pc= */ /* <- module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845") */ # locals sv_name:string timeout:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_166_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_timeout_169_value:long module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918") /* pc= */ /* <- module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918") */ # locals sv_name:string peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907") /* pc= */ /* <- module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907") */ # locals sv_name:string peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956") /* pc= */ /* <- module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956") */ # locals xid:long prog:long vers:long prot:long flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_185_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_189_value:long never /* <- sunrpc.sched.release_task = kernel.function("rpc_release_task").call!, module("sunrpc").function("rpc_release_task").call!, never <- sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task?, sunrpc.sched.execute, sunrpc.sched.delay <- sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry <- sunrpc.entry */ # locals xid:long prog:long vers:long prot:long tk_flags:long name:string argstr:string module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742") /* pc= */ /* <- module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742") */ # locals xid:long prog:long vers:long prot:long tk_pid:long tk_flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671") /* pc= */ /* <- module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671") */ # locals xid:long prog:long vers:long prot:long tk_pid:long tk_flags:long delay:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_delay_207_value:long module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return /* pc= */ /* <- module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return /* pc= */ /* <- module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return /* pc= */ /* <- module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return /* pc= */ /* <- module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return */ # locals name:string retstr:string module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return /* pc= */ /* <- module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return /* pc= */ /* <- module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return /* pc= */ /* <- module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return */ # locals name:string retstr:string module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return /* pc= */ /* <- module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return /* pc= */ /* <- module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return /* pc= */ /* <- module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return */ # locals name:string retstr:string module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return /* pc= */ /* <- module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return /* pc= */ /* <- module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return /* pc= */ /* <- module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return /* pc= */ /* <- module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return /* pc= */ /* <- module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return */ # locals name:string retstr:string module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return /* pc= */ /* <- module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return /* pc= */ /* <- module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return */ # locals name:string retstr:string module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return /* pc= */ /* <- module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return */ # locals name:string retstr:string module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return /* pc= */ /* <- module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return /* pc= */ /* <- module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return /* pc= */ /* <- module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return /* pc= */ /* <- module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return /* pc= */ /* <- module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return /* pc= */ /* <- module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return /* pc= */ /* <- module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return /* pc= */ /* <- module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return /* pc= */ /* <- module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return */ # locals name:string retstr:string module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return /* pc= */ /* <- module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return /* pc= */ /* <- module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return /* pc= */ /* <- module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return */ # locals name:string retstr:string module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return /* pc= */ /* <- module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504").return */ # locals name:string retstr:string module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return /* pc= */ /* <- module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844").return */ # locals name:string retstr:string module("sunrpc").function("rpc_new_client@net/sunrpc/clnt.c:356").call? /* pc= */ /* <- module("sunrpc").function("rpc_new_client@net/sunrpc/clnt.c:356").call? */ # locals servername:string progname:string prog:long vers:long authflavor:long prot:long port:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_1_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_2_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_241_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_242_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_243_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_244_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_245_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_15_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_xprt_18_value:long module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639") /* pc= */ /* <- module("sunrpc").function("rpc_clone_client@net/sunrpc/clnt.c:639") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long authflavor:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_268_value:long module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844") /* pc= */ /* <- module("sunrpc").function("rpc_shutdown_client@net/sunrpc/clnt.c:844") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long authflavor:long clones:long tasks:long netreconn:long rpccnt:long om_ops:long om_ntrans:long om_bytes_sent:long om_bytes_recv:long om_queue:long om_rtt:long om_execute:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_268_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_283_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_284_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_286_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_287_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_288_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_289_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_291_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_292_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_293_value:long module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938") /* pc= */ /* <- module("sunrpc").function("rpc_bind_new_program@net/sunrpc/clnt.c:938") */ # locals servername:string __xprt:long old_progname:string old_vers:long progname:string prog:long vers:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_program_306_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_program_307_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_327_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_vers_309_value:long module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064") /* pc= */ /* <- module("sunrpc").function("rpc_call_sync@net/sunrpc/clnt.c:1064") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long xid:long dead:long proc:long procname:string flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_326_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_327_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_112_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_flags_113_value:long module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100") /* pc= */ /* <- module("sunrpc").function("rpc_call_async@net/sunrpc/clnt.c:1100") */ # locals servername:string __xprt:long progname:string prog:long vers:long prot:long port:long xid:long dead:long proc:long procname:string flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_24_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_clnt_326_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_327_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_msg_112_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_flags_113_value:long module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504") /* pc= */ /* <- module("sunrpc").function("rpc_restart_call@net/sunrpc/clnt.c:1504") */ # locals servername:string __xprt:long prog:long xid:long tk_pid:long tk_flags:long tk_priority:long tk_runstate:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_117_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_119_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_122_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_123_value:long module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return /* pc= */ /* <- module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return /* pc= */ /* <- module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return /* pc= */ /* <- module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return */ # locals name:string retstr:string module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return /* pc= */ /* <- module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return */ # locals name:string retstr:string module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return /* pc= */ /* <- module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return /* pc= */ /* <- module("sunrpc").function("svc_create@net/sunrpc/svc.c:471").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return /* pc= */ /* <- module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509").return */ # locals name:string retstr:string module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return /* pc= */ /* <- module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return /* pc= */ /* <- module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return /* pc= */ /* <- module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return /* pc= */ /* <- module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return /* pc= */ /* <- module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907").return */ # locals name:string retstr:string module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return /* pc= */ /* <- module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return /* pc= */ /* <- module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return /* pc= */ /* <- module("sunrpc").function("svc_register@net/sunrpc/svc.c:931").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return /* pc= */ /* <- module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_return_213_value:long module("sunrpc").function("svc_register@net/sunrpc/svc.c:931") /* pc= */ /* <- module("sunrpc").function("svc_register@net/sunrpc/svc.c:931") */ # locals sv_name:string progname:string prog:long prot:long port:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_124_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_125_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_135_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_proto_127_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_port_128_value:long module("sunrpc").function("svc_create@net/sunrpc/svc.c:471") /* pc= */ /* <- module("sunrpc").function("svc_create@net/sunrpc/svc.c:471") */ # locals progname:string prog:long pg_nvers:long bufsize:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_129_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_130_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_prog_131_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_bufsize_132_value:long module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509") /* pc= */ /* <- module("sunrpc").function("svc_destroy@net/sunrpc/svc.c:509") */ # locals sv_name:string sv_progname:string sv_prog:long sv_nrthreads:long netcnt:long netcpconn:long rpccnt:long rpcbadfmt:long rpcbadauth:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_124_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_125_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_135_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_242_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_387_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_388_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_389_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_390_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_391_value:long module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301") /* pc= */ /* <- module("sunrpc").function("svc_process@net/sunrpc/svc.c:1301") */ # locals sv_name:string sv_prog:long sv_nrthreads:long peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_144_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_395_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76") /* pc= */ /* <- module("sunrpc").function("svc_authorise@net/sunrpc/svcauth.c:76") */ # locals sv_name:string peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845") /* pc= */ /* <- module("sunrpc").function("svc_recv@net/sunrpc/svc_xprt.c:845") */ # locals sv_name:string sv_prog:long sv_nrthreads:long timeout:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_166_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_417_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_serv_418_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_timeout_169_value:long module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918") /* pc= */ /* <- module("sunrpc").function("svc_send@net/sunrpc/svc_xprt.c:918") */ # locals sv_name:string peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907") /* pc= */ /* <- module("sunrpc").function("svc_drop@net/sunrpc/svc_xprt.c:907") */ # locals sv_name:string peer_ip:long rq_xid:long rq_prog:long rq_vers:long rq_proc:long rq_prot:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_143_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_150_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_151_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_152_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_153_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_rqstp_161_value:long module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return /* pc= */ /* <- module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return */ # locals name:string retstr:string module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return /* pc= */ /* <- module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return /* pc= */ /* <- module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return */ # locals name:string retstr:string module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return /* pc= */ /* <- module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671").return */ # locals name:string retstr:string module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return /* pc= */ /* <- module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742").return */ # locals name:string retstr:string module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return /* pc= */ /* <- module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956") /* pc= */ /* <- module("sunrpc").function("rpc_new_task@net/sunrpc/sched.c:956") */ # locals xid:long prog:long vers:long prot:long flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_185_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_setup_data_189_value:long never /* <- sunrpc.sched.release_task = kernel.function("rpc_release_task").call!, module("sunrpc").function("rpc_release_task").call!, never <- sunrpc.sched.new_task,sunrpc.sched.release_task,sunrpc.sched.execute,sunrpc.sched.delay */ # locals xid:long prog:long vers:long prot:long tk_flags:long name:string argstr:string module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742") /* pc= */ /* <- module("sunrpc").function("__rpc_execute@net/sunrpc/sched.c:742") */ # locals xid:long prog:long vers:long prot:long tk_pid:long tk_flags:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671") /* pc= */ /* <- module("sunrpc").function("rpc_delay@net/sunrpc/sched.c:671") */ # locals xid:long prog:long vers:long prot:long tk_pid:long tk_flags:long delay:long name:string argstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_118_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_120_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_task_121_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_delay_207_value:long timer.s(900) /* <- timer.s(900) */ module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").call? /* pc= */ /* <- module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").call? */ # locals __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_rpc_stp__dwarf_tvar_get_args_464_value:long module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return? /* pc= */ /* <- module("sunrpc").function("rpc_create@net/sunrpc/clnt.c:508").return? */ WARNING: cannot probe .return of 1 inlined functions rpc_release_task Number of similar warning messages suppressed: 2. Rerun with -v to see them. UNTESTED: buildok/rpc-detailed.stp parse-semok - not semok PASS: buildok/rpc-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp PASS: buildok/rpc-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/rpc-embedded.stp > /tmp/staptestyotL1A/rpc-embedded.p1 PASS: buildok/rpc-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/rpc-embedded.p1 PASS: buildok/rpc-embedded.stp parse-semok - parsed output is semok PASS: buildok/scheduler-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp PASS: buildok/scheduler-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/scheduler-all-probes.stp > /tmp/staptestyotL1A/scheduler-all-probes.p1 PASS: buildok/scheduler-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/scheduler-all-probes.p1 PASS: buildok/scheduler-all-probes.stp parse-semok - parsed output is semok PASS: buildok/scheduler-cpu_off.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp PASS: buildok/scheduler-cpu_off.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_off.stp > /tmp/staptestyotL1A/scheduler-cpu_off.p1 PASS: buildok/scheduler-cpu_off.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scheduler-cpu_off.p1 PASS: buildok/scheduler-cpu_off.stp parse-semok - parsed output is semok PASS: buildok/scheduler-cpu_on.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp PASS: buildok/scheduler-cpu_on.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-cpu_on.stp > /tmp/staptestyotL1A/scheduler-cpu_on.p1 PASS: buildok/scheduler-cpu_on.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scheduler-cpu_on.p1 PASS: buildok/scheduler-cpu_on.stp parse-semok - parsed output is semok PASS: buildok/scheduler-ctxswitch.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp PASS: buildok/scheduler-ctxswitch.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-ctxswitch.stp > /tmp/staptestyotL1A/scheduler-ctxswitch.p1 PASS: buildok/scheduler-ctxswitch.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scheduler-ctxswitch.p1 PASS: buildok/scheduler-ctxswitch.stp parse-semok - parsed output is semok PASS: buildok/scheduler-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp PASS: buildok/scheduler-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-detailed.stp > /tmp/staptestyotL1A/scheduler-detailed.p1 PASS: buildok/scheduler-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scheduler-detailed.p1 PASS: buildok/scheduler-detailed.stp parse-semok - parsed output is semok PASS: buildok/scheduler-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp PASS: buildok/scheduler-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-embedded.stp > /tmp/staptestyotL1A/scheduler-embedded.p1 PASS: buildok/scheduler-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/scheduler-embedded.p1 PASS: buildok/scheduler-embedded.stp parse-semok - parsed output is semok PASS: buildok/scheduler-migrate.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp PASS: buildok/scheduler-migrate.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scheduler-migrate.stp > /tmp/staptestyotL1A/scheduler-migrate.p1 PASS: buildok/scheduler-migrate.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scheduler-migrate.p1 PASS: buildok/scheduler-migrate.stp parse-semok - parsed output is semok PASS: buildok/scsi-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp PASS: buildok/scsi-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/scsi-all-probes.stp > /tmp/staptestyotL1A/scsi-all-probes.p1 PASS: buildok/scsi-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/scsi-all-probes.p1 PASS: buildok/scsi-all-probes.stp parse-semok - parsed output is semok UNTESTED: buildok/scsi-detailed.stp parse-semok - shell script PASS: buildok/scsi-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp PASS: buildok/scsi-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/scsi-embedded.stp > /tmp/staptestyotL1A/scsi-embedded.p1 PASS: buildok/scsi-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/scsi-embedded.p1 PASS: buildok/scsi-embedded.stp parse-semok - parsed output is semok PASS: buildok/semicolon.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp PASS: buildok/semicolon.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/semicolon.stp > /tmp/staptestyotL1A/semicolon.p1 PASS: buildok/semicolon.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/semicolon.p1 PASS: buildok/semicolon.stp parse-semok - parsed output is semok PASS: buildok/seven.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/seven.stp PASS: buildok/seven.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/seven.stp > /tmp/staptestyotL1A/seven.p1 PASS: buildok/seven.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/seven.p1 PASS: buildok/seven.stp parse-semok - parsed output is semok PASS: buildok/seventeen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp PASS: buildok/seventeen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/seventeen.stp > /tmp/staptestyotL1A/seventeen.p1 PASS: buildok/seventeen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/seventeen.p1 PASS: buildok/seventeen.stp parse-semok - parsed output is semok PASS: buildok/signal-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp PASS: buildok/signal-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/signal-all-probes.stp > /tmp/staptestyotL1A/signal-all-probes.p1 PASS: buildok/signal-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/signal-all-probes.p1 PASS: buildok/signal-all-probes.stp parse-semok - parsed output is semok PASS: buildok/signal-check_ignored.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/signal-check_ignored.stp semantic error: while processing probe kernel.function("sig_ignored@kernel/signal.c:81") from: signal.check_ignored from: signal.check_ignored semantic error: failed to retrieve location attribute for 't' [man error::dwarf]: identifier '$t' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:365:15 dieoffset: 0x6d1011 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: sigismember at ./include/linux/signal.h:77 inlined by sig_ignored at kernel/signal.c:88 inlined by prepare_signal at kernel/signal.c:846 source: sig_pid = $t->pid ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/signal-check_ignored.stp parse-semok - not semok PASS: buildok/signal-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/signal-detailed.stp # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define N(a) [a]=#a static const char * const errlist[] = { /* from asm-generic/errno-base.h */ [1] = "EPERM", [2] = "ENOENT", [3] = "ESRCH", [4] = "EINTR", [5] = "EIO", [6] = "ENXIO", [7] = "E2BIG", [8] = "ENOEXEC", [9] = "EBADF", [10]= "ECHILD", [11]= "EAGAIN", [12]= "ENOMEM", [13]= "EACCES", [14]= "EFAULT", [15]= "ENOTBLK", [16]= "EBUSY", [17]= "EEXIST", [18]= "EXDEV", [19]= "ENODEV", [20]= "ENOTDIR", [21]= "EISDIR", [22]= "EINVAL", [23]= "ENFILE", [24]= "EMFILE", [25]= "ENOTTY", [26]= "ETXTBSY", [27]= "EFBIG", [28]= "ENOSPC", [29]= "ESPIPE", [30]= "EROFS", [31]= "EMLINK", [32]= "EPIPE", [33]= "EDOM", [34]= "ERANGE", /* end of errno-base.h */ /* The rest of this is arch-dependent */ #ifdef EDEADLK N(EDEADLK), #endif #ifdef ENAMETOOLONG N(ENAMETOOLONG), #endif #ifdef ENOLCK N(ENOLCK), #endif #ifdef ENOSYS N(ENOSYS), #endif #ifdef ENOTEMPTY N(ENOTEMPTY), #endif #ifdef ELOOP N(ELOOP), #endif #ifdef ENOMSG N(ENOMSG), #endif #ifdef EIDRM N(EIDRM), #endif #ifdef ECHRNG N(ECHRNG), #endif #ifdef EL2NSYNC N(EL2NSYNC), #endif #ifdef EL3HLT N(EL3HLT), #endif #ifdef EL3RST N(EL3RST), #endif #ifdef ELNRNG N(ELNRNG), #endif #ifdef EUNATCH N(EUNATCH), #endif #ifdef ENOCSI N(ENOCSI), #endif #ifdef EL2HLT N(EL2HLT), #endif #ifdef EBADE N(EBADE), #endif #ifdef EBADR N(EBADR), #endif #ifdef EXFULL N(EXFULL), #endif #ifdef ENOANO N(ENOANO), #endif #ifdef EBADRQC N(EBADRQC), #endif #ifdef EBADSLT N(EBADSLT), #endif #ifdef EBFONT N(EBFONT), #endif #ifdef ENOSTR N(ENOSTR), #endif #ifdef ENODATA N(ENODATA), #endif #ifdef ETIME N(ETIME), #endif #ifdef ENOSR N(ENOSR), #endif #ifdef ENONET N(ENONET), #endif #ifdef ENOPKG N(ENOPKG), #endif #ifdef EREMOTE N(EREMOTE), #endif #ifdef ENOLINK N(ENOLINK), #endif #ifdef EADV N(EADV), #endif #ifdef ESRMNT N(ESRMNT), #endif #ifdef ECOMM N(ECOMM), #endif #ifdef EPROTO N(EPROTO), #endif #ifdef EMULTIHOP N(EMULTIHOP), #endif #ifdef EDOTDOT N(EDOTDOT), #endif #ifdef EBADMSG N(EBADMSG), #endif #ifdef EOVERFLOW N(EOVERFLOW), #endif #ifdef ENOTUNIQ N(ENOTUNIQ), #endif #ifdef EBADFD N(EBADFD), #endif #ifdef EREMCHG N(EREMCHG), #endif #ifdef ELIBACC N(ELIBACC), #endif #ifdef ELIBBAD N(ELIBBAD), #endif #ifdef ELIBSCN N(ELIBSCN), #endif #ifdef ELIBMAX N(ELIBMAX), #endif #ifdef ELIBEXEC N(ELIBEXEC), #endif #ifdef EILSEQ N(EILSEQ), #endif #ifdef ERESTART N(ERESTART), #endif #ifdef ESTRPIPE N(ESTRPIPE), #endif #ifdef EUSERS N(EUSERS), #endif #ifdef ENOTSOCK N(ENOTSOCK), #endif #ifdef EDESTADDRREQ N(EDESTADDRREQ), #endif #ifdef EMSGSIZE N(EMSGSIZE), #endif #ifdef EPROTOTYPE N(EPROTOTYPE), #endif #ifdef ENOPROTOOPT N(ENOPROTOOPT), #endif #ifdef EPROTONOSUPPORT N(EPROTONOSUPPORT), #endif #ifdef ESOCKTNOSUPPORT N(ESOCKTNOSUPPORT), #endif #ifdef EOPNOTSUPP N(EOPNOTSUPP), #endif #ifdef EPFNOSUPPORT N(EPFNOSUPPORT), #endif #ifdef EAFNOSUPPORT N(EAFNOSUPPORT), #endif #ifdef EADDRINUSE N(EADDRINUSE), #endif #ifdef EADDRNOTAVAIL N(EADDRNOTAVAIL), #endif #ifdef ENETDOWN N(ENETDOWN), #endif #ifdef ENETUNREACH N(ENETUNREACH), #endif #ifdef ENETRESET N(ENETRESET), #endif #ifdef ECONNABORTED N(ECONNABORTED), #endif #ifdef ECONNRESET N(ECONNRESET), #endif #ifdef ENOBUFS N(ENOBUFS), #endif #ifdef EISCONN N(EISCONN), #endif #ifdef ENOTCONN N(ENOTCONN), #endif #ifdef ESHUTDOWN N(ESHUTDOWN), #endif #ifdef ETOOMANYREFS N(ETOOMANYREFS), #endif #ifdef ETIMEDOUT N(ETIMEDOUT), #endif #ifdef ECONNREFUSED N(ECONNREFUSED), #endif #ifdef EHOSTDOWN N(EHOSTDOWN), #endif #ifdef EHOSTUNREACH N(EHOSTUNREACH), #endif #ifdef EALREADY N(EALREADY), #endif #ifdef EINPROGRESS N(EINPROGRESS), #endif #ifdef ESTALE N(ESTALE), #endif #ifdef EUCLEAN N(EUCLEAN), #endif #ifdef ENOTNAM N(ENOTNAM), #endif #ifdef ENAVAIL N(ENAVAIL), #endif #ifdef EISNAM N(EISNAM), #endif #ifdef EREMOTEIO N(EREMOTEIO), #endif #ifdef EDQUOT N(EDQUOT), #endif #ifdef ENOMEDIUM N(ENOMEDIUM), #endif #ifdef EMEDIUMTYPE N(EMEDIUMTYPE), #endif #ifdef ECANCELED N(ECANCELED), #endif #ifdef ENOKEY N(ENOKEY), #endif #ifdef EKEYEXPIRED N(EKEYEXPIRED), #endif #ifdef EKEYREVOKED N(EKEYREVOKED), #endif #ifdef EKEYREJECTED N(EKEYREJECTED), #endif #ifdef EOWNERDEAD N(EOWNERDEAD), #endif #ifdef ENOTRECOVERABLE N(ENOTRECOVERABLE), #endif #if defined (EDEADLOCK) && EDEADLOCK != EDEADLK N(EDEADLOCK), #endif #ifdef E N(EADV), #endif }; #undef N static const int Maxerrno = sizeof(errlist)/sizeof(char *); %} %{ static long _stp_returnval(struct pt_regs *regs) { if (regs) { #if defined (STAPCONF_X86_UNIREGS) && (defined (__x86_64__) || defined (__i386__)) return regs->ax; #elif defined (__i386__) return regs->eax; #elif defined (__x86_64__) // TODO: Handle -m32 apps. return regs->rax; #elif defined (__powerpc__) return regs->gpr[3]; #elif defined (__ia64__) return regs->r8; #elif defined (__sparc64__) return regs->u_regs[UREG_RETPC]; #elif defined (__s390x__) return regs->gprs[2]; #elif defined (__aarch64__) return regs->regs[0]; #elif defined (__arm__) return regs->ARM_r0; #else _stp_error("returnval() not defined for this architecture"); return 0; #endif } else { _stp_error("returnval() not defined in this context"); return 0; } } %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} %{ #include %} # globals __sig[64]:string [long] # functions __int32:long (val:long) _signal_name:string (sig:long) errno_p:long (err:long) errno_str:string (err:long) error:unknown (msg:string) get_sigset:long (sigset:long) kernel_string:string (addr:long) pid2task:long (pid:long) return_str:string (format:long, ret:long) task_execname:string (task:long) task_pid:long (task:long) __get_action_mask:long (act:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_62:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_64:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_oact_63:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_12:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_13:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_40:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_q_44:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_q_53:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_return_11:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_sig_39:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_state_5:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_10:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_73:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_10:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_8:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_9:long (:long) # probes kernel.trace("signal:signal_generate")? /* <- __signal.send.signal_generate = kernel.trace("signal_generate")? <- signal.send = __signal.send.signal_generate!, __signal.send.send_sigqueue, __signal.send.send_signal? <- signal.send */ # locals :long :long :long :long name:string sig:long task:long sinfo:long shared:long sig_name:string sig_pid:long pid_name:string si_code:string kernel.function("check_kill_permission@kernel/signal.c:713") /* pc=_stext+0x5bda0 */ /* <- kernel.function("check_kill_permission@kernel/signal.c:713") */ # locals sig:long task:long sinfo:long name:string sig_name:string sig_pid:long pid_name:string si_code:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_oact_63_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_62_value:long kernel.function("check_kill_permission@kernel/signal.c:713").return? /* pc=_stext+0x5bda0 */ /* <- kernel.function("check_kill_permission@kernel/signal.c:713").return? */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("signal_wake_up_state@kernel/signal.c:639") /* pc=_stext+0x5c43c */ /* <- kernel.function("signal_wake_up_state@kernel/signal.c:639") */ # locals resume:long state_mask:string name:string sig_pid:long pid_name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_state_5_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_73_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_10_value:long kernel.function("prepare_signal@kernel/signal.c:784").return /* pc=_stext+0x5c53c */ /* <- kernel.function("prepare_signal@kernel/signal.c:784").return */ # locals retstr:string name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_return_11_value:long kernel.function("force_sigsegv@kernel/signal.c:1447") /* pc=_stext+0x5ed34 */ /* <- kernel.function("force_sigsegv@kernel/signal.c:1447") */ # locals sig_pid:long pid_name:string sig:long sig_name:string name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_12_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_13_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("force_sigsegv@kernel/signal.c:1447").return /* pc=_stext+0x5ed34 */ /* <- kernel.function("force_sigsegv@kernel/signal.c:1447").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("SyS_kill@kernel/signal.c:2847").call /* pc=_stext+0x60dc0 */ /* <- kernel.function("SyS_kill@kernel/signal.c:2847").call */ # locals name:string sig:long sig_name:string sig_pid:long task:long pid_name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_40_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("SyS_kill@kernel/signal.c:2847").return /* pc=_stext+0x60dc0 */ /* <- kernel.function("SyS_kill@kernel/signal.c:2847").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("SyS_tkill@kernel/signal.c:2929").call /* pc=_stext+0x610b4 */ /* <- kernel.function("SyS_tkill@kernel/signal.c:2929").call */ # locals name:string sig:long sig_name:string sig_pid:long task:long pid_name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_40_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("SyS_tkill@kernel/signal.c:2929").return /* pc=_stext+0x610b4 */ /* <- kernel.function("SyS_tkill@kernel/signal.c:2929").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("SyS_tgkill@kernel/signal.c:2913").call /* pc=_stext+0x6105c */ /* <- kernel.function("SyS_tgkill@kernel/signal.c:2913").call */ # locals name:string tgid:long sig:long sig_name:string sig_pid:long task:long pid_name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_sig_39_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_40_value:long kernel.function("SyS_tgkill@kernel/signal.c:2913").return /* pc=_stext+0x6105c */ /* <- kernel.function("SyS_tgkill@kernel/signal.c:2913").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("send_sigqueue@kernel/signal.c:1521") /* pc=_stext+0x5ee90 */ /* <- kernel.function("send_sigqueue@kernel/signal.c:1521") */ # locals name:string sig:long sig_name:string sig_pid:long pid_name:string sigqueue_addr:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_q_44_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_12_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_p_13_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_q_53_value:long kernel.function("send_sigqueue@kernel/signal.c:1521").return /* pc=_stext+0x5ee90 */ /* <- kernel.function("send_sigqueue@kernel/signal.c:1521").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("SyS_rt_sigpending@kernel/signal.c:2625").call? /* pc=_stext+0x60538 */ /* <- kernel.function("SyS_rt_sigpending@kernel/signal.c:2625").call? */ # locals name:string sigset_add:long sigset_size:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_40_value:long kernel.function("SyS_rt_sigpending@kernel/signal.c:2625").return? /* pc=_stext+0x60538 */ /* <- kernel.function("SyS_rt_sigpending@kernel/signal.c:2625").return? */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_pid_22_value:long kernel.function("do_sigaction@kernel/signal.c:3047") /* pc=_stext+0x61298 */ /* <- kernel.function("do_sigaction@kernel/signal.c:3047") */ # locals name:string sig:long sig_name:string sigact_addr:long oldsigact_addr:long sa_handler:long sa_mask:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_62_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_oact_63_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_64_value:long kernel.function("do_sigaction@kernel/signal.c:3047").return /* pc=_stext+0x61298 */ /* <- kernel.function("do_sigaction@kernel/signal.c:3047").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("sigprocmask@kernel/signal.c:2501") /* pc=_stext+0x60384 */ /* <- kernel.function("sigprocmask@kernel/signal.c:2501") */ # locals name:string how:long sigset_addr:long oldsigset_addr:long sigset:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_act_62_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_oact_63_value:long kernel.function("sigprocmask@kernel/signal.c:2501").return /* pc=_stext+0x60384 */ /* <- kernel.function("sigprocmask@kernel/signal.c:2501").return */ # locals name:string retstr:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_how_67_value:long kernel.function("flush_signals@kernel/signal.c:419") /* pc=_stext+0x5c254 */ /* <- kernel.function("flush_signals@kernel/signal.c:419") */ # locals name:string task:long sig_pid:long pid_name:string __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_q_53_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_73_value:long __stable___private__root_systemtap_write_install_share_systemtap_tapset_linux_signal_stp__dwarf_tvar_get_t_10_value:long timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: cannot probe .return of 1 inlined functions sig_ignored WARNING: cannot probe .return of 1 inlined functions do_sigpending UNTESTED: buildok/signal-detailed.stp parse-semok - not semok PASS: buildok/signal-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp PASS: buildok/signal-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/signal-embedded.stp > /tmp/staptestyotL1A/signal-embedded.p1 PASS: buildok/signal-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/signal-embedded.p1 PASS: buildok/signal-embedded.stp parse-semok - parsed output is semok PASS: buildok/signal-handle.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp PASS: buildok/signal-handle.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/signal-handle.stp > /tmp/staptestyotL1A/signal-handle.p1 PASS: buildok/signal-handle.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/signal-handle.p1 PASS: buildok/signal-handle.stp parse-semok - parsed output is semok PASS: buildok/six.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/six.stp PASS: buildok/six.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/six.stp > /tmp/staptestyotL1A/six.p1 PASS: buildok/six.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/six.p1 PASS: buildok/six.stp parse-semok - parsed output is semok PASS: buildok/sixteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp PASS: buildok/sixteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/sixteen.stp > /tmp/staptestyotL1A/sixteen.p1 PASS: buildok/sixteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/sixteen.p1 PASS: buildok/sixteen.stp parse-semok - parsed output is semok PASS: buildok/socket-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp PASS: buildok/socket-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/socket-all-probes.stp > /tmp/staptestyotL1A/socket-all-probes.p1 PASS: buildok/socket-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/socket-all-probes.p1 PASS: buildok/socket-all-probes.stp parse-semok - parsed output is semok PASS: buildok/socket-detailed.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp PASS: buildok/socket-detailed.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/socket-detailed.stp > /tmp/staptestyotL1A/socket-detailed.p1 PASS: buildok/socket-detailed.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/socket-detailed.p1 PASS: buildok/socket-detailed.stp parse-semok - parsed output is semok PASS: buildok/socket-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp PASS: buildok/socket-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/socket-embedded.stp > /tmp/staptestyotL1A/socket-embedded.p1 PASS: buildok/socket-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/socket-embedded.p1 PASS: buildok/socket-embedded.stp parse-semok - parsed output is semok PASS: buildok/stap_staticmarkers-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp PASS: buildok/stap_staticmarkers-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/stap_staticmarkers-detailed.stp > /tmp/staptestyotL1A/stap_staticmarkers-detailed.p1 PASS: buildok/stap_staticmarkers-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/stap_staticmarkers-detailed.p1 PASS: buildok/stap_staticmarkers-detailed.stp parse-semok - parsed output is semok PASS: buildok/stat_extract.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp PASS: buildok/stat_extract.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/stat_extract.stp > /tmp/staptestyotL1A/stat_extract.p1 PASS: buildok/stat_extract.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/stat_extract.p1 PASS: buildok/stat_extract.stp parse-semok - parsed output is semok PASS: buildok/stat_insert.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp PASS: buildok/stat_insert.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/stat_insert.stp > /tmp/staptestyotL1A/stat_insert.p1 PASS: buildok/stat_insert.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/stat_insert.p1 PASS: buildok/stat_insert.stp parse-semok - parsed output is semok PASS: buildok/stopwatches.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp PASS: buildok/stopwatches.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/stopwatches.stp > /tmp/staptestyotL1A/stopwatches.p1 PASS: buildok/stopwatches.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/stopwatches.p1 PASS: buildok/stopwatches.stp parse-semok - parsed output is semok PASS: buildok/string-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp PASS: buildok/string-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/string-embedded.stp > /tmp/staptestyotL1A/string-embedded.p1 PASS: buildok/string-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/string-embedded.p1 PASS: buildok/string-embedded.stp parse-semok - parsed output is semok PASS: buildok/syscall.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp PASS: buildok/syscall.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/syscall.stp > /tmp/staptestyotL1A/syscall.p1 PASS: buildok/syscall.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/syscall.p1 PASS: buildok/syscall.stp parse-semok - parsed output is semok PASS: buildok/syscalls-arch-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp PASS: buildok/syscalls-arch-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/syscalls-arch-detailed.stp > /tmp/staptestyotL1A/syscalls-arch-detailed.p1 PASS: buildok/syscalls-arch-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/syscalls-arch-detailed.p1 PASS: buildok/syscalls-arch-detailed.stp parse-semok - parsed output is semok PASS: buildok/syscalls-detailed.stp parse-semok - arg parsing Running stap -p2 -W /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp PASS: buildok/syscalls-detailed.stp parse-semok - semok Running stap -p1 -W /root/systemtap_write/systemtap/testsuite/buildok/syscalls-detailed.stp > /tmp/staptestyotL1A/syscalls-detailed.p1 PASS: buildok/syscalls-detailed.stp parse-semok - parsing Running stap -p2 -W /tmp/staptestyotL1A/syscalls-detailed.p1 PASS: buildok/syscalls-detailed.stp parse-semok - parsed output is semok PASS: buildok/syscalls2-detailed.stp parse-semok - arg parsing Running stap -p2 -W /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp PASS: buildok/syscalls2-detailed.stp parse-semok - semok Running stap -p1 -W /root/systemtap_write/systemtap/testsuite/buildok/syscalls2-detailed.stp > /tmp/staptestyotL1A/syscalls2-detailed.p1 PASS: buildok/syscalls2-detailed.stp parse-semok - parsing Running stap -p2 -W /tmp/staptestyotL1A/syscalls2-detailed.p1 PASS: buildok/syscalls2-detailed.stp parse-semok - parsed output is semok PASS: buildok/system-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp PASS: buildok/system-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/system-embedded.stp > /tmp/staptestyotL1A/system-embedded.p1 PASS: buildok/system-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/system-embedded.p1 PASS: buildok/system-embedded.stp parse-semok - parsed output is semok PASS: buildok/systemtap_privilege.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp PASS: buildok/systemtap_privilege.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/systemtap_privilege.stp > /tmp/staptestyotL1A/systemtap_privilege.p1 PASS: buildok/systemtap_privilege.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/systemtap_privilege.p1 PASS: buildok/systemtap_privilege.stp parse-semok - parsed output is semok PASS: buildok/task-embedded.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp PASS: buildok/task-embedded.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/task-embedded.stp > /tmp/staptestyotL1A/task-embedded.p1 PASS: buildok/task-embedded.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/task-embedded.p1 PASS: buildok/task-embedded.stp parse-semok - parsed output is semok PASS: buildok/task_ns.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp PASS: buildok/task_ns.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/task_ns.stp > /tmp/staptestyotL1A/task_ns.p1 PASS: buildok/task_ns.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/task_ns.p1 PASS: buildok/task_ns.stp parse-semok - parsed output is semok PASS: buildok/task_rlimit_test.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp PASS: buildok/task_rlimit_test.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/task_rlimit_test.stp > /tmp/staptestyotL1A/task_rlimit_test.p1 PASS: buildok/task_rlimit_test.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/task_rlimit_test.p1 PASS: buildok/task_rlimit_test.stp parse-semok - parsed output is semok PASS: buildok/task_test.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp PASS: buildok/task_test.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/task_test.stp > /tmp/staptestyotL1A/task_test.p1 PASS: buildok/task_test.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/task_test.p1 PASS: buildok/task_test.stp parse-semok - parsed output is semok PASS: buildok/task_time-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp PASS: buildok/task_time-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/task_time-embedded.stp > /tmp/staptestyotL1A/task_time-embedded.p1 PASS: buildok/task_time-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/task_time-embedded.p1 PASS: buildok/task_time-embedded.stp parse-semok - parsed output is semok PASS: buildok/tcp-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp PASS: buildok/tcp-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/tcp-all-probes.stp > /tmp/staptestyotL1A/tcp-all-probes.p1 PASS: buildok/tcp-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/tcp-all-probes.p1 PASS: buildok/tcp-all-probes.stp parse-semok - parsed output is semok PASS: buildok/tcp-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp PASS: buildok/tcp-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/tcp-detailed.stp > /tmp/staptestyotL1A/tcp-detailed.p1 PASS: buildok/tcp-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/tcp-detailed.p1 PASS: buildok/tcp-detailed.stp parse-semok - parsed output is semok PASS: buildok/tcp-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp PASS: buildok/tcp-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/tcp-embedded.stp > /tmp/staptestyotL1A/tcp-embedded.p1 PASS: buildok/tcp-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/tcp-embedded.p1 PASS: buildok/tcp-embedded.stp parse-semok - parsed output is semok PASS: buildok/tcp_test.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp PASS: buildok/tcp_test.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/tcp_test.stp > /tmp/staptestyotL1A/tcp_test.p1 PASS: buildok/tcp_test.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/tcp_test.p1 PASS: buildok/tcp_test.stp parse-semok - parsed output is semok PASS: buildok/tcpmib-all-probes.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp PASS: buildok/tcpmib-all-probes.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-all-probes.stp > /tmp/staptestyotL1A/tcpmib-all-probes.p1 PASS: buildok/tcpmib-all-probes.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/tcpmib-all-probes.p1 PASS: buildok/tcpmib-all-probes.stp parse-semok - parsed output is semok PASS: buildok/tcpmib-detailed.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp PASS: buildok/tcpmib-detailed.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-detailed.stp > /tmp/staptestyotL1A/tcpmib-detailed.p1 PASS: buildok/tcpmib-detailed.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/tcpmib-detailed.p1 PASS: buildok/tcpmib-detailed.stp parse-semok - parsed output is semok PASS: buildok/tcpmib-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp PASS: buildok/tcpmib-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/tcpmib-embedded.stp > /tmp/staptestyotL1A/tcpmib-embedded.p1 PASS: buildok/tcpmib-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/tcpmib-embedded.p1 PASS: buildok/tcpmib-embedded.stp parse-semok - parsed output is semok PASS: buildok/ten.stp parse-semok - arg parsing Running stap -p2 -u /root/systemtap_write/systemtap/testsuite/buildok/ten.stp PASS: buildok/ten.stp parse-semok - semok Running stap -p1 -u /root/systemtap_write/systemtap/testsuite/buildok/ten.stp > /tmp/staptestyotL1A/ten.p1 PASS: buildok/ten.stp parse-semok - parsing Running stap -p2 -u /tmp/staptestyotL1A/ten.p1 PASS: buildok/ten.stp parse-semok - parsed output is semok PASS: buildok/thirteen.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp PASS: buildok/thirteen.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/thirteen.stp > /tmp/staptestyotL1A/thirteen.p1 PASS: buildok/thirteen.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/thirteen.p1 PASS: buildok/thirteen.stp parse-semok - parsed output is semok PASS: buildok/thirty.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp PASS: buildok/thirty.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/thirty.stp > /tmp/staptestyotL1A/thirty.p1 PASS: buildok/thirty.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/thirty.p1 PASS: buildok/thirty.stp parse-semok - parsed output is semok PASS: buildok/thirtyfour.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp PASS: buildok/thirtyfour.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/thirtyfour.stp > /tmp/staptestyotL1A/thirtyfour.p1 PASS: buildok/thirtyfour.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/thirtyfour.p1 PASS: buildok/thirtyfour.stp parse-semok - parsed output is semok PASS: buildok/thirtyone.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp PASS: buildok/thirtyone.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/thirtyone.stp > /tmp/staptestyotL1A/thirtyone.p1 PASS: buildok/thirtyone.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/thirtyone.p1 PASS: buildok/thirtyone.stp parse-semok - parsed output is semok UNTESTED: buildok/thirtythree.stp parse-semok - shell script UNTESTED: buildok/thirtytwo.stp parse-semok - shell script PASS: buildok/three.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/three.stp PASS: buildok/three.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/three.stp > /tmp/staptestyotL1A/three.p1 PASS: buildok/three.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/three.p1 PASS: buildok/three.stp parse-semok - parsed output is semok PASS: buildok/timestamp-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp PASS: buildok/timestamp-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/timestamp-embedded.stp > /tmp/staptestyotL1A/timestamp-embedded.p1 PASS: buildok/timestamp-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/timestamp-embedded.p1 PASS: buildok/timestamp-embedded.stp parse-semok - parsed output is semok PASS: buildok/timestamp_gtod-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp PASS: buildok/timestamp_gtod-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_gtod-embedded.stp > /tmp/staptestyotL1A/timestamp_gtod-embedded.p1 PASS: buildok/timestamp_gtod-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/timestamp_gtod-embedded.p1 PASS: buildok/timestamp_gtod-embedded.stp parse-semok - parsed output is semok PASS: buildok/timestamp_monotonic-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp PASS: buildok/timestamp_monotonic-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/timestamp_monotonic-embedded.stp > /tmp/staptestyotL1A/timestamp_monotonic-embedded.p1 PASS: buildok/timestamp_monotonic-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/timestamp_monotonic-embedded.p1 PASS: buildok/timestamp_monotonic-embedded.stp parse-semok - parsed output is semok PASS: buildok/tty-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tty-detailed.stp semantic error: while processing probe kernel.function("tty_register_device@drivers/tty/tty_io.c:3241") from: tty.register from: tty.register semantic error: failed to retrieve location attribute for 'driver' [man error::dwarf]: identifier '$driver' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:155:37 dieoffset: 0x3da0b36 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: tty_register_device at drivers/tty/tty_io.c:3244 inlined by tty_register_driver at drivers/tty/tty_io.c:3509 source: driver_name = kernel_string_quoted($driver->driver_name) ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/tty-detailed.stp parse-semok - not semok PASS: buildok/tty-resize.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/tty-resize.stp semantic error: while processing probe kernel.function("tiocswinsz@drivers/tty/tty_io.c:2371") from: tty.resize from: tty.resize semantic error: failed to retrieve location attribute for 'tty' [man error::dwarf]: identifier '$tty' at /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp:81:30 dieoffset: 0x3da2c18 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: current_thread_info at ./arch/arm64/include/asm/thread_info.h:83 inlined by copy_from_user at ./arch/arm64/include/asm/uaccess.h:281 inlined by tiocswinsz at drivers/tty/tty_io.c:2374 inlined by tty_ioctl at drivers/tty/tty_io.c:2892 source: name = kernel_string_quoted($tty->name) ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/tty-resize.stp parse-semok - not semok PASS: buildok/twelve.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp PASS: buildok/twelve.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/twelve.stp > /tmp/staptestyotL1A/twelve.p1 PASS: buildok/twelve.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/twelve.p1 PASS: buildok/twelve.stp parse-semok - parsed output is semok PASS: buildok/twenty.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp PASS: buildok/twenty.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/twenty.stp > /tmp/staptestyotL1A/twenty.p1 PASS: buildok/twenty.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/twenty.p1 PASS: buildok/twenty.stp parse-semok - parsed output is semok PASS: buildok/twentyeight.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp PASS: buildok/twentyeight.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/twentyeight.stp > /tmp/staptestyotL1A/twentyeight.p1 PASS: buildok/twentyeight.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/twentyeight.p1 PASS: buildok/twentyeight.stp parse-semok - parsed output is semok PASS: buildok/twentyeightprime.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/buildok/twentyeightprime.stp:3:7 source: probe process(0).statement(0).absolute { log("absolute zero reached") } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/twentyeightprime.stp parse-semok - not semok PASS: buildok/twentyfive.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp PASS: buildok/twentyfive.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/twentyfive.stp > /tmp/staptestyotL1A/twentyfive.p1 PASS: buildok/twentyfive.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/twentyfive.p1 PASS: buildok/twentyfive.stp parse-semok - parsed output is semok PASS: buildok/twentyfour.stp parse-semok - arg parsing Running stap -p2 -w -g /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp PASS: buildok/twentyfour.stp parse-semok - semok Running stap -p1 -w -g /root/systemtap_write/systemtap/testsuite/buildok/twentyfour.stp > /tmp/staptestyotL1A/twentyfour.p1 PASS: buildok/twentyfour.stp parse-semok - parsing Running stap -p2 -w -g /tmp/staptestyotL1A/twentyfour.p1 PASS: buildok/twentyfour.stp parse-semok - parsed output is semok PASS: buildok/twentynine.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp PASS: buildok/twentynine.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/twentynine.stp > /tmp/staptestyotL1A/twentynine.p1 PASS: buildok/twentynine.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/twentynine.p1 PASS: buildok/twentynine.stp parse-semok - parsed output is semok PASS: buildok/twentyone.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp PASS: buildok/twentyone.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/twentyone.stp > /tmp/staptestyotL1A/twentyone.p1 PASS: buildok/twentyone.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/twentyone.p1 PASS: buildok/twentyone.stp parse-semok - parsed output is semok PASS: buildok/twentyseven.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp PASS: buildok/twentyseven.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/twentyseven.stp > /tmp/staptestyotL1A/twentyseven.p1 PASS: buildok/twentyseven.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/twentyseven.p1 PASS: buildok/twentyseven.stp parse-semok - parsed output is semok PASS: buildok/twentythree.stp parse-semok - arg parsing Running stap -p2 -g /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp PASS: buildok/twentythree.stp parse-semok - semok Running stap -p1 -g /root/systemtap_write/systemtap/testsuite/buildok/twentythree.stp > /tmp/staptestyotL1A/twentythree.p1 PASS: buildok/twentythree.stp parse-semok - parsing Running stap -p2 -g /tmp/staptestyotL1A/twentythree.p1 PASS: buildok/twentythree.stp parse-semok - parsed output is semok PASS: buildok/twentytwo.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp PASS: buildok/twentytwo.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/twentytwo.stp > /tmp/staptestyotL1A/twentytwo.p1 PASS: buildok/twentytwo.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/twentytwo.p1 PASS: buildok/twentytwo.stp parse-semok - parsed output is semok UNTESTED: buildok/two.stp parse-semok - shell script PASS: buildok/ucontext-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp PASS: buildok/ucontext-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-embedded.stp > /tmp/staptestyotL1A/ucontext-embedded.p1 PASS: buildok/ucontext-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ucontext-embedded.p1 PASS: buildok/ucontext-embedded.stp parse-semok - parsed output is semok PASS: buildok/ucontext-symbols-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp PASS: buildok/ucontext-symbols-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-symbols-embedded.stp > /tmp/staptestyotL1A/ucontext-symbols-embedded.p1 PASS: buildok/ucontext-symbols-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ucontext-symbols-embedded.p1 PASS: buildok/ucontext-symbols-embedded.stp parse-semok - parsed output is semok PASS: buildok/ucontext-unwind-embedded.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp PASS: buildok/ucontext-unwind-embedded.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/ucontext-unwind-embedded.stp > /tmp/staptestyotL1A/ucontext-unwind-embedded.p1 PASS: buildok/ucontext-unwind-embedded.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/ucontext-unwind-embedded.p1 PASS: buildok/ucontext-unwind-embedded.stp parse-semok - parsed output is semok PASS: buildok/udp-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp PASS: buildok/udp-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/udp-all-probes.stp > /tmp/staptestyotL1A/udp-all-probes.p1 PASS: buildok/udp-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/udp-all-probes.p1 PASS: buildok/udp-all-probes.stp parse-semok - parsed output is semok PASS: buildok/udp-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp PASS: buildok/udp-detailed.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/udp-detailed.stp > /tmp/staptestyotL1A/udp-detailed.p1 PASS: buildok/udp-detailed.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/udp-detailed.p1 PASS: buildok/udp-detailed.stp parse-semok - parsed output is semok PASS: buildok/udp_test.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp PASS: buildok/udp_test.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/udp_test.stp > /tmp/staptestyotL1A/udp_test.p1 PASS: buildok/udp_test.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/udp_test.p1 PASS: buildok/udp_test.stp parse-semok - parsed output is semok PASS: buildok/utrace.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp PASS: buildok/utrace.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/utrace.stp > /tmp/staptestyotL1A/utrace.p1 PASS: buildok/utrace.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/utrace.p1 PASS: buildok/utrace.stp parse-semok - parsed output is semok PASS: buildok/vfs-all-probes.stp parse-semok - arg parsing Running stap -p2 -w /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp PASS: buildok/vfs-all-probes.stp parse-semok - semok Running stap -p1 -w /root/systemtap_write/systemtap/testsuite/buildok/vfs-all-probes.stp > /tmp/staptestyotL1A/vfs-all-probes.p1 PASS: buildok/vfs-all-probes.stp parse-semok - parsing Running stap -p2 -w /tmp/staptestyotL1A/vfs-all-probes.p1 PASS: buildok/vfs-all-probes.stp parse-semok - parsed output is semok PASS: buildok/vfs-detailed.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/vfs-detailed.stp semantic error: while processing probe kernel.function("__block_write_begin@fs/buffer.c:2036") from: _vfs.block_prepare_write from: _vfs.block_prepare_write semantic error: failed to retrieve location attribute for 'page' [man error::dwarf]: identifier '$page' at /root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp:1110:9 dieoffset: 0x19cb94b from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: __block_write_begin at fs/buffer.c:2039 inlined by block_write_begin at fs/buffer.c:2098 source: page = $page ^ Pass 2: analysis failed. [man error::pass2] UNTESTED: buildok/vfs-detailed.stp parse-semok - not semok PASS: buildok/vfs-embedded.stp parse-semok - arg parsing Running stap -p2 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp PASS: buildok/vfs-embedded.stp parse-semok - semok Running stap -p1 --compatible=2.9 /root/systemtap_write/systemtap/testsuite/buildok/vfs-embedded.stp > /tmp/staptestyotL1A/vfs-embedded.p1 PASS: buildok/vfs-embedded.stp parse-semok - parsing Running stap -p2 --compatible=2.9 /tmp/staptestyotL1A/vfs-embedded.p1 PASS: buildok/vfs-embedded.stp parse-semok - parsed output is semok PASS: buildok/xtime.stp parse-semok - arg parsing Running stap -p2 /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp PASS: buildok/xtime.stp parse-semok - semok Running stap -p1 /root/systemtap_write/systemtap/testsuite/buildok/xtime.stp > /tmp/staptestyotL1A/xtime.p1 PASS: buildok/xtime.stp parse-semok - parsing Running stap -p2 /tmp/staptestyotL1A/xtime.p1 PASS: buildok/xtime.stp parse-semok - parsed output is semok testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parse-semok.exp completed in 4210 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parseko.exp ... Running /root/systemtap_write/systemtap/testsuite/parseko/array01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/array01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array01.stp parse error: array size out of range saw: /root/systemtap_write/systemtap/testsuite/parseko/array01.stp EOF 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9686 exp36 0 1 XFAIL: parseko/array01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/array02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/array02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array02.stp parse error: array size out of range saw: /root/systemtap_write/systemtap/testsuite/parseko/array02.stp EOF 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9691 exp36 0 1 XFAIL: parseko/array02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/array03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/array03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array03.stp parse error: only scalar globals can be initialized saw: operator '=' at /root/systemtap_write/systemtap/testsuite/parseko/array03.stp:4:14 source: global a[10] = 42 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9696 exp36 0 1 XFAIL: parseko/array03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/array04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/array04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array04.stp parse error: only scalar globals can be initialized saw: operator '=' at /root/systemtap_write/systemtap/testsuite/parseko/array04.stp:4:14 source: global a[10] = "foobar" ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9701 exp36 0 1 XFAIL: parseko/array04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/array_slicing.stp starting /root/systemtap_write/systemtap/testsuite/parseko/array_slicing.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array_slicing.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/array_slicing.stp parse error: expected literal string or number saw: operator ']' at /root/systemtap_write/systemtap/testsuite/parseko/array_slicing.stp:6:29 source: foreach ([a, b, c] in val[]); ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9706 exp36 0 1 XFAIL: parseko/array_slicing.stp Running /root/systemtap_write/systemtap/testsuite/parseko/at_operators.stp starting /root/systemtap_write/systemtap/testsuite/parseko/at_operators.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/at_operators.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/at_operators.stp parse error: expected identifier or '*' or '{' saw: operator '@hellosailor' at /root/systemtap_write/systemtap/testsuite/parseko/at_operators.stp:4:7 source: probe @hellosailor = begin { } ^ 2 parse errors. Pass 1: parse failed. [man error::pass1] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 9711 exp36 0 1 XFAIL: parseko/at_operators.stp Running /root/systemtap_write/systemtap/testsuite/parseko/autocast01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/autocast01.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/autocast01.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/autocast01.stp parse error: expected @cast, @var or $var saw: operator '(' at :1:19 source: probe begin { ( & (6 * 9) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:25 source: probe begin { ( (6 * 9) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:25 source: probe begin { ( (6 * 9) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:25 source: probe begin { ( (6 * 9) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:25 source: probe begin { ( (6 * 9) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '(' at :1:19 source: probe begin { ( & (6 * 9) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:25 source: probe begin { ( (6 * 9) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: string 'the ultimate answer' at :1:19 source: probe begin { ( & "the ultimate answer" ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:39 source: probe begin { ( "the ultimate answer" ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:39 source: probe begin { ( "the ultimate answer" [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:39 source: probe begin { ( "the ultimate answer" $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:39 source: probe begin { ( "the ultimate answer" $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: string 'the ultimate answer' at :1:19 source: probe begin { ( & "the ultimate answer" ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:39 source: probe begin { ( "the ultimate answer" [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: number '42' at :1:19 source: probe begin { ( & 42 ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:20 source: probe begin { ( 42 ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:20 source: probe begin { ( 42 [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:20 source: probe begin { ( 42 $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:20 source: probe begin { ( 42 $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: number '42' at :1:19 source: probe begin { ( & 42 ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:20 source: probe begin { ( 42 [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: embedded-code at :1:19 source: probe begin { ( & %{ 42 %} ) } ^ parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator ')' at :1:28 source: probe begin { ( & %{ 42 %} ) } ^ 2 parse errors. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:26 source: probe begin { ( %{ 42 %} ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:26 source: probe begin { ( %{ 42 %} [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:26 source: probe begin { ( %{ 42 %} $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:26 source: probe begin { ( %{ 42 %} $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: embedded-code at :1:19 source: probe begin { ( & %{ 42 %} ->member [index] ) } ^ parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '->' at :1:28 source: probe begin { ( & %{ 42 %} ->member [index] ) } ^ 2 parse errors. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:26 source: probe begin { ( %{ 42 %} [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'answer' at :1:19 source: probe begin { ( & answer ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:24 source: probe begin { ( answer ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:24 source: probe begin { ( answer $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:24 source: probe begin { ( answer $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'answer' at :1:19 source: probe begin { ( & answer ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:32 source: probe begin { ( answer [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@max' at :1:19 source: probe begin { ( & @max(answer) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:30 source: probe begin { ( @max(answer) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:30 source: probe begin { ( @max(answer) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:30 source: probe begin { ( @max(answer) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:30 source: probe begin { ( @max(answer) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@max' at :1:19 source: probe begin { ( & @max(answer) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:30 source: probe begin { ( @max(answer) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@defined' at :1:19 source: probe begin { ( & @defined(answer) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:34 source: probe begin { ( @defined(answer) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:34 source: probe begin { ( @defined(answer) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:34 source: probe begin { ( @defined(answer) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:34 source: probe begin { ( @defined(answer) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@defined' at :1:19 source: probe begin { ( & @defined(answer) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:34 source: probe begin { ( @defined(answer) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@entry' at :1:19 source: probe begin { ( & @entry(answer) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:32 source: probe begin { ( @entry(answer) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:32 source: probe begin { ( @entry(answer) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:32 source: probe begin { ( @entry(answer) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:32 source: probe begin { ( @entry(answer) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@entry' at :1:19 source: probe begin { ( & @entry(answer) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:32 source: probe begin { ( @entry(answer) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@perf' at :1:19 source: probe begin { ( & @perf("answer") ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:33 source: probe begin { ( @perf("answer") ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:33 source: probe begin { ( @perf("answer") [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:33 source: probe begin { ( @perf("answer") $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:33 source: probe begin { ( @perf("answer") $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@perf' at :1:19 source: probe begin { ( & @perf("answer") ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:33 source: probe begin { ( @perf("answer") [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'answer' at :1:19 source: probe begin { ( & answer[6,9] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:29 source: probe begin { ( answer[6,9] ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:29 source: probe begin { ( answer[6,9] [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:29 source: probe begin { ( answer[6,9] $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:29 source: probe begin { ( answer[6,9] $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'answer' at :1:19 source: probe begin { ( & answer[6,9] ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:29 source: probe begin { ( answer[6,9] [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@hist_log' at :1:19 source: probe begin { ( & @hist_log(answer)[42] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:39 source: probe begin { ( @hist_log(answer)[42] ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:39 source: probe begin { ( @hist_log(answer)[42] [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:39 source: probe begin { ( @hist_log(answer)[42] $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:39 source: probe begin { ( @hist_log(answer)[42] $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: operator '@hist_log' at :1:19 source: probe begin { ( & @hist_log(answer)[42] ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:39 source: probe begin { ( @hist_log(answer)[42] [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'report' at :1:19 source: probe begin { ( & report(answer) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:32 source: probe begin { ( report(answer) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:32 source: probe begin { ( report(answer) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:32 source: probe begin { ( report(answer) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:32 source: probe begin { ( report(answer) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'report' at :1:19 source: probe begin { ( & report(answer) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:32 source: probe begin { ( report(answer) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'print' at :1:19 source: probe begin { ( & print(answer) ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '->' at :1:31 source: probe begin { ( print(answer) ->member ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:31 source: probe begin { ( print(answer) [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$' at :1:31 source: probe begin { ( print(answer) $ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: identifier '$$' at :1:31 source: probe begin { ( print(answer) $$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected @cast, @var or $var saw: identifier 'print' at :1:19 source: probe begin { ( & print(answer) ->member [index] ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: expected ')' saw: operator '[' at :1:31 source: probe begin { ( print(answer) [index] ->member$ ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] All autocasts failed correctly on stap 2.5 wait results: 9716 exp36 0 1 XFAIL: parseko/autocast01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/autocast02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/autocast02.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/autocast02.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/autocast02.stp parse error: expected ')' saw: operator '[' at /root/systemtap_write/systemtap/testsuite/parseko/autocast02.stp:9:10 source: ( (foo)[1] in bar ) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9900 exp36 0 1 XFAIL: parseko/autocast02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/autocast03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/autocast03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/autocast03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/autocast03.stp parse error: expected ')' saw: operator '->' at /root/systemtap_write/systemtap/testsuite/parseko/autocast03.stp:6:16 source: ( foo in bar -> baz ) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 9906 exp36 0 1 XFAIL: parseko/autocast03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/bad_tapset.stp starting /root/systemtap_write/systemtap/testsuite/parseko/bad_tapset.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/bad_tapset.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/bad_tapset.stp parse error: expected identifier or '*' or '{' saw: operator '.' at /root/systemtap_write/systemtap/testsuite/parseko/bad_tapset/foo.stp:2:13 source: probe foo = .bar {} ^ 1 parse error. WARNING: tapset "/root/systemtap_write/systemtap/testsuite/parseko/bad_tapset/foo.stp" has errors, and will be skipped Pass 1: parse failed. [man error::pass1] wait results: 9911 exp36 0 1 XFAIL: parseko/bad_tapset.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline02.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline02.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline02.stp Invalid buffer size (should be 1-4095). wait results: 9918 exp36 0 1 XFAIL: parseko/cmdline02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline03.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline03.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline03.stp Invalid pass number (should be 1-5). wait results: 9923 exp36 0 1 XFAIL: parseko/cmdline03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline04.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline04.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline04.stp Only one script can be given on the command line. wait results: 9928 exp36 0 1 XFAIL: parseko/cmdline04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline06.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline06.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline06.stp cannot create temporary directory (" /dev/null/BADTMPDIR/stapdRx1Dl "): Not a directory wait results: 9933 exp36 0 1 XFAIL: parseko/cmdline06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline07.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline07.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline07.stp Module name cannot be empty. wait results: 9938 exp36 0 1 XFAIL: parseko/cmdline07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline08.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline08.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline08.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline08.stp ERROR: Safety pattern mismatch for -m parameter ('x^y' vs. '^[a-z0-9_]+$') rc=1 wait results: 9943 exp36 0 1 XFAIL: parseko/cmdline08.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline09.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline09.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline09.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline09.stp ERROR: Module name ('stap_123456789012345678901234567890123456789012345678901234567890') is too long. wait results: 9948 exp36 0 1 XFAIL: parseko/cmdline09.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline10.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline10.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline10.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline10.stp ERROR: Invalid buffer size '0' (should be 1-4095). staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9953 exp36 0 1 XFAIL: parseko/cmdline10.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline11.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline11.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline11.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline11.stp ERROR: You can't specify the '-A' and '-L' options together. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9959 exp36 0 1 XFAIL: parseko/cmdline11.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline12.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline12.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline12.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline12.stp ERROR: You can't specify the '-A' and '-b' options together. The '-b' buffer size option only has an effect when the module is inserted. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9964 exp36 0 1 XFAIL: parseko/cmdline12.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline13.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline13.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline13.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline13.stp ERROR: You can't specify the '-A' and '-c' options together. The '-c cmd' option used to start a command only has an effect when the module is inserted. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9969 exp36 0 1 XFAIL: parseko/cmdline13.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline14.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline14.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline14.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline14.stp ERROR: You can't specify the '-A' and '-x' options together. The '-x pid' option only has an effect when the module is inserted. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9974 exp36 0 1 XFAIL: parseko/cmdline14.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline15.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline15.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline15.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline15.stp You can't specify -c and -x together. Try '--help' for more information. wait results: 9979 exp36 0 1 XFAIL: parseko/cmdline15.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline16.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline16.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline16.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline16.stp ERROR: You can't specify the '-c' and '-x' options together. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9985 exp36 0 1 XFAIL: parseko/cmdline16.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline17.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline17.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline17.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline17.stp ERROR: You can't specify the '-D' and '-L' options together. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9990 exp36 0 1 XFAIL: parseko/cmdline17.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline18.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline18.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline18.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline18.stp ERROR: You can't specify the '-D' and '-d' options together. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 9995 exp36 0 1 XFAIL: parseko/cmdline18.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline19.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline19.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline19.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline19.stp ERROR: You can't specify the '-D' and '-c' options together. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 10000 exp36 0 1 XFAIL: parseko/cmdline19.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline20.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline20.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline20.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline20.stp ERROR: You have to specify output FILE with '-D' option. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 10005 exp36 0 1 XFAIL: parseko/cmdline20.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline21.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline21.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline21.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline21.stp ERROR: You have to specify output FILE with '-S' option. staprun [-v] [-w] [-V] [-h] [-u] [-c cmd ] [-x pid] [-u user] [-A|-L|-d] [-C WHEN] [-b bufsize] [-R] [-r N:URI] [-o FILE [-D] [-S size[,N]]] MODULE [module-options] -v Increase verbosity. -V Print version number and exit. -h Print this help text and exit. -w Suppress warnings. -u Load uprobes.ko -c cmd Command 'cmd' will be run and staprun will exit when it does. The '_stp_target' variable will contain the pid for the command. -x pid Sets the '_stp_target' variable to pid. -N pid Sets the '_stp_namespaces_pid' variable to pid. -o FILE Send output to FILE. This supports strftime(3) formats for FILE. -b buffer size The systemtap module specifies a buffer size. Setting one here will override that value. The value should be an integer between 1 and 4095 which be assumed to be the buffer size in MB. That value will be per-cpu in bulk mode. -L Load module and start probes, then detach. -A Attach to loaded systemtap module. -C WHEN Enable colored errors. WHEN must be either 'auto', 'never', or 'always'. Set to 'auto' by default. -M INTERVAL Enable monitor mode. -d Delete a module. Only detached or unused modules the user has permission to access will be deleted. Use "*" (quoted) to delete all unused modules. -R Have staprun create a new name for the module before inserting it. This allows the same module to be inserted more than once. -r N:URI Pass N:URI data to tapset functions remote_id()/remote_uri(). -D Run in background. This requires '-o' option. -S size[,N] Switches output file to next file when the size of file reaches the specified size. The value should be an integer greater than 1 which is assumed to be the maximum file size in MB. When the number of output files reaches N, it switches to the first output file. You can omit the second argument. -T timeout Specifies upper limit on amount of time reader thread will wait for new full trace buffer. Value should be an integer >= 1, which is timeout value in ms. Default 200ms. -F fd Specifies file descriptor for module relay directory MODULE can be either a module name or a module path. If a module name is used, it is searched in the following directory: /lib/modules/4.8.0-rc1uprobes+/systemtap wait results: 10010 exp36 0 1 XFAIL: parseko/cmdline21.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline22.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline22.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline22.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline22.stp ERROR: Safety pattern mismatch for TMPDIR ('/tmp/stap tmp here' vs. '^[-/._0-9a-z]+$') rc=1 wait results: 10015 exp36 0 1 XFAIL: parseko/cmdline22.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline23.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline23.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline23.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline23.stp Invalid argument 'blah' for --prologue-searching. Invalid argument '' for --prologue-searching. wait results: 10023 exp36 0 1 XFAIL: parseko/cmdline23.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline24.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline24.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline24.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline24.stp Invalid pass number (should be 1-5). wait results: 10029 exp36 0 1 XFAIL: parseko/cmdline24.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline25.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline25.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline25.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline25.stp Cannot specify -i with -l/-L/--dump-* switches. Try '--help' for more information. wait results: 10034 exp36 0 1 XFAIL: parseko/cmdline25.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdline26.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdline26.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/cmdline26.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/cmdline26.stp Cannot specify --monitor with -l/-L/--dump-* switches. Try '--help' for more information. wait results: 10040 exp36 0 1 XFAIL: parseko/cmdline26.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg01.stp parse error: command line argument out of range [1-0] at: junk '' at /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg01.stp:5:9 source: arg = $0 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10046 exp36 0 1 XFAIL: parseko/cmdlinearg01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg02.stp parse error: command line argument out of range [1-0] at: junk '' at /root/systemtap_write/systemtap/testsuite/parseko/cmdlinearg02.stp:5:9 source: arg = $12A3 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10051 exp36 0 1 XFAIL: parseko/cmdlinearg02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/conditional.stp starting /root/systemtap_write/systemtap/testsuite/parseko/conditional.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/conditional.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/conditional.stp parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/conditional.stp:4:24 source: %( 1 == 0 %? print(1) %? print(2) %) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10056 exp36 0 1 XFAIL: parseko/conditional.stp Running /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam01.stp parse error: duplicate parameter names saw: identifier 'y' at /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam01.stp:2:30 source: function f(x:string, y:long, y:long) { ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10061 exp36 0 1 XFAIL: parseko/duplicateparam01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam02.stp parse error: duplicate parameter names saw: identifier 'x' at /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam02.stp:2:15 source: function f(x, x) { ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10066 exp36 0 1 XFAIL: parseko/duplicateparam02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam03.stp parse error: duplicate parameter names saw: identifier 'x' at /root/systemtap_write/systemtap/testsuite/parseko/duplicateparam03.stp:2:30 source: function f(x:string, y:long, x:long) { ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10071 exp36 0 1 XFAIL: parseko/duplicateparam03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/eight.stp starting /root/systemtap_write/systemtap/testsuite/parseko/eight.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/eight.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/eight.stp parse error: expected identifier or statistical operation saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/eight.stp:3:24 source: foreach ([a, b, c] in) ; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10076 exp36 0 1 XFAIL: parseko/eight.stp Running /root/systemtap_write/systemtap/testsuite/parseko/eighteen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/eighteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/eighteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/eighteen.stp parse error: expected identifier saw: number '123' at /root/systemtap_write/systemtap/testsuite/parseko/eighteen.stp:4:8 source: global 123 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10081 exp36 0 1 XFAIL: parseko/eighteen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/expansion.stp starting /root/systemtap_write/systemtap/testsuite/parseko/expansion.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/expansion.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/expansion.stp parse error: '?', '!' or condition must only be specified in suffix at: identifier 'a' at /root/systemtap_write/systemtap/testsuite/parseko/expansion.stp:4:8 source: probe {a!}.{b,c}? {} ^ 2 parse errors. Pass 1: parse failed. [man error::pass1] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 10086 exp36 0 1 XFAIL: parseko/expansion.stp Running /root/systemtap_write/systemtap/testsuite/parseko/fifteen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/fifteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fifteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fifteen.stp parse error: multiple sort directives saw: operator '-' at /root/systemtap_write/systemtap/testsuite/parseko/fifteen.stp:5:17 source: foreach ([x+,y-] in a) {} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10091 exp36 0 1 XFAIL: parseko/fifteen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/fiftyone.stp starting /root/systemtap_write/systemtap/testsuite/parseko/fiftyone.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fiftyone.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fiftyone.stp parse error: expected literal string saw: identifier 'a' at /root/systemtap_write/systemtap/testsuite/parseko/fiftyone.stp:6:38 source: b = "but this is not match" =~ a // rhs must be literal regex ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10096 exp36 0 1 XFAIL: parseko/fiftyone.stp Running /root/systemtap_write/systemtap/testsuite/parseko/five.stp starting /root/systemtap_write/systemtap/testsuite/parseko/five.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/five.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/five.stp parse error: expected literal string or number saw: operator '{' at /root/systemtap_write/systemtap/testsuite/parseko/five.stp:3:12 source: probe foo( { ^ parse error: expected identifier or '*' or '{' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/parseko/five.stp:9:11 source: probe baz.(1) { ^ 5 parse errors. Pass 1: parse failed. [man error::pass1] Number of similar error messages suppressed: 3. Rerun with -v to see them. wait results: 10101 exp36 0 1 XFAIL: parseko/five.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt01.stp parse error: expected '(' saw: identifier 'key' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt01.stp:10:13 source: foreach key in array ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10106 exp36 0 1 XFAIL: parseko/foreachstmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt02.stp parse error: expected identifier saw: operator '*' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt02.stp:10:14 source: foreach (* in array) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10111 exp36 0 1 XFAIL: parseko/foreachstmt02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt03.stp parse error: expected ',' or ']' saw: keyword at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt03.stp:10:19 source: foreach ([key in array) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10116 exp36 0 1 XFAIL: parseko/foreachstmt03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt04.stp parse error: multiple sort directives saw: operator '-' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt04.stp:10:27 source: foreach (key- in array-) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10121 exp36 0 1 XFAIL: parseko/foreachstmt04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt05.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt05.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt05.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt05.stp parse error: expected ')' saw: identifier 'printf' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt05.stp:11:9 source: printf("key %d, value %d\n", key, array[key]) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10126 exp36 0 1 XFAIL: parseko/foreachstmt05.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt06.stp parse error: expected literal string or number saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt06.stp:10:32 source: foreach (key in array limit) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10131 exp36 0 1 XFAIL: parseko/foreachstmt06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt07.stp parse error: expected ')' saw: number '5' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt07.stp:10:27 source: foreach (key in array 5) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10136 exp36 0 1 XFAIL: parseko/foreachstmt07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt08.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt08.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt08.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt08.stp parse error: expected statistical operation saw: operator '@foobar' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt08.stp:5:27 source: foreach (key in array @foobar +) ; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10141 exp36 0 1 XFAIL: parseko/foreachstmt08.stp Running /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt09.stp starting /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt09.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt09.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt09.stp parse error: expected sort directive saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/foreachstmt09.stp:5:31 source: foreach (key in array @sum) ; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10146 exp36 0 1 XFAIL: parseko/foreachstmt09.stp Running /root/systemtap_write/systemtap/testsuite/parseko/forstmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/forstmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt01.stp parse error: expected '(' saw: identifier 'i' at /root/systemtap_write/systemtap/testsuite/parseko/forstmt01.stp:7:9 source: for i = 0; i < 10; i++ ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10151 exp36 0 1 XFAIL: parseko/forstmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/forstmt02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/forstmt02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt02.stp parse error: expected ';' saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/forstmt02.stp:7:15 source: for (i = 0) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10156 exp36 0 1 XFAIL: parseko/forstmt02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/forstmt03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/forstmt03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt03.stp parse error: expected ';' saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/forstmt03.stp:7:22 source: for (i = 0; i < 5) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10161 exp36 0 1 XFAIL: parseko/forstmt03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/forstmt04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/forstmt04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/forstmt04.stp parse error: expected ')' saw: identifier 'j' at /root/systemtap_write/systemtap/testsuite/parseko/forstmt04.stp:8:9 source: j = i ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10166 exp36 0 1 XFAIL: parseko/forstmt04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/four.stp starting /root/systemtap_write/systemtap/testsuite/parseko/four.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/four.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/four.stp parse error: expected identifier or keyword saw: operator '->' at /root/systemtap_write/systemtap/testsuite/parseko/four.stp:4:19 source: somethingawful->->foo = 1; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10171 exp36 0 1 XFAIL: parseko/four.stp Running /root/systemtap_write/systemtap/testsuite/parseko/fourteen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/fourteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fourteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/fourteen.stp parse error: embedded code in unprivileged script; need stap -g saw: embedded-code at /root/systemtap_write/systemtap/testsuite/parseko/fourteen.stp:3:17 source: function zoo () %{ /* invalid embedded code */ %} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10176 exp36 0 1 XFAIL: parseko/fourteen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl01.stp parse error: expected identifier saw: number '123' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl01.stp:4:10 source: function 123 (arg1, arg2) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10181 exp36 0 1 XFAIL: parseko/functiondecl01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl02.stp parse error: expected identifier saw: keyword at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl02.stp:4:10 source: function function (arg1, arg2) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10186 exp36 0 1 XFAIL: parseko/functiondecl02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl03.stp parse error: expected 'string' or 'long' saw: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl03.stp:5:15 source: function decl:foo (arg1, arg2) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10191 exp36 0 1 XFAIL: parseko/functiondecl03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl04.stp parse error: expected '(' saw: operator '{' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl04.stp:5:1 source: { ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10196 exp36 0 1 XFAIL: parseko/functiondecl04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl05.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl05.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl05.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl05.stp parse error: expected identifier saw: operator '*' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl05.stp:4:15 source: function decl(*) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10201 exp36 0 1 XFAIL: parseko/functiondecl05.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl06.stp parse error: expected 'string' or 'long' saw: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl06.stp:4:17 source: function decl(a:foo) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10206 exp36 0 1 XFAIL: parseko/functiondecl06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/functiondecl07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/functiondecl07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/functiondecl07.stp parse error: expected ',' or ')' saw: identifier 'b' at /root/systemtap_write/systemtap/testsuite/parseko/functiondecl07.stp:4:17 source: function decl(a b) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10211 exp36 0 1 XFAIL: parseko/functiondecl07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/ifstmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/ifstmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ifstmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ifstmt01.stp parse error: expected '(' saw: identifier 'a' at /root/systemtap_write/systemtap/testsuite/parseko/ifstmt01.stp:7:8 source: if a == b ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10216 exp36 0 1 XFAIL: parseko/ifstmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/ifstmt02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/ifstmt02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ifstmt02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ifstmt02.stp parse error: expected ')' saw: identifier 'printf' at /root/systemtap_write/systemtap/testsuite/parseko/ifstmt02.stp:8:9 source: printf("in decl\n") ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10221 exp36 0 1 XFAIL: parseko/ifstmt02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros01.stp parse error: expected identifier saw: /root/systemtap_write/systemtap/testsuite/parseko/macros01.stp EOF Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros01.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10226 exp36 0 1 XFAIL: parseko/macros01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros02.stp parse error: expected '%(' or '(' saw: /root/systemtap_write/systemtap/testsuite/parseko/macros02.stp EOF Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros02.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10231 exp36 0 1 XFAIL: parseko/macros02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros03.stp parse error: incomplete macro definition - missing '%)' at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/macros03.stp:3:9 source: @define foo %( ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros03.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10236 exp36 0 1 XFAIL: parseko/macros03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros04.stp parse error: incomplete macro definition - missing '%)' at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/macros04.stp:3:9 source: @define foo %( cheese ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros04.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10241 exp36 0 1 XFAIL: parseko/macros04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros05.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros05.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros05.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros05.stp Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros05.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10246 exp36 0 1 XFAIL: parseko/macros05.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros06.stp parse error: expected '(' in invocation of macro '@foo' taking 1 parameter at: operator '{' at /root/systemtap_write/systemtap/testsuite/parseko/macros06.stp:4:36 source: @define foo(a) %( probe @a %) @foo { print ("Hello World!") } ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros06.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10251 exp36 0 1 XFAIL: parseko/macros06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros07.stp parse error: too many parameters for macro '@foo' (expected 1) at: operator ',' at /root/systemtap_write/systemtap/testsuite/parseko/macros07.stp:4:41 source: @define foo(a) %( probe @a %) @foo(begin,end) { print ("Hello World!") } ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros07.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10256 exp36 0 1 XFAIL: parseko/macros07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp parse error: attempt to redefine '@define' at: identifier 'define' at /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp:4:9 source: @define define %( cheese %) probe begin { print ("Hello, World!") } ^ parse error: expected 'arch', 'kernel_v', 'kernel_vr', 'systemtap_v', 'runtime', 'systemtap_privilege', 'CONFIG_...', or comparison between strings or integers at: identifier 'cheese' at /root/systemtap_write/systemtap/testsuite/parseko/macros08.stp:4:19 source: @define define %( cheese %) probe begin { print ("Hello, World!") } ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/macros08.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10261 exp36 0 1 XFAIL: parseko/macros08.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp parse error: could not find end of macro invocation at: operator '@bar' at /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp:4:19 source: @define foo(a) %( @bar(@a %) ^ in expansion of macro: operator '@foo' at /root/systemtap_write/systemtap/testsuite/parseko/macros09.stp:5:7 source: probe @foo(begin) { print(42) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10266 exp36 0 1 XFAIL: parseko/macros09.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros10.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros10.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros10.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros10.stp parse error: could not find end of macro invocation at: operator '@foo' at /root/systemtap_write/systemtap/testsuite/parseko/macros10.stp:5:7 source: probe @foo(begin { print(42) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10271 exp36 0 1 XFAIL: parseko/macros10.stp Running /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp starting /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp parse error: expected identifier or '*' or '{' saw: operator '@bluff' at /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp:4:19 source: @define bar(b) %( @bluff %) ^ in expansion of macro: operator '@bar' at /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp:5:19 source: @define foo(a) %( @bar(@a) %) ^ in expansion of macro: operator '@foo' at /root/systemtap_write/systemtap/testsuite/parseko/macros11.stp:6:7 source: probe @foo(begin) { print(42) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10276 exp36 0 1 XFAIL: parseko/macros11.stp Running /root/systemtap_write/systemtap/testsuite/parseko/maxactive02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/maxactive02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive02.stp parse error: expected literal string or number saw: identifier 'N' at /root/systemtap_write/systemtap/testsuite/parseko/maxactive02.stp:7:45 source: probe kernel.function("*").return.maxactive(N) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10281 exp36 0 1 XFAIL: parseko/maxactive02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/maxactive03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/maxactive03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive03.stp parse error: expected literal string or number saw: identifier 'four' at /root/systemtap_write/systemtap/testsuite/parseko/maxactive03.stp:7:45 source: probe kernel.function("*").return.maxactive(four()) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10286 exp36 0 1 XFAIL: parseko/maxactive03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/maxactive04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/maxactive04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/maxactive04.stp parse error: expected ')' saw: operator '+' at /root/systemtap_write/systemtap/testsuite/parseko/maxactive04.stp:5:47 source: probe kernel.function("*").return.maxactive(3 + 2) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10291 exp36 0 1 XFAIL: parseko/maxactive04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/nine.stp starting /root/systemtap_write/systemtap/testsuite/parseko/nine.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/nine.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/nine.stp parse error: expected statement saw: /root/systemtap_write/systemtap/testsuite/parseko/nine.stp EOF 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10296 exp36 0 1 XFAIL: parseko/nine.stp Running /root/systemtap_write/systemtap/testsuite/parseko/one.stp starting /root/systemtap_write/systemtap/testsuite/parseko/one.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/one.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/one.stp parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: string 'not a probe' at /root/systemtap_write/systemtap/testsuite/parseko/one.stp:2:1 source: "not a probe" ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10301 exp36 0 1 XFAIL: parseko/one.stp Running /root/systemtap_write/systemtap/testsuite/parseko/perf01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/perf01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/perf01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/perf01.stp parse error: expected literal string saw: number '1' at /root/systemtap_write/systemtap/testsuite/parseko/perf01.stp:8:12 source: y = @perf(1) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10306 exp36 0 1 XFAIL: parseko/perf01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/perf02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/perf02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/perf02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/perf02.stp parse error: expected non-empty string saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/perf02.stp:8:14 source: y = @perf("") ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10311 exp36 0 1 XFAIL: parseko/perf02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp parse error: expected string literal at: number '2' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp:4:16 source: %( kernel_v <= 2.6 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp:4:20 source: %( kernel_v <= 2.6 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess01.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10316 exp36 0 1 XFAIL: parseko/preprocess01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp parse error: expected comparison operator at: operator '*' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp:4:13 source: %( kernel_v * "2.6" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp:4:21 source: %( kernel_v * "2.6" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess02.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10321 exp36 0 1 XFAIL: parseko/preprocess02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp parse error: expected string literal at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp:4:12 source: %( arch == foo %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp:4:16 source: %( arch == foo %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess03.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10326 exp36 0 1 XFAIL: parseko/preprocess03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp parse error: expected '==' or '!=' at: operator '>=' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp:4:9 source: %( arch >= "foo" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp:4:18 source: %( arch >= "foo" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess04.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10331 exp36 0 1 XFAIL: parseko/preprocess04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp parse error: expected 'arch', 'kernel_v', 'kernel_vr', 'systemtap_v', 'runtime', 'systemtap_privilege', 'CONFIG_...', or comparison between strings or integers at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp:4:4 source: %( foo == "2.6" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp:4:17 source: %( foo == "2.6" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess05.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10336 exp36 0 1 XFAIL: parseko/preprocess05.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp parse error: expected '%?' marker for conditional at: operator '%(' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp:4:1 source: %( arch == "2.6" %) ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess06.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10341 exp36 0 1 XFAIL: parseko/preprocess06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp parse error: incomplete condition after '%(' at: operator '%(' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp:4:1 source: %( arch == ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess07.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10346 exp36 0 1 XFAIL: parseko/preprocess07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp parse error: incomplete conditional at end of file at: operator '%(' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp:4:1 source: %( 0 == 0 %? ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess08.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10351 exp36 0 1 XFAIL: parseko/preprocess08.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp parse error: incomplete conditional at end of file at: operator '%(' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp:4:1 source: %( 0 == 1 %? %: ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess08b.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10356 exp36 0 1 XFAIL: parseko/preprocess08b.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp parse error: incomplete conditional at end of file at: operator '%(' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp:4:1 source: %( arch == "2.6" %? probe begin { } %: ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess09.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10361 exp36 0 1 XFAIL: parseko/preprocess09.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp parse error: expected number literal as right value at: string '2' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp:4:10 source: %( $# != "2" %? probe begin { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp:4:14 source: %( $# != "2" %? probe begin { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess10.stp:4:33 source: %( $# != "2" %? probe begin { } %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10366 exp36 0 1 XFAIL: parseko/preprocess10.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp parse error: expected string literal as right value at: number '2' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp:4:10 source: %( @# != 2 %? probe begin { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp:4:12 source: %( @# != 2 %? probe begin { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess11.stp:4:31 source: %( @# != 2 %? probe begin { } %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10373 exp36 0 1 XFAIL: parseko/preprocess11.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess12.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess12.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess12.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess12.stp parse error: command line argument out of range [1-0] at: junk '' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess12.stp:5:34 source: %( $# < 2 %? probe begin { print @1 } %) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10378 exp36 0 1 XFAIL: parseko/preprocess12.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess13.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess13.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/preprocess13.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/preprocess13.stp parse error: invalid nested substitution of command line arguments at: junk '' at :1:1 source: $1 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10383 exp36 0 1 XFAIL: parseko/preprocess13.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp parse error: expected 'arch', 'kernel_v', 'kernel_vr', 'systemtap_v', 'runtime', 'systemtap_privilege', 'CONFIG_...', or comparison between strings or integers at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp:4:21 source: %( arch == "2.6" && %? probe begin() { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp:4:42 source: %( arch == "2.6" && %? probe begin() { } %) ^ Input file '/root/systemtap_write/systemtap/testsuite/parseko/preprocess14.stp' is empty after preprocessing. Pass 1: parse failed. [man error::pass1] wait results: 10389 exp36 0 1 XFAIL: parseko/preprocess14.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp parse error: expected 'arch', 'kernel_v', 'kernel_vr', 'systemtap_v', 'runtime', 'systemtap_privilege', 'CONFIG_...', or comparison between strings or integers at: operator '||' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp:4:21 source: %( arch == "2.6" && || arch == "2.66" %? probe begin() { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp:4:39 source: %( arch == "2.6" && || arch == "2.66" %? probe begin() { } %) ^ parse error: expected literal string or number saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp:4:54 source: %( arch == "2.6" && || arch == "2.66" %? probe begin() { } %) ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess15.stp:4:60 source: %( arch == "2.6" && || arch == "2.66" %? probe begin() { } %) ^ 4 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10394 exp36 0 1 XFAIL: parseko/preprocess15.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess16.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess16.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/preprocess16.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/preprocess16.stp parse error: invalid nested substitution of command line arguments at: junk '' at :1:14 source: probe begin {$1} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10399 exp36 0 1 XFAIL: parseko/preprocess16.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess17.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess17.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/preprocess17.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/preprocess17.stp parse error: expected identifier saw: string 'FAIL' at :1:43 source: global %( systemtap_v >= "1.2" %? PASS %: "FAIL" %) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10405 exp36 0 1 XFAIL: parseko/preprocess17.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp parse error: expected string literal at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp:4:15 source: %( runtime == foo %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp:4:19 source: %( runtime == foo %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess18.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10411 exp36 0 1 XFAIL: parseko/preprocess18.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp parse error: expected '==' or '!=' at: operator '>=' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp:4:12 source: %( runtime >= "foo" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp:4:21 source: %( runtime >= "foo" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess19.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10416 exp36 0 1 XFAIL: parseko/preprocess19.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp parse error: expected 0 or 1 at: operator '==' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp:4:14 source: %( guru_mode == 2 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp:4:19 source: %( guru_mode == 2 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess20.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10421 exp36 0 1 XFAIL: parseko/preprocess20.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp parse error: expected number at: string 'bad' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp:4:17 source: %( guru_mode == "bad" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp:4:23 source: %( guru_mode == "bad" %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess21.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10426 exp36 0 1 XFAIL: parseko/preprocess21.stp Running /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp starting /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp parse error: expected '==' or '!=' at: operator '>=' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp:4:14 source: %( guru_mode >= 0 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%?' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp:4:19 source: %( guru_mode >= 0 %? ^ parse error: incomplete conditional - missing '%(' at: operator '%)' at /root/systemtap_write/systemtap/testsuite/parseko/preprocess22.stp:6:1 source: %) ^ 3 parse errors. Pass 1: parse failed. [man error::pass1] wait results: 10431 exp36 0 1 XFAIL: parseko/preprocess22.stp Running /root/systemtap_write/systemtap/testsuite/parseko/printd01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/printd01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd01.stp parse error: expected literal string saw: number '1' at /root/systemtap_write/systemtap/testsuite/parseko/printd01.stp:5:12 source: printd(1, 2, 3, 4, 5) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10436 exp36 0 1 XFAIL: parseko/printd01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/printd02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/printd02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd02.stp parse error: expected literal string saw: number '1' at /root/systemtap_write/systemtap/testsuite/parseko/printd02.stp:5:14 source: printdln(1, 2, 3, 4, 5) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10441 exp36 0 1 XFAIL: parseko/printd02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/printd03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/printd03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd03.stp parse error: expected literal string or number saw: operator '}' at /root/systemtap_write/systemtap/testsuite/parseko/printd03.stp:6:1 source: } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10446 exp36 0 1 XFAIL: parseko/printd03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/printd04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/printd04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/printd04.stp parse error: expected literal string or number saw: operator '}' at /root/systemtap_write/systemtap/testsuite/parseko/printd04.stp:6:1 source: } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10451 exp36 0 1 XFAIL: parseko/printd04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/private01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/private01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/private01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/private01.stp parse error: global versus private variable declaration conflict saw: identifier 'globalvar' at /root/systemtap_write/systemtap/testsuite/parseko/private01.stp:4:9 source: private globalvar ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10456 exp36 0 1 XFAIL: parseko/private01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint01.stp parse error: expected one of ', { } = +=' saw: identifier 'bar' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint01.stp:4:11 source: probe foo bar ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10461 exp36 0 1 XFAIL: parseko/probepoint01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint02.stp parse error: expected ')' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint02.stp:4:12 source: probe foo(5( ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10466 exp36 0 1 XFAIL: parseko/probepoint02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint03.stp parse error: expected one of ', { } = +=' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint03.stp:4:13 source: probe foo(5)(6) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10471 exp36 0 1 XFAIL: parseko/probepoint03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint04.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint04.stp parse error: expected one of ', { } = +=' saw: operator '?' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint04.stp:4:20 source: probe foo(5) if (1)? ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10476 exp36 0 1 XFAIL: parseko/probepoint04.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint05.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint05.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint05.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint05.stp parse error: expected one of ', { } = +=' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint05.stp:4:20 source: probe foo(5) if (1)(10) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10481 exp36 0 1 XFAIL: parseko/probepoint05.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint06.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint06.stp parse error: expected one of ', { } = +=' saw: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint06.stp:4:14 source: probe if (1) foo(5) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10486 exp36 0 1 XFAIL: parseko/probepoint06.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint07.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint07.stp parse error: expected ')' saw: operator '(' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint07.stp:4:19 source: probe foo(5) if (1( ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10491 exp36 0 1 XFAIL: parseko/probepoint07.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint08.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint08.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint08.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint08.stp parse error: expected '(' saw: /root/systemtap_write/systemtap/testsuite/parseko/probepoint08.stp EOF 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10496 exp36 0 1 XFAIL: parseko/probepoint08.stp Running /root/systemtap_write/systemtap/testsuite/parseko/probepoint09.stp starting /root/systemtap_write/systemtap/testsuite/parseko/probepoint09.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint09.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/probepoint09.stp parse error: expected one of ', { } = +=' saw: identifier 'bar' at /root/systemtap_write/systemtap/testsuite/parseko/probepoint09.stp:4:20 source: probe foo(5) if(1) bar(2) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10501 exp36 0 1 XFAIL: parseko/probepoint09.stp Running /root/systemtap_write/systemtap/testsuite/parseko/procfs01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/procfs01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs01.stp parse error: number invalid or out of range saw: number '0880' at /root/systemtap_write/systemtap/testsuite/parseko/procfs01.stp:3:20 source: probe procfs.umask(0880).write {} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10506 exp36 0 1 XFAIL: parseko/procfs01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/procfs02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/procfs02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs02.stp parse error: number invalid or out of range saw: number '0880' at /root/systemtap_write/systemtap/testsuite/parseko/procfs02.stp:3:20 source: probe procfs.umask(0880).read {} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10511 exp36 0 1 XFAIL: parseko/procfs02.stp Running /root/systemtap_write/systemtap/testsuite/parseko/procfs03.stp starting /root/systemtap_write/systemtap/testsuite/parseko/procfs03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/procfs03.stp parse error: number invalid or out of range saw: number '0888' at /root/systemtap_write/systemtap/testsuite/parseko/procfs03.stp:7:28 source: probe procfs("bar2").umask(0888).read {} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10516 exp36 0 1 XFAIL: parseko/procfs03.stp Running /root/systemtap_write/systemtap/testsuite/parseko/regex_notlit.stp starting /root/systemtap_write/systemtap/testsuite/parseko/regex_notlit.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/regex_notlit.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/regex_notlit.stp parse error: expected literal string saw: identifier 'a' at /root/systemtap_write/systemtap/testsuite/parseko/regex_notlit.stp:6:38 source: b = "but this is not match" =~ a // rhs must be literal regex ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10521 exp36 0 1 XFAIL: parseko/regex_notlit.stp Running /root/systemtap_write/systemtap/testsuite/parseko/seven.stp starting /root/systemtap_write/systemtap/testsuite/parseko/seven.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/seven.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/seven.stp parse error: expected literal string or number saw: operator ']' at /root/systemtap_write/systemtap/testsuite/parseko/seven.stp:4:6 source: [a,] in b; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10526 exp36 0 1 XFAIL: parseko/seven.stp Running /root/systemtap_write/systemtap/testsuite/parseko/seventeen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/seventeen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/seventeen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/seventeen.stp Input file '/root/systemtap_write/systemtap/testsuite/parseko/seventeen.stp' is empty. Pass 1: parse failed. [man error::pass1] wait results: 10531 exp36 0 1 XFAIL: parseko/seventeen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/six.stp starting /root/systemtap_write/systemtap/testsuite/parseko/six.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/six.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/six.stp parse error: number invalid or out of range saw: number '9999999999999999999999999' at /root/systemtap_write/systemtap/testsuite/parseko/six.stp:4:8 source: a = -9999999999999999999999999; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10536 exp36 0 1 XFAIL: parseko/six.stp Running /root/systemtap_write/systemtap/testsuite/parseko/sixteen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/sixteen.stp spawn1 stap -gp1 /root/systemtap_write/systemtap/testsuite/parseko/sixteen.stp spawn stap -gp1 /root/systemtap_write/systemtap/testsuite/parseko/sixteen.stp parse error: Could not find matching '%}' to close embedded function block at: junk '' at /root/systemtap_write/systemtap/testsuite/parseko/sixteen.stp:3:1 source: %{ ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10541 exp36 0 1 XFAIL: parseko/sixteen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/ternarystmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/ternarystmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ternarystmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/ternarystmt01.stp parse error: expected ':' saw: operator '}' at /root/systemtap_write/systemtap/testsuite/parseko/ternarystmt01.stp:8:1 source: } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10546 exp36 0 1 XFAIL: parseko/ternarystmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/thirteen.stp starting /root/systemtap_write/systemtap/testsuite/parseko/thirteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/thirteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/thirteen.stp parse error: embedded code in unprivileged script; need stap -g saw: embedded-code at /root/systemtap_write/systemtap/testsuite/parseko/thirteen.stp:3:1 source: %{ /* embedded code not permitted since -g not supplied */ %} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10551 exp36 0 1 XFAIL: parseko/thirteen.stp Running /root/systemtap_write/systemtap/testsuite/parseko/three.stp starting /root/systemtap_write/systemtap/testsuite/parseko/three.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/three.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/three.stp parse error: expected 'in' saw: operator ')' at /root/systemtap_write/systemtap/testsuite/parseko/three.stp:3:13 source: foreach (a) ; ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10556 exp36 0 1 XFAIL: parseko/three.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twelve.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twelve.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twelve.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twelve.stp parse error: duplicate global name saw: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/twelve.stp:4:8 source: global foo ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10561 exp36 0 1 XFAIL: parseko/twelve.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twenty.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twenty.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twenty.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twenty.stp parse error: found 'return' not in function context saw: keyword at /root/systemtap_write/systemtap/testsuite/parseko/twenty.stp:7:5 source: return ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10566 exp36 0 1 XFAIL: parseko/twenty.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentyeight.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentyeight.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyeight.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyeight.stp parse error: expected literal string saw: operator '/' at /root/systemtap_write/systemtap/testsuite/parseko/twentyeight.stp:4:14 source: foo =~ /this is not the regex syntax fyi at least atm bbq/ ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10571 exp36 0 1 XFAIL: parseko/twentyeight.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentyfive.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentyfive.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyfive.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyfive.stp parse error: expected identifier saw: operator ';' at /root/systemtap_write/systemtap/testsuite/parseko/twentyfive.stp:3:10 source: global a,;b ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10576 exp36 0 1 XFAIL: parseko/twentyfive.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentyfour.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentyfour.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyfour.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyfour.stp parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator ',' at /root/systemtap_write/systemtap/testsuite/parseko/twentyfour.stp:3:10 source: global a;,b ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10581 exp36 0 1 XFAIL: parseko/twentyfour.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentyone.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentyone.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyone.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentyone.stp parse error: unknown operator @foo saw: operator '@foo' at /root/systemtap_write/systemtap/testsuite/parseko/twentyone.stp:8:24 source: printf("foo %d\n", @foo(v)) ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10586 exp36 0 1 XFAIL: parseko/twentyone.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentyseven.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentyseven.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/twentyseven.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/twentyseven.stp parse error: expected ')' saw: string 'open' at :1:83 source: probe kernel.function ("sys_" /* this comment no longer prevents string gluing */ "open") {} ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10591 exp36 0 1 XFAIL: parseko/twentyseven.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentysix.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentysix.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentysix.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentysix.stp parse error: probe point alias name cannot be optional nor sufficient at: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/parseko/twentysix.stp:4:7 source: probe foo ? = begin { } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10597 exp36 0 1 XFAIL: parseko/twentysix.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentythree.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentythree.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseko/twentythree.stp spawn /root/systemtap_write/systemtap/testsuite/parseko/twentythree.stp usage error: tapset file '/root/systemtap_write/install/share/systemtap/tapset/indent.stp' cannot be run directly as a session script. Pass 1: parse failed. [man error::pass1] wait results: 10602 exp36 0 1 XFAIL: parseko/twentythree.stp Running /root/systemtap_write/systemtap/testsuite/parseko/twentytwo.stp starting /root/systemtap_write/systemtap/testsuite/parseko/twentytwo.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentytwo.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/twentytwo.stp parse error: expected one of ', { } = +=' saw: operator '*' at /root/systemtap_write/systemtap/testsuite/parseko/twentytwo.stp:5:9 source: probe a * b { } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10608 exp36 0 1 XFAIL: parseko/twentytwo.stp Running /root/systemtap_write/systemtap/testsuite/parseko/two.stp starting /root/systemtap_write/systemtap/testsuite/parseko/two.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/two.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/two.stp parse error: expected literal string or number saw: operator '}' at /root/systemtap_write/systemtap/testsuite/parseko/two.stp:4:1 source: } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10613 exp36 0 1 XFAIL: parseko/two.stp Running /root/systemtap_write/systemtap/testsuite/parseko/utrace01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/utrace01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/utrace01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/utrace01.stp parse error: expected literal string or number saw: operator '/' at /root/systemtap_write/systemtap/testsuite/parseko/utrace01.stp:4:15 source: probe process(/bin/cat).end { } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10618 exp36 0 1 XFAIL: parseko/utrace01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/var_definition1.stp starting /root/systemtap_write/systemtap/testsuite/parseko/var_definition1.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/var_definition1.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/var_definition1.stp parse error: number invalid or out of range saw: number '0var' at /root/systemtap_write/systemtap/testsuite/parseko/var_definition1.stp:6:2 source: 0var=2015 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10623 exp36 0 1 XFAIL: parseko/var_definition1.stp Running /root/systemtap_write/systemtap/testsuite/parseko/var_definition2.stp starting /root/systemtap_write/systemtap/testsuite/parseko/var_definition2.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/var_definition2.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/var_definition2.stp parse error: number invalid or out of range saw: number '2015a' at /root/systemtap_write/systemtap/testsuite/parseko/var_definition2.stp:6:6 source: var=2015a ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10628 exp36 0 1 XFAIL: parseko/var_definition2.stp Running /root/systemtap_write/systemtap/testsuite/parseko/whilestmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseko/whilestmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/whilestmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/whilestmt01.stp parse error: expected '(' saw: number '0' at /root/systemtap_write/systemtap/testsuite/parseko/whilestmt01.stp:7:11 source: while 0 == 1 ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10633 exp36 0 1 XFAIL: parseko/whilestmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseko/whilestmt02.stp starting /root/systemtap_write/systemtap/testsuite/parseko/whilestmt02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/whilestmt02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseko/whilestmt02.stp parse error: expected ')' saw: identifier 'printf' at /root/systemtap_write/systemtap/testsuite/parseko/whilestmt02.stp:8:9 source: printf("here\n") ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10638 exp36 0 1 XFAIL: parseko/whilestmt02.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parseko.exp completed in 141 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parseok.exp ... Running /root/systemtap_write/systemtap/testsuite/parseok/all_tapsets.stp starting /root/systemtap_write/systemtap/testsuite/parseok/all_tapsets.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/all_tapsets.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/all_tapsets.stp # parse tree dump # file probe begin{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10643 exp36 0 0 PASS: parseok/all_tapsets.stp Running /root/systemtap_write/systemtap/testsuite/parseok/array_slicing.stp starting /root/systemtap_write/systemtap/testsuite/parseok/array_slicing.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/array_slicing.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/array_slicing.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/array_slicing.stp global val probe begin{ (val[1, 2, 3]) = (4); (stats[1, 1]) <<< (1); foreach ([a, b, c] in val[*, *, *]) ;; foreach ([a, b] in stats[*, *] @count+) ;; delete val[*, *, *]; if ([*, *, *] in val) ; ; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10649 exp36 0 0 PASS: parseok/array_slicing.stp Running /root/systemtap_write/systemtap/testsuite/parseok/autocast01.stp starting /root/systemtap_write/systemtap/testsuite/parseok/autocast01.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/autocast01.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/autocast01.stp # parse tree dump # file probe begin{ &((6) * (9)); } probe begin{ ((6) * (9))->member; } probe begin{ ((6) * (9))[index]; } probe begin{ ((6) * (9))->$; } probe begin{ ((6) * (9))->$$; } probe begin{ &((6) * (9))->member[index]; } probe begin{ ((6) * (9))[index]->member->$; } probe begin{ &("the ultimate answer"); } probe begin{ ("the ultimate answer")->member; } probe begin{ ("the ultimate answer")[index]; } probe begin{ ("the ultimate answer")->$; } probe begin{ ("the ultimate answer")->$$; } probe begin{ &("the ultimate answer")->member[index]; } probe begin{ ("the ultimate answer")[index]->member->$; } probe begin{ &(42); } probe begin{ (42)->member; } probe begin{ (42)[index]; } probe begin{ (42)->$; } probe begin{ (42)->$$; } probe begin{ &(42)->member[index]; } probe begin{ (42)[index]->member->$; } probe begin{ &(%{ 42 %}); } probe begin{ (%{ 42 %})->member; } probe begin{ (%{ 42 %})[index]; } probe begin{ (%{ 42 %})->$; } probe begin{ (%{ 42 %})->$$; } probe begin{ &(%{ 42 %})->member[index]; } probe begin{ (%{ 42 %})[index]->member->$; } probe begin{ &(answer); } probe begin{ (answer)->member; } probe begin{ answer[index]; } probe begin{ (answer)->$; } probe begin{ (answer)->$$; } probe begin{ &(answer)->member[index]; } probe begin{ (answer[index])->member->$; } probe begin{ &(@max(answer)); } probe begin{ (@max(answer))->member; } probe begin{ (@max(answer))[index]; } probe begin{ (@max(answer))->$; } probe begin{ (@max(answer))->$$; } probe begin{ &(@max(answer))->member[index]; } probe begin{ (@max(answer))[index]->member->$; } probe begin{ &(@defined(answer)); } probe begin{ (@defined(answer))->member; } probe begin{ (@defined(answer))[index]; } probe begin{ (@defined(answer))->$; } probe begin{ (@defined(answer))->$$; } probe begin{ &(@defined(answer))->member[index]; } probe begin{ (@defined(answer))[index]->member->$; } probe begin{ &(@entry(answer)); } probe begin{ (@entry(answer))->member; } probe begin{ (@entry(answer))[index]; } probe begin{ (@entry(answer))->$; } probe begin{ (@entry(answer))->$$; } probe begin{ &(@entry(answer))->member[index]; } probe begin{ (@entry(answer))[index]->member->$; } probe begin{ &(@perf("answer")); } probe begin{ (@perf("answer"))->member; } probe begin{ (@perf("answer"))[index]; } probe begin{ (@perf("answer"))->$; } probe begin{ (@perf("answer"))->$$; } probe begin{ &(@perf("answer"))->member[index]; } probe begin{ (@perf("answer"))[index]->member->$; } probe begin{ &(answer[6, 9]); } probe begin{ (answer[6, 9])->member; } probe begin{ (answer[6, 9])[index]; } probe begin{ (answer[6, 9])->$; } probe begin{ (answer[6, 9])->$$; } probe begin{ &(answer[6, 9])->member[index]; } probe begin{ (answer[6, 9])[index]->member->$; } probe begin{ &(@hist_log(answer)[42]); } probe begin{ (@hist_log(answer)[42])->member; } probe begin{ (@hist_log(answer)[42])[index]; } probe begin{ (@hist_log(answer)[42])->$; } probe begin{ (@hist_log(answer)[42])->$$; } probe begin{ &(@hist_log(answer)[42])->member[index]; } probe begin{ (@hist_log(answer)[42])[index]->member->$; } probe begin{ &(report(answer)); } probe begin{ (report(answer))->member; } probe begin{ (report(answer))[index]; } probe begin{ (report(answer))->$; } probe begin{ (report(answer))->$$; } probe begin{ &(report(answer))->member[index]; } probe begin{ (report(answer))[index]->member->$; } probe begin{ &(print(answer)); } probe begin{ (print(answer))->member; } probe begin{ (print(answer))[index]; } probe begin{ (print(answer))->$; } probe begin{ (print(answer))->$$; } probe begin{ &(print(answer))->member[index]; } probe begin{ (print(answer))[index]->member->$; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10654 exp36 0 0 PASS: parseok/autocast01.stp Running /root/systemtap_write/systemtap/testsuite/parseok/autocast02.stp starting /root/systemtap_write/systemtap/testsuite/parseok/autocast02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/autocast02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/autocast02.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/autocast02.stp probe begin{ [foo[1]] in bar; [(foo)[1]] in bar; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10661 exp36 0 0 PASS: parseok/autocast02.stp Running /root/systemtap_write/systemtap/testsuite/parseok/autocast03.stp starting /root/systemtap_write/systemtap/testsuite/parseok/autocast03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/autocast03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/autocast03.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/autocast03.stp probe begin{ [&(foo)] in bar; [&(foo)] in bar; &([foo] in bar); [(foo)->baz] in bar; [(foo)->baz] in bar; [(foo)->baz] in bar; ([foo] in bar)->baz; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10666 exp36 0 0 PASS: parseok/autocast03.stp Running /root/systemtap_write/systemtap/testsuite/parseok/bad_tapset.stp starting /root/systemtap_write/systemtap/testsuite/parseok/bad_tapset.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/bad_tapset.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/bad_tapset.stp parse error: expected identifier or '*' or '{' saw: operator '.' at /root/systemtap_write/systemtap/testsuite/parseok/../parseko/bad_tapset/foo.stp:2:13 source: probe foo = .bar {} ^ 1 parse error. WARNING: tapset "/root/systemtap_write/systemtap/testsuite/parseok/../parseko/bad_tapset/foo.stp" has errors, and will be skipped # parse tree dump # file probe begin{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10671 exp36 0 0 PASS: parseok/bad_tapset.stp Running /root/systemtap_write/systemtap/testsuite/parseok/cmdline01.stp starting /root/systemtap_write/systemtap/testsuite/parseok/cmdline01.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/cmdline01.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/cmdline01.stp output version Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE output version and help Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Usage: stap [options] FILE Run script in file. or: stap [options] - Run script on stdin. or: stap [options] -e SCRIPT Run given script. or: stap [options] -l PROBE List matching probes. or: stap [options] -L PROBE List matching probes and local variables. or: stap [options] --dump-probe-types List available probe types. or: stap [options] --dump-probe-aliases List available probe aliases. or: stap [options] --dump-functions List available functions. Options (in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc and on command line): -- end of translator options, script options follow -h --help show help -V --version show version -p NUM stop after pass NUM 1-5, instead of 5 (parse, elaborate, translate, compile, run) -v add verbosity to all passes --vp {N}+ add per-pass verbosity [00000] -k keep temporary directory -u unoptimized translation -w suppress warnings -W turn warnings into errors -g guru mode -P prologue-searching for function probes -b bulk (percpu file) mode -i interactive mode -s NUM buffer size in megabytes, instead of 0 -I DIR look in DIR for additional .stp script files, in addition to /root/systemtap_write/install/share/systemtap/tapset -D NM=VAL emit macro definition into generated C code -B NM=VAL pass option to kbuild make --modinfo NM=VAL include a MODULE_INFO(NM,VAL) in the generated C code -G VAR=VAL set global variable to value -R DIR look in DIR for runtime, instead of /root/systemtap_write/install/share/systemtap/runtime -r DIR cross-compile to kernel with given build tree; or else -r RELEASE cross-compile to kernel /lib/modules/RELEASE/build, instead of /lib/modules/4.8.0-rc1uprobes+/build -a ARCH cross-compile to given architecture, instead of arm64 -m MODULE set probe module name, instead of stap_10683 -o FILE send script output to file, instead of stdout. This supports strftime(3) formats for FILE -E SCRIPT run the SCRIPT in addition to the main script specified through -e or a script file -c CMD start the probes, run CMD, and exit when it finishes -x PID sets target() to PID -F run as on-file flight recorder with -o. run as on-memory flight recorder without -o. -S size[,n] set maximum of the size and the number of files. -d OBJECT add unwind/symbol data for OBJECT file --ldd add unwind/symbol data for referenced user-space objects. --all-modules add unwind/symbol data for all loaded kernel objects. -t collect probe timing information -T TIME terminate the script after TIME seconds -q generate information on tapset coverage --runtime=MODE set the pass-5 runtime mode, instead of kernel --prologue-searching[=WHEN] prologue-searching for function probes --privilege=PRIVILEGE_LEVEL check the script for constructs not allowed at the given privilege level --unprivileged equivalent to --privilege=stapusr --compatible=VERSION suppress incompatible language/tapset changes beyond VERSION, instead of 3.1 --check-version displays warnings where a syntax element may be version dependent --skip-badvars substitute zero for bad context $variables --suppress-handler-errors catch all runtime errors, quietly skip probe handlers --use-server[=SERVER-SPEC] specify systemtap compile-servers --list-servers[=PROPERTIES] report on the status of the specified compile-servers: all,specified,online,trusted,signer,compatible --trust-servers[=TRUST-SPEC] add/revoke trust of specified compile-servers: ssl,signer,all-users,revoke,no-prompt --use-server-on-error[=yes/no] retry compilation using a compile server upon compilation error --remote=HOSTNAME run pass 5 on the specified ssh host. may be repeated for targeting multiple hosts. --remote-prefix prefix each line of remote output with a host index. --tmpdir=NAME specify name of temporary directory to be used. --download-debuginfo[=OPTION] automatically download debuginfo using ABRT. yes,no,ask, --dump-probe-types show a list of available probe types. --sysroot=DIR specify sysroot directory where target files (executables, libraries, etc.) are located. --sysenv=VAR=VALUE provide an alternate value for an environment variable where the value on a remote system differs. Path variables (e.g. PATH, LD_LIBRARY_PATH) are assumed to be relative to the sysroot. --suppress-time-limits disable -DSTP_OVERLOAD, -DMAXACTION, and -DMAXTRYACTION limits --save-uprobes save uprobes.ko to current directory if it is built from source --target-namesapce=PID sets the target namespaces pid to PID --monitor=INTERVAL enables monitor interfaces --interactive interactive mode wait results: 10678 exp36 0 0 PASS: parseok/cmdline01.stp Running /root/systemtap_write/systemtap/testsuite/parseok/cmdline02.stp starting /root/systemtap_write/systemtap/testsuite/parseok/cmdline02.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/cmdline02.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/cmdline02.stp # parse tree dump # file probe begin{ exit(); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/context.stpm # file /root/systemtap_write/install/share/systemtap/tapset/linux/json.stpm # file /root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stpm # file /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stpm # file /root/systemtap_write/install/share/systemtap/tapset/linux/task.stpm # file /root/systemtap_write/install/share/systemtap/tapset/choose_defined.stpm # file /root/systemtap_write/install/share/systemtap/tapset/container_of.stpm # file /root/systemtap_write/install/share/systemtap/tapset/macros.stpm # file /root/systemtap_write/install/share/systemtap/tapset/offsetof.stpm # file /root/systemtap_write/install/share/systemtap/tapset/print_stats.stpm # file /root/systemtap_write/install/share/systemtap/tapset/private30.stpm # file /root/systemtap_write/install/share/systemtap/tapset/sizeof.stpm # file /root/systemtap_write/install/share/systemtap/tapset/try_assign.stpm # file /root/systemtap_write/install/share/systemtap/tapset/type_defined.stpm # file /root/systemtap_write/install/share/systemtap/tapset/linux/arm64/aux_syscalls.stp %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %}function __arch_ptrace_request_str (request) %{ /* pure */ _stp_lookup_str(_stp_arch_ptrace_request_list, (unsigned long)STAP_ARG_request, STAP_RETVALUE, MAXSTRINGLEN); %} function _arch_ptrace_argstr (request, pid, addr, data) { if ((((((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_GETREGS %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_SETREGS %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_SET_SYSCALL %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_GETVFPREGS %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_SETVFPREGS %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_GETHBPREGS %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_SETHBPREGS %}))) return sprintf("%s, %d, %#x, %p", __arch_ptrace_request_str(request), pid, addr, data) ; if ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ COMPAT_PTRACE_GET_THREAD_AREA %})) return sprintf("%s, %d, %d, %p", __arch_ptrace_request_str(request), pid, __int32(addr), data) ; } function _ptrace_return_arch_prctl_addr (request, addr, data) { return 0; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/arm64/syscall_num.stp global __syscall_64_num2name[328] global __syscall_64_name2num[328] probe init{ (__syscall_64_num2name[0]) = ("io_setup"); (__syscall_64_name2num["io_setup"]) = (0); (__syscall_64_num2name[1]) = ("io_destroy"); (__syscall_64_name2num["io_destroy"]) = (1); (__syscall_64_num2name[2]) = ("io_submit"); (__syscall_64_name2num["io_submit"]) = (2); (__syscall_64_num2name[3]) = ("io_cancel"); (__syscall_64_name2num["io_cancel"]) = (3); (__syscall_64_num2name[4]) = ("io_getevents"); (__syscall_64_name2num["io_getevents"]) = (4); (__syscall_64_num2name[5]) = ("setxattr"); (__syscall_64_name2num["setxattr"]) = (5); (__syscall_64_num2name[6]) = ("lsetxattr"); (__syscall_64_name2num["lsetxattr"]) = (6); (__syscall_64_num2name[7]) = ("fsetxattr"); (__syscall_64_name2num["fsetxattr"]) = (7); (__syscall_64_num2name[8]) = ("getxattr"); (__syscall_64_name2num["getxattr"]) = (8); (__syscall_64_num2name[9]) = ("lgetxattr"); (__syscall_64_name2num["lgetxattr"]) = (9); (__syscall_64_num2name[10]) = ("fgetxattr"); (__syscall_64_name2num["fgetxattr"]) = (10); (__syscall_64_num2name[11]) = ("listxattr"); (__syscall_64_name2num["listxattr"]) = (11); (__syscall_64_num2name[12]) = ("llistxattr"); (__syscall_64_name2num["llistxattr"]) = (12); (__syscall_64_num2name[13]) = ("flistxattr"); (__syscall_64_name2num["flistxattr"]) = (13); (__syscall_64_num2name[14]) = ("removexattr"); (__syscall_64_name2num["removexattr"]) = (14); (__syscall_64_num2name[15]) = ("lremovexattr"); (__syscall_64_name2num["lremovexattr"]) = (15); (__syscall_64_num2name[16]) = ("fremovexattr"); (__syscall_64_name2num["fremovexattr"]) = (16); (__syscall_64_num2name[17]) = ("getcwd"); (__syscall_64_name2num["getcwd"]) = (17); (__syscall_64_num2name[18]) = ("lookup_dcookie"); (__syscall_64_name2num["lookup_dcookie"]) = (18); (__syscall_64_num2name[19]) = ("eventfd2"); (__syscall_64_name2num["eventfd2"]) = (19); (__syscall_64_num2name[20]) = ("epoll_create1"); (__syscall_64_name2num["epoll_create1"]) = (20); (__syscall_64_num2name[21]) = ("epoll_ctl"); (__syscall_64_name2num["epoll_ctl"]) = (21); (__syscall_64_num2name[22]) = ("epoll_pwait"); (__syscall_64_name2num["epoll_pwait"]) = (22); (__syscall_64_num2name[23]) = ("dup"); (__syscall_64_name2num["dup"]) = (23); (__syscall_64_num2name[24]) = ("dup3"); (__syscall_64_name2num["dup3"]) = (24); (__syscall_64_num2name[25]) = ("fcntl"); (__syscall_64_name2num["fcntl"]) = (25); (__syscall_64_num2name[26]) = ("inotify_init1"); (__syscall_64_name2num["inotify_init1"]) = (26); (__syscall_64_num2name[27]) = ("inotify_add_watch"); (__syscall_64_name2num["inotify_add_watch"]) = (27); (__syscall_64_num2name[28]) = ("inotify_rm_watch"); (__syscall_64_name2num["inotify_rm_watch"]) = (28); (__syscall_64_num2name[29]) = ("ioctl"); (__syscall_64_name2num["ioctl"]) = (29); (__syscall_64_num2name[30]) = ("ioprio_set"); (__syscall_64_name2num["ioprio_set"]) = (30); (__syscall_64_num2name[31]) = ("ioprio_get"); (__syscall_64_name2num["ioprio_get"]) = (31); (__syscall_64_num2name[32]) = ("flock"); (__syscall_64_name2num["flock"]) = (32); (__syscall_64_num2name[33]) = ("mknodat"); (__syscall_64_name2num["mknodat"]) = (33); (__syscall_64_num2name[34]) = ("mkdirat"); (__syscall_64_name2num["mkdirat"]) = (34); (__syscall_64_num2name[35]) = ("unlinkat"); (__syscall_64_name2num["unlinkat"]) = (35); (__syscall_64_num2name[36]) = ("symlinkat"); (__syscall_64_name2num["symlinkat"]) = (36); (__syscall_64_num2name[37]) = ("linkat"); (__syscall_64_name2num["linkat"]) = (37); (__syscall_64_num2name[38]) = ("renameat"); (__syscall_64_name2num["renameat"]) = (38); (__syscall_64_num2name[39]) = ("umount2"); (__syscall_64_name2num["umount2"]) = (39); (__syscall_64_num2name[40]) = ("mount"); (__syscall_64_name2num["mount"]) = (40); (__syscall_64_num2name[41]) = ("pivot_root"); (__syscall_64_name2num["pivot_root"]) = (41); (__syscall_64_num2name[42]) = ("nfsservctl"); (__syscall_64_name2num["nfsservctl"]) = (42); (__syscall_64_num2name[43]) = ("statfs"); (__syscall_64_name2num["statfs"]) = (43); (__syscall_64_num2name[44]) = ("fstatfs"); (__syscall_64_name2num["fstatfs"]) = (44); (__syscall_64_num2name[45]) = ("truncate"); (__syscall_64_name2num["truncate"]) = (45); (__syscall_64_num2name[46]) = ("ftruncate"); (__syscall_64_name2num["ftruncate"]) = (46); (__syscall_64_num2name[47]) = ("fallocate"); (__syscall_64_name2num["fallocate"]) = (47); (__syscall_64_num2name[48]) = ("faccessat"); (__syscall_64_name2num["faccessat"]) = (48); (__syscall_64_num2name[49]) = ("chdir"); (__syscall_64_name2num["chdir"]) = (49); (__syscall_64_num2name[50]) = ("fchdir"); (__syscall_64_name2num["fchdir"]) = (50); (__syscall_64_num2name[51]) = ("chroot"); (__syscall_64_name2num["chroot"]) = (51); (__syscall_64_num2name[52]) = ("fchmod"); (__syscall_64_name2num["fchmod"]) = (52); (__syscall_64_num2name[53]) = ("fchmodat"); (__syscall_64_name2num["fchmodat"]) = (53); (__syscall_64_num2name[54]) = ("fchownat"); (__syscall_64_name2num["fchownat"]) = (54); (__syscall_64_num2name[55]) = ("fchown"); (__syscall_64_name2num["fchown"]) = (55); (__syscall_64_num2name[56]) = ("openat"); (__syscall_64_name2num["openat"]) = (56); (__syscall_64_num2name[57]) = ("close"); (__syscall_64_name2num["close"]) = (57); (__syscall_64_num2name[58]) = ("vhangup"); (__syscall_64_name2num["vhangup"]) = (58); (__syscall_64_num2name[59]) = ("pipe2"); (__syscall_64_name2num["pipe2"]) = (59); (__syscall_64_num2name[60]) = ("quotactl"); (__syscall_64_name2num["quotactl"]) = (60); (__syscall_64_num2name[61]) = ("getdents64"); (__syscall_64_name2num["getdents64"]) = (61); (__syscall_64_num2name[62]) = ("lseek"); (__syscall_64_name2num["lseek"]) = (62); (__syscall_64_num2name[63]) = ("read"); (__syscall_64_name2num["read"]) = (63); (__syscall_64_num2name[64]) = ("write"); (__syscall_64_name2num["write"]) = (64); (__syscall_64_num2name[65]) = ("readv"); (__syscall_64_name2num["readv"]) = (65); (__syscall_64_num2name[66]) = ("writev"); (__syscall_64_name2num["writev"]) = (66); (__syscall_64_num2name[67]) = ("pread64"); (__syscall_64_name2num["pread64"]) = (67); (__syscall_64_num2name[68]) = ("pwrite64"); (__syscall_64_name2num["pwrite64"]) = (68); (__syscall_64_num2name[69]) = ("preadv"); (__syscall_64_name2num["preadv"]) = (69); (__syscall_64_num2name[70]) = ("pwritev"); (__syscall_64_name2num["pwritev"]) = (70); (__syscall_64_num2name[71]) = ("sendfile"); (__syscall_64_name2num["sendfile"]) = (71); (__syscall_64_num2name[72]) = ("pselect6"); (__syscall_64_name2num["pselect6"]) = (72); (__syscall_64_num2name[73]) = ("ppoll"); (__syscall_64_name2num["ppoll"]) = (73); (__syscall_64_num2name[74]) = ("signalfd4"); (__syscall_64_name2num["signalfd4"]) = (74); (__syscall_64_num2name[75]) = ("vmsplice"); (__syscall_64_name2num["vmsplice"]) = (75); (__syscall_64_num2name[76]) = ("splice"); (__syscall_64_name2num["splice"]) = (76); (__syscall_64_num2name[77]) = ("tee"); (__syscall_64_name2num["tee"]) = (77); (__syscall_64_num2name[78]) = ("readlinkat"); (__syscall_64_name2num["readlinkat"]) = (78); (__syscall_64_num2name[79]) = ("newfstatat"); (__syscall_64_name2num["newfstatat"]) = (79); (__syscall_64_num2name[80]) = ("fstat"); (__syscall_64_name2num["fstat"]) = (80); (__syscall_64_num2name[81]) = ("sync"); (__syscall_64_name2num["sync"]) = (81); (__syscall_64_num2name[82]) = ("fsync"); (__syscall_64_name2num["fsync"]) = (82); (__syscall_64_num2name[83]) = ("fdatasync"); (__syscall_64_name2num["fdatasync"]) = (83); (__syscall_64_num2name[84]) = ("sync_file_range"); (__syscall_64_name2num["sync_file_range"]) = (84); (__syscall_64_num2name[85]) = ("timerfd_create"); (__syscall_64_name2num["timerfd_create"]) = (85); (__syscall_64_num2name[86]) = ("timerfd_settime"); (__syscall_64_name2num["timerfd_settime"]) = (86); (__syscall_64_num2name[87]) = ("timerfd_gettime"); (__syscall_64_name2num["timerfd_gettime"]) = (87); (__syscall_64_num2name[88]) = ("utimensat"); (__syscall_64_name2num["utimensat"]) = (88); (__syscall_64_num2name[89]) = ("acct"); (__syscall_64_name2num["acct"]) = (89); (__syscall_64_num2name[90]) = ("capget"); (__syscall_64_name2num["capget"]) = (90); (__syscall_64_num2name[91]) = ("capset"); (__syscall_64_name2num["capset"]) = (91); (__syscall_64_num2name[92]) = ("personality"); (__syscall_64_name2num["personality"]) = (92); (__syscall_64_num2name[93]) = ("exit"); (__syscall_64_name2num["exit"]) = (93); (__syscall_64_num2name[94]) = ("exit_group"); (__syscall_64_name2num["exit_group"]) = (94); (__syscall_64_num2name[95]) = ("waitid"); (__syscall_64_name2num["waitid"]) = (95); (__syscall_64_num2name[96]) = ("set_tid_address"); (__syscall_64_name2num["set_tid_address"]) = (96); (__syscall_64_num2name[97]) = ("unshare"); (__syscall_64_name2num["unshare"]) = (97); (__syscall_64_num2name[98]) = ("futex"); (__syscall_64_name2num["futex"]) = (98); (__syscall_64_num2name[99]) = ("set_robust_list"); (__syscall_64_name2num["set_robust_list"]) = (99); (__syscall_64_num2name[100]) = ("get_robust_list"); (__syscall_64_name2num["get_robust_list"]) = (100); (__syscall_64_num2name[101]) = ("nanosleep"); (__syscall_64_name2num["nanosleep"]) = (101); (__syscall_64_num2name[102]) = ("getitimer"); (__syscall_64_name2num["getitimer"]) = (102); (__syscall_64_num2name[103]) = ("setitimer"); (__syscall_64_name2num["setitimer"]) = (103); (__syscall_64_num2name[104]) = ("kexec_load"); (__syscall_64_name2num["kexec_load"]) = (104); (__syscall_64_num2name[105]) = ("init_module"); (__syscall_64_name2num["init_module"]) = (105); (__syscall_64_num2name[106]) = ("delete_module"); (__syscall_64_name2num["delete_module"]) = (106); (__syscall_64_num2name[107]) = ("timer_create"); (__syscall_64_name2num["timer_create"]) = (107); (__syscall_64_num2name[108]) = ("timer_gettime"); (__syscall_64_name2num["timer_gettime"]) = (108); (__syscall_64_num2name[109]) = ("timer_getoverrun"); (__syscall_64_name2num["timer_getoverrun"]) = (109); (__syscall_64_num2name[110]) = ("timer_settime"); (__syscall_64_name2num["timer_settime"]) = (110); (__syscall_64_num2name[111]) = ("timer_delete"); (__syscall_64_name2num["timer_delete"]) = (111); (__syscall_64_num2name[112]) = ("clock_settime"); (__syscall_64_name2num["clock_settime"]) = (112); (__syscall_64_num2name[113]) = ("clock_gettime"); (__syscall_64_name2num["clock_gettime"]) = (113); (__syscall_64_num2name[114]) = ("clock_getres"); (__syscall_64_name2num["clock_getres"]) = (114); (__syscall_64_num2name[115]) = ("clock_nanosleep"); (__syscall_64_name2num["clock_nanosleep"]) = (115); (__syscall_64_num2name[116]) = ("syslog"); (__syscall_64_name2num["syslog"]) = (116); (__syscall_64_num2name[117]) = ("ptrace"); (__syscall_64_name2num["ptrace"]) = (117); (__syscall_64_num2name[118]) = ("sched_setparam"); (__syscall_64_name2num["sched_setparam"]) = (118); (__syscall_64_num2name[119]) = ("sched_setscheduler"); (__syscall_64_name2num["sched_setscheduler"]) = (119); (__syscall_64_num2name[120]) = ("sched_getscheduler"); (__syscall_64_name2num["sched_getscheduler"]) = (120); (__syscall_64_num2name[121]) = ("sched_getparam"); (__syscall_64_name2num["sched_getparam"]) = (121); (__syscall_64_num2name[122]) = ("sched_setaffinity"); (__syscall_64_name2num["sched_setaffinity"]) = (122); (__syscall_64_num2name[123]) = ("sched_getaffinity"); (__syscall_64_name2num["sched_getaffinity"]) = (123); (__syscall_64_num2name[124]) = ("sched_yield"); (__syscall_64_name2num["sched_yield"]) = (124); (__syscall_64_num2name[125]) = ("sched_get_priority_max"); (__syscall_64_name2num["sched_get_priority_max"]) = (125); (__syscall_64_num2name[126]) = ("sched_get_priority_min"); (__syscall_64_name2num["sched_get_priority_min"]) = (126); (__syscall_64_num2name[127]) = ("sched_rr_get_interval"); (__syscall_64_name2num["sched_rr_get_interval"]) = (127); (__syscall_64_num2name[128]) = ("restart_syscall"); (__syscall_64_name2num["restart_syscall"]) = (128); (__syscall_64_num2name[129]) = ("kill"); (__syscall_64_name2num["kill"]) = (129); (__syscall_64_num2name[130]) = ("tkill"); (__syscall_64_name2num["tkill"]) = (130); (__syscall_64_num2name[131]) = ("tgkill"); (__syscall_64_name2num["tgkill"]) = (131); (__syscall_64_num2name[132]) = ("sigaltstack"); (__syscall_64_name2num["sigaltstack"]) = (132); (__syscall_64_num2name[133]) = ("rt_sigsuspend"); (__syscall_64_name2num["rt_sigsuspend"]) = (133); (__syscall_64_num2name[134]) = ("rt_sigaction"); (__syscall_64_name2num["rt_sigaction"]) = (134); (__syscall_64_num2name[135]) = ("rt_sigprocmask"); (__syscall_64_name2num["rt_sigprocmask"]) = (135); (__syscall_64_num2name[136]) = ("rt_sigpending"); (__syscall_64_name2num["rt_sigpending"]) = (136); (__syscall_64_num2name[137]) = ("rt_sigtimedwait"); (__syscall_64_name2num["rt_sigtimedwait"]) = (137); (__syscall_64_num2name[138]) = ("rt_sigqueueinfo"); (__syscall_64_name2num["rt_sigqueueinfo"]) = (138); (__syscall_64_num2name[139]) = ("rt_sigreturn"); (__syscall_64_name2num["rt_sigreturn"]) = (139); (__syscall_64_num2name[140]) = ("setpriority"); (__syscall_64_name2num["setpriority"]) = (140); (__syscall_64_num2name[141]) = ("getpriority"); (__syscall_64_name2num["getpriority"]) = (141); (__syscall_64_num2name[142]) = ("reboot"); (__syscall_64_name2num["reboot"]) = (142); (__syscall_64_num2name[143]) = ("setregid"); (__syscall_64_name2num["setregid"]) = (143); (__syscall_64_num2name[144]) = ("setgid"); (__syscall_64_name2num["setgid"]) = (144); (__syscall_64_num2name[145]) = ("setreuid"); (__syscall_64_name2num["setreuid"]) = (145); (__syscall_64_num2name[146]) = ("setuid"); (__syscall_64_name2num["setuid"]) = (146); (__syscall_64_num2name[147]) = ("setresuid"); (__syscall_64_name2num["setresuid"]) = (147); (__syscall_64_num2name[148]) = ("getresuid"); (__syscall_64_name2num["getresuid"]) = (148); (__syscall_64_num2name[149]) = ("setresgid"); (__syscall_64_name2num["setresgid"]) = (149); (__syscall_64_num2name[150]) = ("getresgid"); (__syscall_64_name2num["getresgid"]) = (150); (__syscall_64_num2name[151]) = ("setfsuid"); (__syscall_64_name2num["setfsuid"]) = (151); (__syscall_64_num2name[152]) = ("setfsgid"); (__syscall_64_name2num["setfsgid"]) = (152); (__syscall_64_num2name[153]) = ("times"); (__syscall_64_name2num["times"]) = (153); (__syscall_64_num2name[154]) = ("setpgid"); (__syscall_64_name2num["setpgid"]) = (154); (__syscall_64_num2name[155]) = ("getpgid"); (__syscall_64_name2num["getpgid"]) = (155); (__syscall_64_num2name[156]) = ("getsid"); (__syscall_64_name2num["getsid"]) = (156); (__syscall_64_num2name[157]) = ("setsid"); (__syscall_64_name2num["setsid"]) = (157); (__syscall_64_num2name[158]) = ("getgroups"); (__syscall_64_name2num["getgroups"]) = (158); (__syscall_64_num2name[159]) = ("setgroups"); (__syscall_64_name2num["setgroups"]) = (159); (__syscall_64_num2name[160]) = ("uname"); (__syscall_64_name2num["uname"]) = (160); (__syscall_64_num2name[161]) = ("sethostname"); (__syscall_64_name2num["sethostname"]) = (161); (__syscall_64_num2name[162]) = ("setdomainname"); (__syscall_64_name2num["setdomainname"]) = (162); (__syscall_64_num2name[163]) = ("getrlimit"); (__syscall_64_name2num["getrlimit"]) = (163); (__syscall_64_num2name[164]) = ("setrlimit"); (__syscall_64_name2num["setrlimit"]) = (164); (__syscall_64_num2name[165]) = ("getrusage"); (__syscall_64_name2num["getrusage"]) = (165); (__syscall_64_num2name[166]) = ("umask"); (__syscall_64_name2num["umask"]) = (166); (__syscall_64_num2name[167]) = ("prctl"); (__syscall_64_name2num["prctl"]) = (167); (__syscall_64_num2name[168]) = ("getcpu"); (__syscall_64_name2num["getcpu"]) = (168); (__syscall_64_num2name[169]) = ("gettimeofday"); (__syscall_64_name2num["gettimeofday"]) = (169); (__syscall_64_num2name[170]) = ("settimeofday"); (__syscall_64_name2num["settimeofday"]) = (170); (__syscall_64_num2name[171]) = ("adjtimex"); (__syscall_64_name2num["adjtimex"]) = (171); (__syscall_64_num2name[172]) = ("getpid"); (__syscall_64_name2num["getpid"]) = (172); (__syscall_64_num2name[173]) = ("getppid"); (__syscall_64_name2num["getppid"]) = (173); (__syscall_64_num2name[174]) = ("getuid"); (__syscall_64_name2num["getuid"]) = (174); (__syscall_64_num2name[175]) = ("geteuid"); (__syscall_64_name2num["geteuid"]) = (175); (__syscall_64_num2name[176]) = ("getgid"); (__syscall_64_name2num["getgid"]) = (176); (__syscall_64_num2name[177]) = ("getegid"); (__syscall_64_name2num["getegid"]) = (177); (__syscall_64_num2name[178]) = ("gettid"); (__syscall_64_name2num["gettid"]) = (178); (__syscall_64_num2name[179]) = ("sysinfo"); (__syscall_64_name2num["sysinfo"]) = (179); (__syscall_64_num2name[180]) = ("mq_open"); (__syscall_64_name2num["mq_open"]) = (180); (__syscall_64_num2name[181]) = ("mq_unlink"); (__syscall_64_name2num["mq_unlink"]) = (181); (__syscall_64_num2name[182]) = ("mq_timedsend"); (__syscall_64_name2num["mq_timedsend"]) = (182); (__syscall_64_num2name[183]) = ("mq_timedreceive"); (__syscall_64_name2num["mq_timedreceive"]) = (183); (__syscall_64_num2name[184]) = ("mq_notify"); (__syscall_64_name2num["mq_notify"]) = (184); (__syscall_64_num2name[185]) = ("mq_getsetattr"); (__syscall_64_name2num["mq_getsetattr"]) = (185); (__syscall_64_num2name[186]) = ("msgget"); (__syscall_64_name2num["msgget"]) = (186); (__syscall_64_num2name[187]) = ("msgctl"); (__syscall_64_name2num["msgctl"]) = (187); (__syscall_64_num2name[188]) = ("msgrcv"); (__syscall_64_name2num["msgrcv"]) = (188); (__syscall_64_num2name[189]) = ("msgsnd"); (__syscall_64_name2num["msgsnd"]) = (189); (__syscall_64_num2name[190]) = ("semget"); (__syscall_64_name2num["semget"]) = (190); (__syscall_64_num2name[191]) = ("semctl"); (__syscall_64_name2num["semctl"]) = (191); (__syscall_64_num2name[192]) = ("semtimedop"); (__syscall_64_name2num["semtimedop"]) = (192); (__syscall_64_num2name[193]) = ("semop"); (__syscall_64_name2num["semop"]) = (193); (__syscall_64_num2name[194]) = ("shmget"); (__syscall_64_name2num["shmget"]) = (194); (__syscall_64_num2name[195]) = ("shmctl"); (__syscall_64_name2num["shmctl"]) = (195); (__syscall_64_num2name[196]) = ("shmat"); (__syscall_64_name2num["shmat"]) = (196); (__syscall_64_num2name[197]) = ("shmdt"); (__syscall_64_name2num["shmdt"]) = (197); (__syscall_64_num2name[198]) = ("socket"); (__syscall_64_name2num["socket"]) = (198); (__syscall_64_num2name[199]) = ("socketpair"); (__syscall_64_name2num["socketpair"]) = (199); (__syscall_64_num2name[200]) = ("bind"); (__syscall_64_name2num["bind"]) = (200); (__syscall_64_num2name[201]) = ("listen"); (__syscall_64_name2num["listen"]) = (201); (__syscall_64_num2name[202]) = ("accept"); (__syscall_64_name2num["accept"]) = (202); (__syscall_64_num2name[203]) = ("connect"); (__syscall_64_name2num["connect"]) = (203); (__syscall_64_num2name[204]) = ("getsockname"); (__syscall_64_name2num["getsockname"]) = (204); (__syscall_64_num2name[205]) = ("getpeername"); (__syscall_64_name2num["getpeername"]) = (205); (__syscall_64_num2name[206]) = ("sendto"); (__syscall_64_name2num["sendto"]) = (206); (__syscall_64_num2name[207]) = ("recvfrom"); (__syscall_64_name2num["recvfrom"]) = (207); (__syscall_64_num2name[208]) = ("setsockopt"); (__syscall_64_name2num["setsockopt"]) = (208); (__syscall_64_num2name[209]) = ("getsockopt"); (__syscall_64_name2num["getsockopt"]) = (209); (__syscall_64_num2name[210]) = ("shutdown"); (__syscall_64_name2num["shutdown"]) = (210); (__syscall_64_num2name[211]) = ("sendmsg"); (__syscall_64_name2num["sendmsg"]) = (211); (__syscall_64_num2name[212]) = ("recvmsg"); (__syscall_64_name2num["recvmsg"]) = (212); (__syscall_64_num2name[213]) = ("readahead"); (__syscall_64_name2num["readahead"]) = (213); (__syscall_64_num2name[214]) = ("brk"); (__syscall_64_name2num["brk"]) = (214); (__syscall_64_num2name[215]) = ("munmap"); (__syscall_64_name2num["munmap"]) = (215); (__syscall_64_num2name[216]) = ("mremap"); (__syscall_64_name2num["mremap"]) = (216); (__syscall_64_num2name[217]) = ("add_key"); (__syscall_64_name2num["add_key"]) = (217); (__syscall_64_num2name[218]) = ("request_key"); (__syscall_64_name2num["request_key"]) = (218); (__syscall_64_num2name[219]) = ("keyctl"); (__syscall_64_name2num["keyctl"]) = (219); (__syscall_64_num2name[220]) = ("clone"); (__syscall_64_name2num["clone"]) = (220); (__syscall_64_num2name[221]) = ("execve"); (__syscall_64_name2num["execve"]) = (221); (__syscall_64_num2name[222]) = ("mmap"); (__syscall_64_name2num["mmap"]) = (222); (__syscall_64_num2name[223]) = ("fadvise64"); (__syscall_64_name2num["fadvise64"]) = (223); (__syscall_64_num2name[224]) = ("swapon"); (__syscall_64_name2num["swapon"]) = (224); (__syscall_64_num2name[225]) = ("swapoff"); (__syscall_64_name2num["swapoff"]) = (225); (__syscall_64_num2name[226]) = ("mprotect"); (__syscall_64_name2num["mprotect"]) = (226); (__syscall_64_num2name[227]) = ("msync"); (__syscall_64_name2num["msync"]) = (227); (__syscall_64_num2name[228]) = ("mlock"); (__syscall_64_name2num["mlock"]) = (228); (__syscall_64_num2name[229]) = ("munlock"); (__syscall_64_name2num["munlock"]) = (229); (__syscall_64_num2name[230]) = ("mlockall"); (__syscall_64_name2num["mlockall"]) = (230); (__syscall_64_num2name[231]) = ("munlockall"); (__syscall_64_name2num["munlockall"]) = (231); (__syscall_64_num2name[232]) = ("mincore"); (__syscall_64_name2num["mincore"]) = (232); (__syscall_64_num2name[233]) = ("madvise"); (__syscall_64_name2num["madvise"]) = (233); (__syscall_64_num2name[234]) = ("remap_file_pages"); (__syscall_64_name2num["remap_file_pages"]) = (234); (__syscall_64_num2name[235]) = ("mbind"); (__syscall_64_name2num["mbind"]) = (235); (__syscall_64_num2name[236]) = ("get_mempolicy"); (__syscall_64_name2num["get_mempolicy"]) = (236); (__syscall_64_num2name[237]) = ("set_mempolicy"); (__syscall_64_name2num["set_mempolicy"]) = (237); (__syscall_64_num2name[238]) = ("migrate_pages"); (__syscall_64_name2num["migrate_pages"]) = (238); (__syscall_64_num2name[239]) = ("move_pages"); (__syscall_64_name2num["move_pages"]) = (239); (__syscall_64_num2name[240]) = ("rt_tgsigqueueinfo"); (__syscall_64_name2num["rt_tgsigqueueinfo"]) = (240); (__syscall_64_num2name[241]) = ("perf_event_open"); (__syscall_64_name2num["perf_event_open"]) = (241); (__syscall_64_num2name[242]) = ("accept4"); (__syscall_64_name2num["accept4"]) = (242); (__syscall_64_num2name[243]) = ("recvmmsg"); (__syscall_64_name2num["recvmmsg"]) = (243); (__syscall_64_num2name[260]) = ("wait4"); (__syscall_64_name2num["wait4"]) = (260); (__syscall_64_num2name[261]) = ("prlimit64"); (__syscall_64_name2num["prlimit64"]) = (261); (__syscall_64_num2name[262]) = ("fanotify_init"); (__syscall_64_name2num["fanotify_init"]) = (262); (__syscall_64_num2name[263]) = ("fanotify_mark"); (__syscall_64_name2num["fanotify_mark"]) = (263); (__syscall_64_num2name[264]) = ("name_to_handle_at"); (__syscall_64_name2num["name_to_handle_at"]) = (264); (__syscall_64_num2name[265]) = ("open_by_handle_at"); (__syscall_64_name2num["open_by_handle_at"]) = (265); (__syscall_64_num2name[266]) = ("clock_adjtime"); (__syscall_64_name2num["clock_adjtime"]) = (266); (__syscall_64_num2name[267]) = ("syncfs"); (__syscall_64_name2num["syncfs"]) = (267); (__syscall_64_num2name[268]) = ("setns"); (__syscall_64_name2num["setns"]) = (268); (__syscall_64_num2name[269]) = ("sendmmsg"); (__syscall_64_name2num["sendmmsg"]) = (269); (__syscall_64_num2name[270]) = ("process_vm_readv"); (__syscall_64_name2num["process_vm_readv"]) = (270); (__syscall_64_num2name[271]) = ("process_vm_writev"); (__syscall_64_name2num["process_vm_writev"]) = (271); (__syscall_64_num2name[272]) = ("kcmp"); (__syscall_64_name2num["kcmp"]) = (272); (__syscall_64_num2name[273]) = ("finit_module"); (__syscall_64_name2num["finit_module"]) = (273); (__syscall_64_num2name[274]) = ("sched_setattr"); (__syscall_64_name2num["sched_setattr"]) = (274); (__syscall_64_num2name[275]) = ("sched_getattr"); (__syscall_64_name2num["sched_getattr"]) = (275); (__syscall_64_num2name[276]) = ("renameat2"); (__syscall_64_name2num["renameat2"]) = (276); (__syscall_64_num2name[277]) = ("seccomp"); (__syscall_64_name2num["seccomp"]) = (277); (__syscall_64_num2name[278]) = ("getrandom"); (__syscall_64_name2num["getrandom"]) = (278); (__syscall_64_num2name[279]) = ("memfd_create"); (__syscall_64_name2num["memfd_create"]) = (279); (__syscall_64_num2name[280]) = ("bpf"); (__syscall_64_name2num["bpf"]) = (280); (__syscall_64_num2name[281]) = ("execveat"); (__syscall_64_name2num["execveat"]) = (281); (__syscall_64_num2name[282]) = ("userfaultfd"); (__syscall_64_name2num["userfaultfd"]) = (282); (__syscall_64_num2name[283]) = ("membarrier"); (__syscall_64_name2num["membarrier"]) = (283); (__syscall_64_num2name[284]) = ("mlock2"); (__syscall_64_name2num["mlock2"]) = (284); (__syscall_64_num2name[285]) = ("copy_file_range"); (__syscall_64_name2num["copy_file_range"]) = (285); (__syscall_64_num2name[286]) = ("preadv2"); (__syscall_64_name2num["preadv2"]) = (286); (__syscall_64_num2name[287]) = ("pwritev2"); (__syscall_64_name2num["pwritev2"]) = (287); (__syscall_64_num2name[1024]) = ("open"); (__syscall_64_name2num["open"]) = (1024); (__syscall_64_num2name[1025]) = ("link"); (__syscall_64_name2num["link"]) = (1025); (__syscall_64_num2name[1026]) = ("unlink"); (__syscall_64_name2num["unlink"]) = (1026); (__syscall_64_num2name[1027]) = ("mknod"); (__syscall_64_name2num["mknod"]) = (1027); (__syscall_64_num2name[1028]) = ("chmod"); (__syscall_64_name2num["chmod"]) = (1028); (__syscall_64_num2name[1029]) = ("chown"); (__syscall_64_name2num["chown"]) = (1029); (__syscall_64_num2name[1030]) = ("mkdir"); (__syscall_64_name2num["mkdir"]) = (1030); (__syscall_64_num2name[1031]) = ("rmdir"); (__syscall_64_name2num["rmdir"]) = (1031); (__syscall_64_num2name[1032]) = ("lchown"); (__syscall_64_name2num["lchown"]) = (1032); (__syscall_64_num2name[1033]) = ("access"); (__syscall_64_name2num["access"]) = (1033); (__syscall_64_num2name[1034]) = ("rename"); (__syscall_64_name2num["rename"]) = (1034); (__syscall_64_num2name[1035]) = ("readlink"); (__syscall_64_name2num["readlink"]) = (1035); (__syscall_64_num2name[1036]) = ("symlink"); (__syscall_64_name2num["symlink"]) = (1036); (__syscall_64_num2name[1037]) = ("utimes"); (__syscall_64_name2num["utimes"]) = (1037); (__syscall_64_num2name[1038]) = ("stat"); (__syscall_64_name2num["stat"]) = (1038); (__syscall_64_num2name[1039]) = ("lstat"); (__syscall_64_name2num["lstat"]) = (1039); (__syscall_64_num2name[1040]) = ("pipe"); (__syscall_64_name2num["pipe"]) = (1040); (__syscall_64_num2name[1041]) = ("dup2"); (__syscall_64_name2num["dup2"]) = (1041); (__syscall_64_num2name[1042]) = ("epoll_create"); (__syscall_64_name2num["epoll_create"]) = (1042); (__syscall_64_num2name[1043]) = ("inotify_init"); (__syscall_64_name2num["inotify_init"]) = (1043); (__syscall_64_num2name[1044]) = ("eventfd"); (__syscall_64_name2num["eventfd"]) = (1044); (__syscall_64_num2name[1045]) = ("signalfd"); (__syscall_64_name2num["signalfd"]) = (1045); (__syscall_64_num2name[1046]) = ("sendfile"); (__syscall_64_name2num["sendfile"]) = (1046); (__syscall_64_num2name[1047]) = ("ftruncate"); (__syscall_64_name2num["ftruncate"]) = (1047); (__syscall_64_num2name[1048]) = ("truncate"); (__syscall_64_name2num["truncate"]) = (1048); (__syscall_64_num2name[1049]) = ("stat"); (__syscall_64_name2num["stat"]) = (1049); (__syscall_64_num2name[1050]) = ("lstat"); (__syscall_64_name2num["lstat"]) = (1050); (__syscall_64_num2name[1051]) = ("fstat"); (__syscall_64_name2num["fstat"]) = (1051); (__syscall_64_num2name[1052]) = ("fcntl"); (__syscall_64_name2num["fcntl"]) = (1052); (__syscall_64_num2name[1053]) = ("fadvise64"); (__syscall_64_name2num["fadvise64"]) = (1053); (__syscall_64_num2name[1054]) = ("newfstatat"); (__syscall_64_name2num["newfstatat"]) = (1054); (__syscall_64_num2name[1055]) = ("fstatfs"); (__syscall_64_name2num["fstatfs"]) = (1055); (__syscall_64_num2name[1056]) = ("statfs"); (__syscall_64_name2num["statfs"]) = (1056); (__syscall_64_num2name[1057]) = ("lseek"); (__syscall_64_name2num["lseek"]) = (1057); (__syscall_64_num2name[1058]) = ("mmap"); (__syscall_64_name2num["mmap"]) = (1058); (__syscall_64_num2name[1059]) = ("alarm"); (__syscall_64_name2num["alarm"]) = (1059); (__syscall_64_num2name[1060]) = ("getpgrp"); (__syscall_64_name2num["getpgrp"]) = (1060); (__syscall_64_num2name[1061]) = ("pause"); (__syscall_64_name2num["pause"]) = (1061); (__syscall_64_num2name[1062]) = ("time"); (__syscall_64_name2num["time"]) = (1062); (__syscall_64_num2name[1063]) = ("utime"); (__syscall_64_name2num["utime"]) = (1063); (__syscall_64_num2name[1064]) = ("creat"); (__syscall_64_name2num["creat"]) = (1064); (__syscall_64_num2name[1065]) = ("getdents"); (__syscall_64_name2num["getdents"]) = (1065); (__syscall_64_num2name[1066]) = ("futimesat"); (__syscall_64_name2num["futimesat"]) = (1066); (__syscall_64_num2name[1067]) = ("select"); (__syscall_64_name2num["select"]) = (1067); (__syscall_64_num2name[1068]) = ("poll"); (__syscall_64_name2num["poll"]) = (1068); (__syscall_64_num2name[1069]) = ("epoll_wait"); (__syscall_64_name2num["epoll_wait"]) = (1069); (__syscall_64_num2name[1070]) = ("ustat"); (__syscall_64_name2num["ustat"]) = (1070); (__syscall_64_num2name[1071]) = ("vfork"); (__syscall_64_name2num["vfork"]) = (1071); (__syscall_64_num2name[1072]) = ("wait4"); (__syscall_64_name2num["wait4"]) = (1072); (__syscall_64_num2name[1073]) = ("recv"); (__syscall_64_name2num["recv"]) = (1073); (__syscall_64_num2name[1074]) = ("send"); (__syscall_64_name2num["send"]) = (1074); (__syscall_64_num2name[1075]) = ("bdflush"); (__syscall_64_name2num["bdflush"]) = (1075); (__syscall_64_num2name[1076]) = ("umount"); (__syscall_64_name2num["umount"]) = (1076); (__syscall_64_num2name[1077]) = ("uselib"); (__syscall_64_name2num["uselib"]) = (1077); (__syscall_64_num2name[1078]) = ("sysctl"); (__syscall_64_name2num["sysctl"]) = (1078); (__syscall_64_num2name[1079]) = ("fork"); (__syscall_64_name2num["fork"]) = (1079); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp function atomic_read (addr) %{ /* pure */ atomic_t *a = (atomic_t *)(long)STAP_ARG_addr; /* We call deref() here to ensure the memory is valid to read. * Note the result is thrown away, then we use the "real" * atomic read function now that we know the address is safe. */ (void)kderef(sizeof(*a), a); STAP_RETVALUE = atomic_read(a); CATCH_DEREF_FAULT(); %} function atomic_long_read (addr) %{ /* pure */ #ifdef ATOMIC_LONG_INIT atomic_long_t *a = (atomic_long_t *)(long)STAP_ARG_addr; /* We call deref() here to ensure the memory is valid to read. * Note the result is thrown away, then we use the "real" * atomic read function now that we know the address is safe. */ (void)kderef(sizeof(*a), a); STAP_RETVALUE = atomic_long_read(a); CATCH_DEREF_FAULT(); #endif %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %}%{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %}%{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %}%{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %}%{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %}%{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %}%{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %}%{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %}%{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %}%{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %}%{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %}%{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %}%{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %}%{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %}%{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %}%{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %}%{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %}%{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %}%{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %}%{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %}%{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %}%{ #include %}%{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %}%{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %}%{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %}%{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %}%{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %}%{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %}%{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %}%{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %}%{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %}%{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %}%{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %}%{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %}%{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %}%{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %}%{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %}%{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %}%{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %}%{ #include %}%{ #include %}%{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %}%{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %}%{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %}%{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %}%{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %}%{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %}%{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %}%{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %}%{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %}function _stp_syscall_nr () %{ /* pure */ struct pt_regs *regs = _stp_current_pt_regs(); if (!regs) { CONTEXT->last_error = ("Cannot access syscall number" " (no registers available)"); return; } STAP_RETVALUE = _stp_syscall_get_nr(current, regs); %} function _struct_timeval_u (uaddr, n) %{ /* pure */ int n = (int)STAP_ARG_n; struct timeval tv[n]; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL || n < 1 || n > 2) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&tv, ptr, n*sizeof(struct timeval)) == 0) { if (n == 2) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%ld.%06ld][%ld.%.06ld]", tv[0].tv_sec, tv[0].tv_usec, tv[1].tv_sec, tv[1].tv_usec); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%ld.%06ld]", tv[0].tv_sec, tv[0].tv_usec); } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } %} function _struct_compat_timeval_u (uaddr, n) %{ /* pure */ #ifdef CONFIG_COMPAT int n = (int)STAP_ARG_n; struct compat_timeval tv[n]; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL || n < 1 || n > 2) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&tv, ptr, n*sizeof(struct compat_timeval)) == 0) { if (n == 2) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%ld.%06ld][%ld.%.06ld]", (long)tv[0].tv_sec, (long)tv[0].tv_usec, (long)tv[1].tv_sec, (long)tv[1].tv_usec); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%ld.%06ld]", (long)tv[0].tv_sec, (long)tv[0].tv_usec); } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } #endif %} function _struct_timezone_u (uaddr) %{ /* pure */ struct timezone tz; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&tz, ptr, sizeof(struct timezone)) == 0) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%d, %d]", tz.tz_minuteswest, tz.tz_dsttime); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } %} function _stp_clock_nanosleep_flags_str (flags) %{ /* pure */ /* unprivileged */ static const _stp_val_array const nanosleep_flags_list[] = { V(TIMER_ABSTIME), {0, NULL} }; _stp_lookup_str(nanosleep_flags_list, (unsigned int)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _struct_utimbuf_actime (uaddr) %{ /* pure */ struct utimbuf ubuf; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) STAP_RETVALUE = 0; else if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) STAP_RETVALUE = ubuf.actime; else STAP_RETVALUE = 0; %} function _struct_utimbuf_modtime (uaddr) %{ /* pure */ struct utimbuf ubuf; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) STAP_RETVALUE = 0; else if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) STAP_RETVALUE = ubuf.modtime; else STAP_RETVALUE = 0; %} function _struct_compat_utimbuf_actime (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT struct compat_utimbuf ubuf; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) STAP_RETVALUE = 0; else if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) STAP_RETVALUE = ubuf.actime; else STAP_RETVALUE = 0; #endif %} function _struct_compat_utimbuf_modtime (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT struct compat_utimbuf ubuf; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) STAP_RETVALUE = 0; else if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) STAP_RETVALUE = ubuf.modtime; else STAP_RETVALUE = 0; #endif %} function _struct_timespec_u (uaddr, n) %{ /* pure */ #define STP_UTIME_NOW ((1l << 30) - 1l) #define STP_UTIME_OMIT ((1l << 30) - 2l) int n = (int)STAP_ARG_n; struct timespec ts[n]; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL || n < 1 || n > 2) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char *)&ts, ptr, n*sizeof(struct timespec))) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } else { char *str; int len, i = 0; ptr = STAP_RETVALUE; while (i < n) { str = NULL; if (ts[i].tv_nsec == STP_UTIME_NOW) str = "UTIME_NOW"; else if (ts[i].tv_nsec == STP_UTIME_OMIT) str = "UTIME_OMIT"; if (str) len = snprintf(ptr, MAXSTRINGLEN, "[%s]", str); else len = snprintf(ptr, MAXSTRINGLEN, "[%ld.%09ld]", (long)ts[i].tv_sec, ts[i].tv_nsec); ptr += len; i++; } } } #undef STP_UTIME_NOW #undef STP_UTIME_OMIT %} function _struct_compat_timespec_u (uaddr, n) %{ /* pure */ #ifdef CONFIG_COMPAT #define STP_UTIME_NOW ((1l << 30) - 1l) #define STP_UTIME_OMIT ((1l << 30) - 2l) int n = (int)STAP_ARG_n; struct compat_timespec ts[n]; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL || n < 1 || n > 2) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char *)&ts, ptr, n*sizeof(struct compat_timespec))) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } else { char *str; int len, i = 0; ptr = STAP_RETVALUE; while (i < n) { str = NULL; if (ts[i].tv_nsec == STP_UTIME_NOW) str = "UTIME_NOW"; else if (ts[i].tv_nsec == STP_UTIME_OMIT) str = "UTIME_OMIT"; if (str) len = snprintf(ptr, MAXSTRINGLEN, "[%s]", str); else len = snprintf(ptr, MAXSTRINGLEN, "[%ld.%09ld]", (long)ts[i].tv_sec, (long)ts[i].tv_nsec); ptr += len; i++; } } } #undef STP_UTIME_NOW #undef STP_UTIME_OMIT #endif %} function _struct_itimerspec_u (uaddr) %{ /* pure */ struct itimerspec its; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec))) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", (int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec, (int)its.it_value.tv_sec, (int)its.it_value.tv_nsec); } %} function _struct_compat_itimerspec_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT struct compat_itimerspec its; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char *)&its, ptr, sizeof(its))) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", (int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec, (int)its.it_value.tv_sec, (int)its.it_value.tv_nsec); } #endif %} function _struct_itimerval_u (uaddr) %{ /* pure */ struct itimerval itv; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct itimerval))) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", (int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec, (int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec); } %} function _struct_compat_itimerval_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT struct compat_itimerval itv; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct compat_itimerval))) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", (int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec, (int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec); } #endif %} function _struct_sockaddr_u_ip_addr (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_IP_ADDR %}); } function _struct_sockaddr_u_tcp_port (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_TCP_PORT %}); } function _struct_sockaddr_u_ip_addr_tcp_port (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, (%{ /* pure */ /* unprivileged */ /* stable */ SA_IP_ADDR %}) | (%{ /* pure */ /* unprivileged */ /* stable */ SA_TCP_PORT %})); } function _struct_sockaddr_u_sa_family (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_FAMILY %}); } function _struct_sockaddr_u_ipv6_flowinfo (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_IPV6_FLOWINFO %}); } function _struct_sockaddr_u_ipv6_scope_id (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_IPV6_SCOPE_ID %}); } function _struct_sockaddr_u (uaddr, len) { return _struct_sockaddr_u_impl(uaddr, len, %{ /* pure */ /* unprivileged */ /* stable */ SA_PRETTY %}); } function _struct_sockaddr_u_impl (uaddr, len, what) %{ /* pure */ #include #include #include #include sa_dispatch what = (sa_dispatch)STAP_ARG_what; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; size_t len = clamp_t(size_t, STAP_ARG_len, 0, 128); struct sockaddr *sa = (struct sockaddr *)CONTEXT->buf; char *stap_retvalue = (char *)(unsigned long)STAP_RETVALUE; int maxstringlen = MAXSTRINGLEN; size_t n; if (ptr == NULL) { strlcpy(STAP_RETVALUE, "NULL", MAXSTRINGLEN); return; } // This helps handle variable lenght sockaddr_un. // Some application - like systemd - sends path string // without ending null character. Kernel will handle this // but we need pretty output without random memory stuff. memset(CONTEXT->buf, 0, 128); if (_stp_copy_from_user(CONTEXT->buf, ptr, len)) { strlcpy(STAP_RETVALUE, "{...}", MAXSTRINGLEN); return; } #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) #define LPORT (inet->inet.num) #define DADDR (&inet->inet.daddr) #else #define LPORT (inet->num) #define DADDR (&inet->daddr) #endif // Use kernel builtin instead of picking up user space ntohs (function). #define _stp_ntohs be16_to_cpu if ((sa->sa_family == AF_INET) && (len == sizeof(struct sockaddr_in))) { struct sockaddr_in *sin = (struct sockaddr_in *)CONTEXT->buf; if (what & SA_PRETTY) { #ifndef NIPQUAD_FMT // kver >= 2.6.36 snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_INET, %pI4, %d}", &sin->sin_addr, _stp_ntohs(sin->sin_port)); #else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_INET, " NIPQUAD_FMT ", %d}", NIPQUAD(sin->sin_addr), _stp_ntohs(sin->sin_port)); #endif return; } if (what & SA_FAMILY) { n = strlcpy(stap_retvalue, "AF_INET", maxstringlen); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_IP_ADDR) { #ifndef NIPQUAD_FMT // kver >= 2.6.36 n = snprintf(stap_retvalue, maxstringlen, "%pI4", &sin->sin_addr); #else n = snprintf(stap_retvalue, maxstringlen, NIPQUAD_FMT, NIPQUAD(sin->sin_addr)); #endif // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_TCP_PORT) { n = snprintf(stap_retvalue, maxstringlen, "%d", _stp_ntohs(sin->sin_port)); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } } // Why 2 * sizeof (char) here? // Because I want to support abstract sockets with // at least one usable byte after initial \0 char. // Unnamed sockets aren't supported yet. else if ((sa->sa_family == AF_UNIX) && ((len == sizeof(struct sockaddr_un)) || (len >= ((sizeof(sa_family_t)) + (2 * sizeof(char)))))) { struct sockaddr_un *sun = (struct sockaddr_un *)CONTEXT->buf; if (what & SA_PRETTY) { // Support for abstract sockets if (sun->sun_path[0] == '\0') { // Abstract sockets aren't string oriented. // We need conversion on this place. // No check of ret value, because _stp_text_str returns // "" if bad things happen. _stp_text_str(CONTEXT->out_str, &sun->sun_path[1], len - sizeof(sa_family_t), MAXSTRINGLEN - 1, 0, 0, 1); snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_UNIX, \"\\000%s\"}", CONTEXT->out_str); } else { // Just cut path if is too long CONTEXT->buf[127] = '\0'; snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_UNIX, \"%s\"}", sun->sun_path); } } else if (what & SA_FAMILY) { strlcpy(STAP_RETVALUE, "AF_UNIX", MAXSTRINGLEN); } else { strlcpy(STAP_RETVALUE, "", MAXSTRINGLEN); } } else if ((sa->sa_family == AF_NETLINK) && (len == sizeof(struct sockaddr_nl))) { struct sockaddr_nl *nl = (struct sockaddr_nl *)CONTEXT->buf; if (what & SA_PRETTY) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_NETLINK, pid=%d, groups=%08x}", nl->nl_pid, nl->nl_groups); } else if (what & SA_FAMILY) { strlcpy(STAP_RETVALUE, "AF_NETLINK", MAXSTRINGLEN); } else { strlcpy(STAP_RETVALUE, "", MAXSTRINGLEN); } } else if ((sa->sa_family == AF_INET6) && (len == sizeof(struct sockaddr_in6))) { struct sockaddr_in6 *sin = (struct sockaddr_in6 *)CONTEXT->buf; if (what & SA_PRETTY) { #ifndef NIP6_FMT // kver >= 2.6.36 snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_INET6, %pI6, %d}", &sin->sin6_addr, _stp_ntohs(sin->sin6_port)); #else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_INET6, " NIP6_FMT ", %d}", NIP6(sin->sin6_addr), _stp_ntohs(sin->sin6_port)); #endif return; } if (what & SA_FAMILY) { n = strlcpy(stap_retvalue, "AF_INET6", maxstringlen); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_IP_ADDR) { #ifndef NIP6_FMT // kver >= 2.6.36 n = snprintf(stap_retvalue, maxstringlen, "%pI6", &sin->sin6_addr); #else n = snprintf(stap_retvalue, maxstringlen, NIP6_FMT, NIP6(sin->sin6_addr)); #endif // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_TCP_PORT) { n = snprintf(stap_retvalue, maxstringlen, "%d", _stp_ntohs(sin->sin6_port)); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_IPV6_FLOWINFO) { n = snprintf(stap_retvalue, maxstringlen, "%d", sin->sin6_flowinfo); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } if (what & SA_IPV6_SCOPE_ID) { n = snprintf(stap_retvalue, maxstringlen, "%d", sin->sin6_flowinfo); // (n - 1) mean: cut of null char stap_retvalue += (n); maxstringlen -= (n - 1); } } else if ((sa->sa_family == AF_PACKET) && (len == sizeof(struct sockaddr_ll))) { struct sockaddr_ll *sll = (struct sockaddr_ll *)CONTEXT->buf; if (what & SA_PRETTY) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%llx}", (int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype, (int)sll->sll_halen, (long long)(*(uint64_t *)sll->sll_addr)); } else if (what & SA_FAMILY) { strlcpy(STAP_RETVALUE, "AF_PACKET", MAXSTRINGLEN); } else { strlcpy(STAP_RETVALUE, "", MAXSTRINGLEN); } } else { if (len >= sizeof(sa_family_t)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{unknown sockaddr with sa=%d, salen=%d}", sa->sa_family, (int) len); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{unknown sockaddr with salen=%d}", (int)len); } } %} function _struct_rlimit_u (uaddr) %{ /* pure */ struct rlimit rl; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[%ld,%ld]", rl.rlim_cur, rl.rlim_max); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } %} function _fildes_index_u (uaddr, index) %{ /* pure */ int fd[2]; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL || !(STAP_ARG_index == 0 || STAP_ARG_index == 1)) STAP_RETVALUE = 0; else { if (_stp_copy_from_user((char *)&fd, ptr, 2*sizeof(int)) == 0) STAP_RETVALUE = fd[STAP_ARG_index]; else STAP_RETVALUE = 0; } %} function __sem_flags (semflg) %{ /* pure */ /* unprivileged */ long semflg = STAP_ARG_semflg; char *str = STAP_RETVALUE; int mode; int len; int flag = 0; mode = semflg & S_IRWXUGO; semflg &= ~S_IRWXUGO; str[0] = '\0'; if (semflg & IPC_CREAT) { strlcat(str, "IPC_CREAT", MAXSTRINGLEN); semflg &= ~IPC_CREAT; flag = 1; } if (semflg & IPC_EXCL) { if (flag) strlcat(str, "|", MAXSTRINGLEN); strlcat(str, "IPC_EXCL", MAXSTRINGLEN); semflg &= ~IPC_EXCL; flag = 1; } if (semflg) { if (flag) strlcat(str, "|", MAXSTRINGLEN); len = strlen(str); _stp_snprintf(str + len, MAXSTRINGLEN - len, "0x%lx", semflg); flag = 1; } if (mode) { if (flag) strlcat(str, "|", MAXSTRINGLEN); len = strlen(str); _stp_snprintf(str + len, MAXSTRINGLEN - len, "%#o", mode); } %} function __user_pointer (addr) { return user_long_error(addr); } function __get_argv (argv, first) { (str) = ("["); if ((first) && (argv)) (argv) += ((8) * (first)) ; for (; argv; ) { try { { (vstr) = (user_long_error(argv)); } } catch { { if (len) (str) .= (", ") ; (str) .= (sprintf("0x%x", argv)); break; } } ; if ((vstr) == (0)) break ; if (len) (str) .= (", ") ; (str) .= (user_string_quoted(vstr)); (newlen) = (strlen(str)); if ((newlen) == (len)) break ; (len) = (newlen); (argv) += (8); }; (str) .= ("]"); return str; } function __get_compat_argv (argv, first) { (str) = ("["); if ((first) && (argv)) (argv) += ((4) * (first)) ; for (; argv; ) { try { { (vstr) = ((user_long_error(argv)) & (4294967295)); } } catch { { if (len) (str) .= (", ") ; (str) .= (sprintf("0x%x", argv)); break; } } ; if ((vstr) == (0)) break ; if (len) (str) .= (", ") ; (str) .= (user_string_quoted(vstr)); (newlen) = (strlen(str)); if ((newlen) == (len)) break ; (len) = (newlen); (argv) += (4); }; (str) .= ("]"); return str; } function __count_envp (envp) { (__argc) = (0); for (; envp; ) { (vstr) = (user_long(envp)); if ((vstr) == (0)) break ; (__argc)++; (envp) += (8); }; return sprintf("[/* %d var%s */]", __argc, ((__argc) != (1))?("s"):("")); } function __count_compat_envp (envp) { (__argc) = (0); for (; envp; ) { (vstr) = (user_long(envp)); if ((vstr) == (0)) break ; (__argc)++; (envp) += (4); }; return sprintf("[/* %d var%s */]", __argc, ((__argc) != (1))?("s"):("")); } function _getrandom_flags_str (flag) %{ /* pure */ /* unprivileged */ unsigned int grflag = (unsigned int)STAP_ARG_flag; _stp_lookup_or_str(_stp_getrandom_list, grflag, STAP_RETVALUE, MAXSTRINGLEN); %} function _inotify_watch_mask_str (mask) %{ /* pure */ /* unprivileged */ uint32_t mask = (uint32_t)STAP_ARG_mask; _stp_lookup_or_str(_stp_inotify_watch_mask_list, mask, STAP_RETVALUE, MAXSTRINGLEN); %} function _sigprocmask_how_str (how) %{ /* pure */ /* unprivileged */ int len; char *str = STAP_RETVALUE; switch (STAP_ARG_how) { case SIG_BLOCK: strlcpy(str, "SIG_BLOCK", MAXSTRINGLEN); break; case SIG_UNBLOCK: strlcpy(str, "SIG_UNBLOCK", MAXSTRINGLEN); break; case SIG_SETMASK: strlcpy(str, "SIG_SETMASK", MAXSTRINGLEN); break; default: snprintf(str, MAXSTRINGLEN, "0x%lx", (long)STAP_ARG_how); } %} function _itimer_which_str (which) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_itimer_which_list, (unsigned int)STAP_ARG_which, STAP_RETVALUE, MAXSTRINGLEN); %} function _get_wc_str (wc) %{ /* pure */ /* unprivileged */ unsigned int clkid = (unsigned int)STAP_ARG_wc; _stp_lookup_str(_stp_wc_str_list, clkid, STAP_RETVALUE, MAXSTRINGLEN); %} function _flock_cmd_str (c) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_flock_cmd_list, (unsigned int)STAP_ARG_c, STAP_RETVALUE, MAXSTRINGLEN); %} function _sys_pipe2_flag_str (f) %{ /* pure */ /* unprivileged */ unsigned int flags = STAP_ARG_f; _stp_lookup_or_str(_stp_pipe2_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _sys_open_flag_str (f) %{ /* pure */ /* unprivileged */ int flags = (int)STAP_ARG_f; int acc = flags & O_ACCMODE; switch (acc) { case O_WRONLY: strlcpy (STAP_RETVALUE, "O_WRONLY", MAXSTRINGLEN); break; case O_RDWR: strlcpy (STAP_RETVALUE, "O_RDWR", MAXSTRINGLEN); break; default: strlcpy (STAP_RETVALUE, "O_RDONLY", MAXSTRINGLEN); } flags &= ~O_ACCMODE; if (flags) { strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); _stp_lookup_or_str(_stp_open_mode_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); } %} function _access_mode_str (mode) %{ /* pure */ /* unprivileged */ unsigned int mode = (unsigned int)STAP_ARG_mode; _stp_lookup_or_str(_stp_access_mode_list, mode, STAP_RETVALUE, MAXSTRINGLEN); %} function _sys_open_mode_str (f) { if (((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXU %})) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXU %})) (bs) = (("S_IRWXU|") . (bs)) else { if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IRUSR %})) (bs) = (("S_IRUSR|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IWUSR %})) (bs) = (("S_IWUSR|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IXUSR %})) (bs) = (("S_IXUSR|") . (bs)) ; } ; if (((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXG %})) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXG %})) (bs) = (("S_IRWXG|") . (bs)) else { if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IRGRP %})) (bs) = (("S_IRGRP|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IWGRP %})) (bs) = (("S_IWGRP|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IXGRP %})) (bs) = (("S_IXGRP|") . (bs)) ; } ; if (((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXO %})) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IRWXO %})) (bs) = (("S_IRWXO|") . (bs)) else { if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IROTH %})) (bs) = (("S_IROTH|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IWOTH %})) (bs) = (("S_IWOTH|") . (bs)) ; if ((f) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IXOTH %})) (bs) = (("S_IXOTH|") . (bs)) ; } ; return ((strlen(bs)) > (0))?(substr(bs, 0, (strlen(bs)) - (1))):(sprintf("%#o", f)); } function _mknod_mode_str (mode) { (type) = ((mode) & (%{ /* pure */ /* unprivileged */ /* stable */ S_IFMT %})); (mode) &= (~(%{ /* pure */ /* unprivileged */ /* stable */ S_IFMT %})); if ((type) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IFREG %})) return sprintf("S_IFREG|%#o", mode) ; if ((type) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IFCHR %})) return sprintf("S_IFCHR|%#o", mode) ; if ((type) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IFBLK %})) return sprintf("S_IFBLK|%#o", mode) ; if ((type) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IFIFO %})) return sprintf("S_IFIFO|%#o", mode) ; if ((type) == (%{ /* pure */ /* unprivileged */ /* stable */ S_IFSOCK %})) return sprintf("S_IFSOCK|%#o", mode) ; return sprintf("%#o", (type) | (mode)); } function _msync_flag_str (f) %{ /* pure */ /* unprivileged */ uint32_t flags = (uint32_t)STAP_ARG_f; _stp_lookup_or_str(_stp_msync_flag_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _wait4_opt_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_wait4_op_list, (unsigned int)STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function WIFEXITED (f) { return ((f) & (127)) == (0); } function WEXITSTATUS (f) { return ((f) & (65280)) >> (8); } function WIFSIGNALED (f) { return (((f) & (127)) != (0)) && (((f) & (127)) != (127)); } function WCOREDUMP (f) { return (f) & (128); } function WTERMSIG (f) { return (f) & (127); } function WIFSTOPPED (f) { return ((f) & (255)) == (127); } function WSTOPSIG (f) { return ((f) & (65280)) >> (8); } function WIFCONTINUED (f) { return (f) == (65535); } function _ptrace_event_name (f) { if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_FORK %})) return "PTRACE_EVENT_FORK" ; if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_VFORK %})) return "PTRACE_EVENT_VFORK" ; if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_CLONE %})) return "PTRACE_EVENT_CLONE" ; if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_EXEC %})) return "PTRACE_EVENT_EXEC" ; if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_VFORK_DONE %})) return "PTRACE_EVENT_VFORK_DONE" ; if ((f) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_EVENT_EXIT %})) return "PTRACE_EVENT_EXIT" ; return ""; } function _wait_status_str (f) { if (((f) >> (16)) != (0)) (tail) = (sprintf(" | 0x%x", (f) & (~(65535)))) else (tail) = ("") ; if (WIFEXITED(f)) return (sprintf("WEXITSTATUS=%d", WEXITSTATUS(f))) . (tail) ; if (WIFSIGNALED(f)) { if (WCOREDUMP(f)) return ("WCOREDUMP") . (tail) ; return (sprintf("WTERMSIG=%s", _signal_name(WTERMSIG(f)))) . (tail); } ; if (WIFSTOPPED(f)) { if ((WSTOPSIG(f)) == (%{ /* pure */ /* unprivileged */ /* stable */ SIGTRAP %})) { (event) = (_ptrace_event_name((f) >> (16))); if ((event) != ("")) (tail) = (((" | ") . (event)) . (" << 8")) ; } ; return (sprintf("WSTOPSIG=%s", _signal_name(WSTOPSIG(f)))) . (tail); } ; if (WIFCONTINUED(f)) return ("WIFCONTINUED") . (tail) ; return sprintf("?=0x%x", f); } function _seccomp_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_str(_stp_seccomp_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _msg_flags_str (flags) %{ /* pure */ /* unprivileged */ // Ignore MSG_CMSG_COMPAT in flags. _stp_lookup_or_str(_stp_msg_flags_list, (STAP_ARG_flags & ~MSG_CMSG_COMPAT), STAP_RETVALUE, MAXSTRINGLEN); %} function _mfd_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_or_str(_stp_mfd_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_mlock2_str (flags) %{ /* pure */ /* unprivileged */ uint32_t flags = (uint32_t)STAP_ARG_flags; _stp_lookup_or_str(_stp_mlock2_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _mlockall_flags_str (flags) %{ /* pure */ /* unprivileged */ uint32_t flags = (uint32_t)STAP_ARG_flags; _stp_lookup_or_str(_stp_mlockall_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _module_flags_str (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_module_flags_list, (unsigned int)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _sched_policy_str (policy) %{ /* pure */ /* unprivileged */ unsigned int policy = (unsigned int)STAP_ARG_policy; int len; #ifdef SCHED_RESET_ON_FORK if (((int)STAP_ARG_policy > 0) && (policy & SCHED_RESET_ON_FORK)) { strlcpy(STAP_RETVALUE, "SCHED_RESET_ON_FORK|", MAXSTRINGLEN); policy &= ~SCHED_RESET_ON_FORK; } #endif len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_sched_policy_list, policy, STAP_RETVALUE + len, MAXSTRINGLEN - len); %} function _priority_which_str (which) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_priority_which_list, (unsigned int)STAP_ARG_which, STAP_RETVALUE, MAXSTRINGLEN); %} function _shutdown_how_str (how) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_shutdown_how_list, (unsigned int)STAP_ARG_how, STAP_RETVALUE, MAXSTRINGLEN); %} function _reboot_magic_str (magic) %{ /* pure */ /* unprivileged */ unsigned int magic = (unsigned int)STAP_ARG_magic; _stp_lookup_str(_stp_reboot_magic_list, magic, STAP_RETVALUE, MAXSTRINGLEN); %} function _reboot_flag_str (flag) %{ /* pure */ /* unprivileged */ unsigned int flag = (unsigned int)STAP_ARG_flag; _stp_lookup_str(_stp_reboot_flag_list, flag, STAP_RETVALUE, MAXSTRINGLEN); %} function _waitid_which_str (flag) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_waitid_which_list, (unsigned int)STAP_ARG_flag, STAP_RETVALUE, MAXSTRINGLEN); %} function _futex_op_str (op) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_futex_op_list, (unsigned int)STAP_ARG_op, STAP_RETVALUE, MAXSTRINGLEN); %} function _futex_wake_op_str (encoded_op) %{ /* pure */ /* unprivileged */ int encoded_op = (int)STAP_ARG_encoded_op; int op = (encoded_op >> 28) & 7; int cmp = (encoded_op >> 24) & 15; int oparg = (encoded_op << 8) >> 20; int cmparg = (encoded_op << 20) >> 20; int slen; strlcpy(STAP_RETVALUE, "{", MAXSTRINGLEN); slen = strlen(STAP_RETVALUE); if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) { strlcat(STAP_RETVALUE + slen, "FUTEX_OP_OPARG_SHIFT|", MAXSTRINGLEN - slen); slen = strlen(STAP_RETVALUE); } _stp_lookup_str(_stp_futex_wake_ops_list, op, STAP_RETVALUE + slen, MAXSTRINGLEN - slen); slen = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, ", %d, ", oparg); slen = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_futex_wake_cmps_list, cmp, STAP_RETVALUE + slen, MAXSTRINGLEN - slen); slen = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, ", %d}", cmparg); %} function _mountflags_str (op) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_mountflags_list, (unsigned long)STAP_ARG_op, STAP_RETVALUE, MAXSTRINGLEN); %} function _umountflags_str (op) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_umountflags_list, (unsigned int)STAP_ARG_op, STAP_RETVALUE, MAXSTRINGLEN); %} function _mremap_flags (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_mremap_flags_list, (uint32_t)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _madvice_advice_str (behavior) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_madvice_advice_list, (unsigned int)STAP_ARG_behavior, STAP_RETVALUE, MAXSTRINGLEN); %} function _fadvice_advice_str (behavior) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_fadvice_advice_list, (unsigned int)STAP_ARG_behavior, STAP_RETVALUE, MAXSTRINGLEN); %} function _fcntl_cmd_str (cmd) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_fcntl_cmd_list, (unsigned int)STAP_ARG_cmd, STAP_RETVALUE, MAXSTRINGLEN); %} function _seek_whence_str (w) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_seek_whence_list, (unsigned int)STAP_ARG_w, STAP_RETVALUE, MAXSTRINGLEN); %} function _quotactl_cmd_str (cmd) %{ /* pure */ /* unprivileged */ unsigned int cmd = (unsigned int)STAP_ARG_cmd >> SUBCMDSHIFT; unsigned int type = (unsigned int)STAP_ARG_cmd & SUBCMDMASK; _stp_lookup_str(_stp_quotactl_cmd_list, cmd, STAP_RETVALUE, MAXSTRINGLEN); if (type == USRQUOTA) strlcat(STAP_RETVALUE, "|USRQUOTA", MAXSTRINGLEN); else if (type == GRPQUOTA) strlcat(STAP_RETVALUE, "|GRPQUOTA", MAXSTRINGLEN); else { int len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, "|0x%x", type); } %} function _quotactl_subcmd (cmd) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (unsigned int)STAP_ARG_cmd >> SUBCMDSHIFT; %} function _quotactl_quota_type_str (fmt) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_quotactl_format_list, (int)STAP_ARG_fmt, STAP_RETVALUE, MAXSTRINGLEN); %} function _struct_dqblk_u (uaddr) %{ /* pure */ struct if_dqblk dqb; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&dqb, ptr, sizeof(struct if_dqblk)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{dqb_bhardlimit=%llu, dqb_bsoftlimit=%llu, dqb_curspace=%llu, dqb_ihardlimit=%llu, dqb_isoftlimit=%llu, ...}", (unsigned long long)dqb.dqb_bhardlimit, (unsigned long long)dqb.dqb_bsoftlimit, (unsigned long long)dqb.dqb_curspace, (unsigned long long)dqb.dqb_ihardlimit, (unsigned long long)dqb.dqb_isoftlimit); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %} function _struct_dqinfo_u (uaddr) %{ /* pure */ struct if_dqinfo dqi; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&dqi, ptr, sizeof(struct if_dqinfo)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{dqi_bgrace=%llu, dqi_igrace=%llu, dqi_flags=%d, dqi_valid=%d}", (unsigned long long)dqi.dqi_bgrace, (unsigned long long)dqi.dqi_igrace, dqi.dqi_flags, dqi.dqi_valid); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %} function _sockopt_optname_str (opt) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_sockopt_optname_list, STAP_ARG_opt, STAP_RETVALUE, MAXSTRINGLEN); %} function _sockopt_level_str (level) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_sockopt_level_list, STAP_ARG_level, STAP_RETVALUE, MAXSTRINGLEN); %} function _sock_family_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_sock_family_list, (unsigned int)STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _sock_type_str (type) %{ /* pure */ /* unprivileged */ #ifdef SOCK_TYPE_MASK int flags = (int)STAP_ARG_type & ~SOCK_TYPE_MASK; int t = (int)STAP_ARG_type & SOCK_TYPE_MASK; #else int t = (int)STAP_ARG_type; #endif int data_added = 0; /* * This is a bit tricky. We've got 2 types of information * here. A socket type and a possible combination of socket * flags. In addition, we only want one final listing of * any unknown bits set. * * We can't call _stp_lookup_str() here since it would go * ahead and display any unknown type value, and we want to * wait until after any possible flags are displayed. */ switch (t) { case SOCK_STREAM: strlcpy (STAP_RETVALUE, "SOCK_STREAM", MAXSTRINGLEN); t = 0; data_added = 1; break; case SOCK_DGRAM: strlcpy (STAP_RETVALUE, "SOCK_DGRAM", MAXSTRINGLEN); t = 0; data_added = 1; break; case SOCK_RAW: strlcpy (STAP_RETVALUE, "SOCK_RAW", MAXSTRINGLEN); t = 0; data_added = 1; break; case SOCK_RDM: strlcpy (STAP_RETVALUE, "SOCK_RDM", MAXSTRINGLEN); t = 0; data_added = 1; break; case SOCK_SEQPACKET: strlcpy (STAP_RETVALUE, "SOCK_SEQPACKET", MAXSTRINGLEN); t = 0; data_added = 1; break; #ifdef SOL_DCCP case SOCK_DCCP: strlcpy (STAP_RETVALUE, "SOCK_DCCP", MAXSTRINGLEN); t = 0; data_added = 1; break; #endif case SOCK_PACKET: strlcpy (STAP_RETVALUE, "SOCK_PACKET", MAXSTRINGLEN); t = 0; data_added = 1; break; } #ifdef SOCK_TYPE_MASK /* We can't use _stp_lookup_or_str() here since if none of * these flags are set it would put a "0x0" on the end, which * we don't want to add to the socket type. */ if (flags & SOCK_CLOEXEC) { if (data_added) strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); strlcat (STAP_RETVALUE, "SOCK_CLOEXEC", MAXSTRINGLEN); flags &= ~SOCK_CLOEXEC; data_added = 1; } if (flags & SOCK_NONBLOCK) { if (data_added) strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); strlcat (STAP_RETVALUE, "SOCK_NONBLOCK", MAXSTRINGLEN); flags &= ~SOCK_NONBLOCK; data_added = 1; } /* If we have any leftover flags bits, add them back to the * type bits to get displayed together. */ t |= flags; #endif /* Display any leftover bits. */ if (t != 0 || !data_added) { int slen; if (data_added) strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); slen = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, "0x%x", t); } %} function _sock_flags_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_sock_flags_list, (unsigned int)STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _sock_protocol_str (family, protocol) { if (((family) == (%{ /* pure */ /* unprivileged */ /* stable */ PF_INET %})) || ((family) == (%{ /* pure */ /* unprivileged */ /* stable */ PF_INET6 %}))) { if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_IP %})) return "IPPROTO_IP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_ICMP %})) return "IPPROTO_ICMP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_IGMP %})) return "IPPROTO_IGMP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_IPIP %})) return "IPPROTO_IPIP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %})) return "IPPROTO_TCP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_EGP %})) return "IPPROTO_EGP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_PUP %})) return "IPPROTO_PUP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %})) return "IPPROTO_UDP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_IDP %})) return "IPPROTO_IDP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TP %})) return "IPPROTO_TP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_DCCP %})) return "IPPROTO_DCCP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_IPV6 %})) return "IPPROTO_IPV6" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_RSVP %})) return "IPPROTO_RSVP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_GRE %})) return "IPPROTO_GRE" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_ESP %})) return "IPPROTO_ESP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_AH %})) return "IPPROTO_AH" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_MTP %})) return "IPPROTO_MTP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_ENCAP %})) return "IPPROTO_ENCAP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_PIM %})) return "IPPROTO_PIM" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_COMP %})) return "IPPROTO_COMP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_SCTP %})) return "IPPROTO_SCTP" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDPLITE %})) return "IPPROTO_UDPLITE" ; if ((protocol) == (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_RAW %})) return "IPPROTO_RAW" ; } ; return sprintf("%d", protocol); } function _opoll_op_str (o) %{ /* pure */ /* unprivileged */ static const _stp_val_array const opoll_op_list[] = { V(EPOLL_CTL_ADD), V(EPOLL_CTL_MOD), V(EPOLL_CTL_DEL), {0, NULL} }; _stp_lookup_str(opoll_op_list, (unsigned int)STAP_ARG_o, STAP_RETVALUE, MAXSTRINGLEN); %} function _rlimit_resource_str (r) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_rlimit_resource_list, (unsigned int)STAP_ARG_r, STAP_RETVALUE, MAXSTRINGLEN); %} function _rusage_who_str (w) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_rusage_who_list, (unsigned int)STAP_ARG_w, STAP_RETVALUE, MAXSTRINGLEN); %} function __short (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (short)STAP_ARG_val; %} function __ushort (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (unsigned short)STAP_ARG_val; %} function __int32 (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (int32_t)STAP_ARG_val; %} function __uint32 (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (uint32_t)STAP_ARG_val; %} function __ulong (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (unsigned long)STAP_ARG_val; %} function __long (val) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (long)STAP_ARG_val; %} function _dfd_str (d) { if ((d) == (%{ /* pure */ /* unprivileged */ /* stable */ AT_FDCWD %})) return "AT_FDCWD" ; return sprint(d); } function _adjtimex_return_str (ret) %{ /* pure */ /* unprivileged */ int len; snprintf (STAP_RETVALUE, MAXSTRINGLEN, "%d (", (int)STAP_ARG_ret); len = strlen(STAP_RETVALUE); _stp_lookup_str2(_stp_adjtimex_return_str_list, (int)STAP_ARG_ret, STAP_RETVALUE + len, MAXSTRINGLEN - len, 10); strlcat (STAP_RETVALUE, ")", MAXSTRINGLEN); %} function _signal_name (sig) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_signal_list, (unsigned int)STAP_ARG_sig, STAP_RETVALUE, MAXSTRINGLEN); %} function _semctl_cmd (cmd) %{ /* pure */ /* unprivileged */ unsigned int cmd = STAP_ARG_cmd; int len; #ifdef IPC_64 if (cmd & IPC_64) { strlcpy(STAP_RETVALUE, "IPC_64|", MAXSTRINGLEN); cmd &= ~IPC_64; } #endif len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_semctl_list, cmd, STAP_RETVALUE + len, MAXSTRINGLEN - len); %} function _stp_sigset_u (setptr) %{ /* pure */ char *ptr = (char *)(unsigned long)STAP_ARG_setptr; sigset_t set; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&set,ptr,sizeof(sigset_t)) == 0) _stp_sigset_str(&set, STAP_RETVALUE, MAXSTRINGLEN); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } %} function _stp_compat_sigset_u (setptr) %{ /* pure */ #ifdef CONFIG_COMPAT char *ptr = (char *)(unsigned long)STAP_ARG_setptr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { compat_sigset_t set; if (_stp_copy_from_user((char*)&set, ptr, sizeof(compat_sigset_t)) == 0) { sigset_t new_set; sigset_from_compat(&new_set, &set); _stp_sigset_str(&new_set, STAP_RETVALUE, MAXSTRINGLEN); } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } #endif %} function __fork_flags (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_fork_list, STAP_ARG_flags & ~0xff, STAP_RETVALUE, MAXSTRINGLEN); if ( STAP_ARG_flags & 0xff ) { /* flags contains the termination signal */ if (*STAP_RETVALUE) strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); _stp_lookup_str(_stp_signal_list, STAP_ARG_flags & 0xff, STAP_RETVALUE, MAXSTRINGLEN); } %} function _at_flag_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_atflag_list, STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _epoll_create1_flag_str (f) %{ /* pure */ /* unprivileged */ static const _stp_val_array const epoll_create1_flags_list[] = { #ifdef EPOLL_CLOEXEC V(EPOLL_CLOEXEC), #endif {0, NULL} }; _stp_lookup_or_str(epoll_create1_flags_list, (unsigned int)STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _eventfd2_flag_str (flags) %{ /* pure */ /* unprivileged */ uint32_t flags = (uint32_t)STAP_ARG_flags; _stp_lookup_or_str(_stp_eventfd2_flag_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _signalfd4_flags_str (f) %{ /* pure */ /* unprivileged */ uint32_t flags = (uint32_t)STAP_ARG_f; _stp_lookup_or_str(_stp_signalfd4_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _inotify_init1_flag_str (f) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_f; _stp_lookup_or_str(_stp_inotify_init1_flag_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _dup3_flag_str (f) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_f; _stp_lookup_or_str(_stp_open_mode_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _shmat_flags_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_shmat_list, STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _mprotect_prot_str (prot) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_mprotect_list, STAP_ARG_prot, STAP_RETVALUE, MAXSTRINGLEN); %} function _mmap_flags (flags) %{ /* pure */ /* unprivileged */ #ifdef MAP_HUGE_SHIFT // Extract the huge page size for special treatment. u8 huge = (STAP_ARG_flags >> MAP_HUGE_SHIFT) & MAP_HUGE_MASK; STAP_ARG_flags &= ~((long)MAP_HUGE_MASK << MAP_HUGE_SHIFT); if (huge) { // MAP_HUGE_2MB and MAP_HUGE_1GB are predefined on x86, but // the log2 value can be used to represent any power of two. const char* suffix = ""; if (huge >= 60) { huge -= 60; suffix = "EB"; } else if (huge >= 50) { huge -= 50; suffix = "PB"; } else if (huge >= 40) { huge -= 40; suffix = "TB"; } else if (huge >= 30) { huge -= 30; suffix = "GB"; } else if (huge >= 20) { huge -= 20; suffix = "MB"; } else if (huge >= 10) { huge -= 10; suffix = "KB"; } _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "MAP_HUGE_%ld%s|", 1L << huge, suffix); } #endif _stp_lookup_or_str(_stp_mmap_list, STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _sighandler_str (uaddr) %{ /* pure */ /* unprivileged */ static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; _stp_lookup_str(_stp_sa_handler_list, (long)STAP_ARG_uaddr, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_sigmask_str (sigmask) %{ /* pure */ unsigned long mask = (unsigned long)STAP_ARG_sigmask; sigset_t set; siginitset(&set, mask); _stp_sigset_str(&set, STAP_RETVALUE, MAXSTRINGLEN); %} function _struct_sigaction_u (uaddr) %{ /* pure */ struct sigaction act; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char*)&act, ptr, sizeof(struct sigaction)) == 0) _stp_sigaction_str(&act, STAP_RETVALUE, MAXSTRINGLEN); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } %} function _struct_sigaction32_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT #include #ifdef AUTOCONF_COMPAT_SIGACTION struct compat_sigaction act32; #else // There seems to be no public cross arch header that defines this. // For x86, you can find it in asm/ia32.h. For s390x, it is defined // in a private header. struct sigaction32 { compat_uptr_t sa_handler; unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */ compat_sigset_t sa_mask; /* A 32 bit mask */ }; struct sigaction32 act32; #endif char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char*)&act32, ptr, sizeof(act32)) == 0) { struct sigaction act; act.sa_handler = (void *)compat_ptr(act32.sa_handler); act.sa_flags = (unsigned long)act32.sa_flags; act.sa_restorer = (void *)compat_ptr(act32.sa_restorer); /* swap words around to get right endian order. */ switch (_NSIG_WORDS) { case 4: act.sa_mask.sig[3] = act32.sa_mask.sig[6] | (((long)act32.sa_mask.sig[7]) << 32); case 3: act.sa_mask.sig[2] = act32.sa_mask.sig[4] | (((long)act32.sa_mask.sig[5]) << 32); case 2: act.sa_mask.sig[1] = act32.sa_mask.sig[2] | (((long)act32.sa_mask.sig[3]) << 32); case 1: act.sa_mask.sig[0] = act32.sa_mask.sig[0] | (((long)act32.sa_mask.sig[1]) << 32); } _stp_sigaction_str(&act, STAP_RETVALUE, MAXSTRINGLEN); } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } #endif %} function _struct_old_sigaction32_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT #include #ifdef CONFIG_COMPAT_OLD_SIGACTION struct compat_old_sigaction act32; #else // There seems to be no public cross arch header that defines this. // For x86, you can find it in asm/ia32.h. For s390x, it is defined // in a private header. struct old_sigaction32 { compat_uptr_t sa_handler; compat_old_sigset_t sa_mask; /* A 32 bit mask */ unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */ }; struct old_sigaction32 act32; #endif char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if(_stp_copy_from_user((char*)&act32, ptr, sizeof(act32)) == 0) { struct sigaction act; act.sa_handler = (void *)compat_ptr(act32.sa_handler); act.sa_restorer = (void *)compat_ptr(act32.sa_restorer); act.sa_flags = (unsigned long)act32.sa_flags; siginitset(&act.sa_mask, act32.sa_mask); _stp_sigaction_str(&act, STAP_RETVALUE, MAXSTRINGLEN); } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } #endif %} function irqflags_str (f) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_irq_list, STAP_ARG_f, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_struct_iovec_u (iov_uaddr) %{ /* pure */ char *iov_uaddr = (void *)(intptr_t)STAP_ARG_iov_uaddr; struct iovec iov; if (iov_uaddr == NULL) strlcpy(STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&iov, iov_uaddr, sizeof(struct iovec)) == 0) { _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[{%#lx, %lu}]", iov.iov_base, iov.iov_len); } else _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)iov_uaddr); } %} function _stp_struct_compat_iovec_u (iov_uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT char *iov_uaddr = (void *)(intptr_t)STAP_ARG_iov_uaddr; struct compat_iovec iov; if (iov_uaddr == NULL) strlcpy(STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&iov, iov_uaddr, sizeof(struct compat_iovec)) == 0) { _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "[{%#lx, %lu}]", iov.iov_base, iov.iov_len); } else _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)iov_uaddr); } #endif %} function _ptrace_options_str (f) %{ /* pure */ /* unprivileged */ unsigned long f = (unsigned long)STAP_ARG_f; _stp_lookup_or_str(_stp_ptrace_options_list, f, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_elf_notes_str (value) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_elf_notes_list, (unsigned long)STAP_ARG_value, STAP_RETVALUE, MAXSTRINGLEN); %} function __ptrace_request_str (request) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_ptrace_request_list, (unsigned long)STAP_ARG_request, STAP_RETVALUE, MAXSTRINGLEN); %} function _ptrace_argstr (request, pid, addr, data) { (retval) = (_arch_ptrace_argstr(request, pid, addr, data)); if ((retval) != ("")) return retval ; if ((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_PEEKTEXT %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_PEEKDATA %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_PEEKUSR %}))) return sprintf("%s, %d, %p, [%p]", __ptrace_request_str(request), pid, addr, data) ; if (((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_POKETEXT %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_POKEDATA %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_POKEUSR %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_PEEKSIGINFO %}))) return sprintf("%s, %d, %p, %p", __ptrace_request_str(request), pid, addr, data) ; if (((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_CONT %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SYSCALL %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SINGLESTEP %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_DETACH %}))) return sprintf("%s, %d, %#x, %s", __ptrace_request_str(request), pid, addr, _signal_name(data)) ; if ((((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_GETSIGINFO %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SETSIGINFO %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_GETEVENTMSG %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_GETSIGMASK %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SETSIGMASK %}))) return sprintf("%s, %d, %#x, %p", __ptrace_request_str(request), pid, addr, data) ; if (((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_GETREGSET %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SETREGSET %}))) return sprintf("%s, %d, %s, %s", __ptrace_request_str(request), pid, _stp_elf_notes_str(addr), (%{ /* pure */ _stp_is_compat_task() %})?(_stp_struct_compat_iovec_u(data)):(_stp_struct_iovec_u(data))) ; if (((((((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_TRACEME %})) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_KILL %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_ATTACH %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SEIZE %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_INTERRUPT %}))) || ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_LISTEN %}))) return sprintf("%s, %d, %#x, %#x", __ptrace_request_str(request), pid, addr, data) ; if ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_SETOPTIONS %})) return sprintf("PTRACE_SETOPTIONS, %d, %#x, %s", pid, addr, _ptrace_options_str(data)) ; return sprintf("%s, %d, %p, %p", __ptrace_request_str(request), pid, addr, data); } function _ptrace_return_geteventmsg_data (request, data) { if ((request) == (%{ /* pure */ /* unprivileged */ /* stable */ PTRACE_GETEVENTMSG %})) return user_long(data) ; } function _swapon_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_or_str(_stp_swapon_flags_list, (flags & ~SWAP_FLAG_PRIO_MASK), STAP_RETVALUE, MAXSTRINGLEN); if (STAP_ARG_flags & SWAP_FLAG_PREFER) { int slen; slen = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, "|%d", flags & SWAP_FLAG_PRIO_MASK); } %} function __is_user_regs (regs) %{ /* pure */ struct pt_regs * regs = (void *)((unsigned long)STAP_ARG_regs); /* copied from asm/ptrace.h */ #if defined(__i386__) #ifdef STAPCONF_X86_UNIREGS int cs = kread(®s->cs); #else int cs = kread(®s->xcs); #endif STAP_RETVALUE = (!!((cs & 3))); #elif defined(__x86_64__) unsigned long cs = kread(®s->cs); STAP_RETVALUE = (!!((cs & 3))); #elif defined(__ia64__) unsigned long psr = kread(®s->cr_ipsr); STAP_RETVALUE = (((struct ia64_psr *) &psr)->cpl != 0); #elif defined(__powerpc64__) unsigned long msr = kread(®s->msr); STAP_RETVALUE = ((msr >> MSR_PR_LG) & 0x1); #elif defined(__powerpc__) unsigned long msr = kread(®s->msr); STAP_RETVALUE = ((msr >> MSR_PR) != 0); #elif defined(__arm__) long cpsr = kread(®s->ARM_cpsr); STAP_RETVALUE = ((cpsr & 0xf) == 0); #elif defined(__s390__) || defined(__s390x__) unsigned long mask = kread(®s->psw.mask); STAP_RETVALUE = ((mask & PSW_MASK_PSTATE) != 0); #elif defined(__aarch64__) long pstate = kread(®s->pstate); STAP_RETVALUE = ((pstate & PSR_MODE_MASK) == PSR_MODE_EL0t); #else #error "Unimplemented architecture" #endif CATCH_DEREF_FAULT(); %} function _stp_shmget_flags_str (shmflg) %{ /* pure */ /* unprivileged */ unsigned int shmflg = (unsigned int)STAP_ARG_shmflg; unsigned int modebits; /* Lowest 9 bits are mode bits. */ modebits = shmflg & 0777; shmflg &= ~0777; _stp_lookup_or_str(_stp_shmget_flags_list, shmflg, STAP_RETVALUE, MAXSTRINGLEN); if (modebits) { int slen; slen = strlen(STAP_RETVALUE); if (slen) _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, "|%#o", modebits); else _stp_snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%#o", modebits); } %} function _stp_msgget_key_str (key) { if ((key) == (%{ /* pure */ /* unprivileged */ /* stable */ IPC_PRIVATE %})) return "IPC_PRIVATE" ; return sprintf("%d", key); } function _stp_msgctl_cmd_str (cmd) %{ /* pure */ /* unprivileged */ unsigned int cmd = STAP_ARG_cmd; if (cmd & IPC_64) { strlcpy (STAP_RETVALUE, "IPC_64|", MAXSTRINGLEN); cmd &= ~IPC_64; } _stp_lookup_str(_stp_msgctl_list, cmd, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_msgflg_str (msgflg) %{ /* pure */ /* unprivileged */ unsigned int msgflg = STAP_ARG_msgflg; _stp_lookup_or_str(_stp_msgflg_list, msgflg, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_compat_msgrcv_msgbuf (uaddr, version) %{ /* pure */ #ifdef CONFIG_COMPAT char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int version = (int)(unsigned long)STAP_ARG_version; void *msgbuf = ptr; if (!version) { struct compat_ipc_kludge ipck; msgbuf = NULL; if (ptr != NULL && _stp_copy_from_user((char*)&ipck, ptr, sizeof(ipck)) == 0) { msgbuf = compat_ptr(ipck.msgp); } } STAP_RETVALUE = (unsigned long)msgbuf; #endif %} function _stp_compat_msgrcv_msgtyp (uaddr, version, msgtyp) %{ /* pure */ #ifdef CONFIG_COMPAT char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int version = (int)(unsigned long)STAP_ARG_version; long msgtyp = (long)STAP_ARG_msgtyp; if (!version) { struct compat_ipc_kludge ipck; if (ptr != NULL && _stp_copy_from_user((char*)&ipck, ptr, sizeof(ipck)) == 0) { msgtyp = ipck.msgtyp; } } STAP_RETVALUE = msgtyp; #endif %} function _stp_xattr_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = STAP_ARG_flags; _stp_lookup_or_str(_stp_xattr_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_xattr_val_str (uaddr, size) %{ /* pure */ void *uaddr = (void *)(unsigned long)STAP_ARG_uaddr; unsigned long size = STAP_ARG_size; unsigned char buffer[50]; size_t copy_size = clamp_t(size_t, size, 0, sizeof(buffer)); if (uaddr != NULL && copy_size > 0 && _stp_copy_from_user(buffer, uaddr, copy_size) == 0) { size_t i; unsigned char *out = STAP_RETVALUE; // Save 3 chars: 2 for the leading and trailing // double-quote chars, one for the trailing NUL. size_t out_size = MAXSTRINGLEN - 3; *out++ = '"'; for (i = 0; i < copy_size; ++i) { #define _stp_is_printable_ascii(c) ((c) >= ' ' && (c) <= 0x7e) #define _stp_tohex(n) "0123456789abcdef"[n] if (_stp_is_printable_ascii(buffer[i])) { if (--out_size >= 0) *out++ = buffer[i]; } else { if (out_size < 4) break; out_size -= 4; if (out_size >= 0) { *out++ = '\\'; *out++ = 'x'; *out++ = _stp_tohex(buffer[i] / 16); *out++ = _stp_tohex(buffer[i] % 16); } } if (out_size == 0) break; } // Don't print terminating NUL from the input data if // there is one. if (i > 1 && buffer[i - 1] == '\0' && _stp_is_printable_ascii(buffer[i - 2])) out -= 4; *out++ = '"'; *out = '\0'; } else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)uaddr); %} function _stp_ioprio_which_str (who) %{ /* pure */ /* unprivileged */ _stp_lookup_str2(_stp_ioprio_who_list, (int)STAP_ARG_who, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _stp_ioprio_value_str (value) %{ /* pure */ /* unprivileged */ unsigned int class = IOPRIO_PRIO_CLASS(((unsigned int)STAP_ARG_value)); int slen; _stp_lookup_str(_stp_ioprio_class_list, class, STAP_RETVALUE, MAXSTRINGLEN); slen = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + slen, MAXSTRINGLEN - slen, "|%d", IOPRIO_PRIO_DATA(((int)STAP_ARG_value))); %} function _mempolicy_flags_str (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_mempolicy_flags_list, (unsigned long)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _mempolicy_mode_str (mode) %{ /* pure */ /* unprivileged */ unsigned int mode = (unsigned int)STAP_ARG_mode; int len = 0; if (mode != 0xffffffff && mode & MPOL_MODE_FLAGS) { _stp_lookup_str(_stp_mempolicy_mode_flags_list, mode & MPOL_MODE_FLAGS, STAP_RETVALUE, MAXSTRINGLEN); strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); mode &= ~MPOL_MODE_FLAGS; } _stp_lookup_str(_stp_mempolicy_mode_list, mode, STAP_RETVALUE + len, MAXSTRINGLEN - len); %} function _stp_keyctl_cmd_str (cmd) %{ /* pure */ /* unprivileged */ _stp_lookup_str2(_stp_keyctl_cmd_list, (int)STAP_ARG_cmd, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _stp_keyctl_keyring_shortcut_str (id) %{ /* pure */ /* unprivileged */ _stp_lookup_str2(_stp_keyctl_keyring_shortcut_list, (int)STAP_ARG_id, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _stp_keyctl_default_keyrings_str (id) %{ /* pure */ /* unprivileged */ _stp_lookup_str2(_stp_keyctl_default_keyrings_list, (int)STAP_ARG_id, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _stp_keyctl_perm_str (mask) %{ /* pure */ /* unprivileged */ uint32_t mask = (uint32_t)STAP_ARG_mask; _stp_lookup_or_str2(_stp_keyctl_perm_list, mask, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _finit_module_flags_str (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_finit_module_flags_list, (unsigned int)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _prctl_argstr (option, arg2, arg3, arg4, arg5) %{ /* pure */ /* unprivileged */ int len; _stp_lookup_str(_stp_prctl_option_list, (unsigned int)STAP_ARG_option, STAP_RETVALUE, MAXSTRINGLEN); switch ((unsigned int)STAP_ARG_option) { // Options that take no arguments: case PR_GET_DUMPABLE: case PR_GET_TIMING: case PR_GET_KEEPCAPS: #ifdef PR_GET_SECCOMP case PR_GET_SECCOMP: #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE case PR_TASK_PERF_EVENTS_DISABLE: #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE case PR_TASK_PERF_EVENTS_ENABLE: #endif #ifdef PR_GET_TIMERSLACK case PR_GET_TIMERSLACK: #endif #ifdef PR_MCE_KILL_GET case PR_MCE_KILL_GET: #endif #ifdef PR_GET_NO_NEW_PRIVS case PR_GET_NO_NEW_PRIVS: #endif #ifdef PR_GET_THP_DISABLE case PR_GET_THP_DISABLE: #endif #ifdef PR_MPX_ENABLE_MANAGEMENT case PR_MPX_ENABLE_MANAGEMENT: #endif #ifdef PR_MPX_DISABLE_MANAGEMENT case PR_MPX_DISABLE_MANAGEMENT: #endif #ifdef PR_GET_SECUREBITS case PR_GET_SECUREBITS: #endif // We're done. break; // Options that use arg2: case PR_SET_UNALIGN: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_unalign_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case PR_SET_FPEMU: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_fpemu_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case PR_SET_FPEXC: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_fpexc_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case PR_SET_TIMING: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_timing_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case PR_SET_ENDIAN: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_endian_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; #ifdef PR_SET_TSC case PR_SET_TSC: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_tsc_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; #endif #ifdef PR_SET_PTRACER case PR_SET_PTRACER: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); // Notice we passing arg2 as a signed long // here. PR_SET_PTRACER_ANY is -1. _stp_lookup_str2(_stp_prctl_ptracer_option_list, (_stp_is_compat_task() ? (long)(int)STAP_ARG_arg2 : (long)STAP_ARG_arg2), STAP_RETVALUE + len, MAXSTRINGLEN - len, 10); break; #endif #if defined(PR_CAPBSET_READ) && defined(PR_CAPBSET_DROP) case PR_CAPBSET_READ: case PR_CAPBSET_DROP: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_linux_capability_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; #endif #ifdef PR_SET_SECUREBITS case PR_SET_SECUREBITS: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_or_str(_stp_linux_securebits_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; #endif case PR_SET_PDEATHSIG: case PR_GET_PDEATHSIG: case PR_GET_UNALIGN: case PR_GET_FPEMU: case PR_GET_FPEXC: case PR_SET_NAME: case PR_GET_NAME: case PR_GET_ENDIAN: #ifdef PR_GET_TSC case PR_GET_TSC: #endif #ifdef PR_GET_TID_ADDRESS case PR_GET_TID_ADDRESS: #endif #ifdef PR_GET_CHILD_SUBREAPER case PR_GET_CHILD_SUBREAPER: #endif #ifdef PR_SET_THP_DISABLE case PR_SET_THP_DISABLE: #endif len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", 0x%lx", (unsigned long)STAP_ARG_arg2); break; case PR_SET_DUMPABLE: case PR_SET_KEEPCAPS: #ifdef PR_SET_CHILD_SUBREAPER case PR_SET_CHILD_SUBREAPER: #endif #ifdef PR_SET_NO_NEW_PRIVS case PR_SET_NO_NEW_PRIVS: #endif #ifdef PR_SET_TIMERSLACK case PR_SET_TIMERSLACK: #endif len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", %lu", (unsigned long)STAP_ARG_arg2); break; // Options that use arg[23]: #ifdef PR_MCE_KILL case PR_MCE_KILL: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_mce_kill_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); switch ((unsigned long)STAP_ARG_arg2) { case PR_MCE_KILL_SET: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_mce_kill_option2_list, (unsigned long)STAP_ARG_arg3, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case PR_MCE_KILL_CLEAR: break; default: len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", 0x%lx", (unsigned long)STAP_ARG_arg3); break; } break; #endif #ifdef PR_SET_SECCOMP case PR_SET_SECCOMP: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_seccomp_mode_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", 0x%lx", (unsigned long)STAP_ARG_arg3); break; #endif #ifdef PR_SET_MM case PR_SET_MM: strlcat(STAP_RETVALUE, ", ", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_prctl_mm_option_list, (unsigned long)STAP_ARG_arg2, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", 0x%lx", (unsigned long)STAP_ARG_arg3); break; #endif // Options that use arg[2-5] default: len = strlen(STAP_RETVALUE); _stp_snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", 0x%lx, 0x%lx, 0x%lx, 0x%lx", (unsigned long)STAP_ARG_arg2, (unsigned long)STAP_ARG_arg3, (unsigned long)STAP_ARG_arg4, (unsigned long)STAP_ARG_arg5); break; } %} function _stp_timerfd_flags_str (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_timerfd_flags_list, (unsigned int)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_splice_flags_str (flags) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_splice_flags_list, (unsigned int)STAP_ARG_flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_fallocate_mode_str (mode) %{ /* pure */ /* unprivileged */ _stp_lookup_or_str(_stp_fallocate_mode_list, (unsigned int)STAP_ARG_mode, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_arch_prctl_func_str (func) %{ /* pure */ /* unprivileged */ _stp_lookup_str2(_stp_arch_prctl_func_list, (int)STAP_ARG_func, STAP_RETVALUE, MAXSTRINGLEN, 10); %} function _struct_timex_u (uaddr) %{ /* pure */ struct timex ts; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&ts, ptr, sizeof(struct timex)) == 0) { memset(STAP_RETVALUE, 0, MAXSTRINGLEN); STAP_RETVALUE[0] = '{'; _stp_lookup_or_str(_stp_adjtimex_modes_list, (unsigned int)ts.modes, STAP_RETVALUE + 1, MAXSTRINGLEN - 1); len = strlen(STAP_RETVALUE); snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", constant=%lu, esterror=%lu, freq=%lu, maxerror=%lu, offset=%lu, precision=%lu, status=%d, tick=%lu, tolerance=%lu}", ts.constant, ts.esterror, ts.freq, ts.maxerror, ts.offset, ts.precision, ts.status, ts.tick, ts.tolerance); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %} function _struct_compat_timex_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT struct compat_timex ts; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&ts, ptr, sizeof(struct compat_timex)) == 0) { memset(STAP_RETVALUE, 0, MAXSTRINGLEN); STAP_RETVALUE[0] = '{'; _stp_lookup_or_str(_stp_adjtimex_modes_list, (unsigned int)ts.modes, STAP_RETVALUE + 1, MAXSTRINGLEN - 1); len = strlen(STAP_RETVALUE); snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", constant=%u, esterror=%u, freq=%u, maxerror=%u, offset=%u, precision=%u, status=%d, tick=%u, tolerance=%u}", ts.constant, ts.esterror, ts.freq, ts.maxerror, ts.offset, ts.precision, ts.status, ts.tick, ts.tolerance); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } #endif %} function _sync_file_range_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_or_str(_stp_sync_file_range_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_siginfo_u (uaddr) %{ /* pure */ siginfo_t sinfo; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL) { strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); return; } if (_stp_copy_from_user((void *)&sinfo, ptr, sizeof(sinfo)) != 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); return; } strlcpy(STAP_RETVALUE, "{si_signo=", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_signal_list, sinfo.si_signo, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); strlcpy(STAP_RETVALUE + len, ", si_code=", MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_siginfo_si_code_list, sinfo.si_code, STAP_RETVALUE + len, MAXSTRINGLEN - len); // OK, this is odd. If si_code didn't match anything in // _stp_siginfo_si_code_list, we need to decode si_code based // on the si_signo value. if (*(STAP_RETVALUE + len) == '0') { const _stp_val_array *array = NULL; switch (sinfo.si_signo) { case SIGILL: array = _stp_sigill_si_code_list; break; case SIGFPE: array = _stp_sigfpe_si_code_list; break; case SIGSEGV: array = _stp_sigsegv_si_code_list; break; case SIGBUS: array = _stp_sigbus_si_code_list; break; case SIGTRAP: array = _stp_sigtrap_si_code_list; break; case SIGCHLD: array = _stp_sigchld_si_code_list; break; case SIGPOLL: array = _stp_sigpoll_si_code_list; break; case SIGSYS: array = _stp_sigsys_si_code_list; break; default: // Do nothing. The original si_code lookup // added a hex version. break; } if (array) _stp_lookup_str(array, sinfo.si_code, STAP_RETVALUE + len, MAXSTRINGLEN - len); } len = strlen(STAP_RETVALUE); #ifdef SI_FROMUSER if (SI_FROMUSER(&sinfo)) { switch (sinfo.si_code) { case SI_TIMER: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_tid=%#x, si_overrun=%d", sinfo.si_tid, sinfo.si_overrun); break; default: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); break; } } else #endif /* SI_FROMUSER */ { switch (sinfo.si_signo) { case SIGCHLD: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu, si_status=", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); len = strlen(STAP_RETVALUE); if (sinfo.si_code == CLD_EXITED) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, "%d", sinfo.si_status); else _stp_lookup_str(_stp_signal_list, sinfo.si_status, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case SIGILL: case SIGFPE: case SIGSEGV: case SIGBUS: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_addr=%#lx", (unsigned long)sinfo.si_addr); break; case SIGPOLL: if (sinfo.si_code == POLL_IN || sinfo.si_code == POLL_OUT || sinfo.si_code == POLL_MSG) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_band=%ld", (long)sinfo.si_band); break; #if defined(SIGSYS) && defined(__ARCH_SIGSYS) case SIGSYS: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_call_addr=%#lx, si_syscall=%d, si_arch=%u", (unsigned long)(sinfo.si_call_addr), sinfo.si_syscall, sinfo.si_arch); break; #endif default: if (sinfo.si_pid || sinfo.si_uid) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); break; } } len = strlen(STAP_RETVALUE); strlcat(STAP_RETVALUE, "}", MAXSTRINGLEN); %} function _stp_compat_siginfo_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT compat_siginfo_t sinfo; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL) { strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); return; } if (_stp_copy_from_user((void *)&sinfo, ptr, sizeof(sinfo)) != 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); return; } strlcpy(STAP_RETVALUE, "{si_signo=", MAXSTRINGLEN); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_signal_list, sinfo.si_signo, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); strlcpy(STAP_RETVALUE + len, ", si_code=", MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_siginfo_si_code_list, sinfo.si_code, STAP_RETVALUE + len, MAXSTRINGLEN - len); // OK, this is odd. If si_code didn't match anything in // _stp_siginfo_si_code_list, we need to decode si_code based // on the si_signo value. if (*(STAP_RETVALUE + len) == '0') { const _stp_val_array *array = NULL; switch (sinfo.si_signo) { case SIGILL: array = _stp_sigill_si_code_list; break; case SIGFPE: array = _stp_sigfpe_si_code_list; break; case SIGSEGV: array = _stp_sigsegv_si_code_list; break; case SIGBUS: array = _stp_sigbus_si_code_list; break; case SIGTRAP: array = _stp_sigtrap_si_code_list; break; case SIGCHLD: array = _stp_sigchld_si_code_list; break; case SIGPOLL: array = _stp_sigpoll_si_code_list; break; case SIGSYS: array = _stp_sigsys_si_code_list; break; default: // Do nothing. The original si_code lookup // added a hex version. break; } if (array) _stp_lookup_str(array, sinfo.si_code, STAP_RETVALUE + len, MAXSTRINGLEN - len); } len = strlen(STAP_RETVALUE); #ifdef SI_FROMUSER if (SI_FROMUSER(&sinfo)) { switch (sinfo.si_code) { case SI_TIMER: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_tid=%#x, si_overrun=%d", sinfo.si_tid, sinfo.si_overrun); break; default: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); break; } } else #endif /* SI_FROMUSER */ { switch (sinfo.si_signo) { case SIGCHLD: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu, si_status=", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); len = strlen(STAP_RETVALUE); if (sinfo.si_code == CLD_EXITED) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, "%d", sinfo.si_status); else _stp_lookup_str(_stp_signal_list, sinfo.si_status, STAP_RETVALUE + len, MAXSTRINGLEN - len); break; case SIGILL: case SIGFPE: case SIGSEGV: case SIGBUS: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_addr=%#lx", (unsigned long)sinfo.si_addr); break; case SIGPOLL: if (sinfo.si_code == POLL_IN || sinfo.si_code == POLL_OUT || sinfo.si_code == POLL_MSG) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_band=%ld", (long)sinfo.si_band); break; // Checking for SIGSYS/__ARCH_SIGSYS is fine for the "real" siginfo_t, // but the compat version can be without the SIGSYS fields, so we'll // have to add an arch test. #if defined(SIGSYS) && defined(__ARCH_SIGSYS) \ && !defined(__s390x__) && !defined(__powerpc64__) case SIGSYS: snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_call_addr=%#lx, si_syscall=%d, si_arch=%u", (unsigned long)sinfo.si_call_addr, sinfo.si_syscall, sinfo.si_arch); break; #endif default: if (sinfo.si_pid || sinfo.si_uid) snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", si_pid=%lu, si_uid=%lu", (unsigned long)sinfo.si_pid, (unsigned long)sinfo.si_uid); break; } } len = strlen(STAP_RETVALUE); strlcat(STAP_RETVALUE, "}", MAXSTRINGLEN); #endif /* CONFIG_COMPAT */ %} function _struct_tms_u (uaddr) %{ /* pure */ struct tms tm; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&tm, ptr, sizeof(struct tms)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{tms_utime=%lu, tms_stime=%lu, tms_cutime=%lu, tms_cstime=%lu}", tm.tms_utime, tm.tms_stime, tm.tms_cutime, tm.tms_cstime); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %} function _struct_sysinfo_u (uaddr) %{ /* pure */ struct sysinfo si; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy (STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&si, ptr, sizeof(struct sysinfo)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{uptime=%ld, loads=[%lu, %lu, %lu], totalram=%lu, freeram=%lu, " "sharedram=%lu, bufferram=%lu, totalswap=%lu, freeswap=%lu, procs=%u}", si.uptime, si.loads[0], si.loads[1], si.loads[2], si.totalram, si.freeram, si.sharedram, si.bufferram, si.totalswap, si.freeswap, si.procs); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } %} function _kexec_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned long flags = (unsigned long)STAP_ARG_flags; _stp_lookup_or_str(_stp_kexec_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _kexec_file_load_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned long flags = (unsigned long)STAP_ARG_flags; _stp_lookup_or_str(_stp_kexec_file_load_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _stp_sigaltstack_u (uaddr) %{ /* pure */ stack_t stk; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL || _stp_copy_from_user((void *)&stk, ptr, sizeof(stk)) != 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); return; } snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{ss_sp=0x%lx, ss_flags=", (unsigned long)stk.ss_sp); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_sigaltstack_flags_list, stk.ss_flags, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", ss_size=%lu}", (unsigned long)stk.ss_size); %} function _stp_compat_sigaltstack_u (uaddr) %{ /* pure */ #ifdef CONFIG_COMPAT #if defined(CONFIG_GENERIC_SIGALTSTACK) \ || LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) compat_stack_t stk; #elif defined(__x86_64__) stack_ia32_t stk; #elif defined(__s390x__) stack_t32 stk; #elif defined(__powerpc64__) stack_32_t stk; #endif char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; int len; if (ptr == NULL || _stp_copy_from_user((void *)&stk, ptr, sizeof(stk)) != 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); return; } snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{ss_sp=0x%lx, ss_flags=", (unsigned long)stk.ss_sp); len = strlen(STAP_RETVALUE); _stp_lookup_str(_stp_sigaltstack_flags_list, stk.ss_flags, STAP_RETVALUE + len, MAXSTRINGLEN - len); len = strlen(STAP_RETVALUE); snprintf(STAP_RETVALUE + len, MAXSTRINGLEN - len, ", ss_size=%lu}", (unsigned long)stk.ss_size); #endif %} function _renameat2_flags_str (flags) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_or_str(_stp_renameat2_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _fanotify_init_flags_str (flags) %{ /* pure */ /* unprivileged */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) unsigned int flags = (unsigned int)STAP_ARG_flags; unsigned int flags_part1 = flags & FAN_ALL_CLASS_BITS; unsigned int flags_part2 = flags & ~FAN_ALL_CLASS_BITS; _stp_lookup_str(_stp_fanotify_init_class_flags_list, flags_part1, STAP_RETVALUE, MAXSTRINGLEN); if (flags_part2) { strlcat(STAP_RETVALUE, "|", MAXSTRINGLEN); _stp_lookup_or_str(_stp_fanotify_init_extra_flags_list, flags_part2, STAP_RETVALUE, MAXSTRINGLEN); } #endif %} function _fanotify_mark_flags_str (flags) %{ /* pure */ /* unprivileged */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) unsigned int flags = (unsigned int)STAP_ARG_flags; _stp_lookup_or_str(_stp_fanotify_mark_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); #endif %} function _fanotify_mark_mask_str (mask) %{ /* pure */ /* unprivileged */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) __u64 mask = (__u64)STAP_ARG_mask; _stp_lookup_or_str(_stp_fanotify_mark_mask_list, mask, STAP_RETVALUE, MAXSTRINGLEN); #endif %} function _perf_event_open_flags_str (flags) %{ /* pure */ /* unprivileged */ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) unsigned long flags = (unsigned long)STAP_ARG_flags; _stp_lookup_or_str(_stp_perf_event_open_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); #endif %} function _kcmp_type_str (type) %{ /* pure */ /* unprivileged */ unsigned long type = (unsigned long)STAP_ARG_type; _stp_lookup_str(_stp_kcmp_type_list, (unsigned int)STAP_ARG_type, STAP_RETVALUE, MAXSTRINGLEN); %} function _struct_sched_attr_u (uaddr) %{ /* pure */ /* struct sched_attr introduced in kernel commit d50dde5a10 along with SCHED_ATTR_SIZE_VER0 */ #ifdef SCHED_ATTR_SIZE_VER0 struct sched_attr sa; char *ptr = (char *)(unsigned long)STAP_ARG_uaddr; if (ptr == NULL) strlcpy(STAP_RETVALUE, "NULL", MAXSTRINGLEN); else { if (_stp_copy_from_user((char*)&sa, ptr, sizeof(struct sched_attr)) == 0) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "{size=%u, sched_policy=%u, sched_flags=%llu, " "sched_nice=%d, sched_priority=%u, sched_runtime=%llu, " "sched_deadline=%llu, sched_period=%llu}", sa.size, sa.sched_policy, sa.sched_flags, sa.sched_nice, sa.sched_priority, sa.sched_runtime, sa.sched_deadline, sa.sched_period); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", (unsigned long)ptr); } } #endif %} function _seccomp_op_str (op) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_seccomp_op_list, (unsigned int)STAP_ARG_op, STAP_RETVALUE, MAXSTRINGLEN); %} function _bpf_cmd_str (cmd) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_bpf_cmd_list, (int)STAP_ARG_cmd, STAP_RETVALUE, MAXSTRINGLEN); %} function _membarrier_cmd_str (cmd) %{ /* pure */ /* unprivileged */ _stp_lookup_str(_stp_membarrier_cmd_list, (unsigned int)STAP_ARG_cmd, STAP_RETVALUE, MAXSTRINGLEN); %} function _userfaultfd_flags_str (f) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_f; _stp_lookup_or_str(_stp_userfaultfd_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} function _preadv2_flags_str (f) %{ /* pure */ /* unprivileged */ unsigned int flags = (unsigned int)STAP_ARG_f; _stp_lookup_or_str(_stp_preadv2_flags_list, flags, STAP_RETVALUE, MAXSTRINGLEN); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/context-caller.stp %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %}function callers (n) { (str) = (""); (l) = (0); for ((i) = (0); ((i) <= (n)) || ((n) == (-(1))); (i)++) { (foo) = (((i) > (0))?(" "):("")); try { { (foo) .= (sprintf("0x%x", stack(i))); } } catch { { if ((n) == (-(1))) break ; error(sprint("reached end of stack before unwinding to level ", n)); } } ; (l) += (strlen(foo)); if ((l) > (%{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %})) break ; (str) .= (foo); }; return str; } function caller () { return sprintf("%s 0x%x", symname(caller_addr()), caller_addr()); } function caller_addr () { return stack(1); } function _caller_match (user_mode, level, module, section, addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:unwind */ /* pragma:uprobes */ /* pragma:vma */ /* unmodified-fnargs */ #ifdef STAP_CALLEE_MATCHALL /* Set using -D to have .callee probes fire regardless of caller */ STAP_RETVALUE = 1; #else STAP_RETVALUE = STAP_ARG_user_mode ? _stp_stack_user_get(CONTEXT, STAP_ARG_level) == _stp_umodule_relocate(STAP_ARG_module, STAP_ARG_addr, current) : _stp_stack_kernel_get(CONTEXT, STAP_ARG_level) == _stp_kmodule_relocate(STAP_ARG_module, STAP_ARG_section, STAP_ARG_addr); #endif %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/context-envvar.stp function env_var (name) { if ((name) == ("")) return "" ; (env_value) = (""); (mm) = ((task_current())->mm); if (mm) { (env_start) = ((mm)->env_start); (env_end) = ((mm)->env_end); if (((env_start) != (0)) && ((env_end) != (0))) { (len) = ((env_end) - (env_start)); (cur) = (user_string(env_start, "")); (env_name) = (tokenize(cur, "=")); for (; ((env_name) != (name)) && ((len) > (0)); ) { (env_len) = (strlen(cur)); (env_start) += ((env_len) + (1)); (len) -= ((env_len) + (1)); if ((len) > (0)) { (cur) = (user_string(env_start, "")); (env_name) = (tokenize(cur, "=")); } else (env_name) = ("") ; }; if ((len) > (0)) (env_value) = (tokenize("", "")) ; } ; } ; return env_value; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp function __stack_raw (n) %{ /* pragma:unwind */ /* pure */ /* basic sanity check for bounds: */ if (unlikely(STAP_ARG_n < 0 || STAP_ARG_n >= MAXBACKTRACE)) STAP_RETVALUE = 0; else STAP_RETVALUE = _stp_stack_kernel_get (CONTEXT, (unsigned)STAP_ARG_n); %} function stack (n) { (__r) = (__stack_raw(n)); if ((__r) != (0)) return __r ; (__b) = (backtrace()); (__orig_n) = (__n); (__sym) = (tokenize(__b, " ")); if ((__sym) == ("")) error(sprint("reached end of stack before unwinding to level ", __orig_n)) ; for (; (__n) > (0); ) { (__sym) = (tokenize("", " ")); if ((__sym) == ("")) error(sprint("reached end of stack before unwinding to level ", __orig_n)) ; (__n)--; }; return strtol(__sym, 16); } function print_stack (stk) { print_syms(stk); } function sprint_stack (stk) { return sprint_syms(stk); } function probefunc () { return (user_mode())?(usymname(uaddr())):(symname(addr())); } function probemod () %{ /* pure */ /* stable */ char *ptr, *start; start = strstr(CONTEXT->probe_point, "module(\""); ptr = start + 8; if (start) { int len = MAXSTRINGLEN; char *dst = STAP_RETVALUE; while (*ptr != '"' && --len && *ptr) *dst++ = *ptr++; *dst = 0; } else if (CONTEXT->kregs && ! CONTEXT->user_mode_p) { struct _stp_module *m; m = _stp_kmod_sec_lookup (REG_IP(CONTEXT->kregs), NULL); if (m && m->name) strlcpy (STAP_RETVALUE, m->name, MAXSTRINGLEN); else #if STAP_COMPAT_VERSION <= STAP_VERSION(2,2) strlcpy (STAP_RETVALUE, "", MAXSTRINGLEN); #else CONTEXT->last_error = "Cannot determine kernel module name"; #endif } else #if STAP_COMPAT_VERSION <= STAP_VERSION(2,2) strlcpy (STAP_RETVALUE, "", MAXSTRINGLEN); #else CONTEXT->last_error = "Cannot determine kernel module name"; #endif %} function modname (addr) %{ /* pure */ struct _stp_module *m; #ifdef STAPCONF_MODULE_TEXT_ADDRESS struct module *ko; #endif m = _stp_kmod_sec_lookup (STAP_ARG_addr, NULL); if (m && m->name) { strlcpy (STAP_RETVALUE, m->name, MAXSTRINGLEN); return; } #ifdef STAPCONF_MODULE_TEXT_ADDRESS preempt_disable(); ko = __module_text_address (STAP_ARG_addr); if (ko && ko->name) { strlcpy (STAP_RETVALUE, ko->name, MAXSTRINGLEN); preempt_enable_no_resched(); return; } preempt_enable_no_resched(); #endif #if STAP_COMPAT_VERSION <= STAP_VERSION(2,2) strlcpy (STAP_RETVALUE, "", MAXSTRINGLEN); #else CONTEXT->last_error = "Cannot determine kernel module name"; #endif %} function symname (addr) %{ /* pure */ /* pragma:symbols */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_SYMBOL, NULL); %} function symdata (addr) %{ /* pure */ /* pragma:symbols */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_DATA, NULL); %} function print_syms (callers) { (__sym) = (tokenize(callers, " ")); for (; (__sym) != (""); ) { printf(" %s : %s\\n", __sym, symdata(strtol(__sym, 16))); (__sym) = (tokenize("", " ")); }; } function sprint_syms (callers) { (__sym) = (tokenize(callers, " ")); (__foo) = (""); (__l) = (0); for (; (__sym) != (""); ) { (__line) = (sprintf(" %s : %s\\n", __sym, symdata(strtol(__sym, 16)))); (__l) += (strlen(__line)); if ((__l) > (%{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %})) break ; (__foo) .= (__line); (__sym) = (tokenize("", " ")); }; return __foo; } function symfileline (addr) %{ /* pure */ /* pragma:symbols */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_LINENUMBER + _STP_SYM_FILENAME, NULL); %} function symfile (addr) %{ /* pure */ /* pragma:symbols */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_FILENAME, NULL); %} function symline (addr) %{ /* pure */ /* pragma:symbols */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_LINENUMBER, NULL); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp function print_backtrace () %{ /* pragma:unwind */ /* pragma:symbols */ _stp_stack_kernel_print(CONTEXT, _STP_SYM_FULL); %} function sprint_backtrace () %{ /* pure */ /* stable */ /* pragma:unwind */ /* pragma:symbols */ _stp_stack_kernel_sprint (STAP_RETVALUE, MAXSTRINGLEN, CONTEXT, _STP_SYM_SIMPLE); %} function backtrace () %{ /* pure */ /* stable */ /* pragma:unwind */ _stp_stack_kernel_sprint (STAP_RETVALUE, MAXSTRINGLEN, CONTEXT, _STP_SYM_NONE); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp function execname () %{ /* pure */ /* unprivileged */ /* stable */ strlcpy (STAP_RETVALUE, current->comm, MAXSTRINGLEN); %} function pid () { return %{ /* pure */ /* unprivileged */ /* stable */ current->tgid %}; } function ns_pid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_pid_ns(current, PID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function tid () { return %{ /* pure */ /* unprivileged */ /* stable */ current->pid %}; } function ns_tid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_pid_ns(current, TID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function ppid () %{ /* pure */ /* unprivileged */ /* stable */ #if defined(STAPCONF_REAL_PARENT) STAP_RETVALUE = current->real_parent->tgid; #else STAP_RETVALUE = current->parent->tgid; #endif %} function ns_ppid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_pid_ns(current->parent, PID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function pgrp () %{ /* pure */ /* unprivileged */ /* stable */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) struct signal_struct *ss = kread( &(current->signal) ); STAP_RETVALUE = kread ( &(ss->pgrp) ); CATCH_DEREF_FAULT(); #else STAP_RETVALUE = task_pgrp_nr_ns(current, &init_pid_ns); #endif %} function ns_pgrp () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_pid_ns(current, PGRP); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function sid () %{ /* pure */ /* unprivileged */ /* stable */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) struct signal_struct *ss = kread( &(current->signal) ); STAP_RETVALUE = kread ( &(ss->session) ); CATCH_DEREF_FAULT(); #else STAP_RETVALUE = task_session_nr_ns(current, &init_pid_ns); #endif %} function ns_sid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_pid_ns(current, SID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function pexecname () %{ /* pure */ /* unprivileged */ /* stable */ #if defined(STAPCONF_REAL_PARENT) strlcpy (STAP_RETVALUE, current->real_parent->comm, MAXSTRINGLEN); #else strlcpy (STAP_RETVALUE, current->parent->comm, MAXSTRINGLEN); #endif %} function gid () %{ /* pure */ /* unprivileged */ /* stable */ #ifdef STAPCONF_TASK_UID STAP_RETVALUE = current->gid; #else #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kgid_munged(current_user_ns(), current_gid()); #else STAP_RETVALUE = current_gid(); #endif #endif %} function ns_gid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_user_ns(current, GID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function egid () %{ /* pure */ /* unprivileged */ /* stable */ #ifdef STAPCONF_TASK_UID STAP_RETVALUE = current->egid; #else #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kgid_munged(current_user_ns(), current_egid()); #else STAP_RETVALUE = current_egid(); #endif #endif %} function ns_egid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_user_ns(current, EGID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function uid () %{ /* pure */ /* unprivileged */ /* stable */ #ifdef STAPCONF_TASK_UID STAP_RETVALUE = current->uid; #else #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kuid_munged(current_user_ns(), current_uid()); #else STAP_RETVALUE = current_uid(); #endif #endif %} function ns_uid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_user_ns(current, UID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function euid () %{ /* pure */ /* unprivileged */ /* stable */ #ifdef STAPCONF_TASK_UID STAP_RETVALUE = current->euid; #else #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kuid_munged(&init_user_ns, current_euid()); #else STAP_RETVALUE = current_euid(); #endif #endif %} function ns_euid () %{ /* pure */ /* unprivileged */ /* stable */ int64_t rc = from_target_user_ns(current, EUID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); %} function is_myproc () %{ /* pure */ /* unprivileged */ /* stable */ STAP_RETVALUE = is_myproc(); %} function cpu () %{ /* pure */ /* unprivileged */ /* stable */ STAP_RETVALUE = smp_processor_id(); %} function registers_valid () %{ /* pure */ /* unprivileged */ /* stable */ STAP_RETVALUE = (c->user_mode_p ? (CONTEXT->uregs != NULL) : (CONTEXT->kregs != NULL)); %} function user_mode () %{ /* pure */ /* unprivileged */ /* stable */ STAP_RETVALUE = CONTEXT->user_mode_p ? 1 : 0; %} function is_return () %{ /* pure */ /* stable */ if (CONTEXT->probe_type == stp_probe_type_kretprobe || CONTEXT->probe_type == stp_probe_type_uretprobe) STAP_RETVALUE = 1; else STAP_RETVALUE = 0; %} function target () { return %{ /* pure */ /* unprivileged */ /* stable */ _stp_target %}; } function module_name () %{ /* pure */ /* unprivileged */ /* stable */ strlcpy(STAP_RETVALUE, THIS_MODULE->name, MAXSTRINGLEN); %} function module_size () %{ int ctx = num_online_cpus() * sizeof(struct context); snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%ludata/%lutext/%uctx/%unet/%ualloc kb", #ifdef STAPCONF_MODULE_LAYOUT (unsigned long) (THIS_MODULE->core_layout.size - THIS_MODULE->core_layout.text_size)/1024, (unsigned long) (THIS_MODULE->core_layout.text_size)/1024, #else #ifndef STAPCONF_GRSECURITY (unsigned long) (THIS_MODULE->core_size - THIS_MODULE->core_text_size)/1024, (unsigned long) (THIS_MODULE->core_text_size)/1024, #else (unsigned long) (THIS_MODULE->core_size_rw - THIS_MODULE->core_size_rx)/1024, (unsigned long) (THIS_MODULE->core_size_rx)/1024, #endif #endif ctx/1024, _stp_allocated_net_memory/1024, (_stp_allocated_memory - _stp_allocated_net_memory - ctx)/1024); %} function stp_pid () %{ /* pure */ /* stable */ STAP_RETVALUE = _stp_pid; %} function remote_id () { return %{ /* pure */ /* unprivileged */ /* stable */ _stp_remote_id %}; } function remote_uri () { return %{ /* string */ /* pure */ /* unprivileged */ _stp_remote_uri %}; } function stack_size () %{ /* pure */ /* stable */ STAP_RETVALUE = THREAD_SIZE; %} function stack_used () %{ /* pure */ /* stable */ char a; STAP_RETVALUE = THREAD_SIZE - ((long)&a & (THREAD_SIZE-1)); %} function stack_unused () %{ /* pure */ /* stable */ char a; STAP_RETVALUE = (long)&a & (THREAD_SIZE-1); %} function addr () %{ /* pure */ /* stable */ if (CONTEXT->user_mode_p) { STAP_RETVALUE = (intptr_t)(CONTEXT->uregs ? REG_IP(CONTEXT->uregs) : 0); } else { STAP_RETVALUE = (intptr_t)(CONTEXT->kregs ? REG_IP(CONTEXT->kregs) : 0); } %} function uaddr () %{ /* pure */ /* myproc-unprivileged */ /* stable */ struct pt_regs *uregs; if (CONTEXT->user_mode_p) uregs = CONTEXT->uregs; else uregs = _stp_current_pt_regs(); if (uregs) STAP_RETVALUE = (int64_t) REG_IP(uregs); else STAP_RETVALUE = 0; %} function cmdline_args (n, m, delim) { (__args) = (""); (__mm) = ((task_current())->mm); if ((__mm) == (0)) return "" ; (__arg_start) = ((__mm)->arg_start); (__arg_end) = ((__mm)->arg_end); if (((__arg_start) == (0)) || ((__arg_end) == (0))) return "" ; for ((__nr) = (0); ((__arg_start) < (__arg_end)) && (((m) < (0)) || ((__nr) <= (m))); (__nr)++) { (__arg) = (user_string(__arg_start, "")); (__arg_start) += ((strlen(__arg)) + (1)); if ((__nr) == (n)) (__args) = (__arg) else if ((__nr) > (n)) { if ((__arg) == ("")) (__args) .= ((delim) . ("\"\"")) else (__args) .= ((delim) . (__arg)) ; } ; }; return __args; } function cmdline_arg (n) { return cmdline_args(n, n, ""); } function cmdline_str () { return cmdline_args(0, -(1), " "); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp function set_kernel_string (addr, val) %{ /* guru */ store_kderef_string (STAP_ARG_val, STAP_ARG_addr, MAXSTRINGLEN); if (0) { deref_fault: /* branched to from store_deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_string_n (addr, n, val) %{ /* guru */ int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); store_kderef_string (STAP_ARG_val, STAP_ARG_addr, len); if (0) { deref_fault: /* branched to from store_deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_long (addr, val) %{ /* guru */ kwrite((long *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from kwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel long copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_int (addr, val) %{ /* guru */ kwrite((int *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from kwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel int copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_short (addr, val) %{ /* guru */ kwrite((short *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from kwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel short copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_char (addr, val) %{ /* guru */ kwrite((char *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from kwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel char copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_kernel_pointer (addr, val) %{ /* guru */ kwrite((void **) (uintptr_t) STAP_ARG_addr, (uintptr_t)STAP_ARG_val); if (0) { deref_fault: /* branched to from kwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel pointer copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp function kernel_string (addr) %{ /* pure */ char *destination = STAP_RETVALUE; kderef_string (destination, STAP_ARG_addr, MAXSTRINGLEN); if (0) { deref_fault: /* branched to from deref_string() */ /* Why '%1p' below? On newer kernels, the snprintf() function pads * out '(null)' to the same width as other pointers, which looks * really odd in the following error message. Setting a format * width of '1' fixes this. */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_string (addr, err_msg) { try { { return kernel_string(addr); } } catch { { return err_msg; } } ; } function kernel_string_quoted (addr) %{ /* pure */ int rc = 0; if (STAP_ARG_addr != 0) rc = _stp_text_str(STAP_RETVALUE, (char *)(uintptr_t)STAP_ARG_addr, MAXSTRINGLEN, MAXSTRINGLEN, 1, 0, 0); if (STAP_ARG_addr == 0 || rc < 0) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%p", (void *)(long)STAP_ARG_addr); %} function kernel_string_n (addr, n) %{ /* pure */ char *destination = STAP_RETVALUE; int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); kderef_string (destination, STAP_ARG_addr, len); if (0) { deref_fault: /* branched to from deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_string_utf32 (addr) %{ /* pure */ int rc = 0, len = MAXSTRINGLEN; uint32_t c32, *source = (uint32_t*)(intptr_t)STAP_ARG_addr; char *destination = STAP_RETVALUE; *destination = '\0'; while (len > 1 && (c32 = kread(source))) { if ((rc = _stp_convert_utf32(destination, len, c32)) <= 0) { if (rc < 0) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "invalid UTF-32 character U+%X at 0x%p", c32, source); CONTEXT->last_error = CONTEXT->error_buffer; } break; } ++source; destination += rc; len -= rc; } if (0) { deref_fault: /* branched to from deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", source); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_string_utf32 (addr, err_msg) { try { { return kernel_string_utf32(addr); } } catch { { return err_msg; } } ; } function kernel_string_quoted_utf32 (addr) { try { { return string_quoted(kernel_string_utf32(addr)); } } catch { { return sprintf("0x%x", addr); } } ; } function kernel_string_utf16 (addr) %{ /* pure */ int rc = 0, len = MAXSTRINGLEN; uint32_t c32; uint16_t c16low, *source = (uint16_t*)(intptr_t)STAP_ARG_addr; char *destination = STAP_RETVALUE; *destination = '\0'; while (len > 1 && (c32 = kread(source))) { /* Check for a UTF-16 high surrogate, then its low pair, and combine them. * Broken surrogates will just fall through to _stp_convert_utf32 and get * flagged as an error there. (Or even allowed, if we decide to be lax.) */ if (c32 >= 0xD800 && c32 <= 0xDBFF) { ++source; c16low = kread(source); if (c16low >= 0xDC00 && c16low <= 0xDFFF) c32 = 0x10000 + ((c32 & 0x3FF) << 10) + (c16low & 0x3FF); else --source; } if ((rc = _stp_convert_utf32(destination, len, c32)) <= 0) { if (rc < 0) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "invalid UTF-16 character U+%X at 0x%p", c32, source); CONTEXT->last_error = CONTEXT->error_buffer; } break; } ++source; destination += rc; len -= rc; } if (0) { deref_fault: /* branched to from deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel string copy fault at 0x%p [man error::fault]", source); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_string_utf16 (addr, err_msg) { try { { return kernel_string_utf16(addr); } } catch { { return err_msg; } } ; } function kernel_string_quoted_utf16 (addr) { try { { return string_quoted(kernel_string_utf16(addr)); } } catch { { return sprintf("0x%x", addr); } } ; } function kernel_long (addr) %{ /* pure */ STAP_RETVALUE = kread((long *) (intptr_t) STAP_ARG_addr); if (0) { deref_fault: /* branched to from kread() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel long copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_int (addr) %{ /* pure */ STAP_RETVALUE = kread((int *) (intptr_t) STAP_ARG_addr); if (0) { deref_fault: /* branched to from kread() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel int copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_short (addr) %{ /* pure */ STAP_RETVALUE = kread((short *) (intptr_t) STAP_ARG_addr); if (0) { deref_fault: /* branched to from kread() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel short copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_char (addr) %{ /* pure */ STAP_RETVALUE = kread((char *) (intptr_t) STAP_ARG_addr); if (0) { deref_fault: /* branched to from kread() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel char copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_pointer (addr) %{ /* pure */ STAP_RETVALUE = (uintptr_t) kread((void **) (uintptr_t) STAP_ARG_addr); if (0) { deref_fault: /* branched to from kread() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "kernel pointer copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function kernel_buffer_quoted (addr, inlen) { return kernel_buffer_quoted(addr, inlen, %{ /* pure */ MAXSTRINGLEN %}); } function kernel_buffer_quoted (addr, inlen, outlen) %{ /* pure */ if ( _stp_text_str(STAP_RETVALUE, (char *)(uintptr_t)STAP_ARG_addr, STAP_ARG_inlen, STAP_ARG_outlen, 1, 0, 1) < 0) snprintf(STAP_RETVALUE, STAP_ARG_outlen, "0x%lx", (unsigned long)(void *)(uintptr_t)STAP_ARG_addr); %} function kernel_buffer_quoted_error (addr, inlen, outlen) %{ /* pure */ if (_stp_text_str(STAP_RETVALUE, (char *) (uintptr_t) STAP_ARG_addr, STAP_ARG_inlen, STAP_ARG_outlen, 1, 0, 1) < 0) STAP_ERROR("Unable to access kernel space data at 0x%lx", (unsigned long)(void *)(uintptr_t)STAP_ARG_addr); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/ctime.stp function ctime (epochsecs) %{ /* pure */ #define SECSPERMIN 60L #define MINSPERHOUR 60L #define HOURSPERDAY 24L #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR) #define SECSPERDAY (SECSPERHOUR * HOURSPERDAY) #define DAYSPERWEEK 7 #define MONSPERYEAR 12 #define EPOCH_YEAR 1970 #define EPOCH_WDAY 4 #define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) static const int mon_lengths[2][MONSPERYEAR] = { {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} } ; static const int year_lengths[2] = { 365, 366 } ; static const char day_name[7][3] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static const char mon_name[12][3] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; long days, rem; time_t lcltime; int yleap; const int *ip; int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ // Check that the numer of seconds is "reasonable". // Otherwise (especially on 64bit machines) we will be spending // way too much time calculating the correct year, month and // day. Also we would like the returned string to always be 24 chars. // So cap to what can be represented normally on a 32bit machine. int64_t MAX_POS_SECS = 2147483647LL; int64_t MIN_NEG_SECS = -2147483648LL; if (STAP_ARG_epochsecs > MAX_POS_SECS) { #if STAP_COMPAT_VERSION <= STAP_VERSION(2,2) strlcpy(STAP_RETVALUE, "far far in the future...", MAXSTRINGLEN); #else CONTEXT->last_error = "Time too far in the future to be converted"; #endif return; } if (STAP_ARG_epochsecs < MIN_NEG_SECS) { #if STAP_COMPAT_VERSION <= STAP_VERSION(2,2) strlcpy(STAP_RETVALUE, "a long, long time ago...", MAXSTRINGLEN); #else CONTEXT->last_error = "Time too far in the past to be converted"; #endif return; } lcltime = STAP_ARG_epochsecs; days = ((long)lcltime) / SECSPERDAY; rem = ((long)lcltime) % SECSPERDAY; while (rem < 0) { rem += SECSPERDAY; --days; } while (rem >= SECSPERDAY) { rem -= SECSPERDAY; ++days; } /* compute hour, min, and sec */ tm_hour = (int) (rem / SECSPERHOUR); rem %= SECSPERHOUR; tm_min = (int) (rem / SECSPERMIN); tm_sec = (int) (rem % SECSPERMIN); /* compute day of week */ if ((tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0) tm_wday += DAYSPERWEEK; /* compute year & day of year */ tm_year = EPOCH_YEAR; if (days >= 0) { for (;;) { yleap = isleap(tm_year); if (days < year_lengths[yleap]) break; tm_year++; days -= year_lengths[yleap]; } } else { do { --tm_year; yleap = isleap(tm_year); days += year_lengths[yleap]; } while (days < 0); } ip = mon_lengths[yleap]; for (tm_mon = 0; days >= ip[tm_mon]; ++tm_mon) days -= ip[tm_mon]; tm_mday = days + 1; /* * At this point we have all our information. Now we need to * convert it to an ascii representation. */ snprintf (STAP_RETVALUE, MAXSTRINGLEN, "%.3s %.3s%3d %.2d:%.2d:%.2d %d", day_name[tm_wday], mon_name[tm_mon], tm_mday, tm_hour, tm_min, tm_sec, tm_year); %} function ctime () { return ctime(gettimeofday_s()); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/dentry.stp %{ // Make sure the filesystem "magic" constants we use are defined. #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)) #include #endif #ifndef PIPEFS_MAGIC #define PIPEFS_MAGIC 0x50495045 #endif #ifndef SOCKFS_MAGIC #define SOCKFS_MAGIC 0x534F434B #endif #ifndef ANON_INODE_FS_MAGIC #define ANON_INODE_FS_MAGIC 0x09041934 #endif #ifndef NSFS_MAGIC #define NSFS_MAGIC 0x6e736673 #endif %}function __dentry_IS_ROOT (dentry) { return (@cast(dentry, "dentry")->d_parent) == (dentry); } function __dentry_prepend (dentry, name) { (dname) = (d_name(dentry)); (c) = (substr(name, (strlen(name)) - (1), (strlen(name)) - (1))); if (((dname) == ("/")) && ((c) == ("/"))) return name ; if ((name) == ("")) { return dname; } else { return sprintf("%s/%s", dname, name); } ; } function d_name (dentry) { (s) = (&@cast(dentry, "dentry")->d_name); return kernel_string_n((s)->name, (s)->len); } function __inode_first_dentry (inode) { (d_alias) = ((@defined(@cast(inode, "struct inode")->i_dentry->first))?(@cast(inode, "struct inode")->i_dentry->first):(@cast(inode, "struct inode")->i_dentry->next)); if (@defined(&@cast(0, "struct dentry")->d_alias)) { return &@cast((d_alias) - (&@cast(0, "struct dentry")->d_alias), "struct dentry"); } else { return &@cast((d_alias) - (&@cast(0, "struct dentry")->d_u->d_alias), "struct dentry"); } ; } function __inode_vfsmount (inode) { if (@defined(&@cast(0, "struct super_block")->s_mounts)) { (mnt_ns) = (@cast(task_current(), "struct task_struct")->nsproxy->mnt_ns); (sb) = (@cast(inode, "struct inode")->i_sb); (head) = (&(sb)->s_mounts); for ((pos) = ((head)->next); (pos) != (head); (pos) = ((pos)->next)) { (mount) = (&@cast((pos) - (&@cast(0, "struct mount")->mnt_instance), "struct mount")); if (((mount)->mnt_ns) == (mnt_ns)) return &(mount)->mnt ; }; } ; return 0; } function inode_name (inode) { return reverse_path_walk(__inode_first_dentry(inode)); } function inode_path (inode) { (dentry) = (__inode_first_dentry(inode)); (vfsmount) = (__inode_vfsmount(inode)); if ((vfsmount) != (0)) return task_dentry_path(task_current(), dentry, vfsmount) ; return reverse_path_walk(dentry); } function reverse_path_walk (dentry) { for (; 1; ) { (name) = (__dentry_prepend(dentry, name)); (dentry) = (@cast(dentry, "dentry")->d_parent); if (__dentry_IS_ROOT(dentry)) return name ; }; } function real_mount (vfsmnt) { if (@defined(&@cast(0, "mount")->mnt_parent)) { (offset) = (&@cast(0, "mount")->mnt); if (((vfsmnt) < (0)) || ((vfsmnt) > (offset))) return (vfsmnt) - (offset) ; } ; return 0; } function task_dentry_path (task, dentry, vfsmnt) { (dentry) = (&@cast(dentry, "dentry")); (vfsmnt) = (&@cast(vfsmnt, "vfsmount")); if ((((@defined(&@cast(0, "dentry")->d_op->d_dname)) && ((dentry)->d_op)) && ((dentry)->d_op->d_dname)) && ((!(__dentry_IS_ROOT(dentry))) || ((dentry) != ((vfsmnt)->mnt_root)))) { if (((vfsmnt)->mnt_sb->s_magic) == (%{ /* pure */ /* unprivileged */ /* stable */ SOCKFS_MAGIC %})) { return sprintf("socket:[%lu]", (dentry)->d_inode->i_ino); } else if (((vfsmnt)->mnt_sb->s_magic) == (%{ /* pure */ /* unprivileged */ /* stable */ PIPEFS_MAGIC %})) { return sprintf("pipe:[%lu]", (dentry)->d_inode->i_ino); } else if (((vfsmnt)->mnt_sb->s_magic) == (%{ /* pure */ /* unprivileged */ /* stable */ ANON_INODE_FS_MAGIC %})) { return sprintf("ANON_INODE:%s", d_name(dentry)); } else if (((vfsmnt)->mnt_sb->s_magic) == (%{ /* pure */ /* unprivileged */ /* stable */ NSFS_MAGIC %})) { (ns_ops) = (&@cast((dentry)->d_fsdata, "proc_ns_operations")); return sprintf("%s:[%lu]", kernel_string((ns_ops)->name), (dentry)->d_inode->i_ino); } ; return sprintf("UNKNOWN:[%p]", dentry); } ; if (@defined(&@cast(0, "fs_struct")->rootmnt)) { (root_dentry) = (&@cast(task, "task_struct")->fs->root); (root_vfsmnt) = (&@cast(task, "task_struct")->fs->rootmnt); } else { (root_dentry) = (@cast(task, "task_struct")->fs->root->dentry); (root_vfsmnt) = (@cast(task, "task_struct")->fs->root->mnt); } ; for (; 1; ) { if (((dentry) == (root_dentry)) && ((vfsmnt) == (root_vfsmnt))) break ; if (((dentry) == ((vfsmnt)->mnt_root)) || (__dentry_IS_ROOT(dentry))) { if (!(@defined(&@cast(0, "vfsmount")->mnt_parent))) { (mnt) = (&@cast(real_mount(vfsmnt), "mount")); if ((mnt) == (0)) return "" ; if (((mnt)->mnt_parent) == (vfsmnt)) return sprintf("%s%s", d_name((mnt)->mnt_mountpoint), name) ; (dentry) = ((mnt)->mnt_mountpoint); (vfsmnt) = (&(mnt)->mnt_parent->mnt); } else { if (((vfsmnt)->mnt_parent) == (vfsmnt)) return sprintf("%s%s", d_name((vfsmnt)->mnt_mountpoint), name) ; (dentry) = ((vfsmnt)->mnt_mountpoint); (vfsmnt) = ((vfsmnt)->mnt_parent); } ; continue; } ; (name) = (__dentry_prepend(dentry, name)); (dentry) = ((dentry)->d_parent); }; return sprintf("/%s", name); } function d_path (nd) { (dentry) = ((@defined(@cast(nd, "nameidata")->path->dentry))?(@cast(nd, "nameidata")->path->dentry):(@cast(nd, "nameidata")->dentry)); (vfsmnt) = ((@defined(@cast(nd, "nameidata")->path->mnt))?(@cast(nd, "nameidata")->path->mnt):(@cast(nd, "nameidata")->mnt)); return sprintf("%s/", task_dentry_path(task_current(), dentry, vfsmnt)); } function fullpath_struct_nameidata (nd) { return d_path(nd); } function fullpath_struct_path (path) { return task_dentry_path(task_current(), @cast(path, "path", "kernel:nfs:kernel")->dentry, @cast(path, "path", "kernel:nfs:kernel")->mnt); } function fullpath_struct_file (task, file) { return task_dentry_path(task, (@defined(@cast(file, "file")->f_path->dentry))?(@cast(file, "file")->f_path->dentry):(@cast(file, "file")->f_dentry), (@defined(@cast(file, "file")->f_path->mnt))?(@cast(file, "file")->f_path->mnt):(@cast(file, "file")->f_vfsmnt)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp %{ #include %}function MAJOR (dev) %{ /* pure */ STAP_RETVALUE = MAJOR(STAP_ARG_dev); %} function MINOR (dev) %{ /* pure */ STAP_RETVALUE = MINOR(STAP_ARG_dev); %} function MKDEV (major, minor) %{ /* pure */ STAP_RETVALUE = MKDEV(STAP_ARG_major,STAP_ARG_minor); %} function usrdev2kerndev (dev) %{ /* pure */ STAP_RETVALUE = new_decode_dev(STAP_ARG_dev); %} function bdevname (bdev) { (bdev) = (&@cast(bdev, "block_device")); if ((bdev) == (0)) return "N/A" ; (hd) = ((bdev)->bd_disk); if ((bdev)->bd_part) (partno) = ((bdev)->bd_part->partno) else (partno) = ((MINOR((bdev)->bd_dev)) - ((hd)->first_minor)) ; if (!(partno)) return kernel_string((hd)->disk_name) ; (disk_name) = (kernel_string((hd)->disk_name)); if (isdigit(substr(disk_name, (strlen(disk_name)) - (1), 1))) return sprintf("%sp%d", disk_name, partno) else return sprintf("%s%d", disk_name, partno) ; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp function big_endian2 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_be16(STAP_ARG_val); %} function big_endian4 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_be32(STAP_ARG_val); %} function big_endian8 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_be64(STAP_ARG_val); %} function little_endian2 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_le16(STAP_ARG_val); %} function little_endian4 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_le32(STAP_ARG_val); %} function little_endian8 (val) %{ /* pure */ STAP_RETVALUE = cpu_to_le64(STAP_ARG_val); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp %{ /* guru */ #undef STP_OVERLOAD #include %}function mdelay (ms) %{ /* guru */ mdelay(STAP_ARG_ms); %} function udelay (us) %{ /* guru */ udelay(STAP_ARG_us); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/guru-signal.stp function raise (signo) %{ /* guru */ int rc = send_sig ((int) STAP_ARG_signo, current, 1); if (rc) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "raise/send_sig error %d", rc); CONTEXT->last_error = CONTEXT->error_buffer; } %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp function htonll (x) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be64 ((u64) STAP_ARG_x); %} function htonl (x) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be32 ((u32) STAP_ARG_x); %} function htons (x) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be16 ((u16) STAP_ARG_x); %} function ntohll (x) %{ /* pure */ STAP_RETVALUE = (int64_t) be64_to_cpu ((u64) STAP_ARG_x); %} function ntohl (x) %{ /* pure */ STAP_RETVALUE = (int64_t) be32_to_cpu ((u32) STAP_ARG_x); %} function ntohs (x) %{ /* pure */ STAP_RETVALUE = (int64_t) be16_to_cpu ((u16) STAP_ARG_x); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/inet_sock.stp function inet_get_local_port (sock) { return (@defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_num))?(@cast(sock, "inet_sock")->sk->__sk_common->skc_num):((@defined(@cast(sock, "inet_sock")->inet_num))?(@cast(sock, "inet_sock")->inet_num):((@defined(@cast(sock, "inet_sock")->num))?(@cast(sock, "inet_sock")->num):(@cast(sock, "inet_sock", "kernel")->inet->num))); } function inet_get_ip_source (sock) { return format_ipaddr(__ip_sock_daddr(sock), __ip_sock_family(sock)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/ioblock.stp %{ #include #include #ifdef STAPCONF_BLK_TYPES #include #else #define REQ_WRITE (1 << BIO_RW) #endif %}global BIO_READ = 0 global BIO_WRITE = 1 probe ioblock.request = kernel.function("generic_make_request"){ (name) = ("ioblock.request"); (devname) = (__bio_devname($bio)); (ino) = (__bio_ino($bio)); (sector) = ((@defined($bio->bi_iter->bi_sector))?($bio->bi_iter->bi_sector):($bio->bi_sector)); (flags) = ($bio->bi_flags); (rw) = ($bio->bi_rw); (vcnt) = ($bio->bi_vcnt); (idx) = ((@defined($bio->bi_iter->bi_idx))?($bio->bi_iter->bi_idx):($bio->bi_idx)); (phys_segments) = ($bio->bi_phys_segments); (hw_segments) = ((@defined($bio->bi_hw_segments))?($bio->bi_hw_segments):(0)); (size) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (bdev) = ($bio->bi_bdev); (bdev_contains) = ($bio->bi_bdev->bd_contains); (p_start_sect) = (__bio_start_sect($bio)); } probe ioblock.end = kernel.function("bio_endio"){ (name) = ("ioblock.end"); (devname) = (__bio_devname($bio)); (ino) = (__bio_ino($bio)); (bytes_done) = ((@defined($bytes_done))?($bytes_done):((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size))); (error) = ((@defined($error))?($error):($bio->bi_error)); (sector) = ((@defined($bio->bi_iter->bi_sector))?($bio->bi_iter->bi_sector):($bio->bi_sector)); (flags) = ($bio->bi_flags); (rw) = ($bio->bi_rw); (vcnt) = ($bio->bi_vcnt); (idx) = ((@defined($bio->bi_iter->bi_idx))?($bio->bi_iter->bi_idx):($bio->bi_idx)); (phys_segments) = ($bio->bi_phys_segments); (hw_segments) = ((@defined($bio->bi_hw_segments))?($bio->bi_hw_segments):(0)); (size) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); } probe ioblock_trace.bounce = kernel.trace("block_bio_bounce"){ (name) = ("ioblock_trace.bounce"); (q) = ($q); (devname) = (__bio_devname($bio)); (ino) = (__bio_ino($bio)); (bytes_done) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (sector) = ((@defined($bio->bi_iter->bi_sector))?($bio->bi_iter->bi_sector):($bio->bi_sector)); (flags) = ($bio->bi_flags); (rw) = ($bio->bi_rw); (vcnt) = ($bio->bi_vcnt); (idx) = ((@defined($bio->bi_iter->bi_idx))?($bio->bi_iter->bi_idx):($bio->bi_idx)); (phys_segments) = ($bio->bi_phys_segments); (size) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (bdev_contains) = ($bio->bi_bdev->bd_contains); (bdev) = ($bio->bi_bdev); (p_start_sect) = (__bio_start_sect($bio)); } probe ioblock_trace.request = kernel.trace("block_bio_queue"){ (name) = ("ioblock_trace.request"); (q) = ($q); (devname) = (__bio_devname($bio)); (ino) = (__bio_ino($bio)); (bytes_done) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (sector) = ((@defined($bio->bi_iter->bi_sector))?($bio->bi_iter->bi_sector):($bio->bi_sector)); (flags) = ($bio->bi_flags); (rw) = ($bio->bi_rw); (vcnt) = ($bio->bi_vcnt); (idx) = ((@defined($bio->bi_iter->bi_idx))?($bio->bi_iter->bi_idx):($bio->bi_idx)); (phys_segments) = ($bio->bi_phys_segments); (size) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (bdev_contains) = ($bio->bi_bdev->bd_contains); (bdev) = ($bio->bi_bdev); (p_start_sect) = (__bio_start_sect($bio)); } probe ioblock_trace.end = kernel.trace("block_bio_complete"){ (name) = ("ioblock_trace.end"); (q) = ($q); (devname) = (__bio_devname($bio)); (ino) = (__bio_ino($bio)); (bytes_done) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (sector) = ((@defined($bio->bi_iter->bi_sector))?($bio->bi_iter->bi_sector):($bio->bi_sector)); (flags) = ($bio->bi_flags); (rw) = ($bio->bi_rw); (vcnt) = ($bio->bi_vcnt); (idx) = ((@defined($bio->bi_iter->bi_idx))?($bio->bi_iter->bi_idx):($bio->bi_idx)); (phys_segments) = ($bio->bi_phys_segments); (size) = ((@defined($bio->bi_iter->bi_size))?($bio->bi_iter->bi_size):($bio->bi_size)); (bdev_contains) = ($bio->bi_bdev->bd_contains); (bdev) = ($bio->bi_bdev); (p_start_sect) = (__bio_start_sect($bio)); } function __bio_ino (bio) %{ /* pure */ struct bio *bio = (struct bio *)(long)STAP_ARG_bio; struct page *bv_page = ((bio && kread(&(bio->bi_vcnt))) ? kread(&(bio->bi_io_vec[0].bv_page)) : NULL); STAP_RETVALUE = -1; if (bv_page) { /* Before calling PageSlab() and PageSwapCache() on bv_page, we * need to make sure the bv_page struct is valid. */ (void)kderef_buffer(NULL, bv_page, sizeof(struct page)); if (!PageSlab(bv_page) && !PageSwapCache(bv_page)) { struct address_space *mapping = kread(&(bv_page->mapping)); if (mapping && ((unsigned long)mapping & PAGE_MAPPING_ANON) == 0) { struct inode *host = kread(&(mapping->host)); if (host) STAP_RETVALUE = kread(&(host->i_ino)); } } } CATCH_DEREF_FAULT(); %} function bio_rw_num (rw) { return (rw) & (%{ /* pure */ /* unprivileged */ /* stable */ REQ_WRITE %}); } function bio_rw_str (rw) { return ((bio_rw_num(rw)) == (BIO_READ))?("R"):("W"); } function __bio_start_sect (bio) { try { { return @cast(bio, "bio")->bi_bdev->bd_part->start_sect; } } catch { { return -(1); } } ; } function __bio_devname (bio) { return bdevname(@cast(bio, "bio")->bi_bdev); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp %{ #include #include %}probe ioscheduler.elv_next_request = kernel.function("blk_peek_request")!, kernel.function("elv_next_request"){ (name) = ("elv_next_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); } probe ioscheduler.elv_next_request.return = kernel.function("blk_peek_request").return!, kernel.function("elv_next_request").return{ (name) = ("elv_next_request"); if (($return) == (0)) { (rq) = (0); (rq_flags) = (0); (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (rq) = ($return); (rq_flags) = ((@defined($return->cmd_flags))?($return->cmd_flags):($return->flags)); if (($return->rq_disk) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($return->rq_disk->major); (disk_minor) = ($return->rq_disk->first_minor); } ; } ; } probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request"){ (name) = ("elv_completed_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); if (($rq) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { if (($rq->rq_disk) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; } ; (rq) = ($rq); (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler.elv_add_request.kp = kernel.function("elv_insert")!, kernel.function("__elv_add_request"){ (name) = ("elv_add_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); (q) = ($q); if (($rq) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { if (($rq->rq_disk) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; } ; (rq) = ($rq); (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert")?{ (name) = ("elv_add_request"); (q) = ($q); (elevator_name) = ((($q->elevator) == (0))?(""):(kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), ""))); (rq) = ($rq); if ((($rq) == (0)) || (($rq->rq_disk) == (0))) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler.elv_add_request = ioscheduler.elv_add_request.tp!, ioscheduler.elv_add_request.kp{ } probe ioscheduler_trace.elv_completed_request = kernel.trace("block_rq_complete")?{ (name) = ("elv_completed_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); (rq) = ($rq); if ((($rq) == (0)) || (($rq->rq_disk) == (0))) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler_trace.elv_issue_request = kernel.trace("block_rq_issue")?{ (name) = ("elv_issue_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); (rq) = ($rq); if ((($rq) == (0)) || (($rq->rq_disk) == (0))) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler_trace.elv_requeue_request = kernel.trace("block_rq_requeue")?{ (name) = ("elv_requeue_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); (rq) = ($rq); if ((($rq) == (0)) || (($rq->rq_disk) == (0))) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler_trace.elv_abort_request = kernel.trace("block_rq_abort")?{ (name) = ("elv_abort_request"); (elevator_name) = (kernel_string((@defined($q->elevator->type->elevator_name))?($q->elevator->type->elevator_name):((@defined($q->elevator->elevator_type->elevator_name))?($q->elevator->elevator_type->elevator_name):($q->elevator->elevator_name)), "")); (rq) = ($rq); if ((($rq) == (0)) || (($rq->rq_disk) == (0))) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = ($rq->rq_disk->major); (disk_minor) = ($rq->rq_disk->first_minor); } ; (rq_flags) = ((($rq) == (0))?(0):((@defined($rq->cmd_flags))?($rq->cmd_flags):($rq->flags))); } probe ioscheduler_trace.plug = kernel.trace("block_plug")?{ (name) = ("plug"); (rq_queue) = ($q); } probe ioscheduler_trace.unplug_io = kernel.trace("block_unplug_io")?{ (name) = ("unplug_io"); (rq_queue) = ($q); } probe ioscheduler_trace.unplug_timer = kernel.trace("block_unplug_timer")?{ (name) = ("unplug_timer"); (rq_queue) = ($q); } function disk_major_from_request (var_q) %{ /* pure */ struct request_queue *q = (struct request_queue *)((long)STAP_ARG_var_q); /* We need to make sure there isn't a deref hazard here when * reading 'q->queue_head'. However, kread() wants a pointer to * a pointer, and we can't provide that for 'q->queue_head' * since the list_head structure is directly embedded in the * 'struct request_queue'. So, we validate all the members of * the list_head structure instead. */ (void) kread(&(q->queue_head.next)); (void) kread(&(q->queue_head.prev)); if (list_empty(&(q->queue_head))) STAP_RETVALUE = -1; else { struct request *rq = list_entry_rq(q->queue_head.next); struct gendisk *rq_disk = kread(&(rq->rq_disk)); STAP_RETVALUE = kread(&(rq_disk->major)); } CATCH_DEREF_FAULT(); %} function disk_minor_from_request (var_q) %{ /* pure */ struct request_queue *q = (struct request_queue *)((long)STAP_ARG_var_q); /* We need to make sure there isn't a deref hazard here when * reading 'q->queue_head'. However, kread() wants a pointer to * a pointer, and we can't provide that for 'q->queue_head' * since the list_head structure is directly embedded in the * 'struct request_queue'. So, we validate all the members of * the list_head structure instead. */ (void) kread(&(q->queue_head.next)); (void) kread(&(q->queue_head.prev)); if (list_empty(&(q->queue_head))) STAP_RETVALUE = -1; else { struct request *rq = list_entry_rq(q->queue_head.next); struct gendisk *rq_disk = kread(&(rq->rq_disk)); STAP_RETVALUE = kread(&(rq_disk->first_minor)); } CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %}function format_ipaddr (addr, family) %{ /* pure */ if (STAP_ARG_family == AF_INET) { __be32 ip = (__be32)STAP_ARG_addr; #ifndef NIPQUAD_FMT // kver >= 2.6.36 snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%pI4", &ip); #else snprintf(STAP_RETVALUE, MAXSTRINGLEN, NIPQUAD_FMT, NIPQUAD(ip)); #endif } #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) else if (STAP_ARG_family == AF_INET6) { struct in6_addr *ipv6 = (struct in6_addr *)(uintptr_t)STAP_ARG_addr; // We need to derefence the memory safely from the // address passed to us that contains the IPv6 address. // However, kderef()/kread() only handle data with a // size of 1, 2, 4, or 8. So, we'll use // kderef_buffer() which goes byte by byte. kderef_buffer(NULL, ipv6, sizeof(struct in6_addr)); #ifndef NIP6_FMT // kver >= 2.6.36 snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%pI6", ipv6); #else snprintf(STAP_RETVALUE, MAXSTRINGLEN, NIP6_FMT, NIP6(*ipv6)); #endif } #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ else strncpy(STAP_RETVALUE, "*unknown address family*", MAXSTRINGLEN); #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) CATCH_DEREF_FAULT(); #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} function ip_ntop (addr) { return format_ipaddr(addr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); } function __ip_sock_saddr (sock) { (family) = (@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_family); if ((family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return (@defined(@cast(sock, "inet_sock")->inet_saddr))?(@cast(sock, "inet_sock")->inet_saddr):((@defined(@cast(sock, "inet_sock")->saddr))?(@cast(sock, "inet_sock")->saddr):(@cast(sock, "inet_sock", "kernel")->inet->saddr)); } else if ((family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})) { return &@cast(sock, "inet_sock", "kernel")->pinet6->saddr; } ; return 0; } function __ip_sock_daddr (sock) { (family) = (@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_family); if ((family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return (@defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr))?(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr):((@defined(@cast(sock, "inet_sock")->inet_daddr))?(@cast(sock, "inet_sock")->inet_daddr):((@defined(@cast(sock, "inet_sock")->daddr))?(@cast(sock, "inet_sock")->daddr):(@cast(sock, "inet_sock", "kernel")->inet->daddr))); } else if ((family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})) { return (@defined(&@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_v6_daddr))?(&@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_v6_daddr):(&@cast(sock, "inet_sock", "kernel")->pinet6->daddr); } ; return 0; } function __ip_sock_family (sock) { return @cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_family; } function __get_skb_iphdr (skb) %{ /* pure */ struct sk_buff *skb; skb = (struct sk_buff *)(long)STAP_ARG_skb; /* as done by skb_network_header() */ #ifdef NET_SKBUFF_DATA_USES_OFFSET STAP_RETVALUE = (long)(kread(&(skb->head)) + kread(&(skb->network_header))); #else STAP_RETVALUE = (long)kread(&(skb->network_header)); #endif CATCH_DEREF_FAULT(); %} function __ip_skb_proto (iphdr) { return @cast(iphdr, "iphdr", "kernel")->protocol; } function __ip_skb_saddr (iphdr) { return @cast(iphdr, "iphdr", "kernel")->saddr; } function __ip_skb_daddr (iphdr) { return @cast(iphdr, "iphdr", "kernel")->daddr; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib-filter-default.stp function ipmib_filter_key (skb, op, SourceIsLocal) { if (!(skb)) return 0 ; return 1; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/ipmib.stp %{ /* pure */ #include #include #include #include #include %}global InReceives global InNoRoutes global InAddrErrors global InUnknownProtos global InDiscards global ForwDatagrams global OutRequests global ReasmTimeout global ReasmReqds global FragOKs global FragFails probe ipmib.InReceives = kernel.function("ip_rcv"){ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (0); (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (InReceives[key]) += (op) ; } probe ipmib.InNoRoutes = kernel.function("ip_route_input_noref").return!, kernel.function("ip_route_input_common").return!, kernel.function("ip_route_input").return{ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (0); if (($return) != (-(_enetunreach()))) next ; (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (InNoRoutes[key]) += (op) ; } probe ipmib.InAddrErrors = kernel.function("ip_route_input_noref").return!, kernel.function("ip_route_input_common").return!, kernel.function("ip_route_input").return{ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (0); if (($return) != (-(_ehostunreach()))) next ; (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (InAddrErrors[key]) += (op) ; } probe ipmib.InUnknownProtos = kernel.function("icmp_send"){ (skb) = ($skb_in); (op) = (1); (SourceIsLocal) = (0); if ((($type) == (_icmp_dest_unreach())) && (($code) == (_icmp_prot_unreach()))) { (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (InUnknownProtos[key]) += (op) ; } ; } probe ipmib.InDiscards = kernel.function("ip_rcv").return{ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (0); if (($return) != (_net_rx_drop())) next ; (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (InDiscards[key]) += (op) ; } probe ipmib.ForwDatagrams = kernel.function("ip_forward_finish"){ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (0); (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (ForwDatagrams[key]) += (op) ; } probe ipmib.OutRequests = kernel.function("ip_output"), kernel.function("ip_mc_output"){ (skb) = ((@defined($skb))?($skb):(kernel_pointer($pskb))); (op) = (1); (SourceIsLocal) = (1); (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (OutRequests[key]) += (op) ; } probe ipmib.ReasmTimeout = kernel.function("icmp_send"){ (skb) = ($skb_in); (op) = (0); (SourceIsLocal) = (1); if ((($type) == (_icmp_time_exceeded())) && (($code) == (_icmp_exc_fragtime()))) { (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (ReasmTimeout[key]) += (op) ; } ; } probe ipmib.ReasmReqds = kernel.function("ip_defrag"){ (skb) = ($skb); (op) = (0); (SourceIsLocal) = (1); (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (ReasmReqds[key]) += (op) ; } probe ipmib.FragOKs = kernel.function("ip_fragment").return{ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (1); if ($return) next ; (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (FragOKs[key]) += (op) ; } probe ipmib.FragFails = kernel.function("ip_fragment").return{ (skb) = ($skb); (op) = (1); (SourceIsLocal) = (1); if (!($return)) next ; (key) = (ipmib_filter_key(skb, op, SourceIsLocal)); if (key) (FragFails[key]) += (op) ; } function ipmib_remote_addr (skb, SourceIsLocal) { (iphdr) = (__get_skb_iphdr(skb)); if (SourceIsLocal) return ntohl(__ip_skb_daddr(iphdr)) ; return ntohl(__ip_skb_saddr(iphdr)); } function ipmib_local_addr (skb, SourceIsLocal) { (iphdr) = (__get_skb_iphdr(skb)); if (SourceIsLocal) return ntohl(__ip_skb_saddr(iphdr)) ; return ntohl(__ip_skb_daddr(iphdr)); } function ipmib_tcp_remote_port (skb, SourceIsLocal) { (th) = (_plunge_into_tcphdr(skb)); if (SourceIsLocal) return __tcp_skb_dport(th) ; return __tcp_skb_sport(th); } function ipmib_tcp_local_port (skb, SourceIsLocal) { (th) = (_plunge_into_tcphdr(skb)); if (SourceIsLocal) return __tcp_skb_sport(th) ; return __tcp_skb_dport(th); } function ipmib_get_proto (skb) { (iphdr) = (__get_skb_iphdr(skb)); return __ip_skb_proto(iphdr); } function _plunge_into_tcphdr (skb) %{ struct sk_buff *skb = (struct sk_buff *)(long)STAP_ARG_skb; /* as done by skb_network_header() */ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,21) STAP_RETVALUE=(long)kread(&(skb->nh.raw)) + (long)sizeof(struct tcphdr); #else #ifdef NET_SKBUFF_DATA_USES_OFFSET STAP_RETVALUE=(long)kread(&(skb->network_header)) + (long)(kread(&(skb->head))) + (long)sizeof(struct tcphdr); #else STAP_RETVALUE=(long)kread(&(skb->network_header)) + (long)sizeof(struct tcphdr); #endif #endif CATCH_DEREF_FAULT(); %} function _ehostunreach () { return %{ /* pure */ /* unprivileged */ /* stable */ EHOSTUNREACH %}; } function _enetunreach () { return %{ /* pure */ /* unprivileged */ /* stable */ ENETUNREACH %}; } function _icmp_dest_unreach () { return %{ /* pure */ /* unprivileged */ /* stable */ ICMP_DEST_UNREACH %}; } function _icmp_prot_unreach () { return %{ /* pure */ /* unprivileged */ /* stable */ ICMP_PROT_UNREACH %}; } function _net_rx_drop () { return %{ /* pure */ /* unprivileged */ /* stable */ NET_RX_DROP %}; } function _icmp_time_exceeded () { return %{ /* pure */ /* unprivileged */ /* stable */ ICMP_TIME_EXCEEDED %}; } function _icmp_exc_fragtime () { return %{ /* pure */ /* unprivileged */ /* stable */ ICMP_EXC_FRAGTIME %}; } function _rtn_multicast () { return %{ /* pure */ /* unprivileged */ /* stable */ RTN_MULTICAST %}; } function _rtn_broadcast () { return %{ /* pure */ /* unprivileged */ /* stable */ RTN_BROADCAST %}; } function _rtn_unspec () { return %{ /* pure */ /* unprivileged */ /* stable */ RTN_UNSPEC %}; } function _input_route_type (skb) { (rt) = ((@defined(@cast(skb, "sk_buff")->_skb_dst))?(@cast(skb, "sk_buff")->_skb_dst):((@defined(@cast(skb, "sk_buff")->rtable))?(@cast(skb, "sk_buff")->rtable):(0))); return (rt)?(@cast(rt, "rtable")->rt_type):(_rtn_unspec()); } function _output_route_type (skb) { (rt) = ((@defined(@cast(skb, "sk_buff")->_skb_dst))?(@cast(skb, "sk_buff")->_skb_dst):((@defined(@cast(skb, "sk_buff")->dst))?(@cast(skb, "sk_buff")->dst):(0))); return (rt)?(@cast(rt, "rtable")->rt_type):(_rtn_unspec()); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/irq.stp probe workqueue.create = kernel.trace("workqueue_creation")?{ (wq_thread) = ($wq_thread); (cpu) = ($cpu); } probe workqueue.insert = kernel.trace("workqueue_insertion")?{ (wq_thread) = ($wq_thread); (work) = ($work); (work_func) = ($work->func); } probe workqueue.execute = kernel.trace("workqueue_execution")?{ (wq_thread) = ($wq_thread); (work) = ($work); (work_func) = ($work->func); } probe workqueue.destroy = kernel.trace("workqueue_destruction")?{ (wq_thread) = ($wq_thread); } probe irq_handler.entry = kernel.trace("irq_handler_entry")?{ (irq) = ($irq); (action) = (&@cast($action, "irqaction", "kernel")); (handler) = ((action)->handler); (flags) = ((action)->flags); (flags_str) = (irqflags_str(flags)); (dev_name) = ((action)->name); (dev_id) = ((action)->dev_id); (next_irqaction) = ((action)->next); (dir) = ((action)->dir); (thread_fn) = ((action)->thread_fn); (thread) = ((action)->thread); (thread_flags) = ((action)->thread_flags); } probe irq_handler.exit = kernel.trace("irq_handler_exit")?{ (irq) = ($irq); (action) = (&@cast($action, "irqaction", "kernel")); (ret) = ($ret); (handler) = ((action)->handler); (flags) = ((action)->flags); (flags_str) = (irqflags_str(flags)); (dev_name) = ((action)->name); (dev_id) = ((action)->dev_id); (next_irqaction) = ((action)->next); (dir) = ((action)->dir); (thread_fn) = ((action)->thread_fn); (thread) = ((action)->thread); (thread_flags) = ((action)->thread_flags); } probe softirq.entry = kernel.trace("irq_softirq_entry")!, kernel.trace("softirq_entry")?{ (h) = ((@defined($h))?($h):(0)); (vec) = ((@defined($vec))?($vec):(0)); (action) = ((@defined($h))?(@cast($h, "softirq_action", "kernel")->action):(0)); (vec_nr) = ((@defined($vec_nr))?($vec_nr):(0)); } probe softirq.exit = kernel.trace("irq_softirq_exit")!, kernel.trace("softirq_exit")?{ (h) = ((@defined($h))?($h):(0)); (vec) = ((@defined($vec))?($vec):(0)); (action) = ((@defined($h))?(@cast($h, "softirq_action", "kernel")->action):(0)); (vec_nr) = ((@defined($vec_nr))?($vec_nr):(0)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/json.stp global __json_prefix global __json_metric_type global __json_metric_desc global __json_metric_units global __json_metric_pointer global __json_array_metric_type global __json_array_metric_desc global __json_array_metric_units global __json_array_metric_pointer global __json_metric_output global __json_array_output probe json_data = procfs("data.json").read.maxsize(8192){ } probe init{ (__json_prefix) = (""); (__json_metric_units[""]) = (""); delete __json_metric_units; (__json_array_metric_type["", ""]) = (""); delete __json_array_metric_type; (__json_array_metric_desc["", ""]) = (""); delete __json_array_metric_desc; (__json_array_metric_units["", ""]) = (""); delete __json_array_metric_units; (__json_array_metric_pointer["", ""]) = (""); delete __json_array_metric_pointer; (__json_array_output[""]) = (1); delete __json_array_output; } probe procfs("metadata.json").read.maxsize(8192){ ($value) = ("{\n"); if ((__json_prefix) != ("")) ($value) .= (sprintf(" \"prefix\": \"%s\",\\n", __json_prefix)) ; ($value) .= (" \"metrics\": [\n"); (__comma_needed) = (0); foreach ([__name] in __json_metric_type) { if (__comma_needed) ($value) .= (",\n") ; (__comma_needed) = (1); if ((__json_metric_type[__name]) != ("array")) { ($value) .= (sprintf("%s{\\n", " ")); ($value) .= (sprintf("%s \"name\": \"%s\",\\n", " ", __name)); ($value) .= (sprintf("%s \"pointer\": \"%s\",\\n", " ", __json_metric_pointer[__name])); ($value) .= (sprintf("%s \"type\": \"%s\"", " ", __json_metric_type[__name])); if ((strlen(__json_metric_desc[__name])) > (0)) { ($value) .= (sprintf(",\\n%s \"description\": \"%s\"", " ", __json_metric_desc[__name])); } ; if ((strlen(__json_metric_units[__name])) > (0)) { ($value) .= (sprintf(",\\n%s \"units\": \"%s\"", " ", __json_metric_units[__name])); } ; ($value) .= (sprintf("\\n%s}", " ")); } else { ($value) .= (" {\n"); ($value) .= (sprintf(" \"name\": \"%s\",\\n", __name)); ($value) .= (sprintf(" \"pointer\": \"%s\",\\n", __json_metric_pointer[__name])); ($value) .= (" \"type\": \"array\",\n"); if ((strlen(__json_metric_desc[__name])) > (0)) ($value) .= (sprintf(" \"description\": \"%s\",\\n", __json_metric_desc[__name])) ; ($value) .= (" \"index\": \"/__id\",\n"); ($value) .= (" \"metrics\": [\n"); (__array_comma_needed) = (0); foreach ([__array_name, __metric_name] in __json_array_metric_type) { if ((__name) == (__array_name)) { if ((__metric_name) == ("__id")) continue ; if (__array_comma_needed) ($value) .= (",\n") ; (__array_comma_needed) = (1); (__subpointer) = (__json_array_metric_pointer[__array_name, __metric_name]); (__subtype) = (__json_array_metric_type[__array_name, __metric_name]); (__subdesc) = (__json_array_metric_desc[__array_name, __metric_name]); (__subunits) = (__json_array_metric_units[__array_name, __metric_name]); ($value) .= (sprintf("%s{\\n", " ")); ($value) .= (sprintf("%s \"name\": \"%s\",\\n", " ", __metric_name)); ($value) .= (sprintf("%s \"pointer\": \"%s\",\\n", " ", __subpointer)); ($value) .= (sprintf("%s \"type\": \"%s\"", " ", __subtype)); if ((strlen(__subdesc)) > (0)) { ($value) .= (sprintf(",\\n%s \"description\": \"%s\"", " ", __subdesc)); } ; if ((strlen(__subunits)) > (0)) { ($value) .= (sprintf(",\\n%s \"units\": \"%s\"", " ", __subunits)); } ; ($value) .= (sprintf("\\n%s}", " ")); } ; }; ($value) .= ("\n ]\n }"); } ; }; ($value) .= ("\n ]\n}\n"); } function json_set_prefix (prefix) { (__json_prefix) = (prefix); } function json_add_numeric_metric (name, description, units) { if ([name] in __json_metric_type) error(sprintf("Metric '%s' already exists", name)) ; (__json_metric_type[name]) = ("integer"); (__json_metric_desc[name]) = (description); (__json_metric_units[name]) = (units); (__json_metric_pointer[name]) = (("/") . (name)); return 0; } function json_add_string_metric (name, description) { if ([name] in __json_metric_type) error(sprintf("Metric '%s' already exists", name)) ; (__json_metric_type[name]) = ("string"); (__json_metric_desc[name]) = (description); (__json_metric_pointer[name]) = (("/") . (name)); return 0; } function json_add_array (name, description) { if ([name] in __json_metric_type) error(sprintf("Metric '%s' already exists", name)) ; (__json_metric_type[name]) = ("array"); (__json_metric_desc[name]) = (description); (__json_metric_pointer[name]) = (("/") . (name)); json_add_array_string_metric(name, "__id", ""); return 0; } function json_add_array_numeric_metric (array_name, metric_name, metric_description, metric_units) { if ([array_name, metric_name] in __json_array_metric_type) error(sprintf("Array metric '%s' already exists in array %s", metric_name, array_name)) ; (__json_array_metric_pointer[array_name, metric_name]) = (sprintf("/%s", metric_name)); (__json_array_metric_type[array_name, metric_name]) = ("integer"); (__json_array_metric_desc[array_name, metric_name]) = (metric_description); (__json_array_metric_units[array_name, metric_name]) = (metric_units); return 0; } function json_add_array_string_metric (array_name, metric_name, metric_description) { if ([array_name, metric_name] in __json_array_metric_type) error(sprintf("Array metric '%s' already exists in array %s", metric_name, array_name)) ; (__json_array_metric_pointer[array_name, metric_name]) = (sprintf("/%s", metric_name)); (__json_array_metric_type[array_name, metric_name]) = ("string"); (__json_array_metric_desc[array_name, metric_name]) = (metric_description); return 0; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/kprocess.stp probe kprocess.create = kernel.function("copy_process").return{ (task) = ($return); if (_IS_ERR(task)) next ; (new_pid) = (task_pid(task)); (new_tid) = (task_tid(task)); } probe kprocess.start = kernel.function("schedule_tail"){ } probe kprocess.exec = syscall.execve{ } probe kprocess.exec_complete = syscall.execve.return{ (errno) = ($return); (success) = ((errno) >= (0)); } probe kprocess.exit = kernel.function("do_exit"){ (code) = ($code); } probe kprocess.release = kernel.function("release_task"){ (task) = ($p); (released_pid) = (task_pid($p)); (released_tid) = (task_tid($p)); } function _IS_ERR (ptr) %{ /* pure */ STAP_RETVALUE = IS_ERR((const void *)(long)STAP_ARG_ptr); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %}function _get_kretprobe_long (i) %{ /* pure */ if (CONTEXT->probe_type == stp_probe_type_kretprobe) { size_t offset = STAP_ARG_i * sizeof(int64_t); const int64_t *data = _kretprobe_data(CONTEXT->ips.krp.pi, offset, sizeof(int64_t)); STAP_RETVALUE = data ? *data : 0; } %} function _set_kretprobe_long (i, value) %{ /* impure */ if (CONTEXT->probe_type == stp_probe_type_kretprobe) { size_t offset = STAP_ARG_i * sizeof(int64_t); int64_t *data = _kretprobe_data(CONTEXT->ips.krp.pi, offset, sizeof(int64_t)); if (data) *data = STAP_ARG_value; } %} function _get_kretprobe_string (i) %{ /* pure */ if (CONTEXT->probe_type == stp_probe_type_kretprobe) { size_t offset = CONTEXT->ips.krp.pi_longs * sizeof(int64_t) + STAP_ARG_i * MAXSTRINGLEN; const char *data = _kretprobe_data(CONTEXT->ips.krp.pi, offset, MAXSTRINGLEN); strlcpy(STAP_RETVALUE, data ?: "", MAXSTRINGLEN); } %} function _set_kretprobe_string (i, value) %{ /* impure */ /* unmodified-fnargs */ if (CONTEXT->probe_type == stp_probe_type_kretprobe) { size_t offset = CONTEXT->ips.krp.pi_longs * sizeof(int64_t) + STAP_ARG_i * MAXSTRINGLEN; char *data = _kretprobe_data(CONTEXT->ips.krp.pi, offset, MAXSTRINGLEN); if (data) strlcpy(data, STAP_ARG_value, MAXSTRINGLEN); } %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib-filter-default.stp function linuxmib_filter_key (sk, op) { if (!(sk)) return 0 ; return 1; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/linuxmib.stp global DelayedACKs global ListenOverflows global ListenDrops global TCPMemoryPressures global indelack_timer probe linuxmib.DelayedACKs = _linuxmib.DelayedACKs.*{ } probe _linuxmib.DelayedACKs.A = kernel.function("tcp_send_ack"){ (sk) = ($sk); if (!(indelack_timer[sk])) next ; (op) = (1); (key) = (linuxmib_filter_key(sk, op)); if (key) (DelayedACKs[key]) += (op) ; } probe _linuxmib.DelayedACKs.B = kernel.function("tcp_delack_timer"){ (sk) = ($data); (indelack_timer[sk]) = (1); (op) = (0); } probe _linuxmib.DelayedACKs.C = kernel.function("tcp_delack_timer").return{ (sk) = ($data); (indelack_timer[sk]) = (0); (op) = (0); } probe linuxmib.ListenOverflows = kernel.function("tcp_v4_syn_recv_sock").return{ (sk) = ($sk); if ($return) next ; if (($sk->sk_ack_backlog) <= ($sk->sk_max_ack_backlog)) next ; (op) = (1); (key) = (linuxmib_filter_key(sk, op)); if (key) (ListenOverflows[key]) += (op) ; } probe linuxmib.ListenDrops = kernel.function("tcp_v4_syn_recv_sock").return{ (sk) = ($sk); if ($return) next ; (op) = (1); (key) = (linuxmib_filter_key(sk, op)); if (key) (ListenDrops[key]) += (op) ; } probe linuxmib.TCPMemoryPressures = kernel.function("tcp_enter_memory_pressure"){ (sk) = ((@defined($sk))?($sk):(0)); (op) = (1); if ($tcp_memory_pressure) next ; (key) = (linuxmib_filter_key(sk, op)); if (key) (TCPMemoryPressures[key]) += (op) ; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp %{ #include #define LOAD_INT(x) ((x) >> FSHIFT) #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) %}function get_loadavg_index (indx) %{ /* pure */ int value; if (STAP_ARG_indx < 0 || STAP_ARG_indx > 2) STAP_ERROR("Invalid loadavg index %lld specified.", STAP_ARG_indx); value = avenrun[STAP_ARG_indx] + (FIXED_1/200); STAP_RETVALUE = LOAD_INT(value); %} function sprint_loadavg () %{ /* pure */ /* stable */ int a, b, c; a = avenrun[0] + (FIXED_1/200); b = avenrun[1] + (FIXED_1/200); c = avenrun[2] + (FIXED_1/200); snprintf(STAP_RETVALUE, MAXSTRINGLEN, "%d.%02d %d.%02d %d.%02d\n", LOAD_INT(a), LOAD_FRAC(a), LOAD_INT(b), LOAD_FRAC(b), LOAD_INT(c), LOAD_FRAC(c)); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp function ftrace (msg) %{ /* unmodified-fnargs */ #ifdef STAPCONF_TRACE_PRINTK static char *fmt = "%s\n"; trace_printk (fmt, STAP_ARG_msg); /* The "fmt" is designed to be non __builtin_constant_p(), so as to defeat trace_printk -> __trace_bprintk optimization. That's because bprintk doesn't save the incoming strings, only their addresses. */ #endif %} function printk (level, msg) %{ /* guru */ /* unmodified-fnargs */ printk (STAP_ARG_level == 0 ? KERN_EMERG "%s\n": STAP_ARG_level == 1 ? KERN_ALERT "%s\n": STAP_ARG_level == 2 ? KERN_CRIT "%s\n": STAP_ARG_level == 3 ? KERN_ERR "%s\n": STAP_ARG_level == 4 ? KERN_WARNING "%s\n": STAP_ARG_level == 5 ? KERN_NOTICE "%s\n": STAP_ARG_level == 6 ? KERN_INFO "%s\n": STAP_ARG_level == 7 ? KERN_DEBUG "%s\n": #ifdef KERN_DEFAULT KERN_DEFAULT "%s\n" #else KERN_INFO "%s\n" #endif , STAP_ARG_msg); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp %{ #include %}global VM_FAULT_OOM = 0 global VM_FAULT_SIGBUS = 1 global VM_FAULT_MINOR = 2 global VM_FAULT_MAJOR = 3 global VM_FAULT_NOPAGE = 4 global VM_FAULT_LOCKED = 5 global VM_FAULT_ERROR = 6 global FAULT_FLAG_WRITE = 1 probe vm.pagefault = kernel.function("handle_mm_fault@mm/memory.c").call!, kernel.function("__handle_mm_fault@mm/memory.c").call{ (name) = ("pagefault"); (write_access) = ((@defined($flags))?(($flags) & (FAULT_FLAG_WRITE)):($write_access)); (address) = ($address); } probe vm.pagefault.return = kernel.function("handle_mm_fault@mm/memory.c").return!, kernel.function("__handle_mm_fault@mm/memory.c").return{ (name) = ("pagefault"); (fault_type) = ($return); } probe vm.write_shared = kernel.function("do_wp_page"){ (name) = ("write_shared"); (address) = ($address); } probe vm.write_shared_copy = kernel.function("cow_user_page")?, kernel.function("copy_cow_page")?{ (name) = ("write_shared_copy"); if (@defined($va)) { (address) = ($va); (zero) = (_IS_ZERO_PAGE($src, $va)); } else { (address) = ($address); (zero) = (_IS_ZERO_PAGE($from, $address)); } ; } probe vm.mmap = kernel.function("vm_mmap")!, kernel.function("do_mmap_pgoff")!, kernel.function("do_mmap")?, kernel.function("do_mmap2")?{ (name) = ("mmap"); (address) = ($addr); (length) = ($len); } probe vm.munmap = kernel.function("do_munmap"){ (name) = ("munmap"); (address) = ($start); (length) = ($len); } probe vm.brk = kernel.function("do_brk"){ (name) = ("brk"); (address) = ($addr); (length) = ($len); } probe vm.oom_kill = kernel.function("oom_kill_process")!, kernel.function("__oom_kill_task"){ (name) = ("oom_kill"); (task) = ($p); } probe __vm.kmalloc.tp = kernel.trace("kmalloc"){ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (bytes_req) = ($bytes_req); (bytes_alloc) = ($bytes_alloc); (gfp_flags) = ($gfp_flags); (gfp_flag_name) = (__gfp_flag_str($gfp_flags)); (ptr) = ($ptr); } probe __vm.kmalloc.kp = kernel.function("kmem_cache_alloc_notrace").return!, kernel.function("kmem_cache_alloc").return{ (call_site) = (0); (caller_function) = ("unknown"); if (@defined($s)) { (bytes_req) = ($s->size); (bytes_alloc) = ($s->size); } else if (@defined($cachep->buffer_size)) { (bytes_req) = ($cachep->buffer_size); (bytes_alloc) = ($cachep->buffer_size); } else { (bytes_req) = ($cachep->objsize); (bytes_alloc) = ($cachep->objsize); } ; if (@defined($gfpflags)) { (gfp_flags) = ($gfpflags); (gfp_flag_name) = (__gfp_flag_str($gfpflags)); } else { (gfp_flags) = ($flags); (gfp_flag_name) = (__gfp_flag_str($flags)); } ; (ptr) = ($return); } probe vm.kmalloc = __vm.kmalloc.tp!, __vm.kmalloc.kp{ (name) = ("kmalloc"); } probe __vm.kmem_cache_alloc.tp = kernel.trace("kmem_cache_alloc"){ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (bytes_req) = ($bytes_req); (bytes_alloc) = ($bytes_alloc); (gfp_flags) = ($gfp_flags); (gfp_flag_name) = (__gfp_flag_str($gfp_flags)); (ptr) = ($ptr); } probe __vm.kmem_cache_alloc.kp = kernel.function("kmem_cache_alloc").return{ (call_site) = (0); (caller_function) = ("unknown"); if (@defined($s)) { (bytes_req) = ($s->size); (bytes_alloc) = ($s->size); } else if (@defined($cachep->buffer_size)) { (bytes_req) = ($cachep->buffer_size); (bytes_alloc) = ($cachep->buffer_size); } else { (bytes_req) = ($cachep->objsize); (bytes_alloc) = ($cachep->objsize); } ; if (@defined($gfpflags)) { (gfp_flags) = ($gfpflags); (gfp_flag_name) = (__gfp_flag_str($gfpflags)); } else { (gfp_flags) = ($flags); (gfp_flag_name) = (__gfp_flag_str($flags)); } ; (ptr) = ($return); } probe vm.kmem_cache_alloc = __vm.kmem_cache_alloc.tp!, __vm.kmem_cache_alloc.kp{ (name) = ("kmem_cache_alloc"); } probe __vm.kmalloc_node.tp = kernel.trace("kmalloc_node")?{ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (bytes_req) = ($bytes_req); (bytes_alloc) = ($bytes_alloc); (gfp_flags) = ($gfp_flags); (gfp_flag_name) = (__gfp_flag_str($gfp_flags)); (ptr) = ($ptr); } probe __vm.kmalloc_node.kp = kernel.function("kmalloc_node").return?{ (call_site) = (0); (caller_function) = ("unknown"); (bytes_req) = ($size); (bytes_alloc) = (bytes_req); (gfp_flags) = ((@defined($flags))?($flags):(0)); (gfp_flag_name) = (__gfp_flag_str((@defined($flags))?($flags):(0))); (ptr) = ($return); } probe vm.kmalloc_node = __vm.kmalloc_node.tp!, __vm.kmalloc_node.kp?{ (name) = ("kmalloc_node"); } probe __vm.kmem_cache_alloc_node.tp = kernel.trace("kmem_cache_alloc_node")?{ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (bytes_req) = ($bytes_req); (bytes_alloc) = ($bytes_alloc); (gfp_flags) = ($gfp_flags); (gfp_flag_name) = (__gfp_flag_str($gfp_flags)); (ptr) = ($ptr); } probe __vm.kmem_cache_alloc_node.kp = kernel.function("kmem_cache_alloc_node").return?{ (call_site) = (0); (caller_function) = ("unknown"); if (@defined($s)) { (bytes_req) = ($s->size); (bytes_alloc) = ($s->size); } else if (@defined($cachep->buffer_size)) { (bytes_req) = ($cachep->buffer_size); (bytes_alloc) = ($cachep->buffer_size); } else { (bytes_req) = ($cachep->objsize); (bytes_alloc) = ($cachep->objsize); } ; (gfp_flags) = (GFP_KERNEL()); (gfp_flag_name) = (__gfp_flag_str(gfp_flags)); (ptr) = ($return); } probe vm.kmem_cache_alloc_node = __vm.kmem_cache_alloc_node.tp!, __vm.kmem_cache_alloc_node.kp?{ (name) = ("kmem_cache_alloc_node"); } probe __vm.kfree.tp = kernel.trace("kfree"){ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (ptr) = ($ptr); } probe __vm.kfree.kp = kernel.function("kfree").return{ (call_site) = (0); (caller_function) = ("unknown"); (ptr) = ((@defined($x))?($x):($objp)); } probe vm.kfree = __vm.kfree.tp!, __vm.kfree.kp{ (name) = ("kfree"); } probe __vm.kmem_cache_free.tp = kernel.trace("kmem_cache_free"){ (call_site) = ($call_site); (caller_function) = (symname(call_site)); (ptr) = ($ptr); } probe __vm.kmem_cache_free.kp = kernel.function("kmem_cache_free").return{ (call_site) = (0); (caller_function) = ("unknown"); (ptr) = ((@defined($x))?($x):($objp)); } probe vm.kmem_cache_free = __vm.kmem_cache_free.tp!, __vm.kmem_cache_free.kp{ (name) = ("kmem_cache_free"); } function vm_fault_contains (value, test) %{ int res; switch (STAP_ARG_test){ case 0: res = STAP_ARG_value & VM_FAULT_OOM; break; case 1: res = STAP_ARG_value & VM_FAULT_SIGBUS; break; #if !defined(VM_FAULT_MINOR) || (defined(VM_FAULT_MINOR) && VM_FAULT_MINOR == 0) case 2: /* VM_FAULT_MINOR infered by that flags off */ res = !((VM_FAULT_OOM | VM_FAULT_SIGBUS | VM_FAULT_MAJOR) & STAP_ARG_value); break; #else case 2: res = STAP_ARG_value == VM_FAULT_MINOR; break; #endif case 3: res = STAP_ARG_value & VM_FAULT_MAJOR; break; #ifdef VM_FAULT_NOPAGE case 4: res = STAP_ARG_value & VM_FAULT_NOPAGE; break; #endif #ifdef VM_FAULT_LOCKED case 5: res = STAP_ARG_value & VM_FAULT_LOCKED; break; #endif #ifdef VM_FAULT_ERROR case 6: res = STAP_ARG_value & VM_FAULT_ERROR; break; #endif default: res = 0; break; } STAP_RETVALUE = (res != 0); return; %} function addr_to_node (addr) %{ /* pure */ int nid; int pfn; if (! virt_addr_valid((void*) (uintptr_t) STAP_ARG_addr)) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "invalid kernel virtual address 0x%p", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } pfn = __pa(STAP_ARG_addr) >> PAGE_SHIFT; #ifdef for_each_online_node for_each_online_node(nid) #else for (nid=0; nidnode_start_pfn <= pfn && pfn < (NODE_DATA(nid)->node_start_pfn + NODE_DATA(nid)->node_spanned_pages) ) { STAP_RETVALUE = nid; break; } %} function _IS_ZERO_PAGE (from, vaddr) %{ /* pure */ STAP_RETVALUE = (STAP_ARG_from == (long) ZERO_PAGE(STAP_ARG_vaddr)); %} function GFP_KERNEL () { return %{ /* pure */ /* unprivileged */ /* stable */ GFP_KERNEL %}; } function __gfp_flag_str (gfp_flag) %{ long gfp_flag = STAP_ARG_gfp_flag; STAP_RETVALUE[0] = '\0'; /* Older kernels < 2.6.32 didn't have some of these GFP defines yet. */ #ifndef __GFP_DMA32 #define __GFP_DMA32 ((__force gfp_t)0x04u) #endif #ifndef GFP_DMA32 #define GFP_DMA32 __GFP_DMA32 #endif #ifndef __GFP_MOVABLE #define __GFP_MOVABLE ((__force gfp_t)0x08u) /* Page is movable */ #endif #ifndef GFP_ZONEMASK #define GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE) #endif #ifndef __GFP_NOTRACK #ifdef CONFIG_KMEMCHECK #define __GFP_NOTRACK ((__force gfp_t)0x200000u) /* Don't track with kmemcheck */ #else #define __GFP_NOTRACK ((__force gfp_t)0) #endif #endif #ifndef __GFP_THISNODE #define __GFP_THISNODE ((__force gfp_t)0x40000u) #endif #ifndef __GFP_RECLAIMABLE #define __GFP_RECLAIMABLE ((__force gfp_t)0x80000u) #endif #ifndef __GFP_ZERO #define __GFP_ZERO ((__force gfp_t)0x8000u) #endif #ifndef __GFP_NOMEMALLOC #define __GFP_NOMEMALLOC ((__force gfp_t)0x10000u) #endif #ifndef __GFP_HARDWALL #define __GFP_HARDWALL ((__force gfp_t)0x20000u) #endif #ifndef GFP_TEMPORARY #define GFP_TEMPORARY (__GFP_WAIT | __GFP_IO | __GFP_FS | \ __GFP_RECLAIMABLE) #endif #ifndef GFP_HIGHUSER_MOVABLE #define GFP_HIGHUSER_MOVABLE (__GFP_WAIT | __GFP_IO | __GFP_FS | \ __GFP_HARDWALL | __GFP_HIGHMEM | \ __GFP_MOVABLE) #endif #ifndef GFP_THISNODE #ifdef CONFIG_NUMA #define GFP_THISNODE (__GFP_THISNODE | __GFP_NOWARN | __GFP_NORETRY) #else #define GFP_THISNODE ((__force gfp_t)0) #endif #endif /* Macro for GFP Bitmasks. */ /* The resulted GFP_FLAGS may be either single or concatenation of the multiple bitmasks. */ #define __GFP_BITMASKS(FLAG) if(gfp_flag & FLAG) { if(STAP_RETVALUE[0] != '\0') \ strlcat(STAP_RETVALUE, " | "#FLAG, MAXSTRINGLEN); \ else strlcat(STAP_RETVALUE, #FLAG, MAXSTRINGLEN); } /* Macro for Composite Flags. */ /* Each Composite GFP_FLAG is the combination of multiple bitmasks. */ #define __GFP_COMPOSITE_FLAG(FLAG) if(gfp_flag == FLAG) { \ strlcat(STAP_RETVALUE, #FLAG, MAXSTRINGLEN); return; } /* Composite GFP FLAGS of the BitMasks. */ __GFP_COMPOSITE_FLAG(GFP_ZONEMASK) __GFP_COMPOSITE_FLAG(GFP_ATOMIC) __GFP_COMPOSITE_FLAG(GFP_NOIO) __GFP_COMPOSITE_FLAG(GFP_NOFS) __GFP_COMPOSITE_FLAG(GFP_KERNEL) __GFP_COMPOSITE_FLAG(GFP_TEMPORARY) __GFP_COMPOSITE_FLAG(GFP_USER) __GFP_COMPOSITE_FLAG(GFP_HIGHUSER) __GFP_COMPOSITE_FLAG(GFP_HIGHUSER_MOVABLE) __GFP_COMPOSITE_FLAG(GFP_THISNODE) __GFP_COMPOSITE_FLAG(GFP_DMA) __GFP_COMPOSITE_FLAG(GFP_DMA32) /* GFP BitMasks */ __GFP_BITMASKS(__GFP_DMA) __GFP_BITMASKS(__GFP_HIGHMEM) __GFP_BITMASKS(__GFP_MOVABLE) __GFP_BITMASKS(__GFP_WAIT) __GFP_BITMASKS(__GFP_HIGH) __GFP_BITMASKS(__GFP_IO) __GFP_BITMASKS(__GFP_FS) __GFP_BITMASKS(__GFP_COLD) __GFP_BITMASKS(__GFP_NOWARN) __GFP_BITMASKS(__GFP_REPEAT) __GFP_BITMASKS(__GFP_NOFAIL) __GFP_BITMASKS(__GFP_COMP) __GFP_BITMASKS(__GFP_ZERO) __GFP_BITMASKS(__GFP_NOMEMALLOC) __GFP_BITMASKS(__GFP_HARDWALL) __GFP_BITMASKS(__GFP_THISNODE) __GFP_BITMASKS(__GFP_RECLAIMABLE) __GFP_BITMASKS(__GFP_NOTRACK) #undef __GFP_BITMASKS #undef __GFP_COMPOSITE_FLAG %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp probe nd_syscall.accept = __nd_syscall.accept?, __nd_syscall.socketcall.accept?, __nd_syscall.compat_socketcall.accept?{ (name) = ("accept"); (argstr) = (sprintf("%d, %p, %p", sockfd, addr_uaddr, addrlen_uaddr)); } probe __nd_syscall.accept = kprobe.function("sys_accept").call{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept %})) next ; } } catch { { next; } } ; (sockfd) = (int_arg(1)); (addr_uaddr) = (pointer_arg(2)); (addrlen_uaddr) = (pointer_arg(3)); } probe __nd_syscall.socketcall.accept = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (sockfd) = (__int32(user_ulong(&(__args)[0]))); (addr_uaddr) = (user_ulong(&(__args)[1])); (addrlen_uaddr) = (user_ulong(&(__args)[2])); } probe __nd_syscall.compat_socketcall.accept = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (sockfd) = (user_int(&(__args)[0])); (addr_uaddr) = (user_uint32(&(__args)[1])); (addrlen_uaddr) = (user_uint32(&(__args)[2])); } probe nd_syscall.accept.return = __nd_syscall.accept.return?, __nd_syscall.socketcall.accept.return?{ (name) = ("accept"); (retstr) = (returnstr(1)); } probe __nd_syscall.accept.return = kprobe.function("sys_accept").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.accept.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; } probe nd_syscall.accept4 = __nd_syscall.accept4?, __nd_syscall.socketcall.accept4?, __nd_syscall.compat_socketcall.accept4?{ (name) = ("accept4"); (flags_str) = (_sock_flags_str(flags)); (argstr) = (sprintf("%d, %p, %p, %s", sockfd, addr_uaddr, addrlen_uaddr, flags_str)); } probe __nd_syscall.accept4 = kprobe.function("sys_accept4").call{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept4 %})) next ; } } catch { { next; } } ; (sockfd) = (int_arg(1)); (addr_uaddr) = (pointer_arg(2)); (addrlen_uaddr) = (pointer_arg(3)); (flags) = (int_arg(4)); } probe __nd_syscall.socketcall.accept4 = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (sockfd) = (__int32(user_ulong(&(__args)[0]))); (addr_uaddr) = (user_ulong(&(__args)[1])); (addrlen_uaddr) = (user_ulong(&(__args)[2])); (flags) = (__int32(user_ulong(&(__args)[3]))); } probe __nd_syscall.compat_socketcall.accept4 = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (sockfd) = (user_int(&(__args)[0])); (addr_uaddr) = (user_uint32(&(__args)[1])); (addrlen_uaddr) = (user_uint32(&(__args)[2])); (flags) = (user_int(&(__args)[3])); } probe nd_syscall.accept4.return = __nd_syscall.accept4.return?, __nd_syscall.socketcall.accept4.return?{ (name) = ("accept4"); (retstr) = (returnstr(1)); } probe __nd_syscall.accept4.return = kprobe.function("sys_accept4").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept4 %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.accept4.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; } probe nd_syscall.access = kprobe.function("sys_access")?{ (name) = ("access"); asmlinkage(); (pathname) = (user_string_quoted(pointer_arg(1))); (mode) = (int_arg(2)); (mode_str) = (_access_mode_str(mode)); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), mode_str)); } probe nd_syscall.access.return = kprobe.function("sys_access").return?{ (name) = ("access"); (retstr) = (returnstr(1)); } probe nd_syscall.acct = kprobe.function("sys_acct")?{ (name) = ("acct"); asmlinkage(); (filename) = (user_string_quoted(pointer_arg(1))); (argstr) = (user_string_quoted(pointer_arg(1))); } probe nd_syscall.acct.return = kprobe.function("sys_acct").return?{ (name) = ("acct"); (retstr) = (returnstr(1)); } probe nd_syscall.add_key = kprobe.function("sys_add_key")?{ (name) = ("add_key"); asmlinkage(); (type_uaddr) = (pointer_arg(1)); (description_uaddr) = (pointer_arg(2)); (payload_uaddr) = (pointer_arg(3)); (plen) = (ulong_arg(4)); (ringid) = (int_arg(5)); (argstr) = (sprintf("%s, %s, %s, %u, %d", user_string_quoted(type_uaddr), user_string_quoted(description_uaddr), user_buffer_quoted(payload_uaddr, plen, syscall_string_trunc), plen, ringid)); } probe nd_syscall.add_key.return = kprobe.function("sys_add_key").return?{ (name) = ("add_key"); (retstr) = (returnstr(1)); } probe nd_syscall.adjtimex = kprobe.function("sys_adjtimex")?{ (name) = ("adjtimex"); asmlinkage(); (buf_uaddr) = (pointer_arg(1)); (buf_str) = (_struct_timex_u(buf_uaddr)); (argstr) = (sprintf("%s", buf_str)); } probe nd_syscall.adjtimex.return = kprobe.function("sys_adjtimex").return?{ (name) = ("adjtimex"); (retstr) = (_adjtimex_return_str(returnval())); } probe nd_syscall.compat_adjtimex = kprobe.function("compat_sys_adjtimex")?{ (name) = ("adjtimex"); asmlinkage(); (buf_uaddr) = (pointer_arg(1)); (buf_str) = (_struct_compat_timex_u(buf_uaddr)); (argstr) = (sprintf("%s", buf_str)); } probe nd_syscall.compat_adjtimex.return = kprobe.function("compat_sys_adjtimex").return?{ (name) = ("compat_adjtimex"); (retstr) = (_adjtimex_return_str(returnval())); } probe nd_syscall.alarm = kprobe.function("sys32_alarm")?, kprobe.function("sys_alarm")?{ (name) = ("alarm"); asmlinkage(); (seconds) = (uint_arg(1)); (argstr) = (sprint(seconds)); } probe nd_syscall.alarm.return = kprobe.function("sys32_alarm").return?, kprobe.function("sys_alarm").return?{ (name) = ("alarm"); (retstr) = (returnstr(1)); } probe nd_syscall.bdflush = kprobe.function("sys_bdflush")?{ (name) = ("bdflush"); asmlinkage(); (func) = (int_arg(1)); (data) = (long_arg(2)); if (((func) >= (2)) && (((func) % (2)) == (0))) (data_str) = (sprintf("%p", data)) else (data_str) = (sprintf("%d", data)) ; (argstr) = (sprintf("%d, %s", func, data_str)); } probe nd_syscall.bdflush.return = kprobe.function("sys_bdflush").return?{ (name) = ("bdflush"); (retstr) = (returnstr(1)); } probe nd_syscall.bind = __nd_syscall.bind?, __nd_syscall.socketcall.bind?, __nd_syscall.compat_socketcall.bind?{ (name) = ("bind"); (uaddr_af) = (_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)) =~ "AF_INET.*") { (uaddr_ip) = (_struct_sockaddr_u_ip_addr(my_addr_uaddr, addrlen)); (uaddr_ip_port) = (_struct_sockaddr_u_tcp_port(my_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)) == ("AF_INET6")) { (uaddr_ipv6_flowinfo) = (_struct_sockaddr_u_ipv6_flowinfo(my_addr_uaddr, addrlen)); (uaddr_ipv6_scope_id) = (_struct_sockaddr_u_ipv6_scope_id(my_addr_uaddr, addrlen)); } ; } ; (argstr) = (sprintf("%d, %s, %d", sockfd, _struct_sockaddr_u(my_addr_uaddr, addrlen), addrlen)); } probe __nd_syscall.bind = kprobe.function("sys_bind")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_bind %})) next ; } } catch { { next; } } ; asmlinkage(); (sockfd) = (int_arg(1)); (my_addr_uaddr) = (pointer_arg(2)); (addrlen) = (int_arg(3)); } probe __nd_syscall.socketcall.bind = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (sockfd) = (__int32(user_ulong(&(__args)[0]))); (my_addr_uaddr) = (user_ulong(&(__args)[1])); (addrlen) = (__int32(user_ulong(&(__args)[2]))); } probe __nd_syscall.compat_socketcall.bind = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (sockfd) = (user_int(&(__args)[0])); (my_addr_uaddr) = (user_uint32(&(__args)[1])); (addrlen) = (user_int(&(__args)[2])); } probe nd_syscall.bind.return = __nd_syscall.bind.return?, __nd_syscall.socketcall.bind.return?{ (name) = ("bind"); (retstr) = (returnstr(1)); } probe __nd_syscall.bind.return = kprobe.function("sys_bind").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_bind %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.bind.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; } probe nd_syscall.bpf = kprobe.function("sys_bpf")?{ (name) = ("bpf"); asmlinkage(); (cmd) = (int_arg(1)); (cmd_str) = (_bpf_cmd_str(cmd)); (attr_uaddr) = (pointer_arg(2)); (size) = (uint_arg(3)); (argstr) = (sprintf("%s, %p, %u", cmd_str, attr_uaddr, size)); } probe nd_syscall.bpf.return = kprobe.function("sys_bpf").return?{ (name) = ("bpf"); (retstr) = (returnstr(1)); } probe nd_syscall.brk = kprobe.function("ia64_brk")?, kprobe.function("sys_brk")?{ (name) = ("brk"); asmlinkage(); (brk) = (ulong_arg(1)); (argstr) = (sprintf("%p", brk)); } probe nd_syscall.brk.return = kprobe.function("ia64_brk").return?, kprobe.function("sys_brk").return?{ (name) = ("brk"); (retstr) = (returnstr(1)); } probe nd_syscall.capget = kprobe.function("sys_capget")?{ (name) = ("capget"); asmlinkage(); (header_uaddr) = (pointer_arg(1)); (data_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%p, %p", header_uaddr, data_uaddr)); } probe nd_syscall.capget.return = kprobe.function("sys_capget").return?{ (name) = ("capget"); (retstr) = (returnstr(1)); } probe nd_syscall.capset = kprobe.function("sys_capset")?{ (name) = ("capset"); asmlinkage(); (header_uaddr) = (pointer_arg(1)); (data_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%p, %p", header_uaddr, data_uaddr)); } probe nd_syscall.capset.return = kprobe.function("sys_capset").return?{ (name) = ("capset"); (retstr) = (returnstr(1)); } probe nd_syscall.chdir = kprobe.function("sys_chdir")?{ (name) = ("chdir"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (argstr) = (user_string_quoted(pointer_arg(1))); } probe nd_syscall.chdir.return = kprobe.function("sys_chdir").return?{ (name) = ("chdir"); (retstr) = (returnstr(1)); } probe nd_syscall.chmod = kprobe.function("sys_chmod")?{ (name) = ("chmod"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (mode) = (uint_arg(2)); (argstr) = (sprintf("%s, %#o", user_string_quoted(pointer_arg(1)), mode)); } probe nd_syscall.chmod.return = kprobe.function("sys_chmod").return?{ (name) = ("chmod"); (retstr) = (returnstr(1)); } probe nd_syscall.chown = kprobe.function("sys_chown")?{ (name) = ("chown"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (owner) = (__int32(uint_arg(2))); (group) = (__int32(uint_arg(3))); (argstr) = (sprintf("%s, %d, %d", user_string_quoted(pointer_arg(1)), owner, group)); } probe nd_syscall.chown.return = kprobe.function("sys_chown").return?{ (name) = ("chown"); (retstr) = (returnstr(1)); } probe nd_syscall.chown16 = kprobe.function("sys_chown16")?{ (name) = ("chown16"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (owner) = (__short(uint_arg(2))); (group) = (__short(uint_arg(3))); (argstr) = (sprintf("%s, %d, %d", user_string_quoted(pointer_arg(1)), owner, group)); } probe nd_syscall.chown16.return = kprobe.function("sys_chown16").return?{ (name) = ("chown16"); (retstr) = (returnstr(1)); } probe nd_syscall.chroot = kprobe.function("sys_chroot")?{ (name) = ("chroot"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (argstr) = (user_string_quoted(pointer_arg(1))); } probe nd_syscall.chroot.return = kprobe.function("sys_chroot").return?{ (name) = ("chroot"); (retstr) = (returnstr(1)); } probe nd_syscall.clock_adjtime = __nd_syscall.clock_adjtime?, __nd_syscall.compat_clock_adjtime?{ (name) = ("clock_adjtime"); } probe __nd_syscall.clock_adjtime = kprobe.function("sys_clock_adjtime").call{ asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (tx_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_timex_u(tx_uaddr))); } probe __nd_syscall.compat_clock_adjtime = kprobe.function("compat_sys_clock_adjtime").call?{ asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (tx_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_compat_timex_u(tx_uaddr))); } probe nd_syscall.clock_adjtime.return = __nd_syscall.clock_adjtime.return?, kprobe.function("compat_sys_clock_adjtime").return?{ (name) = ("clock_adjtime"); (retstr) = (returnstr(1)); } probe __nd_syscall.clock_adjtime.return = kprobe.function("sys_clock_adjtime").return{ } probe nd_syscall.clock_getres = kprobe.function("compat_clock_getres")?, kprobe.function("compat_sys_clock_getres")?, __nd_syscall.clock_getres?{ asmlinkage(); (name) = ("clock_getres"); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (res_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", clk_id_str, res_uaddr)); } probe __nd_syscall.clock_getres = kprobe.function("sys_clock_getres"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_getres %})) next ; } } catch { { next; } } ; } probe nd_syscall.clock_getres.return = kprobe.function("compat_clock_getres").return?, kprobe.function("compat_sys_clock_getres").return?, __nd_syscall.clock_getres.return?{ (name) = ("clock_getres"); (retstr) = (returnstr(1)); } probe __nd_syscall.clock_getres.return = kprobe.function("sys_clock_getres").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_getres %})) next ; } } catch { { next; } } ; } probe nd_syscall.clock_gettime = __nd_syscall.clock_gettime, kprobe.function("compat_sys_clock_gettime")?{ (name) = ("clock_gettime"); asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (tp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", clk_id_str, tp_uaddr)); } probe __nd_syscall.clock_gettime = kprobe.function("sys_clock_gettime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_gettime %})) next ; } } catch { { next; } } ; } probe nd_syscall.clock_gettime.return = __nd_syscall.clock_gettime.return, kprobe.function("compat_sys_clock_gettime").return?{ (name) = ("clock_gettime"); (retstr) = (returnstr(1)); } probe __nd_syscall.clock_gettime.return = kprobe.function("sys_clock_gettime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_gettime %})) next ; } } catch { { next; } } ; } probe nd_syscall.clock_nanosleep = kprobe.function("sys_clock_nanosleep").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_nanosleep %})) next ; } } catch { { next; } } ; (name) = ("clock_nanosleep"); asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (flags) = (int_arg(2)); (flags_str) = (_stp_clock_nanosleep_flags_str(flags)); (req_uaddr) = (pointer_arg(3)); (rem_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%s, %s, %s, %p", _get_wc_str(int_arg(1)), flags_str, _struct_timespec_u(req_uaddr, 1), pointer_arg(4))); } probe nd_syscall.clock_nanosleep.return = kprobe.function("sys_clock_nanosleep").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_nanosleep %})) next ; } } catch { { next; } } ; (name) = ("clock_nanosleep"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_clock_nanosleep = kprobe.function("compat_clock_nanosleep").call?, kprobe.function("compat_sys_clock_nanosleep").call?{ (name) = ("clock_nanosleep"); asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (flags) = (int_arg(2)); (flags_str) = (_stp_clock_nanosleep_flags_str(flags)); (req_uaddr) = (pointer_arg(3)); (rem_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%s, %s, %s, %p", _get_wc_str(int_arg(1)), flags_str, _struct_compat_timespec_u(req_uaddr, 1), pointer_arg(4))); } probe nd_syscall.compat_clock_nanosleep.return = kprobe.function("compat_clock_nanosleep").return?, kprobe.function("compat_sys_clock_nanosleep").return?{ (name) = ("clock_nanosleep"); (retstr) = (returnstr(1)); } probe nd_syscall.clock_settime = __nd_syscall.clock_settime, __nd_syscall.compat_clock_settime?{ (name) = ("clock_settime"); } probe __nd_syscall.clock_settime = kprobe.function("sys_clock_settime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_settime %})) next ; } } catch { { next; } } ; asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (tp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u(tp_uaddr, 1))); } probe __nd_syscall.compat_clock_settime = kprobe.function("compat_sys_clock_settime").call?{ asmlinkage(); (clk_id) = (int_arg(1)); (clk_id_str) = (_get_wc_str(clk_id)); (tp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_compat_timespec_u(tp_uaddr, 1))); } probe nd_syscall.clock_settime.return = __nd_syscall.clock_settime.return, __nd_syscall.compat_clock_settime.return?{ (name) = ("clock_settime"); } probe __nd_syscall.clock_settime.return = kprobe.function("sys_clock_settime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_settime %})) next ; } } catch { { next; } } ; (retstr) = (returnstr(1)); } probe __nd_syscall.compat_clock_settime.return = kprobe.function("compat_sys_clock_settime").return?{ (retstr) = (returnstr(1)); } probe nd_syscall.clone = kprobe.function("_do_fork").call!, kprobe.function("do_fork").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clone %})) next ; } } catch { { next; } } ; (name) = ("clone"); (clone_flags) = (long_arg(1)); (stack_start) = (pointer_arg(2)); (parent_tid_uaddr) = (pointer_arg(4)); (child_tid_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%s, %p, %p, %p", __fork_flags(clone_flags), stack_start, parent_tid_uaddr, child_tid_uaddr)); } probe nd_syscall.clone.return = kprobe.function("_do_fork").return!, kprobe.function("do_fork").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clone %})) next ; } } catch { { next; } } ; (name) = ("clone"); (retstr) = (returnstr(1)); } probe nd_syscall.close = kprobe.function("sys_close")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_close %})) next ; } } catch { { next; } } ; (name) = ("close"); asmlinkage(); (fd) = (int_arg(1)); (argstr) = (sprint(fd)); } probe nd_syscall.close.return = kprobe.function("sys_close").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_close %})) next ; } } catch { { next; } } ; (name) = ("close"); (retstr) = (returnstr(1)); } probe nd_syscall.connect = __nd_syscall.connect?, __nd_syscall.socketcall.connect?, __nd_syscall.compat_socketcall.connect?{ (name) = ("connect"); (uaddr_af) = (_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)) =~ "AF_INET.*") { (uaddr_ip) = (_struct_sockaddr_u_ip_addr(serv_addr_uaddr, addrlen)); (uaddr_ip_port) = (_struct_sockaddr_u_tcp_port(serv_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)) == ("AF_INET6")) { (uaddr_ipv6_flowinfo) = (_struct_sockaddr_u_ipv6_flowinfo(serv_addr_uaddr, addrlen)); (uaddr_ipv6_scope_id) = (_struct_sockaddr_u_ipv6_scope_id(serv_addr_uaddr, addrlen)); } ; } ; (argstr) = (sprintf("%d, %s, %u", sockfd, _struct_sockaddr_u(serv_addr_uaddr, addrlen), addrlen)); } probe __nd_syscall.connect = kprobe.function("sys_connect")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_connect %})) next ; } } catch { { next; } } ; asmlinkage(); (sockfd) = (int_arg(1)); (serv_addr_uaddr) = (pointer_arg(2)); (addrlen) = (uint_arg(3)); } probe __nd_syscall.socketcall.connect = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (sockfd) = (__int32(user_ulong(&(__args)[0]))); (serv_addr_uaddr) = (user_ulong(&(__args)[1])); (addrlen) = (__uint32(user_ulong(&(__args)[2]))); } probe __nd_syscall.compat_socketcall.connect = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (sockfd) = (user_int(&(__args)[0])); (serv_addr_uaddr) = (user_uint32(&(__args)[1])); (addrlen) = (user_uint32(&(__args)[2])); } probe nd_syscall.connect.return = __nd_syscall.connect.return?, __nd_syscall.socketcall.connect.return?{ (name) = ("connect"); (retstr) = (returnstr(1)); } probe __nd_syscall.connect.return = kprobe.function("sys_connect").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_connect %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.connect.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; } probe nd_syscall.copy_file_range = kprobe.function("sys_copy_file_range").call?{ (name) = ("copy_file_range"); (fd_in) = (int_arg(1)); (off_in) = (pointer_arg(2)); (fd_out) = (int_arg(3)); (off_out) = (pointer_arg(4)); (len) = (ulong_arg(5)); (flags) = (uint_arg(6)); (argstr) = (sprintf("%d, %p, %d, %p, %d, 0x%x", fd_in, off_in, fd_out, off_out, len, flags)); } probe nd_syscall.copy_file_range.return = kprobe.function("sys_copy_file_range").return?{ (name) = ("copy_file_range"); (retstr) = (returnstr(1)); } probe nd_syscall.creat = kprobe.function("sys_creat")?{ (name) = ("creat"); asmlinkage(); (mode) = (uint_arg(2)); (pathname) = (user_string_quoted(pointer_arg(1))); (argstr) = (sprintf("%s, %#o", user_string_quoted(pointer_arg(1)), mode)); } probe nd_syscall.creat.return = kprobe.function("sys_creat").return?{ (name) = ("creat"); (retstr) = (returnstr(1)); } probe nd_syscall.delete_module = kprobe.function("sys_delete_module")?{ (name) = ("delete_module"); asmlinkage(); (name_user) = (user_string_quoted(pointer_arg(1))); (flags) = (uint_arg(2)); (flags_str) = (_module_flags_str(flags)); (argstr) = (sprintf("%s, %s", name_user, _module_flags_str(flags))); } probe nd_syscall.delete_module.return = kprobe.function("sys_delete_module").return?{ (name) = ("delete_module"); (retstr) = (returnstr(1)); } probe nd_syscall.dup = kprobe.function("sys_dup")?{ (name) = ("dup"); asmlinkage(); (oldfd) = (int_arg(1)); (argstr) = (sprint(oldfd)); } probe nd_syscall.dup.return = kprobe.function("sys_dup").return?{ (name) = ("dup"); (retstr) = (returnstr(1)); } probe nd_syscall.dup2 = kprobe.function("sys_dup2"){ (name) = ("dup2"); asmlinkage(); (oldfd) = (int_arg(1)); (newfd) = (int_arg(2)); (flags) = (0); (argstr) = (sprintf("%d, %d", oldfd, newfd)); } probe nd_syscall.dup2.return = kprobe.function("sys_dup2").return{ (name) = ("dup2"); (retstr) = (returnstr(1)); } probe nd_syscall.dup3 = kprobe.function("sys_dup3")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_dup3 %})) next ; } } catch { { next; } } ; (name) = ("dup3"); asmlinkage(); (oldfd) = (int_arg(1)); (newfd) = (int_arg(2)); (flags) = (int_arg(3)); (argstr) = (sprintf("%d, %d, %s", oldfd, newfd, _dup3_flag_str(flags))); } probe nd_syscall.dup3.return = kprobe.function("sys_dup3").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_dup3 %})) next ; } } catch { { next; } } ; (name) = ("dup3"); (retstr) = (returnstr(1)); } probe nd_syscall.epoll_create = __nd_syscall.epoll_create1!, __nd_syscall.epoll_create?{ } probe __nd_syscall.epoll_create1 = kprobe.function("sys_epoll_create1"){ asmlinkage(); (size) = (0); (flags) = (int_arg(1)); if ((flags) == (0)) { (name) = ("epoll_create"); (argstr) = (sprint(size)); } else { (name) = ("epoll_create1"); (argstr) = (_epoll_create1_flag_str(flags)); } ; } probe __nd_syscall.epoll_create = kprobe.function("sys_epoll_create"){ (name) = ("epoll_create"); asmlinkage(); (size) = (int_arg(1)); (flags) = (0); (argstr) = (sprint(size)); } probe nd_syscall.epoll_create.return = __nd_syscall.epoll_create1.return!, __nd_syscall.epoll_create.return?{ } probe __nd_syscall.epoll_create1.return = kprobe.function("sys_epoll_create1").return{ (flags) = (@entry(__asmlinkage_int_arg(1))); (name) = (((flags) == (0))?("epoll_create"):("epoll_create1")); (retstr) = (returnstr(1)); } probe __nd_syscall.epoll_create.return = kprobe.function("sys_epoll_create").return{ (flags) = (0); (name) = ("epoll_create"); (retstr) = (returnstr(1)); } probe nd_syscall.epoll_ctl = kprobe.function("compat_sys_epoll_ctl")?, kprobe.function("sys_epoll_ctl")?{ (name) = ("epoll_ctl"); asmlinkage(); (epfd) = (int_arg(1)); (op) = (int_arg(2)); (op_str) = (_opoll_op_str(op)); (fd) = (int_arg(3)); (event_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %s, %d, %p", epfd, op_str, fd, event_uaddr)); } probe nd_syscall.epoll_ctl.return = kprobe.function("compat_sys_epoll_ctl").return?, kprobe.function("sys_epoll_ctl").return?{ (name) = ("epoll_ctl"); (retstr) = (returnstr(1)); } probe nd_syscall.epoll_pwait = kprobe.function("compat_sys_epoll_pwait")?, kprobe.function("sys_epoll_pwait")?{ (name) = ("epoll_pwait"); asmlinkage(); (epfd) = (int_arg(1)); (events_uaddr) = (pointer_arg(2)); (maxevents) = (int_arg(3)); (timeout) = (int_arg(4)); (sigmask_uaddr) = (pointer_arg(5)); (sigsetsize) = (ulong_arg(6)); (argstr) = (sprintf("%d, %p, %d, %d, %p, %d", epfd, events_uaddr, maxevents, timeout, sigmask_uaddr, sigsetsize)); } probe nd_syscall.epoll_pwait.return = kprobe.function("compat_sys_epoll_pwait").return?, kprobe.function("sys_epoll_pwait").return?{ (name) = ("epoll_pwait"); (retstr) = (returnstr(1)); } probe nd_syscall.epoll_wait = kprobe.function("compat_sys_epoll_wait")?, kprobe.function("sys_epoll_wait")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_epoll_wait %})) next ; } } catch { { next; } } ; (name) = ("epoll_wait"); asmlinkage(); (epfd) = (int_arg(1)); (events_uaddr) = (pointer_arg(2)); (maxevents) = (int_arg(3)); (timeout) = (int_arg(4)); (argstr) = (sprintf("%d, %p, %d, %d", epfd, events_uaddr, maxevents, timeout)); } probe nd_syscall.epoll_wait.return = kprobe.function("compat_sys_epoll_wait").return?, kprobe.function("sys_epoll_wait").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_epoll_wait %})) next ; } } catch { { next; } } ; (name) = ("epoll_wait"); (retstr) = (returnstr(1)); } probe nd_syscall.eventfd = __nd_syscall.eventfd2?, __nd_syscall.eventfd?{ } probe __nd_syscall.eventfd2 = kprobe.function("sys_eventfd2"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_eventfd2 %})) next ; } } catch { { next; } } ; (name) = ("eventfd2"); asmlinkage(); (count) = (uint_arg(1)); (flags) = (int_arg(2)); (flags_str) = (_eventfd2_flag_str(flags)); (argstr) = (sprintf("%u, %s", count, flags_str)); } probe __nd_syscall.eventfd = kprobe.function("sys_eventfd"){ (name) = ("eventfd"); asmlinkage(); (count) = (uint_arg(1)); (flags) = (0); (flags_str) = ("0x0"); (argstr) = (sprint(count)); } probe nd_syscall.eventfd.return = __nd_syscall.eventfd2.return?, __nd_syscall.eventfd.return?{ (retstr) = (returnstr(1)); } probe __nd_syscall.eventfd2.return = kprobe.function("sys_eventfd2").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_eventfd2 %})) next ; } } catch { { next; } } ; (name) = ("eventfd2"); } probe __nd_syscall.eventfd.return = kprobe.function("sys_eventfd").return{ (name) = ("eventfd"); } probe nd_syscall.execve = kprobe.function("sys_execve"){ (name) = ("execve"); asmlinkage(); (filename) = (user_string_quoted(pointer_arg(1))); (args) = (__get_argv(pointer_arg(2), 0)); (env_str) = (__count_envp(pointer_arg(3))); (argstr) = (sprintf("%s, %s, %s", filename, args, env_str)); } probe nd_syscall.execve.return = kprobe.function("sys_execve").return{ (name) = ("execve"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_execve = kprobe.function("compat_sys_execve").call?{ (name) = ("execve"); asmlinkage(); (filename) = (user_string_quoted(pointer_arg(1))); (args) = (__get_compat_argv(pointer_arg(2), 0)); (env_str) = (__count_compat_envp(pointer_arg(3))); (argstr) = (sprintf("%s, %s, %s", filename, args, env_str)); } probe nd_syscall.compat_execve.return = kprobe.function("compat_sys_execve").return?{ (name) = ("execve"); (retstr) = (returnstr(1)); } probe nd_syscall.execveat = kprobe.function("sys_execveat").call?{ asmlinkage(); (name) = ("execveat"); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (filename) = (user_string_quoted(pointer_arg(2))); (args) = (__get_argv(pointer_arg(3), 0)); (env_str) = (__count_envp(pointer_arg(4))); (flags) = (int_arg(5)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s, %s", dirfd_str, filename, args, env_str, flags_str)); } probe nd_syscall.execveat.return = kprobe.function("sys_execveat").return?{ (name) = ("execveat"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_execveat = kprobe.function("compat_sys_execveat").call?{ (name) = ("execveat"); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (filename) = (user_string_quoted(pointer_arg(2))); (args) = (__get_compat_argv(pointer_arg(3), 0)); (env_str) = (__count_compat_envp(pointer_arg(4))); (flags) = (int_arg(5)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s, %s", dirfd_str, filename, args, env_str, flags_str)); } probe nd_syscall.compat_execveat.return = kprobe.function("compat_sys_execveat").return?{ (name) = ("execveat"); (retstr) = (returnstr(1)); } probe nd_syscall.exit = kprobe.function("sys_exit").call{ (name) = ("exit"); asmlinkage(); (status) = (int_arg(1)); (argstr) = (sprint(status)); } probe nd_syscall.exit_group = kprobe.function("sys_exit_group").call?{ (name) = ("exit_group"); asmlinkage(); (status) = (int_arg(1)); (argstr) = (sprint(status)); } probe nd_syscall.faccessat = kprobe.function("sys_faccessat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_faccessat %})) next ; } } catch { { next; } } ; (name) = ("faccessat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (mode) = (int_arg(3)); (mode_str) = (_access_mode_str(mode)); (argstr) = (sprintf("%s, %s, %s", dirfd_str, user_string_quoted(pointer_arg(2)), mode_str)); } probe nd_syscall.faccessat.return = kprobe.function("sys_faccessat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_faccessat %})) next ; } } catch { { next; } } ; (name) = ("faccessat"); (retstr) = (returnstr(1)); } probe nd_syscall.fadvise64 = kprobe.function("sys_fadvise64")?{ asmlinkage(); (name) = ("fadvise64"); (fd) = (int_arg(1)); (offset) = (longlong_arg(2)); (len) = (long_arg(3)); (advice) = (int_arg(4)); (argstr) = (sprintf("%d, %d, %d, %s", fd, offset, len, _fadvice_advice_str(advice))); } probe nd_syscall.fadvise64.return = kprobe.function("sys_fadvise64").return?{ (name) = ("fadvise64"); (retstr) = (returnstr(1)); } probe nd_syscall.fadvise64_64 = kprobe.function("sys_fadvise64_64")?{ asmlinkage(); (name) = ("fadvise64"); (fd) = (int_arg(1)); (offset) = (longlong_arg(2)); (len) = (longlong_arg(3)); (advice) = (int_arg(4)); (argstr) = (sprintf("%d, %d, %d, %s", fd, offset, len, _fadvice_advice_str(advice))); } probe nd_syscall.fadvise64_64.return = kprobe.function("sys_fadvise64_64").return?{ (name) = ("fadvise64"); (retstr) = (returnstr(1)); } probe nd_syscall.fallocate = kprobe.function("sys_fallocate")?{ asmlinkage(); (name) = ("fallocate"); (fd) = (int_arg(1)); (mode) = (uint_arg(2)); (mode_str) = (_stp_fallocate_mode_str(mode)); (offset) = (longlong_arg(3)); (len) = (longlong_arg(4)); (argstr) = (sprintf("%d, %s, %#x, %u", fd, _stp_fallocate_mode_str(mode), offset, len)); } probe nd_syscall.fallocate.return = kprobe.function("sys_fallocate").return?{ asmlinkage(); (name) = ("fallocate"); (retstr) = (returnstr(1)); } probe nd_syscall.fanotify_init = kprobe.function("sys_fanotify_init")?{ (name) = ("fanotify_init"); asmlinkage(); (flags) = (uint_arg(1)); (flags_str) = (_fanotify_init_flags_str(flags)); (event_f_flags) = (uint_arg(2)); (event_f_flags_str) = (_sys_open_flag_str(event_f_flags)); (argstr) = (sprintf("%s, %s", _fanotify_init_flags_str(flags), _sys_open_flag_str(event_f_flags))); } probe nd_syscall.fanotify_init.return = kprobe.function("sys_fanotify_init").return?{ (name) = ("fanotify_init"); (retstr) = (returnstr(1)); } probe nd_syscall.fanotify_mark = __nd_syscall.fanotify_mark?, __nd_syscall.compat_fanotify_mark?{ (name) = ("fanotify_mark"); (flags_str) = (_fanotify_mark_flags_str(flags)); (mask_str) = (_fanotify_mark_mask_str(mask)); (dirfd_str) = (_dfd_str(dirfd)); (argstr) = (sprintf("%d, %s, %s, %s, %s", fanotify_fd, _fanotify_mark_flags_str(flags), _fanotify_mark_mask_str(mask), _dfd_str(dirfd), pathname)); } probe __nd_syscall.fanotify_mark = kprobe.function("sys_fanotify_mark")?{ asmlinkage(); (fanotify_fd) = (int_arg(1)); (flags) = (uint_arg(2)); (mask) = (ulonglong_arg(3)); (dirfd) = (int_arg(4)); (pathname) = (user_string_quoted(pointer_arg(5))); } probe __nd_syscall.compat_fanotify_mark = kprobe.function("compat_sys_fanotify_mark")?{ asmlinkage(); (fanotify_fd) = (int_arg(1)); (flags) = (uint_arg(2)); if (%{ /* pure */ #ifdef __BIG_ENDIAN 1 #else 0 #endif %}) (mask) = (((uint_arg(3)) << (32)) | (uint_arg(4))) else (mask) = (((uint_arg(4)) << (32)) | (uint_arg(3))) ; (dirfd) = (int_arg(5)); (pathname) = (user_string_quoted(pointer_arg(6))); } probe nd_syscall.fanotify_mark.return = kprobe.function("sys_fanotify_mark").return?, kprobe.function("compat_sys_fanotify_mark").return?{ (name) = ("fanotify_mark"); (retstr) = (returnstr(1)); } probe nd_syscall.fchdir = kprobe.function("sys_fchdir")?{ (name) = ("fchdir"); asmlinkage(); (fd) = (int_arg(1)); (argstr) = (sprint(fd)); } probe nd_syscall.fchdir.return = kprobe.function("sys_fchdir").return?{ (name) = ("fchdir"); (retstr) = (returnstr(1)); } probe nd_syscall.fchmod = kprobe.function("sys_fchmod")?{ (name) = ("fchmod"); asmlinkage(); (fildes) = (int_arg(1)); (mode) = (uint_arg(2)); (argstr) = (sprintf("%d, %#o", fildes, mode)); } probe nd_syscall.fchmod.return = kprobe.function("sys_fchmod").return?{ (name) = ("fchmod"); (retstr) = (returnstr(1)); } probe nd_syscall.fchmodat = kprobe.function("sys_fchmodat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchmodat %})) next ; } } catch { { next; } } ; (name) = ("fchmodat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (mode) = (uint_arg(3)); (argstr) = (sprintf("%s, %s, %#o", dirfd_str, user_string_quoted(pointer_arg(2)), mode)); } probe nd_syscall.fchmodat.return = kprobe.function("sys_fchmodat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchmodat %})) next ; } } catch { { next; } } ; (name) = ("fchmodat"); (retstr) = (returnstr(1)); } probe nd_syscall.fchown = kprobe.function("sys_fchown")?{ (name) = ("fchown"); asmlinkage(); (fd) = (int_arg(1)); (owner) = (__int32(uint_arg(2))); (group) = (__int32(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", fd, owner, group)); } probe nd_syscall.fchown.return = kprobe.function("sys_fchown").return?{ (name) = ("fchown"); (retstr) = (returnstr(1)); } probe nd_syscall.fchown16 = kprobe.function("sys_fchown16")?{ (name) = ("fchown16"); asmlinkage(); (fd) = (int_arg(1)); (owner) = (__short(uint_arg(2))); (group) = (__short(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", fd, owner, group)); } probe nd_syscall.fchown16.return = kprobe.function("sys_fchown16").return?{ (name) = ("fchown16"); (retstr) = (returnstr(1)); } probe nd_syscall.fchownat = kprobe.function("sys_fchownat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchownat %})) next ; } } catch { { next; } } ; (name) = ("fchownat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (owner) = (__int32(uint_arg(3))); (group) = (__int32(uint_arg(4))); (flags) = (int_arg(5)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %d, %d, %s", dirfd_str, user_string_quoted(pointer_arg(2)), owner, group, flags_str)); } probe nd_syscall.fchownat.return = kprobe.function("sys_fchownat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchownat %})) next ; } } catch { { next; } } ; (name) = ("fchownat"); (retstr) = (returnstr(1)); } probe nd_syscall.fcntl = kprobe.function("compat_sys_fcntl")?, kprobe.function("compat_sys_fcntl64")?, kprobe.function("sys_fcntl64")?, kprobe.function("sys_fcntl")?{ (name) = ("fcntl"); asmlinkage(); (fd) = (int_arg(1)); (cmd) = (int_arg(2)); (cmd_str) = (_fcntl_cmd_str(cmd)); (arg) = (long_arg(3)); (argstr) = (sprintf("%d, %s, %p", fd, cmd_str, arg)); } probe nd_syscall.fcntl.return = kprobe.function("compat_sys_fcntl").return?, kprobe.function("compat_sys_fcntl64").return?, kprobe.function("sys_fcntl64").return?, kprobe.function("sys_fcntl").return?{ (name) = ("fcntl"); (retstr) = (returnstr(1)); } probe nd_syscall.fdatasync = kprobe.function("sys_fdatasync")?{ (name) = ("fdatasync"); asmlinkage(); (fd) = (int_arg(1)); (argstr) = (sprint(fd)); } probe nd_syscall.fdatasync.return = kprobe.function("sys_fdatasync").return?{ (name) = ("fdatasync"); (retstr) = (returnstr(1)); } probe nd_syscall.fgetxattr = kprobe.function("sys_fgetxattr")?{ (name) = ("fgetxattr"); asmlinkage(); (filedes) = (int_arg(1)); (name_str) = (user_string_quoted(pointer_arg(2))); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (argstr) = (sprintf("%d, %s, %p, %u", filedes, user_string_quoted(pointer_arg(2)), value_uaddr, size)); } probe nd_syscall.fgetxattr.return = kprobe.function("sys_fgetxattr").return?{ (name) = ("fgetxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.finit_module = kprobe.function("sys_finit_module").call?{ (name) = ("finit_module"); asmlinkage(); (fd) = (int_arg(1)); (uargs) = (user_string_quoted(pointer_arg(2))); (flags) = (int_arg(3)); (flags_str) = (_finit_module_flags_str(flags)); (argstr) = (sprintf("%d, %s, %s", fd, uargs, _finit_module_flags_str(flags))); } probe nd_syscall.finit_module.return = kprobe.function("sys_finit_module").return?{ (name) = ("finit_module"); (retstr) = (returnstr(1)); } probe nd_syscall.flistxattr = kprobe.function("sys_flistxattr")?{ (name) = ("flistxattr"); asmlinkage(); (filedes) = (int_arg(1)); (list_uaddr) = (pointer_arg(2)); (size) = (ulong_arg(3)); (argstr) = (sprintf("%d, %p, %u", filedes, list_uaddr, size)); } probe nd_syscall.flistxattr.return = kprobe.function("sys_flistxattr").return?{ (name) = ("flistxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.flock = kprobe.function("sys_flock")?{ (name) = ("flock"); asmlinkage(); (fd) = (int_arg(1)); (operation) = (int_arg(2)); (argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation))); } probe nd_syscall.flock.return = kprobe.function("sys_flock").return?{ (name) = ("flock"); (retstr) = (returnstr(1)); } probe nd_syscall.fork = kprobe.function("sys_fork").call?{ (name) = ("fork"); (argstr) = (""); } probe nd_syscall.fork.return = kprobe.function("sys_fork").return?{ (name) = ("fork"); (retstr) = (returnstr(1)); } probe nd_syscall.fremovexattr = kprobe.function("sys_fremovexattr")?{ (name) = ("fremovexattr"); asmlinkage(); (filedes) = (int_arg(1)); (name_uaddr) = (pointer_arg(2)); (name_str) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%d, %s", filedes, user_string_quoted(pointer_arg(2)))); } probe nd_syscall.fremovexattr.return = kprobe.function("sys_fremovexattr").return?{ (name) = ("fremovexattr"); (retstr) = (returnstr(1)); } probe nd_syscall.fsetxattr = kprobe.function("sys_fsetxattr")?{ (name) = ("fsetxattr"); asmlinkage(); (filedes) = (int_arg(1)); (name_uaddr) = (pointer_arg(2)); (name_str) = (user_string_quoted(pointer_arg(2))); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (value_str) = (_stp_xattr_val_str(value_uaddr, size)); (flags) = (int_arg(5)); (flags_str) = (_stp_xattr_flags_str(flags)); (argstr) = (sprintf("%d, %s, %s, %u, %s", filedes, user_string_quoted(pointer_arg(2)), _stp_xattr_val_str(value_uaddr, size), size, _stp_xattr_flags_str(flags))); } probe nd_syscall.fsetxattr.return = kprobe.function("sys_fsetxattr").return?{ (name) = ("fsetxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.fstat = kprobe.function("sys_fstat")?, kprobe.function("sys_fstat64")?, kprobe.function("sys32_fstat64")?, kprobe.function("sys_newfstat")?, kprobe.function("sys_oabi_fstat64")?, kprobe.function("compat_sys_newfstat")?{ (name) = ("fstat"); asmlinkage(); (filedes) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", filedes, buf_uaddr)); } probe nd_syscall.fstat.return = kprobe.function("sys_fstat").return?, kprobe.function("sys_fstat64").return?, kprobe.function("sys32_fstat64").return?, kprobe.function("sys_newfstat").return?, kprobe.function("sys_oabi_fstat64").return?, kprobe.function("compat_sys_newfstat").return?{ (name) = ("fstat"); (retstr) = (returnstr(1)); } probe nd_syscall.fstatat = kprobe.function("sys_fstatat64")?, kprobe.function("sys_newfstatat")?, kprobe.function("compat_sys_newfstatat")?, kprobe.function("sys32_fstatat64")?, kprobe.function("sys32_fstatat")?{ (name) = ("fstatat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (path) = (user_string_quoted(pointer_arg(2))); (buf_uaddr) = (pointer_arg(3)); (flags) = (int_arg(4)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %p, %s", dirfd_str, path, buf_uaddr, flags_str)); } probe nd_syscall.fstatat.return = kprobe.function("sys_fstatat64").return?, kprobe.function("sys_newfstatat").return?, kprobe.function("compat_sys_newfstatat").return?, kprobe.function("sys32_fstatat64").return?, kprobe.function("sys32_fstatat").return?{ (name) = ("fstatat"); (retstr) = (returnstr(1)); } probe nd_syscall.fstatfs = kprobe.function("compat_sys_fstatfs")?, kprobe.function("sys_fstatfs")?{ (name) = ("fstatfs"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", fd, buf_uaddr)); } probe nd_syscall.fstatfs.return = kprobe.function("compat_sys_fstatfs").return?, kprobe.function("sys_fstatfs").return?{ (name) = ("fstatfs"); (retstr) = (returnstr(1)); } probe nd_syscall.fstatfs64 = kprobe.function("sys_fstatfs64")?, kprobe.function("compat_sys_fstatfs64")?{ (name) = ("fstatfs64"); asmlinkage(); (fd) = (int_arg(1)); (sz) = (ulong_arg(2)); (buf_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %u, %p", fd, sz, buf_uaddr)); } probe nd_syscall.fstatfs64.return = kprobe.function("sys_fstatfs64").return?, kprobe.function("compat_sys_fstatfs64").return?{ (name) = ("fstatfs64"); (retstr) = (returnstr(1)); } probe nd_syscall.fsync = kprobe.function("sys_fsync")?{ (name) = ("fsync"); asmlinkage(); (fd) = (int_arg(1)); (argstr) = (sprint(fd)); } probe nd_syscall.fsync.return = kprobe.function("sys_fsync").return?{ (name) = ("fsync"); (retstr) = (returnstr(1)); } probe nd_syscall.ftruncate = __nd_syscall.ftruncate, kprobe.function("compat_sys_ftruncate").call?{ (name) = ("ftruncate"); asmlinkage(); (fd) = (int_arg(1)); (length) = (long_arg(2)); (argstr) = (sprintf("%d, %d", fd, length)); } probe __nd_syscall.ftruncate = kprobe.function("sys_ftruncate").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ftruncate %})) next ; } } catch { { next; } } ; } probe nd_syscall.ftruncate.return = __nd_syscall.ftruncate.return, kprobe.function("compat_sys_ftruncate").return?{ (name) = ("ftruncate"); (retstr) = (returnstr(1)); } probe __nd_syscall.ftruncate.return = kprobe.function("sys_ftruncate").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ftruncate %})) next ; } } catch { { next; } } ; } probe nd_syscall.ftruncate64 = kprobe.function("sys_ftruncate64")?{ (name) = ("ftruncate"); asmlinkage(); (fd) = (int_arg(1)); (length) = (longlong_arg(2)); (argstr) = (sprintf("%d, %d", fd, length)); } probe nd_syscall.ftruncate64.return = kprobe.function("sys_ftruncate64").return?{ (name) = ("ftruncate"); (retstr) = (returnstr(1)); } probe nd_syscall.futex = kprobe.function("sys_futex")?{ (name) = ("futex"); asmlinkage(); (futex_uaddr) = (pointer_arg(1)); (op) = (int_arg(2)); (val) = (int_arg(3)); (utime_uaddr) = (pointer_arg(4)); (uaddr2_uaddr) = (pointer_arg(5)); (val3) = (int_arg(6)); if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %#x", futex_uaddr, _futex_op_str(op), val, val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT %})) { (argstr) = (sprintf("%p, %s, %d, %s", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)))); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %s, %#x", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)), val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_REQUEUE %})) { (argstr) = (sprintf("%p, %s, %d, %d, %p", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr)); } else if (((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE %})) || ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE_PI %}))) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %d", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr, val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_OP %})) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %s", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr, _futex_wake_op_str(val3))); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_REQUEUE_PI %})) { (argstr) = (sprintf("%p, %s, %d, %s, %p", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)), uaddr2_uaddr)); } else { (argstr) = (sprintf("%p, %s, %d", futex_uaddr, _futex_op_str(op), val)); } ; } probe nd_syscall.futex.return = kprobe.function("sys_futex").return?{ (name) = ("futex"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_futex = kprobe.function("compat_sys_futex")?{ (name) = ("futex"); asmlinkage(); (futex_uaddr) = (pointer_arg(1)); (op) = (int_arg(2)); (val) = (int_arg(3)); (utime_uaddr) = (pointer_arg(4)); (uaddr2_uaddr) = (pointer_arg(5)); (val3) = (int_arg(6)); if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %#x", futex_uaddr, _futex_op_str(op), val, val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT %})) { (argstr) = (sprintf("%p, %s, %d, %s", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)))); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %s, %#x", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)), val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_REQUEUE %})) { (argstr) = (sprintf("%p, %s, %d, %d, %p", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr)); } else if (((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE %})) || ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE_PI %}))) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %d", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr, val3)); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_OP %})) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %s", futex_uaddr, _futex_op_str(op), val, utime_uaddr, uaddr2_uaddr, _futex_wake_op_str(val3))); } else if ((op) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_REQUEUE_PI %})) { (argstr) = (sprintf("%p, %s, %d, %s, %p", futex_uaddr, _futex_op_str(op), val, (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(utime_uaddr, 1)):(_struct_timespec_u(utime_uaddr, 1)), uaddr2_uaddr)); } else { (argstr) = (sprintf("%p, %s, %d", futex_uaddr, _futex_op_str(op), val)); } ; } probe nd_syscall.compat_futex.return = kprobe.function("compat_sys_futex").return?{ (name) = ("futex"); (retstr) = (returnstr(1)); } probe nd_syscall.futimesat = kprobe.function("sys_futimesat")?{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_futimesat %})) next ; } } catch { { next; } } ; (name) = ("futimesat"); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (filename_uaddr) = (pointer_arg(2)); (filename) = (user_string_quoted(filename_uaddr)); (tvp_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %s", _dfd_str(dirfd), user_string_quoted(filename_uaddr), _struct_timeval_u(tvp_uaddr, 2))); } probe nd_syscall.compat_futimesat = kprobe.function("compat_sys_futimesat")?{ asmlinkage(); (name) = ("futimesat"); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (filename_uaddr) = (pointer_arg(2)); (filename) = (user_string_quoted(pointer_arg(2))); (tvp_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %s", _dfd_str(int_arg(1)), user_string_quoted(pointer_arg(2)), _struct_compat_timeval_u(pointer_arg(3), 2))); } probe nd_syscall.futimesat.return = kprobe.function("sys_futimesat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_futimesat %})) next ; } } catch { { next; } } ; (name) = ("futimesat"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_futimesat.return = kprobe.function("compat_sys_futimesat").return?{ (name) = ("futimesat"); (retstr) = (returnstr(1)); } probe nd_syscall.getcpu = kprobe.function("sys_getcpu")?{ (name) = ("getcpu"); asmlinkage(); (cpu_uaddr) = (pointer_arg(1)); (node_uaddr) = (pointer_arg(2)); (tcache_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%p, %p, %p", cpu_uaddr, node_uaddr, tcache_uaddr)); } probe nd_syscall.getcpu.return = kprobe.function("sys_getcpu").return?{ (name) = ("getcpu"); (retstr) = (returnstr(1)); } probe nd_syscall.getcwd = kprobe.function("sys_getcwd")?{ (name) = ("getcwd"); asmlinkage(); (buf_uaddr) = (pointer_arg(1)); (size) = (ulong_arg(2)); (argstr) = (sprintf("%p, %d", buf_uaddr, size)); } probe nd_syscall.getcwd.return = kprobe.function("sys_getcwd").return?{ (name) = ("getcwd"); (retstr) = (returnstr(1)); } probe nd_syscall.getdents = kprobe.function("sys_getdents")?, kprobe.function("sys_getdents64")?, kprobe.function("compat_sys_getdents")?, kprobe.function("compat_sys_getdents64")?{ (name) = ("getdents"); asmlinkage(); (fd) = (int_arg(1)); (dirp_uaddr) = (pointer_arg(2)); (count) = (uint_arg(3)); (argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count)); } probe nd_syscall.getdents.return = kprobe.function("sys_getdents").return?, kprobe.function("sys_getdents64").return?, kprobe.function("compat_sys_getdents").return?, kprobe.function("compat_sys_getdents64").return?{ (name) = ("getdents"); (retstr) = (returnstr(1)); } probe nd_syscall.getegid = kprobe.function("sys_getegid16")?, kprobe.function("sys32_getegid16")?, kprobe.function("sys_getegid"){ (name) = ("getegid"); (argstr) = (""); } probe nd_syscall.getegid.return = kprobe.function("sys_getegid16").return?, kprobe.function("sys32_getegid16").return?, kprobe.function("sys_getegid").return{ (name) = ("getegid"); (retstr) = (returnstr(1)); } probe nd_syscall.geteuid = kprobe.function("sys_geteuid16")?, kprobe.function("sys32_geteuid16")?, kprobe.function("sys_geteuid"){ (name) = ("geteuid"); (argstr) = (""); } probe nd_syscall.geteuid.return = kprobe.function("sys_geteuid16").return?, kprobe.function("sys32_geteuid16").return?, kprobe.function("sys_geteuid").return{ (name) = ("geteuid"); (retstr) = (returnstr(1)); } probe nd_syscall.getgid = kprobe.function("sys_getgid16")?, kprobe.function("sys32_getgid16")?, kprobe.function("sys_getgid"){ (name) = ("getgid"); (argstr) = (""); } probe nd_syscall.getgid.return = kprobe.function("sys_getgid16").return?, kprobe.function("sys32_getgid16").return?, kprobe.function("sys_getgid").return{ (name) = ("getgid"); (retstr) = (returnstr(1)); } probe nd_syscall.getgroups = kprobe.function("sys_getgroups16")?, kprobe.function("sys32_getgroups16")?, kprobe.function("sys_getgroups")?{ (name) = ("getgroups"); asmlinkage(); (size) = (int_arg(1)); (list_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", size, list_uaddr)); } probe nd_syscall.getgroups.return = kprobe.function("sys_getgroups16").return?, kprobe.function("sys32_getgroups16").return?, kprobe.function("sys_getgroups").return?{ (name) = ("getgroups"); (retstr) = (returnstr(1)); } probe nd_syscall.gethostname = kprobe.function("sys_gethostname")?{ (name) = ("gethostname"); asmlinkage(); (name_uaddr) = (pointer_arg(1)); (len) = (int_arg(2)); (argstr) = (sprintf("%p, %d", name_uaddr, len)); } probe nd_syscall.gethostname.return = kprobe.function("sys_gethostname").return?{ (name) = ("gethostname"); (retstr) = (returnstr(1)); } probe nd_syscall.getitimer = kprobe.function("sys_getitimer")?{ (name) = ("getitimer"); asmlinkage(); (which) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", _itimer_which_str(which), value_uaddr)); } probe nd_syscall.getitimer.return = kprobe.function("sys_getitimer").return?{ (name) = ("getitimer"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_getitimer = kprobe.function("compat_sys_getitimer")?{ (name) = ("getitimer"); asmlinkage(); (which) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", _itimer_which_str(which), value_uaddr)); } probe nd_syscall.compat_getitimer.return = kprobe.function("compat_sys_getitimer").return?{ (name) = ("getitimer"); (retstr) = (returnstr(1)); } probe nd_syscall.get_mempolicy = __nd_syscall.get_mempolicy?, kprobe.function("compat_sys_get_mempolicy")?{ (name) = ("get_mempolicy"); asmlinkage(); (policy_uaddr) = (pointer_arg(1)); (nmask_uaddr) = (pointer_arg(2)); (maxnode) = (ulong_arg(3)); (addr) = (ulong_arg(4)); (flags) = (ulong_arg(5)); (flags_str) = (_mempolicy_flags_str(flags)); (argstr) = (sprintf("%p, %p, %u, %p, %s", policy_uaddr, nmask_uaddr, maxnode, addr, _mempolicy_flags_str(flags))); } probe __nd_syscall.get_mempolicy = kprobe.function("sys_get_mempolicy")?{ asmlinkage(); } probe nd_syscall.get_mempolicy.return = __nd_syscall.get_mempolicy.return?, kprobe.function("compat_sys_get_mempolicy").return?{ (name) = ("get_mempolicy"); (retstr) = (returnstr(1)); } probe __nd_syscall.get_mempolicy.return = kprobe.function("sys_get_mempolicy").return?{ asmlinkage(); } probe nd_syscall.getpeername = __nd_syscall.getpeername?, __nd_syscall.socketcall.getpeername?, __nd_syscall.compat_socketcall.getpeername?{ (name) = ("getpeername"); (argstr) = (sprintf("%d, %p, %p", s, name_uaddr, namelen_uaddr)); } probe __nd_syscall.getpeername = kprobe.function("sys_getpeername")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpeername %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (name_uaddr) = (pointer_arg(2)); (namelen_uaddr) = (pointer_arg(3)); } probe __nd_syscall.socketcall.getpeername = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (name_uaddr) = (user_ulong(&(__args)[1])); (namelen_uaddr) = (user_ulong(&(__args)[2])); } probe __nd_syscall.compat_socketcall.getpeername = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (name_uaddr) = (user_uint32(&(__args)[1])); (namelen_uaddr) = (user_uint32(&(__args)[2])); } probe nd_syscall.getpeername.return = __nd_syscall.getpeername.return?, __nd_syscall.socketcall.getpeername.return?{ (name) = ("getpeername"); (retstr) = (returnstr(1)); } probe __nd_syscall.getpeername.return = kprobe.function("sys_getpeername").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpeername %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.getpeername.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; } probe nd_syscall.getpgid = kprobe.function("sys_getpgid")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpgid %})) next ; } } catch { { next; } } ; (name) = ("getpgid"); asmlinkage(); (pid) = (int_arg(1)); (argstr) = (sprintf("%d", pid)); } probe nd_syscall.getpgid.return = kprobe.function("sys_getpgid").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpgid %})) next ; } } catch { { next; } } ; (name) = ("getpgid"); (retstr) = (returnstr(1)); } probe nd_syscall.getpgrp = kprobe.function("sys_getpgrp")?{ (name) = ("getpgrp"); (argstr) = (""); } probe nd_syscall.getpgrp.return = kprobe.function("sys_getpgrp").return?{ (name) = ("getpgrp"); (retstr) = (returnstr(1)); } probe nd_syscall.getpid = kprobe.function("sys_getpid"){ (name) = ("getpid"); (argstr) = (""); } probe nd_syscall.getpid.return = kprobe.function("sys_getpid").return{ (name) = ("getpid"); (retstr) = (returnstr(1)); } probe nd_syscall.getppid = kprobe.function("sys_getppid"){ (name) = ("getppid"); (argstr) = (""); } probe nd_syscall.getppid.return = kprobe.function("sys_getppid").return{ (name) = ("getppid"); (retstr) = (returnstr(1)); } probe nd_syscall.getpriority = kprobe.function("sys_getpriority")?{ (name) = ("getpriority"); asmlinkage(); (which) = (int_arg(1)); (who) = (int_arg(2)); (argstr) = (sprintf("%s, %d", _priority_which_str(which), who)); } probe nd_syscall.getpriority.return = kprobe.function("sys_getpriority").return?{ (name) = ("getpriority"); (retstr) = (returnstr(1)); } probe nd_syscall.getrandom = kprobe.function("sys_getrandom")?{ (name) = ("getrandom"); asmlinkage(); (buf) = (user_string_quoted(pointer_arg(1))); (count) = (ulong_arg(2)); (flags) = (uint_arg(3)); (flags_str) = (_getrandom_flags_str(uint_arg(3))); (argstr) = (sprintf("%s, %u, %s", buf, count, flags_str)); } probe nd_syscall.getrandom.return = kprobe.function("sys_getrandom").return?{ (name) = ("getrandom"); (retstr) = (returnstr(1)); } probe nd_syscall.getresgid = kprobe.function("sys_getresgid16")?, kprobe.function("sys_getresgid")?{ (name) = ("getresgid"); asmlinkage(); (rgid_uaddr) = (pointer_arg(1)); (egid_uaddr) = (pointer_arg(2)); (sgid_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr)); } probe nd_syscall.getresgid.return = kprobe.function("sys_getresgid16").return?, kprobe.function("sys_getresgid").return?{ (name) = ("getresgid"); (retstr) = (returnstr(1)); } probe nd_syscall.getresuid = kprobe.function("sys_getresuid16")?, kprobe.function("sys_getresuid")?{ (name) = ("getresuid"); asmlinkage(); (ruid_uaddr) = (pointer_arg(1)); (euid_uaddr) = (pointer_arg(2)); (suid_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr)); } probe nd_syscall.getresuid.return = kprobe.function("sys_getresuid16").return?, kprobe.function("sys_getresuid").return?{ (name) = ("getresuid"); (retstr) = (returnstr(1)); } probe nd_syscall.getrlimit = __nd_syscall.getrlimit?, kprobe.function("compat_sys_getrlimit")?, kprobe.function("sys_old_getrlimit")?{ (name) = ("getrlimit"); asmlinkage(); (resource) = (int_arg(1)); (rlim_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", _rlimit_resource_str(resource), rlim_uaddr)); } probe __nd_syscall.getrlimit = kprobe.function("sys_getrlimit"){ } probe nd_syscall.getrlimit.return = __nd_syscall.getrlimit.return?, kprobe.function("sys_old_getrlimit").return?, kprobe.function("compat_sys_getrlimit").return?, __nd_syscall.old_getrlimit.return?{ (name) = ("getrlimit"); (retstr) = (returnstr(1)); } probe __nd_syscall.getrlimit.return = kprobe.function("sys_getrlimit").return{ } probe nd_syscall.get_robust_list = __nd_syscall.get_robust_list?, kprobe.function("compat_sys_get_robust_list")?{ (name) = ("get_robust_list"); asmlinkage(); (pid) = (int_arg(1)); (list_head_uaddr) = (pointer_arg(2)); (len_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %p, %p", pid, list_head_uaddr, len_uaddr)); } probe __nd_syscall.get_robust_list = kprobe.function("sys_get_robust_list"){ } probe nd_syscall.get_robust_list.return = __nd_syscall.get_robust_list.return?, kprobe.function("compat_sys_get_robust_list").return?{ (name) = ("get_robust_list"); (retstr) = (returnstr(1)); } probe __nd_syscall.get_robust_list.return = kprobe.function("sys_get_robust_list").return{ } probe nd_syscall.getrusage = __nd_syscall.getrusage, kprobe.function("compat_sys_getrusage").call?{ (name) = ("getrusage"); asmlinkage(); (who) = (int_arg(1)); (who_str) = (_rusage_who_str(who)); (usage_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", who_str, usage_uaddr)); } probe __nd_syscall.getrusage = kprobe.function("sys_getrusage").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getrusage %})) next ; } } catch { { next; } } ; } probe nd_syscall.getrusage.return = __nd_syscall.getrusage.return, kprobe.function("compat_sys_getrusage").return?{ (name) = ("getrusage"); (retstr) = (returnstr(1)); } probe __nd_syscall.getrusage.return = kprobe.function("sys_getrusage").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getrusage %})) next ; } } catch { { next; } } ; } probe nd_syscall.getsid = kprobe.function("sys_getsid")?{ (name) = ("getsid"); asmlinkage(); (pid) = (int_arg(1)); (argstr) = (sprint(pid)); } probe nd_syscall.getsid.return = kprobe.function("sys_getsid").return?{ (name) = ("getsid"); (retstr) = (returnstr(1)); } probe nd_syscall.getsockname = __nd_syscall.getsockname?, __nd_syscall.socketcall.getsockname?, __nd_syscall.compat_socketcall.getsockname?{ (name) = ("getsockname"); (argstr) = (sprintf("%d, %p, %p", s, name_uaddr, namelen_uaddr)); } probe __nd_syscall.getsockname = kprobe.function("sys_getsockname")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockname %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (name_uaddr) = (pointer_arg(2)); (namelen_uaddr) = (pointer_arg(3)); } probe __nd_syscall.socketcall.getsockname = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (name_uaddr) = (user_ulong(&(__args)[1])); (namelen_uaddr) = (user_ulong(&(__args)[2])); } probe __nd_syscall.compat_socketcall.getsockname = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (name_uaddr) = (user_uint32(&(__args)[1])); (namelen_uaddr) = (user_uint32(&(__args)[2])); } probe nd_syscall.getsockname.return = __nd_syscall.getsockname.return?, __nd_syscall.socketcall.getsockname.return?{ (name) = ("getsockname"); (retstr) = (returnstr(1)); } probe __nd_syscall.getsockname.return = kprobe.function("sys_getsockname").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockname %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.getsockname.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; } probe nd_syscall.getsockopt = __nd_syscall.getsockopt?, __nd_syscall.socketcall.getsockopt?, __nd_syscall.compat_socketcall.getsockopt?{ (name) = ("getsockopt"); (level_str) = (_sockopt_level_str(level)); (optname_str) = (_sockopt_optname_str(optname)); (argstr) = (sprintf("%d, %s, %s, %p, %p", fd, _sockopt_level_str(level), _sockopt_optname_str(optname), optval_uaddr, optlen_uaddr)); } probe __nd_syscall.getsockopt = kprobe.function("sys_getsockopt")?{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockopt %})) next ; } } catch { { next; } } ; (fd) = (int_arg(1)); (level) = (int_arg(2)); (optname) = (int_arg(3)); (optval_uaddr) = (pointer_arg(4)); (optlen_uaddr) = (pointer_arg(5)); } probe __nd_syscall.socketcall.getsockopt = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (fd) = (__int32(user_ulong(&(__args)[0]))); (level) = (__int32(user_ulong(&(__args)[1]))); (optname) = (__int32(user_ulong(&(__args)[2]))); (optval_uaddr) = (user_ulong(&(__args)[3])); (optlen_uaddr) = (user_ulong(&(__args)[4])); } probe __nd_syscall.compat_socketcall.getsockopt = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (fd) = (user_int(&(__args)[0])); (level) = (user_int(&(__args)[1])); (optname) = (user_int(&(__args)[2])); (optval_uaddr) = (user_uint32(&(__args)[3])); (optlen_uaddr) = (user_uint32(&(__args)[4])); } probe nd_syscall.getsockopt.return = __nd_syscall.getsockopt.return?, __nd_syscall.socketcall.getsockopt.return?{ (name) = ("getsockopt"); (retstr) = (returnstr(1)); } probe __nd_syscall.getsockopt.return = kprobe.function("sys_getsockopt").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockopt %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.getsockopt.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; } probe nd_syscall.gettid = kprobe.function("sys_gettid"){ (name) = ("gettid"); (argstr) = (""); } probe nd_syscall.gettid.return = kprobe.function("sys_gettid").return{ (name) = ("gettid"); (retstr) = (returnstr(1)); } probe nd_syscall.gettimeofday = kprobe.function("compat_sys_gettimeofday")?, kprobe.function("sys32_gettimeofday")?, kprobe.function("sys_gettimeofday")?{ (name) = ("gettimeofday"); asmlinkage(); (tv_uaddr) = (pointer_arg(1)); (tz_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%p, %p", tv_uaddr, tz_uaddr)); } probe nd_syscall.gettimeofday.return = kprobe.function("compat_sys_gettimeofday").return?, kprobe.function("sys32_gettimeofday").return?, kprobe.function("sys_gettimeofday").return?{ (name) = ("gettimeofday"); (retstr) = (returnstr(1)); } probe nd_syscall.getuid = kprobe.function("sys_getuid16")?, kprobe.function("sys32_getuid16")?, kprobe.function("sys_getuid"){ (name) = ("getuid"); (argstr) = (""); } probe nd_syscall.getuid.return = kprobe.function("sys_getuid16").return?, kprobe.function("sys32_getuid16").return?, kprobe.function("sys_getuid").return{ (name) = ("getuid"); (retstr) = (returnstr(1)); } probe nd_syscall.getxattr = kprobe.function("sys_getxattr")?{ (name) = ("getxattr"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (name_str) = (user_string_quoted(pointer_arg(2))); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (argstr) = (sprintf("%s, %s, %p, %u", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)), value_uaddr, size)); } probe nd_syscall.getxattr.return = kprobe.function("sys_getxattr").return?{ (name) = ("getxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.init_module = kprobe.function("sys_init_module")?{ (name) = ("init_module"); asmlinkage(); (umod_uaddr) = (pointer_arg(1)); (len) = (ulong_arg(2)); (uargs) = (user_string_quoted(pointer_arg(3))); (argstr) = (sprintf("%p, %u, %s", umod_uaddr, len, uargs)); } probe nd_syscall.init_module.return = kprobe.function("sys_init_module").return?{ (name) = ("init_module"); (retstr) = (returnstr(1)); } probe nd_syscall.inotify_add_watch = kprobe.function("sys_inotify_add_watch")?{ (name) = ("inotify_add_watch"); asmlinkage(); (fd) = (int_arg(1)); (path_uaddr) = (pointer_arg(2)); (path) = (user_string_quoted(path_uaddr)); (mask) = (uint_arg(3)); (argstr) = (sprintf("%d, %s, %s", fd, user_string_quoted(path_uaddr), _inotify_watch_mask_str(mask))); } probe nd_syscall.inotify_add_watch.return = kprobe.function("sys_inotify_add_watch").return?{ (name) = ("inotify_add_watch"); (retstr) = (returnstr(1)); } probe nd_syscall.inotify_init = __nd_syscall.inotify_init1?, __nd_syscall.inotify_init?{ } probe __nd_syscall.inotify_init1 = kprobe.function("sys_inotify_init1"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_inotify_init1 %})) next ; } } catch { { next; } } ; asmlinkage(); (name) = ("inotify_init1"); (flags) = (int_arg(1)); (argstr) = (_inotify_init1_flag_str(flags)); } probe __nd_syscall.inotify_init = kprobe.function("sys_inotify_init"){ (name) = ("inotify_init"); (flags) = (0); (argstr) = (""); } probe nd_syscall.inotify_init.return = __nd_syscall.inotify_init1.return?, __nd_syscall.inotify_init.return?{ } probe __nd_syscall.inotify_init1.return = kprobe.function("sys_inotify_init1").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_inotify_init1 %})) next ; } } catch { { next; } } ; (name) = ("inotify_init1"); (retstr) = (returnstr(1)); } probe __nd_syscall.inotify_init.return = kprobe.function("sys_inotify_init").return{ (name) = ("inotify_init"); (retstr) = (returnstr(1)); } probe nd_syscall.inotify_rm_watch = kprobe.function("sys_inotify_rm_watch")?{ (name) = ("inotify_rm_watch"); asmlinkage(); (fd) = (int_arg(1)); (wd) = (int_arg(2)); (argstr) = (sprintf("%d, %d", fd, wd)); } probe nd_syscall.inotify_rm_watch.return = kprobe.function("sys_inotify_rm_watch").return?{ (name) = ("inotify_rm_watch"); (retstr) = (returnstr(1)); } probe nd_syscall.io_cancel = kprobe.function("sys_io_cancel")?{ (name) = ("io_cancel"); asmlinkage(); (ctx_id) = (ulong_arg(1)); (iocb_uaddr) = (pointer_arg(2)); (result_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%u, %p, %p", ctx_id, iocb_uaddr, result_uaddr)); } probe nd_syscall.io_cancel.return = kprobe.function("sys_io_cancel").return?{ (name) = ("io_cancel"); (retstr) = (returnstr(1)); } probe nd_syscall.ioctl = __nd_syscall.ioctl, kprobe.function("compat_sys_ioctl")?{ asmlinkage(); (name) = ("ioctl"); (fd) = (int_arg(1)); (request) = (int_arg(2)); (argp) = (ulong_arg(3)); (argstr) = (sprintf("%d, %d, %p", fd, request, argp)); } probe __nd_syscall.ioctl = kprobe.function("sys_ioctl"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ioctl %})) next ; } } catch { { next; } } ; } probe nd_syscall.ioctl.return = __nd_syscall.ioctl.return, kprobe.function("compat_sys_ioctl").return?{ (name) = ("ioctl"); (retstr) = (returnstr(1)); } probe __nd_syscall.ioctl.return = kprobe.function("sys_ioctl").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ioctl %})) next ; } } catch { { next; } } ; } probe nd_syscall.io_destroy = kprobe.function("sys_io_destroy")?{ (name) = ("io_destroy"); asmlinkage(); (ctx) = (ulong_arg(1)); (argstr) = (sprintf("%u", ctx)); } probe nd_syscall.io_destroy.return = kprobe.function("sys_io_destroy").return?{ (name) = ("io_destroy"); (retstr) = (returnstr(1)); } probe nd_syscall.io_getevents = __nd_syscall.io_getevents?, kprobe.function("compat_sys_io_getevents")?{ (name) = ("io_getevents"); asmlinkage(); (ctx_id) = (ulong_arg(1)); (min_nr) = (long_arg(2)); (nr) = (long_arg(3)); (events_uaddr) = (pointer_arg(4)); (timeout_uaddr) = (pointer_arg(5)); (timestr) = ((%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(timeout_uaddr, 1)):(_struct_timespec_u(timeout_uaddr, 1))); (argstr) = (sprintf("%u, %d, %d, %p, %s", ctx_id, min_nr, nr, events_uaddr, timestr)); } probe __nd_syscall.io_getevents = kprobe.function("sys_io_getevents"){ } probe nd_syscall.io_getevents.return = __nd_syscall.io_getevents.return, kprobe.function("compat_sys_io_getevents").return?{ (name) = ("io_getevents"); (retstr) = (returnstr(1)); } probe __nd_syscall.io_getevents.return = kprobe.function("sys_io_getevents").return?{ } probe nd_syscall.ioperm = kprobe.function("sys_ioperm")?{ (name) = ("ioperm"); asmlinkage(); (from) = (ulong_arg(1)); (num) = (ulong_arg(2)); (turn_on) = (uint_arg(3)); (argstr) = (sprintf("%#x, %#x, %#x", from, num, turn_on)); } probe nd_syscall.ioperm.return = kprobe.function("sys_ioperm").return?{ (name) = ("ioperm"); (retstr) = (returnstr(1)); } probe nd_syscall.io_setup = __nd_syscall.io_setup, kprobe.function("compat_sys_io_setup")?{ asmlinkage(); (name) = ("io_setup"); (maxevents) = (uint_arg(1)); (ctxp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%u, %p", maxevents, ctxp_uaddr)); } probe __nd_syscall.io_setup = kprobe.function("sys_io_setup")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_setup %})) next ; } } catch { { next; } } ; } probe nd_syscall.io_setup.return = __nd_syscall.io_setup.return, kprobe.function("compat_sys_io_setup").return?{ (name) = ("io_setup"); (retstr) = (returnstr(1)); } probe __nd_syscall.io_setup.return = kprobe.function("sys_io_setup").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_setup %})) next ; } } catch { { next; } } ; } probe nd_syscall.io_submit = __nd_syscall.io_submit, kprobe.function("compat_sys_io_submit")?{ (name) = ("io_submit"); asmlinkage(); (ctx_id) = (ulong_arg(1)); (nr) = (long_arg(2)); (iocbpp_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%u, %d, %p", ctx_id, nr, iocbpp_uaddr)); } probe __nd_syscall.io_submit = kprobe.function("sys_io_submit")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_submit %})) next ; } } catch { { next; } } ; } probe nd_syscall.io_submit.return = __nd_syscall.io_submit.return, kprobe.function("compat_sys_io_submit").return?{ (name) = ("io_submit"); (retstr) = (returnstr(1)); } probe __nd_syscall.io_submit.return = kprobe.function("sys_io_submit").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_submit %})) next ; } } catch { { next; } } ; } probe nd_syscall.ioprio_get = kprobe.function("sys_ioprio_get")?{ (name) = ("ioprio_get"); asmlinkage(); (which) = (int_arg(1)); (which_str) = (_stp_ioprio_which_str(which)); (who) = (int_arg(2)); (argstr) = (sprintf("%s, %d", _stp_ioprio_which_str(which), who)); } probe nd_syscall.ioprio_get.return = kprobe.function("sys_ioprio_get").return?{ (name) = ("ioprio_get"); (retstr) = (returnstr(1)); } probe nd_syscall.ioprio_set = kprobe.function("sys_ioprio_set")?{ (name) = ("ioprio_set"); asmlinkage(); (which) = (int_arg(1)); (which_str) = (_stp_ioprio_which_str(which)); (who) = (int_arg(2)); (ioprio) = (int_arg(3)); (ioprio_str) = (_stp_ioprio_value_str(ioprio)); (argstr) = (sprintf("%s, %d, %s", which_str, who, ioprio_str)); } probe nd_syscall.ioprio_set.return = kprobe.function("sys_ioprio_set").return?{ (name) = ("ioprio_set"); (retstr) = (returnstr(1)); } probe nd_syscall.kcmp = kprobe.function("sys_kcmp")?{ (name) = ("kcmp"); (pid1) = (int_arg(1)); (pid2) = (int_arg(2)); (type) = (int_arg(3)); (type_str) = (_kcmp_type_str(type)); (idx1) = (ulong_arg(4)); (idx2) = (ulong_arg(5)); (argstr) = (sprintf("%d, %d, %s, %u, %u", pid1, pid2, type_str, idx1, idx2)); } probe nd_syscall.kcmp.return = kprobe.function("sys_kcmp").return?{ (name) = ("kcmp"); (retstr) = (returnstr(1)); } probe nd_syscall.kexec_file_load = kprobe.function("sys_kexec_file_load")?{ (name) = ("kexec_file_load"); (kernel_fd) = (int_arg(1)); (initrd_fd) = (int_arg(2)); (cmdline_len) = (ulong_arg(3)); (cmdline) = (user_string_quoted(pointer_arg(4))); (flags) = (ulong_arg(5)); (flags_str) = (_kexec_file_load_flags_str(flags)); (argstr) = (sprintf("%d, %d, %u, %s, %s", kernel_fd, initrd_fd, cmdline_len, cmdline, _kexec_file_load_flags_str(flags))); } probe nd_syscall.kexec_file_load.return = kprobe.function("sys_kexec_file_load").return?{ (name) = ("kexec_file_load"); (retstr) = (returnstr(1)); } probe nd_syscall.kexec_load = __nd_syscall.kexec_load?, kprobe.function("compat_sys_kexec_load")?{ (name) = ("kexec_load"); asmlinkage(); (entry) = (ulong_arg(1)); (nr_segments) = (ulong_arg(2)); (segments_uaddr) = (pointer_arg(3)); (flags) = (ulong_arg(4)); (flags_str) = (_kexec_flags_str(flags)); (argstr) = (sprintf("%p, %u, %p, %s", entry, nr_segments, segments_uaddr, flags_str)); } probe __nd_syscall.kexec_load = kprobe.function("sys_kexec_load"){ } probe nd_syscall.kexec_load.return = __nd_syscall.kexec_load.return?, kprobe.function("compat_sys_kexec_load").return?{ (name) = ("kexec_load"); (retstr) = (returnstr(1)); } probe __nd_syscall.kexec_load.return = kprobe.function("sys_kexec_load").return{ } probe nd_syscall.keyctl = kprobe.function("compat_sys_keyctl")?, kprobe.function("sys_keyctl")?{ (name) = ("keyctl"); asmlinkage(); (option) = (int_arg(1)); (arg2) = (ulong_arg(2)); (arg3) = (ulong_arg(3)); (arg4) = (ulong_arg(4)); (arg5) = (ulong_arg(5)); if ((((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_READ %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_DESCRIBE %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_SECURITY %}))) { (argstr) = (sprintf("%s, %s, %p, %d", _stp_keyctl_cmd_str(option), _stp_keyctl_keyring_shortcut_str(arg2), arg3, __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_UPDATE %})) { (argstr) = (sprintf("%s, %d, %s, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), __long(arg4))); } else if (((((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_REVOKE %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_CLEAR %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INVALIDATE %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_ASSUME_AUTHORITY %}))) { (argstr) = (sprintf("%s, %d", _stp_keyctl_cmd_str(option), __long(arg2))); } else if (((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_LINK %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_UNLINK %}))) { (argstr) = (sprintf("%s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SEARCH %})) { (argstr) = (sprintf("%s, %d, %s, %s, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), user_string_quoted(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_CHOWN %})) { (argstr) = (sprintf("%s, %d, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3), __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SETPERM %})) { (argstr) = (sprintf("%s, %d, %s", _stp_keyctl_cmd_str(option), __long(arg2), _stp_keyctl_perm_str(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INSTANTIATE %})) { (argstr) = (sprintf("%s, %d, %s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), __long(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INSTANTIATE_IOV %})) { (argstr) = (sprintf("%s, %d, %p, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, __long(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_NEGATE %})) { (argstr) = (sprintf("%s, %d, %u, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_REJECT %})) { (argstr) = (sprintf("%s, %d, %u, %u, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, arg4, __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SET_TIMEOUT %})) { (argstr) = (sprintf("%s, %d, %u", _stp_keyctl_cmd_str(option), __long(arg2), arg3)); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_KEYRING_ID %})) { (argstr) = (sprintf("%s, %s, %d", _stp_keyctl_cmd_str(option), _stp_keyctl_keyring_shortcut_str(arg2), __long(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SET_REQKEY_KEYRING %})) { (argstr) = (sprintf("%s, %s", _stp_keyctl_cmd_str(option), _stp_keyctl_default_keyrings_str(arg2))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_JOIN_SESSION_KEYRING %})) { (argstr) = (sprintf("%s, %p", _stp_keyctl_cmd_str(option), arg2)); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_PERSISTENT %})) { (argstr) = (sprintf("%s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3))); } else { (argstr) = (sprintf("%d, %d, %d, %d, %d", option, __long(arg2), __long(arg3), __long(arg4), __long(arg5))); } ; } probe nd_syscall.keyctl.return = kprobe.function("compat_sys_keyctl").return?, kprobe.function("sys_keyctl").return?{ (name) = ("keyctl"); (retstr) = (returnstr(1)); } probe nd_syscall.kill = kprobe.function("sys_kill")?{ (name) = ("kill"); asmlinkage(); (pid) = (int_arg(1)); (sig) = (int_arg(2)); (argstr) = (sprintf("%d, %s", pid, _signal_name(sig))); } probe nd_syscall.kill.return = kprobe.function("sys_kill").return?{ (name) = ("kill"); (retstr) = (returnstr(1)); } probe nd_syscall.lchown = kprobe.function("sys_lchown")?{ (name) = ("lchown"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (owner) = (__int32(uint_arg(2))); (group) = (__int32(uint_arg(3))); (argstr) = (sprintf("%s, %d, %d", user_string_quoted(pointer_arg(1)), owner, group)); } probe nd_syscall.lchown.return = kprobe.function("sys_lchown").return?{ (name) = ("lchown"); (retstr) = (returnstr(1)); } probe nd_syscall.lchown16 = kprobe.function("sys_lchown16")?{ (name) = ("lchown16"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (owner) = (__short(uint_arg(2))); (group) = (__short(uint_arg(3))); (argstr) = (sprintf("%s, %d, %d", user_string_quoted(pointer_arg(1)), owner, group)); } probe nd_syscall.lchown16.return = kprobe.function("sys_lchown16").return?{ (name) = ("lchown16"); (retstr) = (returnstr(1)); } probe nd_syscall.lgetxattr = kprobe.function("sys_lgetxattr")?{ (name) = ("lgetxattr"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (name_str) = (user_string_quoted(pointer_arg(2))); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (argstr) = (sprintf("%s, %s, %p, %u", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)), value_uaddr, size)); } probe nd_syscall.lgetxattr.return = kprobe.function("sys_lgetxattr").return?{ (name) = ("lgetxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.link = kprobe.function("sys_link")?{ (name) = ("link"); asmlinkage(); (oldpath) = (user_string_quoted(pointer_arg(1))); (newpath) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)))); } probe nd_syscall.link.return = kprobe.function("sys_link").return?{ (name) = ("link"); (retstr) = (returnstr(1)); } probe nd_syscall.linkat = kprobe.function("sys_linkat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_linkat %})) next ; } } catch { { next; } } ; (name) = ("linkat"); asmlinkage(); (olddirfd) = (int_arg(1)); (olddirfd_str) = (_dfd_str(olddirfd)); (oldpath) = (user_string_quoted(pointer_arg(2))); (newdirfd) = (int_arg(3)); (newdirfd_str) = (_dfd_str(newdirfd)); (newpath) = (user_string_quoted(pointer_arg(4))); (flags) = (int_arg(5)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s, %s", olddirfd_str, user_string_quoted(pointer_arg(2)), newdirfd_str, user_string_quoted(pointer_arg(4)), flags_str)); } probe nd_syscall.linkat.return = kprobe.function("sys_linkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_linkat %})) next ; } } catch { { next; } } ; (name) = ("linkat"); (retstr) = (returnstr(1)); } probe nd_syscall.listen = __nd_syscall.listen?, __nd_syscall.socketcall.listen?, __nd_syscall.compat_socketcall.listen?{ (name) = ("listen"); (argstr) = (sprintf("%d, %d", sockfd, backlog)); } probe __nd_syscall.listen = kprobe.function("sys_listen")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_listen %})) next ; } } catch { { next; } } ; asmlinkage(); (sockfd) = (int_arg(1)); (backlog) = (int_arg(2)); } probe __nd_syscall.socketcall.listen = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (sockfd) = (__int32(user_ulong(&(__args)[0]))); (backlog) = (__int32(user_ulong(&(__args)[1]))); } probe __nd_syscall.compat_socketcall.listen = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (sockfd) = (user_int(&(__args)[0])); (backlog) = (user_int(&(__args)[1])); } probe nd_syscall.listen.return = __nd_syscall.listen.return?, __nd_syscall.socketcall.listen.return?{ (name) = ("listen"); (retstr) = (returnstr(1)); } probe __nd_syscall.listen.return = kprobe.function("sys_listen").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_listen %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.listen.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; } probe nd_syscall.listxattr = kprobe.function("sys_listxattr")?{ (name) = ("listxattr"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (list_uaddr) = (pointer_arg(2)); (size) = (ulong_arg(3)); (argstr) = (sprintf("%s, %p, %u", user_string_quoted(path_uaddr), list_uaddr, size)); } probe nd_syscall.listxattr.return = kprobe.function("sys_listxattr").return?{ (name) = ("listxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.llistxattr = kprobe.function("sys_llistxattr")?{ (name) = ("llistxattr"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (list_uaddr) = (pointer_arg(2)); (size) = (ulong_arg(3)); (argstr) = (sprintf("%s, %p, %u", user_string_quoted(path_uaddr), list_uaddr, size)); } probe nd_syscall.llistxattr.return = kprobe.function("sys_llistxattr").return?{ (name) = ("llistxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.llseek = kprobe.function("sys_llseek")?{ (name) = ("llseek"); asmlinkage(); (fd) = (int_arg(1)); (offset_high) = (ulong_arg(2)); (offset_low) = (ulong_arg(3)); (result_uaddr) = (pointer_arg(4)); (whence) = (uint_arg(5)); (whence_str) = (_seek_whence_str(whence)); (argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", fd, offset_high, offset_low, result_uaddr, whence_str)); } probe nd_syscall.llseek.return = kprobe.function("sys_llseek").return?{ (name) = ("llseek"); (retstr) = (returnstr(1)); } probe nd_syscall.lookup_dcookie = kprobe.function("sys_lookup_dcookie")?{ (name) = ("lookup_dcookie"); asmlinkage(); (cookie) = (ulonglong_arg(1)); (buffer_uaddr) = (pointer_arg(2)); (len) = (ulong_arg(3)); (argstr) = (sprintf("%#lx, %p, %#x", cookie, buffer_uaddr, len)); } probe nd_syscall.lookup_dcookie.return = kprobe.function("sys_lookup_dcookie").return?{ (name) = ("lookup_dcookie"); (retstr) = (returnstr(1)); } probe nd_syscall.lremovexattr = kprobe.function("sys_lremovexattr")?{ (name) = ("lremovexattr"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (name_uaddr) = (pointer_arg(2)); (name_str) = (user_string_quoted(name_uaddr)); (argstr) = (sprintf("%s, %s", user_string_quoted(path_uaddr), user_string_quoted(name_uaddr))); } probe nd_syscall.lremovexattr.return = kprobe.function("sys_lremovexattr").return?{ (name) = ("lremovexattr"); (retstr) = (returnstr(1)); } probe nd_syscall.lseek = kprobe.function("sys_lseek"), kprobe.function("compat_sys_lseek")?{ (name) = ("lseek"); asmlinkage(); (fildes) = (int_arg(1)); (offset) = (long_arg(2)); (whence) = (uint_arg(3)); (whence_str) = (_seek_whence_str(whence)); (argstr) = (sprintf("%d, %d, %s", fildes, offset, whence_str)); } probe nd_syscall.lseek.return = kprobe.function("sys_lseek").return, kprobe.function("compat_sys_lseek").return?{ (name) = ("lseek"); (retstr) = (returnstr(1)); } probe nd_syscall.lsetxattr = kprobe.function("sys_lsetxattr")?{ (name) = ("lsetxattr"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (name_uaddr) = (pointer_arg(2)); (name_str) = (user_string_quoted(name_uaddr)); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (value_str) = (_stp_xattr_val_str(value_uaddr, size)); (flags) = (int_arg(5)); (flags_str) = (_stp_xattr_flags_str(flags)); (argstr) = (sprintf("%s, %s, %s, %u, %s", user_string_quoted(path_uaddr), user_string_quoted(name_uaddr), _stp_xattr_val_str(value_uaddr, size), size, _stp_xattr_flags_str(flags))); } probe nd_syscall.lsetxattr.return = kprobe.function("sys_lsetxattr").return?{ (name) = ("lsetxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.lstat = kprobe.function("sys_lstat")?, kprobe.function("sys_newlstat")?, kprobe.function("compat_sys_newlstat")?, kprobe.function("sys32_lstat64")?, kprobe.function("sys_lstat64")?, kprobe.function("sys_oabi_lstat64")?{ (name) = ("lstat"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (buf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", user_string_quoted(pointer_arg(1)), buf_uaddr)); } probe nd_syscall.lstat.return = kprobe.function("sys_lstat").return?, kprobe.function("sys_newlstat").return?, kprobe.function("compat_sys_newlstat").return?, kprobe.function("sys32_lstat64").return?, kprobe.function("sys_lstat64").return?, kprobe.function("sys_oabi_lstat64").return?{ (name) = ("lstat"); (retstr) = (returnstr(1)); } probe nd_syscall.madvise = kprobe.function("sys_madvise")?{ (name) = ("madvise"); asmlinkage(); (start) = (ulong_arg(1)); (length) = (ulong_arg(2)); (advice) = (int_arg(3)); (advice_str) = (_madvice_advice_str(advice)); (argstr) = (sprintf("%p, %u, %s", start, length, _madvice_advice_str(advice))); } probe nd_syscall.madvise.return = kprobe.function("sys_madvise").return?{ (name) = ("madvise"); (retstr) = (returnstr(1)); } probe nd_syscall.mbind = __nd_syscall.mbind?, kprobe.function("compat_sys_mbind")?{ (name) = ("mbind"); asmlinkage(); (start) = (pointer_arg(1)); (len) = (ulong_arg(2)); (mode) = (int_arg(3)); (mode_str) = (_mempolicy_mode_str(mode)); (nmask_uaddr) = (pointer_arg(4)); (maxnode) = (ulong_arg(5)); (flags) = (uint_arg(6)); (flags_str) = (_mempolicy_flags_str(flags)); (argstr) = (sprintf("%p, %u, %s, %p, %u, %s", start, len, mode_str, nmask_uaddr, maxnode, flags_str)); } probe __nd_syscall.mbind = kprobe.function("sys_mbind"){ } probe nd_syscall.mbind.return = __nd_syscall.mbind.return?, kprobe.function("compat_sys_mbind").return?{ (name) = ("mbind"); (retstr) = (returnstr(1)); } probe __nd_syscall.mbind.return = kprobe.function("sys_mbind").return{ } probe nd_syscall.membarrier = kprobe.function("sys_membarrier").call?{ (name) = ("membarrier"); asmlinkage(); (cmd) = (int_arg(1)); (cmd_str) = (_membarrier_cmd_str(cmd)); (flags) = (int_arg(2)); (argstr) = (sprintf("%s, %d", _membarrier_cmd_str(cmd), flags)); } probe nd_syscall.membarrier.return = kprobe.function("sys_membarrier").return?{ (name) = ("membarrier"); (retstr) = (returnstr(1)); } probe nd_syscall.memfd_create = kprobe.function("sys_memfd_create")?{ (name) = ("memfd_create"); asmlinkage(); (uname) = (user_string_quoted(pointer_arg(1))); (flags) = (uint_arg(2)); (flags_str) = (_mfd_flags_str(uint_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), flags_str)); } probe nd_syscall.memfd_create.return = kprobe.function("sys_memfd_create").return?{ (name) = ("memfd_create"); (retstr) = (returnstr(1)); } probe nd_syscall.migrate_pages = __nd_syscall.migrate_pages?, kprobe.function("compat_sys_migrate_pages")?{ (name) = ("migrate_pages"); asmlinkage(); (pid) = (int_arg(1)); (maxnode) = (ulong_arg(2)); (old_nodes) = (pointer_arg(3)); (new_nodes) = (pointer_arg(4)); (argstr) = (sprintf("%d, %u, %p, %p", pid, maxnode, old_nodes, new_nodes)); } probe __nd_syscall.migrate_pages = kprobe.function("sys_migrate_pages"){ } probe nd_syscall.migrate_pages.return = __nd_syscall.migrate_pages.return?, kprobe.function("compat_sys_migrate_pages").return?{ (name) = ("migrate_pages"); (retstr) = (returnstr(1)); } probe __nd_syscall.migrate_pages.return = kprobe.function("sys_migrate_pages").return{ } probe nd_syscall.mincore = kprobe.function("sys_mincore")?{ (name) = ("mincore"); asmlinkage(); (start) = (pointer_arg(1)); (length) = (ulong_arg(2)); (vec_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%p, %u, %p", start, length, vec_uaddr)); } probe nd_syscall.mincore.return = kprobe.function("sys_mincore").return?{ (name) = ("mincore"); (retstr) = (returnstr(1)); } probe nd_syscall.mkdir = kprobe.function("sys_mkdir")?{ (name) = ("mkdir"); asmlinkage(); (pathname_uaddr) = (pointer_arg(1)); (pathname) = (user_string_quoted(pathname_uaddr)); (mode) = (uint_arg(2)); (argstr) = (sprintf("%s, %#o", user_string_quoted(pathname_uaddr), mode)); } probe nd_syscall.mkdir.return = kprobe.function("sys_mkdir").return?{ (name) = ("mkdir"); (retstr) = (returnstr(1)); } probe nd_syscall.mkdirat = kprobe.function("sys_mkdirat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mkdirat %})) next ; } } catch { { next; } } ; (name) = ("mkdirat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (mode) = (uint_arg(3)); (argstr) = (sprintf("%s, %s, %#o", dirfd_str, user_string_quoted(pointer_arg(2)), mode)); } probe nd_syscall.mkdirat.return = kprobe.function("sys_mkdirat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mkdirat %})) next ; } } catch { { next; } } ; (name) = ("mkdirat"); (retstr) = (returnstr(1)); } probe nd_syscall.mknod = kprobe.function("sys_mknod")?{ (name) = ("mknod"); asmlinkage(); (pathname) = (user_string_quoted(pointer_arg(1))); (mode) = (uint_arg(2)); (dev) = (uint_arg(3)); (argstr) = (sprintf("%s, %s, %u", pathname, _mknod_mode_str(mode), dev)); } probe nd_syscall.mknod.return = kprobe.function("sys_mknod").return?{ (name) = ("mknod"); (retstr) = (returnstr(1)); } probe nd_syscall.mknodat = kprobe.function("sys_mknodat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mknodat %})) next ; } } catch { { next; } } ; (name) = ("mknodat"); asmlinkage(); (dirfd) = (int_arg(1)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (mode) = (uint_arg(3)); (mode_str) = (_mknod_mode_str(mode)); (dev) = (uint_arg(4)); (argstr) = (sprintf("%s, %s, %s, %u", dirfd_str, pathname, mode_str, dev)); } probe nd_syscall.mknodat.return = kprobe.function("sys_mknodat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mknodat %})) next ; } } catch { { next; } } ; (name) = ("mknodat"); (retstr) = (returnstr(1)); } probe nd_syscall.mlock = kprobe.function("sys_mlock")?{ (name) = ("mlock"); asmlinkage(); (addr) = (ulong_arg(1)); (len) = (ulong_arg(2)); (argstr) = (sprintf("%p, %u", addr, len)); } probe nd_syscall.mlock.return = kprobe.function("sys_mlock").return?{ (name) = ("mlock"); (retstr) = (returnstr(1)); } probe nd_syscall.mlock2 = kprobe.function("sys_mlock2")?{ (name) = ("mlock2"); asmlinkage(); (addr) = (ulong_arg(1)); (len) = (ulong_arg(2)); (flags) = (int_arg(3)); (flags_str) = (_stp_mlock2_str(flags)); (argstr) = (sprintf("%p, %u, %s", addr, len, flags_str)); } probe nd_syscall.mlock2.return = kprobe.function("sys_mlock2").return?{ (name) = ("mlock2"); (retstr) = (returnstr(1)); } probe nd_syscall.mlockall = kprobe.function("sys_mlockall")?{ (name) = ("mlockall"); asmlinkage(); (flags) = (int_arg(1)); (argstr) = (_mlockall_flags_str(flags)); } probe nd_syscall.mlockall.return = kprobe.function("sys_mlockall").return?{ (name) = ("mlockall"); (retstr) = (returnstr(1)); } probe nd_syscall.modify_ldt = kprobe.function("sys_modify_ldt")?{ (name) = ("modify_ldt"); asmlinkage(); (func) = (int_arg(1)); (ptr_uaddr) = (pointer_arg(2)); (bytecount) = (ulong_arg(3)); (argstr) = (sprintf("%d, %p, %u", func, ptr_uaddr, bytecount)); } probe nd_syscall.modify_ldt.return = kprobe.function("sys_modify_ldt").return?{ (name) = ("modify_ldt"); (retstr) = (returnstr(1)); } probe nd_syscall.move_pages = __nd_syscall.move_pages?, kprobe.function("compat_sys_move_pages")?{ (name) = ("move_pages"); asmlinkage(); (pid) = (int_arg(1)); (nr_pages) = (ulong_arg(2)); (pages) = (pointer_arg(3)); (nodes) = (pointer_arg(4)); (status) = (pointer_arg(5)); (flags) = (int_arg(6)); (flags_str) = (_mempolicy_flags_str(flags)); (argstr) = (sprintf("%d, %u, %p, %p, %p, %s", pid, nr_pages, pages, nodes, status, flags_str)); } probe __nd_syscall.move_pages = kprobe.function("sys_move_pages"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_move_pages %})) next ; } } catch { { next; } } ; } probe nd_syscall.move_pages.return = __nd_syscall.move_pages.return?, kprobe.function("compat_sys_move_pages").return?{ (name) = ("move_pages"); (retstr) = (returnstr(1)); } probe __nd_syscall.move_pages.return = kprobe.function("sys_move_pages").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_move_pages %})) next ; } } catch { { next; } } ; } probe nd_syscall.mount = kprobe.function("compat_sys_mount")?, kprobe.function("sys_mount")?{ (name) = ("mount"); asmlinkage(); (source) = (user_string_quoted(pointer_arg(1))); (target) = (user_string_quoted(pointer_arg(2))); (filesystemtype) = (user_string_quoted(pointer_arg(3))); (mountflags) = (ulong_arg(4)); (mountflags_str) = (_mountflags_str(mountflags)); (data) = (user_string_n_quoted(pointer_arg(5), syscall_string_trunc)); (argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)), user_string_quoted(pointer_arg(3)), mountflags_str, data)); } probe nd_syscall.mount.return = kprobe.function("compat_sys_mount").return?, kprobe.function("sys_mount").return?{ (name) = ("mount"); (retstr) = (returnstr(1)); } probe nd_syscall.mmap2 = kprobe.function("sys_mmap_pgoff")?{ (name) = ("mmap2"); asmlinkage(); (start) = (ulong_arg(1)); (length) = (ulong_arg(2)); (prot) = (ulong_arg(3)); (flags) = (ulong_arg(4)); (fd) = (int_arg(5)); (pgoffset) = ((ulong_arg(6)) * (%{ /* pure */ /* unprivileged */ /* stable */ PAGE_SIZE %})); (argstr) = (sprintf("%p, %u, %s, %s, %d, %d", start, length, _mprotect_prot_str(prot), _mmap_flags(flags), fd, pgoffset)); } probe nd_syscall.mmap2.return = kprobe.function("sys_mmap_pgoff").return?{ (name) = ("mmap2"); (retstr) = (returnstr(2)); } probe nd_syscall.mprotect = kprobe.function("sys_mprotect")?{ (name) = ("mprotect"); asmlinkage(); (addr) = (ulong_arg(1)); (len) = (ulong_arg(2)); (prot) = (ulong_arg(3)); (prot_str) = (_mprotect_prot_str(prot)); (argstr) = (sprintf("%p, %d, %s", addr, len, _mprotect_prot_str(prot))); } probe nd_syscall.mprotect.return = kprobe.function("sys_mprotect").return?{ (name) = ("mprotect"); (retstr) = (returnstr(1)); } probe nd_syscall.mq_getsetattr = __nd_syscall.mq_getsetattr?, kprobe.function("compat_sys_mq_getsetattr")?{ (name) = ("mq_getsetattr"); asmlinkage(); (mqdes) = (int_arg(1)); (u_mqstat_uaddr) = (pointer_arg(2)); (u_omqstat_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %p, %p", mqdes, u_mqstat_uaddr, u_omqstat_uaddr)); } probe __nd_syscall.mq_getsetattr = kprobe.function("sys_mq_getsetattr"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_getsetattr %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_getsetattr.return = __nd_syscall.mq_getsetattr.return?, kprobe.function("compat_sys_mq_getsetattr").return?{ (name) = ("mq_getsetattr"); (retstr) = (returnstr(1)); } probe __nd_syscall.mq_getsetattr.return = kprobe.function("sys_mq_getsetattr").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_getsetattr %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_notify = __nd_syscall.mq_notify?, kprobe.function("compat_sys_mq_notify")?{ (name) = ("mq_notify"); asmlinkage(); (mqdes) = (int_arg(1)); (notification_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", mqdes, notification_uaddr)); } probe __nd_syscall.mq_notify = kprobe.function("sys_mq_notify"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_notify %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_notify.return = __nd_syscall.mq_notify.return?, kprobe.function("compat_sys_mq_notify").return?{ (name) = ("mq_notify"); (retstr) = (returnstr(1)); } probe __nd_syscall.mq_notify.return = kprobe.function("sys_mq_notify").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_notify %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_open = __nd_syscall.mq_open, __nd_syscall.compat_mq_open?{ asmlinkage(); (name) = ("mq_open"); (name_uaddr) = (pointer_arg(1)); (filename) = (user_string_quoted(name_uaddr)); (u_attr_uaddr) = (pointer_arg(4)); (oflag) = (int_arg(2)); if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted(name_uaddr), _sys_open_flag_str(oflag), mode, u_attr_uaddr)) else (argstr) = (sprintf("%s, %s", user_string_quoted(name_uaddr), _sys_open_flag_str(oflag))) ; } probe __nd_syscall.mq_open = kprobe.function("sys_mq_open"){ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_open %})) next ; } } catch { { next; } } ; (mode) = (uint_arg(3)); } probe __nd_syscall.compat_mq_open = kprobe.function("compat_sys_mq_open"){ asmlinkage(); (mode) = ((uint_arg(3)) & (65535)); } probe nd_syscall.mq_open.return = __nd_syscall.mq_open.return?, kprobe.function("compat_sys_mq_open").return?{ (name) = ("mq_open"); (retstr) = (returnstr(1)); } probe __nd_syscall.mq_open.return = kprobe.function("sys_mq_open").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_open %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_timedreceive = __nd_syscall.mq_timedreceive?, __nd_syscall.compat_mq_timedreceive?{ (name) = ("mq_timedreceive"); asmlinkage(); (mqdes) = (int_arg(1)); (msg_ptr_uaddr) = (pointer_arg(2)); (msg_prio_uaddr) = (pointer_arg(4)); (abs_timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %u, %p, %p", mqdes, msg_ptr_uaddr, msg_len, msg_prio_uaddr, abs_timeout_uaddr)); } probe __nd_syscall.compat_mq_timedreceive = kprobe.function("compat_sys_mq_timedreceive"){ asmlinkage(); (msg_len) = (uint_arg(3)); } probe __nd_syscall.mq_timedreceive = kprobe.function("sys_mq_timedreceive"){ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedreceive %})) next ; } } catch { { next; } } ; (msg_len) = (ulong_arg(3)); } probe nd_syscall.mq_timedreceive.return = __nd_syscall.mq_timedreceive.return?, kprobe.function("compat_sys_mq_timedreceive").return?{ (name) = ("mq_timedreceive"); (retstr) = (returnstr(1)); } probe __nd_syscall.mq_timedreceive.return = kprobe.function("sys_mq_timedreceive").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedreceive %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_timedsend = __nd_syscall.mq_timedsend?, __nd_syscall.compat_mq_timedsend?{ (name) = ("mq_timedsend"); asmlinkage(); (mqdes) = (int_arg(1)); (msg_ptr_uaddr) = (pointer_arg(2)); (msg_prio) = (uint_arg(4)); (abs_timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %u, %u, %p", mqdes, msg_ptr_uaddr, msg_len, msg_prio, abs_timeout_uaddr)); } probe __nd_syscall.compat_mq_timedsend = kprobe.function("compat_sys_mq_timedsend"){ asmlinkage(); (msg_len) = (uint_arg(3)); } probe __nd_syscall.mq_timedsend = kprobe.function("sys_mq_timedsend"){ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedsend %})) next ; } } catch { { next; } } ; (msg_len) = (ulong_arg(3)); } probe nd_syscall.mq_timedsend.return = __nd_syscall.mq_timedsend.return?, kprobe.function("compat_sys_mq_timedsend").return?{ (name) = ("mq_timedsend"); (retstr) = (returnstr(1)); } probe __nd_syscall.mq_timedsend.return = kprobe.function("sys_mq_timedsend").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedsend %})) next ; } } catch { { next; } } ; } probe nd_syscall.mq_unlink = kprobe.function("sys_mq_unlink")?{ (name) = ("mq_unlink"); asmlinkage(); (u_name_uaddr) = (pointer_arg(1)); (u_name) = (user_string_quoted(u_name_uaddr)); (argstr) = (user_string_quoted(u_name_uaddr)); } probe nd_syscall.mq_unlink.return = kprobe.function("sys_mq_unlink").return?{ (name) = ("mq_unlink"); (retstr) = (returnstr(1)); } probe nd_syscall.mremap = kprobe.function("ia64_mremap")?, kprobe.function("sys_mremap")?{ (name) = ("mremap"); asmlinkage(); (old_address) = (ulong_arg(1)); (old_size) = (ulong_arg(2)); (new_size) = (ulong_arg(3)); (flags) = (ulong_arg(4)); (new_address) = (ulong_arg(5)); (argstr) = (sprintf("%p, %d, %d, %s, %p", old_address, old_size, new_size, _mremap_flags(flags), new_address)); } probe nd_syscall.mremap.return = kprobe.function("ia64_mremap").return?, kprobe.function("sys_mremap").return?{ (name) = ("mremap"); (retstr) = (returnstr(2)); } probe nd_syscall.msgctl = kprobe.function("sys_msgctl")?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_msgctl %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ipc %}))) next ; (name) = ("msgctl"); asmlinkage(); (msqid) = (int_arg(1)); (cmd) = (int_arg(2)); (cmd_str) = (_stp_msgctl_cmd_str(cmd)); (buf_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %s, %p", msqid, cmd_str, buf_uaddr)); } probe nd_syscall.msgctl.return = kprobe.function("sys_msgctl").return?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_msgctl %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ipc %}))) next ; (name) = ("msgctl"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_msgctl = __nd_syscall.compat_msgctl?, __nd_syscall.compat_ipc.msgctl?{ (name) = ("msgctl"); asmlinkage(); (cmd_str) = (_stp_msgctl_cmd_str(cmd)); (argstr) = (sprintf("%d, %s, %p", msqid, cmd_str, buf_uaddr)); } probe __nd_syscall.compat_msgctl = kprobe.function("compat_sys_msgctl")?{ asmlinkage(); (msqid) = (int_arg(1)); (cmd) = (int_arg(2)); (buf_uaddr) = (pointer_arg(3)); } probe __nd_syscall.compat_ipc.msgctl = kprobe.function("compat_sys_ipc")?{ asmlinkage(); if (((uint_arg(1)) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGCTL %})) next ; (msqid) = (int_arg(2)); (cmd) = (int_arg(3)); (buf_uaddr) = (pointer_arg(5)); } probe nd_syscall.compat_sys_msgctl.return = kprobe.function("compat_sys_msgctl").return?, __nd_syscall.compat_ipc.msgctl.return?{ (name) = ("msgctl"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_ipc.msgctl.return = kprobe.function("compat_sys_ipc").return?{ if (((@entry(__asmlinkage_int_arg(1))) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGCTL %})) next ; } probe nd_syscall.msgget = kprobe.function("sys_msgget")?{ (name) = ("msgget"); asmlinkage(); (key) = (int_arg(1)); (key_str) = (_stp_msgget_key_str(key)); (msgflg) = (int_arg(2)); (msgflg_str) = (__sem_flags(msgflg)); (argstr) = (sprintf("%s, %s", key_str, msgflg_str)); } probe nd_syscall.msgget.return = kprobe.function("sys_msgget").return?{ (name) = ("msgget"); (retstr) = (returnstr(1)); } probe nd_syscall.msgrcv = kprobe.function("sys_msgrcv")?{ (name) = ("msgrcv"); asmlinkage(); (msqid) = (int_arg(1)); (msgp_uaddr) = (pointer_arg(2)); (msgsz) = (ulong_arg(3)); (msgtyp) = (long_arg(4)); (msgflg) = (int_arg(5)); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %d, %s", msqid, msgp_uaddr, msgsz, msgtyp, msgflg_str)); } probe nd_syscall.msgrcv.return = kprobe.function("sys_msgrcv").return?{ (name) = ("msgrcv"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_msgrcv = __nd_syscall.compat_msgrcv?, __nd_syscall.compat_ipc.msgrcv?{ (name) = ("msgrcv"); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %d, %s", msqid, msgp_uaddr, msgsz, msgtyp, msgflg_str)); } probe __nd_syscall.compat_msgrcv = kprobe.function("compat_sys_msgrcv")?{ asmlinkage(); (msqid) = (int_arg(1)); (msgp_uaddr) = (pointer_arg(2)); (msgsz) = (uint_arg(3)); (msgtyp) = (long_arg(4)); (msgflg) = (int_arg(5)); } probe __nd_syscall.compat_ipc.msgrcv = kprobe.function("compat_sys_ipc")?{ asmlinkage(); if (((uint_arg(1)) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGRCV %})) next ; (msqid) = (int_arg(2)); (msgsz) = (uint_arg(3)); (msgflg) = (int_arg(4)); (__version) = ((uint_arg(1)) & (4294901760)); (__uptr) = (pointer_arg(5)); (msgp_uaddr) = (_stp_compat_msgrcv_msgbuf(__uptr, __version)); (msgtyp) = (_stp_compat_msgrcv_msgtyp(__uptr, __version, int_arg(6))); } probe nd_syscall.compat_sys_msgrcv.return = kprobe.function("compat_sys_msgrcv").return?, __nd_syscall.compat_ipc.msgrcv.return?{ (name) = ("msgrcv"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_ipc.msgrcv.return = kprobe.function("compat_sys_ipc").return?{ if (((@entry(__asmlinkage_int_arg(1))) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGRCV %})) next ; } probe nd_syscall.msgsnd = kprobe.function("sys_msgsnd")?{ (name) = ("msgsnd"); asmlinkage(); (msqid) = (int_arg(1)); (msgp_uaddr) = (pointer_arg(2)); (msgsz) = (ulong_arg(3)); (msgflg) = (int_arg(4)); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %s", msqid, msgp_uaddr, msgsz, msgflg_str)); } probe nd_syscall.msgsnd.return = kprobe.function("sys_msgsnd").return?{ (name) = ("msgsnd"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_msgsnd = __nd_syscall.compat_msgsnd?, __nd_syscall.compat_ipc.msgsnd?{ (name) = ("msgsnd"); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %s", msqid, msgp_uaddr, msgsz, msgflg_str)); } probe __nd_syscall.compat_msgsnd = kprobe.function("compat_sys_msgsnd")?{ asmlinkage(); (msqid) = (int_arg(1)); (msgsz) = (uint_arg(2)); (msgflg) = (int_arg(3)); (msgp_uaddr) = (pointer_arg(4)); } probe __nd_syscall.compat_ipc.msgsnd = kprobe.function("compat_sys_ipc")?{ asmlinkage(); if (((uint_arg(1)) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGSND %})) next ; (msqid) = (int_arg(2)); (msgsz) = (uint_arg(3)); (msgflg) = (int_arg(4)); (msgp_uaddr) = (pointer_arg(5)); } probe nd_syscall.compat_sys_msgsnd.return = kprobe.function("compat_sys_msgsnd").return?, __nd_syscall.compat_ipc.msgsnd.return?{ (name) = ("msgsnd"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_ipc.msgsnd.return = kprobe.function("compat_sys_ipc").return?{ if (((@entry(__asmlinkage_int_arg(1))) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGSND %})) next ; } probe nd_syscall.msync = kprobe.function("sys_msync")?{ (name) = ("msync"); asmlinkage(); (start) = (ulong_arg(1)); (length) = (ulong_arg(2)); (flags) = (int_arg(3)); (argstr) = (sprintf("%p, %u, %s", start, length, _msync_flag_str(flags))); } probe nd_syscall.msync.return = kprobe.function("sys_msync").return?{ (name) = ("msync"); (retstr) = (returnstr(1)); } probe nd_syscall.munlock = kprobe.function("sys_munlock")?{ (name) = ("munlock"); asmlinkage(); (addr) = (ulong_arg(1)); (len) = (ulong_arg(2)); (argstr) = (sprintf("%p, %d", addr, len)); } probe nd_syscall.munlock.return = kprobe.function("sys_munlock").return?{ (name) = ("munlock"); (retstr) = (returnstr(1)); } probe nd_syscall.munlockall = kprobe.function("sys_munlockall")?{ (name) = ("munlockall"); (argstr) = (""); } probe nd_syscall.munlockall.return = kprobe.function("sys_munlockall").return?{ (name) = ("munlockall"); (retstr) = (returnstr(1)); } probe nd_syscall.munmap = kprobe.function("sys_munmap")?{ (name) = ("munmap"); asmlinkage(); (start) = (ulong_arg(1)); (length) = (ulong_arg(2)); (argstr) = (sprintf("%p, %u", start, length)); } probe nd_syscall.munmap.return = kprobe.function("sys_munmap").return?{ (name) = ("munmap"); (retstr) = (returnstr(1)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls2.stp probe nd_syscall.name_to_handle_at = kprobe.function("sys_name_to_handle_at").call?{ (name) = ("name_to_handle_at"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (pathname) = (user_string_quoted(pointer_arg(2))); (handle_uaddr) = (pointer_arg(3)); (mnt_id_uaddr) = (pointer_arg(4)); (flags) = (int_arg(5)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %p, %p, %s", dfd_str, pathname, handle_uaddr, mnt_id_uaddr, flags_str)); } probe nd_syscall.name_to_handle_at.return = kprobe.function("sys_name_to_handle_at").return?{ (name) = ("name_to_handle_at"); (retstr) = (returnstr(1)); } probe nd_syscall.nanosleep = kprobe.function("sys_nanosleep").call?{ (name) = ("nanosleep"); asmlinkage(); (req_uaddr) = (pointer_arg(1)); (rem_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", _struct_timespec_u(req_uaddr, 1), rem_uaddr)); } probe nd_syscall.nanosleep.return = kprobe.function("sys_nanosleep").return?{ (name) = ("nanosleep"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_nanosleep = kprobe.function("compat_sys_nanosleep")?{ (name) = ("nanosleep"); asmlinkage(); (req_uaddr) = (pointer_arg(1)); (rem_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", _struct_compat_timespec_u(req_uaddr, 1), rem_uaddr)); } probe nd_syscall.compat_nanosleep.return = kprobe.function("compat_sys_nanosleep").return?{ (name) = ("nanosleep"); (retstr) = (returnstr(1)); } probe nd_syscall.nice = kprobe.function("sys_nice")?{ (name) = ("nice"); asmlinkage(); (inc) = (int_arg(1)); (argstr) = (sprintf("%d", inc)); } probe nd_syscall.nice.return = kprobe.function("sys_nice").return?{ (name) = ("nice"); (retstr) = (returnstr(1)); } probe nd_syscall.ni_syscall = kprobe.function("sys_ni_syscall"){ (name) = ("ni_syscall"); (argstr) = (""); } probe nd_syscall.ni_syscall.return = kprobe.function("sys_ni_syscall").return{ (name) = ("ni_syscall"); (retstr) = (returnstr(1)); } probe nd_syscall.open_by_handle_at = kprobe.function("sys_open_by_handle_at")?, kprobe.function("compat_sys_open_by_handle_at")?{ (name) = ("open_by_handle_at"); asmlinkage(); (mount_dfd) = (int_arg(1)); (mount_dfd_str) = (_dfd_str(mount_dfd)); (handle_uaddr) = (pointer_arg(2)); (flags) = (int_arg(3)); (flags_str) = (_sys_open_flag_str(flags)); (argstr) = (sprintf("%s, %p, %s", mount_dfd_str, handle_uaddr, flags_str)); } probe nd_syscall.open_by_handle_at.return = kprobe.function("sys_open_by_handle_at").return?, kprobe.function("compat_sys_open_by_handle_at").return?{ (name) = ("open_by_handle_at"); (retstr) = (returnstr(1)); } probe nd_syscall.open = kprobe.function("compat_sys_open")?, kprobe.function("sys32_open")?, kprobe.function("sys_open")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_open %})) next ; } } catch { { next; } } ; (name) = ("open"); asmlinkage(); (filename) = (user_string_quoted(pointer_arg(1))); (flags) = (int_arg(2)); (mode) = (uint_arg(3)); if ((flags) & (%{ /* pure */ /* unprivileged */ /* stable */ O_CREAT %})) (argstr) = (sprintf("%s, %s, %#o", user_string_quoted(pointer_arg(1)), _sys_open_flag_str(flags), mode)) else (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), _sys_open_flag_str(flags))) ; } probe nd_syscall.open.return = kprobe.function("compat_sys_open").return?, kprobe.function("sys32_open").return?, kprobe.function("sys_open").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_open %})) next ; } } catch { { next; } } ; (name) = ("open"); (retstr) = (returnstr(1)); } probe nd_syscall.openat = kprobe.function("compat_sys_openat")?, kprobe.function("sys_openat")?{ (name) = ("openat"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (filename) = (user_string_quoted(pointer_arg(2))); (flags) = (int_arg(3)); (mode) = (uint_arg(4)); if ((flags) & (%{ /* pure */ /* unprivileged */ /* stable */ O_CREAT %})) (argstr) = (sprintf("%s, %s, %s, %#o", _dfd_str(dfd), user_string_quoted(pointer_arg(2)), _sys_open_flag_str(flags), mode)) else (argstr) = (sprintf("%s, %s, %s", _dfd_str(dfd), user_string_quoted(pointer_arg(2)), _sys_open_flag_str(flags))) ; } probe nd_syscall.openat.return = kprobe.function("compat_sys_openat").return?, kprobe.function("sys_openat").return?{ (name) = ("openat"); (retstr) = (returnstr(1)); } probe nd_syscall.pause = kprobe.function("sys_pause")?, kprobe.function("sys32_pause")?, kprobe.function("compat_sys_pause")?{ (name) = ("pause"); (argstr) = (""); } probe nd_syscall.pause.return = kprobe.function("sys_pause").return?, kprobe.function("sys32_pause").return?, kprobe.function("compat_sys_pause").return?{ (name) = ("pause"); (retstr) = (returnstr(1)); } probe nd_syscall.perf_event_open = kprobe.function("sys_perf_event_open")?{ (name) = ("perf_event_open"); asmlinkage(); (attr_uaddr) = (pointer_arg(1)); (pid) = (int_arg(2)); (cpu) = (int_arg(3)); (group_fd) = (int_arg(4)); (flags) = (ulong_arg(5)); (flags_str) = (_perf_event_open_flags_str(flags)); (argstr) = (sprintf("%p, %d, %d, %d, %s", attr_uaddr, pid, cpu, group_fd, _perf_event_open_flags_str(flags))); } probe nd_syscall.perf_event_open.return = kprobe.function("sys_perf_event_open").return?{ (name) = ("perf_event_open"); (retstr) = (returnstr(1)); } probe nd_syscall.personality = kprobe.function("sys_personality")?{ (name) = ("personality"); asmlinkage(); (persona) = (uint_arg(1)); (argstr) = (sprintf("%#x", persona)); } probe nd_syscall.personality.return = kprobe.function("sys_personality").return?{ (name) = ("personality"); (retstr) = (returnstr(1)); } probe nd_syscall.pipe = __nd_syscall.pipe2?, __nd_syscall.ia64_pipe?, __nd_syscall.pipe{ } probe __nd_syscall.pipe2 = kprobe.function("sys_pipe2")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pipe2 %})) next ; } } catch { { next; } } ; asmlinkage(); (name) = ("pipe2"); (flags) = (int_arg(2)); (flag_str) = (_sys_pipe2_flag_str(flags)); (fildes_uaddr) = (pointer_arg(1)); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); (argstr) = ("NULL"); } else { (pipe0) = (_fildes_index_u(fildes_uaddr, 0)); (pipe1) = (_fildes_index_u(fildes_uaddr, 1)); (argstr) = (sprintf("[%d, %d], %s", pipe0, pipe1, flag_str)); } ; } probe __nd_syscall.ia64_pipe = kprobe.function("sys_ia64_pipe").call?{ (name) = ("pipe"); (flags) = (0); (flag_str) = (""); (fildes_uaddr) = (0); (pipe0) = (0); (pipe1) = (0); (argstr) = ("[0, 0]"); } probe __nd_syscall.pipe = kprobe.function("sys_pipe"){ (name) = ("pipe"); (flags) = (0); (flag_str) = (""); asmlinkage(); (fildes_uaddr) = (pointer_arg(1)); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); (argstr) = ("NULL"); } else { (pipe0) = (_fildes_index_u(fildes_uaddr, 0)); (pipe1) = (_fildes_index_u(fildes_uaddr, 1)); (argstr) = (sprintf("[%d, %d]", pipe0, pipe1)); } ; } probe nd_syscall.pipe.return = __nd_syscall.pipe2.return?, __nd_syscall.ia64_pipe.return?, __nd_syscall.pipe.return{ } probe __nd_syscall.pipe2.return = kprobe.function("sys_pipe2").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pipe2 %})) next ; } } catch { { next; } } ; (name) = ("pipe2"); (fildes_uaddr) = (@entry(pointer_arg(1))); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); } else { (pipe0) = (_fildes_index_u(fildes_uaddr, 0)); (pipe1) = (_fildes_index_u(fildes_uaddr, 1)); } ; (retstr) = (returnstr(1)); } probe __nd_syscall.ia64_pipe.return = kprobe.function("sys_ia64_pipe").return?{ (name) = ("pipe"); (fildes_uaddr) = (0); (pipe0) = (_ia64_pipe0()); (pipe1) = (_ia64_pipe1()); (retstr) = (((pipe0) < (0))?(returnstr(1)):("0")); } probe __nd_syscall.pipe.return = kprobe.function("sys_pipe").return{ (name) = ("pipe"); (fildes_uaddr) = (@entry(__asmlinkage_int_arg(1))); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); } else { (pipe0) = (_fildes_index_u(fildes_uaddr, 0)); (pipe1) = (_fildes_index_u(fildes_uaddr, 1)); } ; (retstr) = (returnstr(1)); } probe nd_syscall.pivot_root = kprobe.function("sys_pivot_root")?{ (name) = ("pivot_root"); asmlinkage(); (new_root_str) = (user_string_quoted(pointer_arg(1))); (old_root_str) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)))); } probe nd_syscall.pivot_root.return = kprobe.function("sys_pivot_root").return?{ (name) = ("pivot_root"); (retstr) = (returnstr(1)); } probe nd_syscall.poll = kprobe.function("sys_poll")?{ (name) = ("poll"); asmlinkage(); (ufds_uaddr) = (pointer_arg(1)); (nfds) = (uint_arg(2)); (timeout) = (int_arg(3)); (argstr) = (sprintf("%p, %u, %d", ufds_uaddr, nfds, timeout)); } probe nd_syscall.poll.return = kprobe.function("sys_poll").return?{ (name) = ("poll"); (retstr) = (returnstr(1)); } probe nd_syscall.ppoll = kprobe.function("sys_ppoll")?{ (name) = ("ppoll"); asmlinkage(); (argstr) = (sprintf("%p, %u, %s, %p, %d", pointer_arg(1), uint_arg(2), _struct_timespec_u(pointer_arg(3), 1), pointer_arg(4), ulong_arg(5))); } probe nd_syscall.ppoll.return = kprobe.function("sys_ppoll").return?{ (name) = ("ppoll"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_ppoll = kprobe.function("compat_sys_ppoll")?{ (name) = ("ppoll"); asmlinkage(); (argstr) = (sprintf("%p, %u, %s, %p, %d", pointer_arg(1), uint_arg(2), _struct_compat_timespec_u(pointer_arg(3), 1), pointer_arg(4), u32_arg(5))); } probe nd_syscall.compat_ppoll.return = kprobe.function("compat_sys_ppoll").return?{ (name) = ("ppoll"); (retstr) = (returnstr(1)); } probe nd_syscall.prctl = kprobe.function("sys_prctl")?{ (name) = ("prctl"); asmlinkage(); (option) = (int_arg(1)); (arg2) = (ulong_arg(2)); (arg3) = (ulong_arg(3)); (arg4) = (ulong_arg(4)); (arg5) = (ulong_arg(5)); (argstr) = (_prctl_argstr(option, arg2, arg3, arg4, arg5)); } probe nd_syscall.prctl.return = kprobe.function("sys_prctl").return?{ (name) = ("prctl"); (retstr) = (returnstr(1)); } probe nd_syscall.pread = __nd_syscall.pread{ (name) = ("pread"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (count) = (ulong_arg(3)); (argstr) = (sprintf("%d, %p, %u, %d", fd, buf_uaddr, count, offset)); } probe __nd_syscall.pread = kprobe.function("sys_pread64"){ asmlinkage(); (offset) = (longlong_arg(4)); } probe nd_syscall.pread.return = __nd_syscall.pread.return{ (name) = ("pread"); (retstr) = (returnstr(1)); } probe __nd_syscall.pread.return = kprobe.function("sys_pread64").return{ } probe nd_syscall.preadv = __nd_syscall.preadv?, __nd_syscall.compat_preadv?{ (name) = ("preadv"); } probe __nd_syscall.preadv = kprobe.function("sys_preadv"){ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((ulong_arg(5)) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (ulong_arg(4))); (argstr) = (sprintf("%d, %p, %d, 0x%x", fd, vector_uaddr, count, offset)); } probe __nd_syscall.compat_preadv = kprobe.function("compat_sys_preadv"){ (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((u32_arg(5)) << (32)) + (u32_arg(4))); (argstr) = (sprintf("%d, %p, %d, 0x%x", fd, vector_uaddr, count, offset)); } probe nd_syscall.preadv.return = kprobe.function("sys_preadv").return?, kprobe.function("compat_sys_preadv").return?{ (name) = ("preadv"); (retstr) = (returnstr(1)); } probe nd_syscall.preadv2 = __nd_syscall.preadv2?, __nd_syscall.compat_preadv2?{ (name) = ("preadv2"); } probe __nd_syscall.preadv2 = kprobe.function("sys_preadv2"){ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((ulong_arg(5)) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (ulong_arg(4))); (flags) = (int_arg(6)); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", fd, vector_uaddr, count, offset, flags_str)); } probe __nd_syscall.compat_preadv2 = kprobe.function("compat_sys_preadv2"){ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((u32_arg(5)) << (32)) + (u32_arg(4))); (flags) = (int_arg(6)); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", fd, vector_uaddr, count, offset, flags_str)); } probe nd_syscall.preadv2.return = kprobe.function("sys_preadv2").return?, kprobe.function("compat_sys_preadv2").return?{ (name) = ("preadv2"); (retstr) = (returnstr(1)); } probe nd_syscall.prlimit64 = kprobe.function("sys_prlimit64")?{ (name) = ("prlimit64"); asmlinkage(); (pid) = (int_arg(1)); (resource) = (int_arg(2)); (new_rlim_uaddr) = (pointer_arg(3)); (old_rlim_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %s, %s, %p", pid, _rlimit_resource_str(resource), _struct_rlimit_u(new_rlim_uaddr), old_rlim_uaddr)); } probe nd_syscall.prlimit64.return = kprobe.function("sys_prlimit64").return?{ (name) = ("prlimit64"); (retstr) = (returnstr(1)); } probe nd_syscall.process_vm_readv = kprobe.function("sys_process_vm_readv")?, kprobe.function("compat_sys_process_vm_readv")?{ (name) = ("process_vm_readv"); asmlinkage(); (pid) = (int_arg(1)); (local_iov_uaddr) = (pointer_arg(2)); (liovcnt) = (ulong_arg(3)); (remote_iov_uaddr) = (pointer_arg(4)); (riovcnt) = (ulong_arg(5)); (flags) = (ulong_arg(6)); (argstr) = (sprintf("%d, %p, %u, %p, %u, %u", pid, local_iov_uaddr, liovcnt, remote_iov_uaddr, riovcnt, flags)); } probe nd_syscall.process_vm_readv.return = kprobe.function("sys_process_vm_readv").return?, kprobe.function("compat_sys_process_vm_readv").return?{ (name) = ("process_vm_readv"); (retstr) = (returnstr(1)); } probe nd_syscall.process_vm_writev = kprobe.function("sys_process_vm_writev")?, kprobe.function("compat_sys_process_vm_writev")?{ (name) = ("process_vm_writev"); asmlinkage(); (pid) = (int_arg(1)); (local_iov_uaddr) = (pointer_arg(2)); (liovcnt) = (ulong_arg(3)); (remote_iov_uaddr) = (pointer_arg(4)); (riovcnt) = (ulong_arg(5)); (flags) = (ulong_arg(6)); (argstr) = (sprintf("%d, %p, %u, %p, %u, %u", pid, local_iov_uaddr, liovcnt, remote_iov_uaddr, riovcnt, flags)); } probe nd_syscall.process_vm_writev.return = kprobe.function("sys_process_vm_writev").return?, kprobe.function("compat_sys_process_vm_writev").return?{ (name) = ("process_vm_writev"); (retstr) = (returnstr(1)); } probe nd_syscall.pselect6 = kprobe.function("sys_pselect6")?{ (name) = ("pselect6"); asmlinkage(); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p", int_arg(1), pointer_arg(2), pointer_arg(3), pointer_arg(4), _struct_timespec_u(pointer_arg(5), 1), pointer_arg(6))); } probe nd_syscall.pselect6.return = kprobe.function("sys_pselect6").return?{ (name) = ("pselect6"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_pselect6 = kprobe.function("compat_sys_pselect6")?{ (name) = ("pselect6"); asmlinkage(); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p", int_arg(1), pointer_arg(2), pointer_arg(3), pointer_arg(4), _struct_compat_timespec_u(pointer_arg(5), 1), pointer_arg(6))); } probe nd_syscall.compat_pselect6.return = kprobe.function("compat_sys_pselect6").return?{ (name) = ("pselect6"); (retstr) = (returnstr(1)); } probe nd_syscall.pselect7 = kprobe.function("sys_pselect7")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pselect7 %})) next ; } } catch { { next; } } ; (name) = ("pselect7"); asmlinkage(); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p, %d", int_arg(1), pointer_arg(2), pointer_arg(3), pointer_arg(4), _struct_timespec_u(pointer_arg(5), 1), pointer_arg(6), ulong_arg(7))); } probe nd_syscall.pselect7.return = kprobe.function("sys_pselect7").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pselect7 %})) next ; } } catch { { next; } } ; (name) = ("pselect7"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_pselect7 = kprobe.function("compat_sys_pselect7")?{ (name) = ("pselect7"); asmlinkage(); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p, %d", int_arg(1), pointer_arg(2), pointer_arg(3), pointer_arg(4), _struct_timespec_u(pointer_arg(5), 1), pointer_arg(6), ulong_arg(7))); } probe nd_syscall.compat_pselect7.return = kprobe.function("compat_sys_pselect7").return?{ (name) = ("pselect7"); (retstr) = (returnstr(1)); } probe nd_syscall.ptrace = kprobe.function("sys_ptrace")?, kprobe.function("compat_sys_ptrace")?{ (name) = ("ptrace"); asmlinkage(); (request) = (long_arg(1)); (pid) = (int_arg(2)); (addr) = (ulong_arg(3)); (data) = (ulong_arg(4)); (argstr) = (_ptrace_argstr(request, pid, addr, data)); } probe nd_syscall.ptrace.return = kprobe.function("sys_ptrace").return?, kprobe.function("compat_sys_ptrace").return?{ (name) = ("ptrace"); (retstr) = (returnstr(1)); (geteventmsg_data) = (0); (arch_prctl_addr) = (0); } probe nd_syscall.pwrite = kprobe.function("sys_pwrite64")?{ (name) = ("pwrite"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (count) = (ulong_arg(3)); (offset) = (longlong_arg(4)); (argstr) = (sprintf("%d, %s, %u, %d", fd, user_buffer_quoted(buf_uaddr, count, syscall_string_trunc), count, offset)); } probe nd_syscall.pwrite.return = kprobe.function("sys_pwrite64").return?{ (name) = ("pwrite"); (retstr) = (returnstr(1)); } probe nd_syscall.pwrite32 = kprobe.function("sys32_pwrite64")?{ (name) = ("pwrite"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (count) = (ulong_arg(3)); (offset) = (((u32_arg(4)) << (32)) + (u32_arg(5))); (argstr) = (sprintf("%d, %s, %u, %d", fd, user_buffer_quoted(buf_uaddr, count, syscall_string_trunc), count, offset)); } probe nd_syscall.pwrite32.return = kprobe.function("sys32_pwrite64").return?{ (name) = ("pwrite"); (retstr) = (returnstr(1)); } probe nd_syscall.pwritev = __nd_syscall.pwritev?, __nd_syscall.compat_pwritev?{ (name) = ("pwritev"); } probe __nd_syscall.pwritev = kprobe.function("sys_pwritev").call{ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((ulong_arg(5)) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (ulong_arg(4))); (argstr) = (sprintf("%d, %p, %d, 0x%x", fd, vector_uaddr, count, offset)); } probe __nd_syscall.compat_pwritev = kprobe.function("compat_sys_pwritev").call{ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((u32_arg(5)) << (32)) + (u32_arg(4))); (argstr) = (sprintf("%d, %p, %d, 0x%x", fd, vector_uaddr, count, offset)); } probe nd_syscall.pwritev.return = kprobe.function("sys_pwritev").return?, kprobe.function("compat_sys_pwritev").return?{ (name) = ("pwritev"); (retstr) = (returnstr(1)); } probe nd_syscall.pwritev2 = __nd_syscall.pwritev2?, __nd_syscall.compat_pwritev2?{ (name) = ("pwritev2"); } probe __nd_syscall.pwritev2 = kprobe.function("sys_pwritev2").call{ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((ulong_arg(5)) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (ulong_arg(4))); (flags) = (int_arg(6)); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", fd, vector_uaddr, count, offset, flags_str)); } probe __nd_syscall.compat_pwritev2 = kprobe.function("compat_sys_pwritev2").call{ asmlinkage(); (fd) = (int_arg(1)); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (offset) = (((u32_arg(5)) << (32)) + (u32_arg(4))); (flags) = (int_arg(6)); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", fd, vector_uaddr, count, offset, flags_str)); } probe nd_syscall.pwritev2.return = kprobe.function("sys_pwritev2").return?, kprobe.function("compat_sys_pwritev2").return?{ (name) = ("pwritev2"); (retstr) = (returnstr(1)); } probe nd_syscall.quotactl = __nd_syscall.quotactl?, kprobe.function("sys32_quotactl")?{ (name) = ("quotactl"); asmlinkage(); (cmd) = (uint_arg(1)); (cmd_str) = (_quotactl_cmd_str(cmd)); (special) = (pointer_arg(2)); (special_str) = (user_string_quoted(special)); (id) = (int_arg(3)); (addr_uaddr) = (pointer_arg(4)); if ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_QUOTAON %})) { (argstr) = (sprintf("%s, %s, %s, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), _quotactl_quota_type_str(id), user_string_quoted(addr_uaddr))); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETQUOTA %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SETQUOTA %}))) { (argstr) = (sprintf("%s, %s, %d, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), id, _struct_dqblk_u(addr_uaddr))); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETINFO %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SETINFO %}))) { (argstr) = (sprintf("%s, %s, %d, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), id, _struct_dqinfo_u(addr_uaddr))); } else if ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETFMT %})) { (argstr) = (sprintf("%s, %s, %d, %x", _quotactl_cmd_str(cmd), user_string_quoted(special), id, addr_uaddr)); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SYNC %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_QUOTAOFF %}))) { (argstr) = (sprintf("%s, %s, %d, %p", _quotactl_cmd_str(cmd), user_string_quoted(special), id, addr_uaddr)); } else { (argstr) = (sprintf("%s, %p, %d, %p", _quotactl_cmd_str(cmd), special, id, addr_uaddr)); } ; } probe __nd_syscall.quotactl = kprobe.function("sys_quotactl")?{ } probe nd_syscall.quotactl.return = __nd_syscall.quotactl.return?, kprobe.function("sys32_quotactl").return?{ (name) = ("quotactl"); (retstr) = (returnstr(1)); } probe __nd_syscall.quotactl.return = kprobe.function("sys_quotactl").return?{ } probe nd_syscall.read = __nd_syscall.read{ (name) = ("read"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (count) = (ulong_arg(3)); (argstr) = (sprintf("%d, %p, %u", fd, buf_uaddr, count)); } probe __nd_syscall.read = kprobe.function("sys_read"){ } probe nd_syscall.read.return = __nd_syscall.read.return{ (name) = ("read"); (retstr) = (returnstr(1)); } probe __nd_syscall.read.return = kprobe.function("sys_read").return{ } probe nd_syscall.readahead = kprobe.function("sys_readahead")?{ (name) = ("readahead"); asmlinkage(); (fd) = (int_arg(1)); (offset) = (longlong_arg(2)); (count) = (ulong_arg(3)); (argstr) = (sprintf("%d, %d, %u", fd, offset, count)); } probe nd_syscall.readahead.return = kprobe.function("sys_readahead").return?{ (name) = ("readahead"); (retstr) = (returnstr(1)); } probe nd_syscall.readdir = kprobe.function("compat_sys_old_readdir")?, kprobe.function("old32_readdir")?, kprobe.function("old_readdir")?, kprobe.function("sys_old_readdir").call?{ (name) = ("readdir"); asmlinkage(); (fd) = (uint_arg(1)); (dirent) = (pointer_arg(2)); (count) = (uint_arg(3)); (argstr) = (sprintf("%u, %p, %u", fd, dirent, count)); } probe nd_syscall.readdir.return = kprobe.function("compat_sys_old_readdir").return?, kprobe.function("old32_readdir").return?, kprobe.function("old_readdir").return?, kprobe.function("sys_old_readdir").return?{ (name) = ("readdir"); (retstr) = (returnstr(1)); } probe nd_syscall.readlink = kprobe.function("sys_readlink")?{ (name) = ("readlink"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (buf_uaddr) = (pointer_arg(2)); (bufsiz) = (int_arg(3)); (argstr) = (sprintf("%s, %p, %d", user_string_quoted(pointer_arg(1)), buf_uaddr, bufsiz)); } probe nd_syscall.readlink.return = kprobe.function("sys_readlink").return?{ (name) = ("readlink"); (retstr) = (returnstr(1)); } probe nd_syscall.readlinkat = kprobe.function("sys_readlinkat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_readlinkat %})) next ; } } catch { { next; } } ; (name) = ("readlinkat"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (path) = (user_string_quoted(pointer_arg(2))); (buf_uaddr) = (pointer_arg(3)); (bufsiz) = (int_arg(4)); (argstr) = (sprintf("%s, %s, %p, %d", _dfd_str(dfd), user_string_quoted(pointer_arg(2)), buf_uaddr, bufsiz)); } probe nd_syscall.readlinkat.return = kprobe.function("sys_readlinkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_readlinkat %})) next ; } } catch { { next; } } ; (name) = ("readlinkat"); (retstr) = (returnstr(1)); } probe nd_syscall.readv = kprobe.function("compat_sys_readv")?, kprobe.function("sys_readv")?{ (name) = ("readv"); asmlinkage(); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (fd) = (int_arg(1)); (argstr) = (sprintf("%d, %p, %d", fd, vector_uaddr, count)); } probe nd_syscall.readv.return = kprobe.function("compat_sys_readv").return?, kprobe.function("sys_readv").return?{ (name) = ("readv"); (retstr) = (returnstr(1)); } probe nd_syscall.reboot = kprobe.function("sys_reboot")?{ (name) = ("reboot"); asmlinkage(); (magic) = (int_arg(1)); (magic_str) = (_reboot_magic_str(magic)); (magic2) = (int_arg(2)); (magic2_str) = (_reboot_magic_str(magic2)); (flag) = (uint_arg(3)); (flag_str) = (_reboot_flag_str(flag)); (arg_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, arg_uaddr)); } probe nd_syscall.reboot.return = kprobe.function("sys_reboot").return?{ (name) = ("reboot"); (retstr) = (returnstr(1)); } probe nd_syscall.recv = __nd_syscall.socketcall.recv?, __nd_syscall.compat_socketcall.recv?, __nd_syscall.recv?{ (name) = ("recv"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", s, buf_uaddr, len, _msg_flags_str(flags))); } probe __nd_syscall.socketcall.recv = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (buf_uaddr) = (user_ulong(&(__args)[1])); (len) = (user_ulong(&(__args)[2])); (flags) = (__uint32(user_ulong(&(__args)[3]))); } probe __nd_syscall.compat_socketcall.recv = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (buf_uaddr) = (user_uint32(&(__args)[1])); (len) = (user_uint32(&(__args)[2])); (flags) = (user_uint32(&(__args)[3])); } probe __nd_syscall.recv = kprobe.function("sys_recv").call?{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recv %})) next ; } } catch { { next; } } ; (s) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (len) = (ulong_arg(3)); (flags) = (uint_arg(4)); } probe nd_syscall.recv.return = __nd_syscall.socketcall.recv.return?, __nd_syscall.recv.return?{ (name) = ("recv"); (retstr) = (returnstr(1)); } probe __nd_syscall.socketcall.recv.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; } probe __nd_syscall.recv.return = kprobe.function("sys_recv").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recv %})) next ; } } catch { { next; } } ; } probe nd_syscall.recvfrom = __nd_syscall.socketcall.recvfrom?, __nd_syscall.compat_socketcall.recvfrom?, __nd_syscall.recvfrom?{ (name) = ("recvfrom"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s, %p, %p", s, buf_uaddr, len, _msg_flags_str(flags), addr_uaddr, addrlen_uaddr)); } probe __nd_syscall.socketcall.recvfrom = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (buf_uaddr) = (user_ulong(&(__args)[1])); (len) = (user_ulong(&(__args)[2])); (flags) = (__uint32(user_ulong(&(__args)[3]))); (addr_uaddr) = (user_ulong(&(__args)[4])); (addrlen_uaddr) = (__uint32(user_ulong(&(__args)[5]))); } probe __nd_syscall.compat_socketcall.recvfrom = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (buf_uaddr) = (user_uint32(&(__args)[1])); (len) = (user_uint32(&(__args)[2])); (flags) = (user_uint32(&(__args)[3])); (addr_uaddr) = (user_uint32(&(__args)[4])); (addrlen_uaddr) = (user_uint32(&(__args)[5])); } probe __nd_syscall.recvfrom = kprobe.function("sys_recvfrom").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvfrom %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (len) = (ulong_arg(3)); (flags) = (uint_arg(4)); (addr_uaddr) = (pointer_arg(5)); (addrlen_uaddr) = (pointer_arg(6)); } probe nd_syscall.recvfrom.return = __nd_syscall.socketcall.return?, __nd_syscall.recvfrom.return?{ (name) = ("recvfrom"); (retstr) = (returnstr(1)); } probe __nd_syscall.socketcall.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; } probe __nd_syscall.recvfrom.return = kprobe.function("sys_recvfrom").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvfrom %})) next ; } } catch { { next; } } ; } probe nd_syscall.recvmmsg = kprobe.function("sys_recvmmsg").call?{ (name) = ("recvmmsg"); asmlinkage(); (s) = (int_arg(1)); (mmsg_uaddr) = (pointer_arg(2)); (vlen) = (uint_arg(3)); (flags) = (uint_arg(4)); (flags_str) = (_msg_flags_str(flags)); (timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %u, %s, %s", s, mmsg_uaddr, vlen, _msg_flags_str(flags), _struct_timespec_u(timeout_uaddr, 1))); } probe nd_syscall.recvmmsg.return = kprobe.function("sys_recvmmsg").return?{ (name) = ("recvmmsg"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_recvmmsg = kprobe.function("compat_sys_recvmmsg").call?{ (name) = ("recvmmsg"); asmlinkage(); (s) = (int_arg(1)); (mmsg_uaddr) = (pointer_arg(2)); (vlen) = (uint_arg(3)); (flags) = (uint_arg(4)); (flags_str) = (_msg_flags_str(flags)); (timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %u, %s, %s", s, mmsg_uaddr, vlen, _msg_flags_str(flags), _struct_compat_timespec_u(timeout_uaddr, 1))); } probe nd_syscall.compat_recvmmsg.return = kprobe.function("compat_sys_recvmmsg").return?{ (name) = ("recvmmsg"); (retstr) = (returnstr(1)); } probe nd_syscall.recvmsg = __nd_syscall.recvmsg?, __nd_syscall.socketcall.recvmsg?{ (name) = ("recvmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, flags_str)); } probe __nd_syscall.recvmsg = kprobe.function("sys_recvmsg").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvmsg %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (msg_uaddr) = (pointer_arg(2)); (flags) = (uint_arg(3)); } probe __nd_syscall.socketcall.recvmsg = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (msg_uaddr) = (user_ulong(&(__args)[1])); (flags) = (__uint32(user_ulong(&(__args)[2]))); } probe nd_syscall.recvmsg.return = __nd_syscall.recvmsg.return?, __nd_syscall.socketcall.recvmsg.return?{ (name) = ("recvmsg"); (retstr) = (returnstr(1)); } probe __nd_syscall.recvmsg.return = kprobe.function("sys_recvmsg").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvmsg %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.recvmsg.return = kprobe.function("sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; } probe nd_syscall.compat_sys_recvmsg = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (name) = ("recvmsg"); (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (msg_uaddr) = (user_uint32(&(__args)[1])); (flags) = (user_uint32(&(__args)[2])); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe nd_syscall.compat_sys_recvmsg.return = kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (name) = ("compat_sys_recvmsg"); (retstr) = (returnstr(1)); } probe nd_syscall.remap_file_pages = kprobe.function("sys_remap_file_pages")?{ (name) = ("remap_file_pages"); asmlinkage(); (start) = (ulong_arg(1)); (size) = (ulong_arg(2)); (prot) = (ulong_arg(3)); (pgoff) = (ulong_arg(4)); (flags) = (ulong_arg(5)); (argstr) = (sprintf("%p, %p, %s, %p, %s", start, size, _mprotect_prot_str(prot), pgoff, _mmap_flags(flags))); } probe nd_syscall.remap_file_pages.return = kprobe.function("sys_remap_file_pages").return?{ (name) = ("remap_file_pages"); (retstr) = (returnstr(1)); } probe nd_syscall.removexattr = kprobe.function("sys_removexattr")?{ (name) = ("removexattr"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (name_str) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)))); } probe nd_syscall.removexattr.return = kprobe.function("sys_removexattr").return?{ (name) = ("removexattr"); (retstr) = (returnstr(1)); } probe nd_syscall.rename = kprobe.function("sys_rename")?{ (name) = ("rename"); asmlinkage(); (oldpath) = (user_string_quoted(pointer_arg(1))); (newpath) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)))); } probe nd_syscall.rename.return = kprobe.function("sys_rename").return?{ (name) = ("rename"); (retstr) = (returnstr(1)); } probe nd_syscall.renameat = kprobe.function("sys_renameat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat %})) next ; } } catch { { next; } } ; (name) = ("renameat"); asmlinkage(); (olddfd) = (int_arg(1)); (olddfd_str) = (_dfd_str(olddfd)); (oldname) = (pointer_arg(2)); (oldname_str) = (user_string_quoted(oldname)); (newdfd) = (int_arg(3)); (newdfd_str) = (_dfd_str(newdfd)); (newname) = (pointer_arg(4)); (newname_str) = (user_string_quoted(newname)); (argstr) = (sprintf("%s, %s, %s, %s", olddfd_str, user_string_quoted(oldname), newdfd_str, user_string_quoted(newname))); } probe nd_syscall.renameat.return = kprobe.function("sys_renameat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat %})) next ; } } catch { { next; } } ; (name) = ("renameat"); (retstr) = (returnstr(1)); } probe nd_syscall.renameat2 = kprobe.function("sys_renameat2")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat2 %})) next ; } } catch { { next; } } ; (name) = ("renameat2"); asmlinkage(); (olddfd) = (int_arg(1)); (olddfd_str) = (_dfd_str(olddfd)); (oldname) = (pointer_arg(2)); (oldname_str) = (user_string_quoted(oldname)); (newdfd) = (int_arg(3)); (newdfd_str) = (_dfd_str(newdfd)); (newname) = (pointer_arg(4)); (newname_str) = (user_string_quoted(newname)); (flags) = (uint_arg(5)); (flags_str) = (_renameat2_flags_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s, %s", olddfd_str, user_string_quoted(oldname), newdfd_str, user_string_quoted(newname), _renameat2_flags_str(flags))); } probe nd_syscall.renameat2.return = kprobe.function("sys_renameat2").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat2 %})) next ; } } catch { { next; } } ; (name) = ("renameat2"); (retstr) = (returnstr(1)); } probe nd_syscall.request_key = kprobe.function("sys_request_key")?{ (name) = ("request_key"); asmlinkage(); (type_uaddr) = (pointer_arg(1)); (description_uaddr) = (pointer_arg(2)); (callout_info_uaddr) = (pointer_arg(3)); (destringid) = (int_arg(4)); (argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted(type_uaddr), user_string_quoted(description_uaddr), callout_info_uaddr, destringid)); } probe nd_syscall.request_key.return = kprobe.function("sys_request_key").return?{ (name) = ("request_key"); (retstr) = (returnstr(1)); } probe nd_syscall.restart_syscall = kprobe.function("sys_restart_syscall"){ (name) = ("restart_syscall"); (argstr) = (""); } probe nd_syscall.restart_syscall.return = kprobe.function("sys_restart_syscall").return{ (name) = ("restart_syscall"); (retstr) = (returnstr(1)); } probe nd_syscall.rmdir = kprobe.function("sys_rmdir")?{ (name) = ("rmdir"); asmlinkage(); (pathname) = (user_string_quoted(pointer_arg(1))); (argstr) = (user_string_quoted(pointer_arg(1))); } probe nd_syscall.rmdir.return = kprobe.function("sys_rmdir").return?{ (name) = ("rmdir"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigaction = kprobe.function("sys_rt_sigaction")?{ (name) = ("rt_sigaction"); asmlinkage(); (sig) = (int_arg(1)); (act_uaddr) = (pointer_arg(2)); (oact_uaddr) = (pointer_arg(3)); (sigsetsize) = (ulong_arg(4)); (argstr) = (sprintf("%s, {%s}, %p, %d", _signal_name(sig), _struct_sigaction_u(act_uaddr), oact_uaddr, sigsetsize)); } probe nd_syscall.rt_sigaction.return = kprobe.function("sys_rt_sigaction").return?{ (name) = ("rt_sigaction"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigaction32 = kprobe.function("sys32_rt_sigaction")?, kprobe.function("compat_sys_rt_sigaction")?{ (name) = ("rt_sigaction"); asmlinkage(); (sig) = (int_arg(1)); (act_uaddr) = (pointer_arg(2)); (oact_uaddr) = (pointer_arg(3)); (sigsetsize) = (uint_arg(4)); (argstr) = (sprintf("%s, {%s}, %p, %d", _signal_name(sig), _struct_sigaction32_u(act_uaddr), oact_uaddr, sigsetsize)); } probe nd_syscall.rt_sigaction32.return = kprobe.function("sys32_rt_sigaction").return?, kprobe.function("compat_sys_rt_sigaction").return?{ (name) = ("rt_sigaction"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigpending = __nd_syscall.rt_sigpending?, __nd_syscall.compat_rt_sigpending?{ (name) = ("rt_sigpending"); asmlinkage(); (set_uaddr) = (pointer_arg(1)); (sigsetsize) = (ulong_arg(2)); (argstr) = (sprintf("%p, %u", set_uaddr, sigsetsize)); } probe __nd_syscall.rt_sigpending = kprobe.function("sys_rt_sigpending")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigpending %})) next ; } } catch { { next; } } ; } probe __nd_syscall.compat_rt_sigpending = kprobe.function("compat_sys_rt_sigpending")!, kprobe.function("sys32_rt_sigpending")?{ } probe nd_syscall.rt_sigpending.return = __nd_syscall.rt_sigpending.return?, __nd_syscall.compat_rt_sigpending.return?{ (name) = ("rt_sigpending"); (retstr) = (returnstr(1)); } probe __nd_syscall.rt_sigpending.return = kprobe.function("sys_rt_sigpending").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigpending %})) next ; } } catch { { next; } } ; } probe __nd_syscall.compat_rt_sigpending.return = kprobe.function("compat_sys_rt_sigpending").return!, kprobe.function("sys32_rt_sigpending").return?{ } probe nd_syscall.rt_sigprocmask = kprobe.function("sys_rt_sigprocmask")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigprocmask %})) next ; } } catch { { next; } } ; (name) = ("rt_sigprocmask"); asmlinkage(); (how) = (int_arg(1)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = (pointer_arg(2)); { (oldset_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %p, %d", how_str, _stp_sigset_u(set_uaddr), oldset_uaddr, uint_arg(4))); }; } probe nd_syscall.rt_sigprocmask.return = kprobe.function("sys_rt_sigprocmask").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigprocmask %})) next ; } } catch { { next; } } ; (name) = ("rt_sigprocmask"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_rt_sigprocmask = kprobe.function("compat_sys_rt_sigprocmask")?, kprobe.function("sys32_rt_sigprocmask")?{ (name) = ("rt_sigprocmask"); if ((ppfunc()) != ("compat_sys_rt_sigprocmask")) asmlinkage() ; (how) = (int_arg(1)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = (pointer_arg(2)); (oldset_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %p, %d", how_str, _stp_compat_sigset_u(set_uaddr), oldset_uaddr, uint_arg(4))); } probe nd_syscall.compat_rt_sigprocmask.return = kprobe.function("compat_sys_rt_sigprocmask").return?, kprobe.function("sys32_rt_sigprocmask").return?{ (name) = ("rt_sigprocmask"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigqueueinfo = __nd_syscall.rt_sigqueueinfo?, kprobe.function("sys32_rt_sigqueueinfo")?, kprobe.function("compat_sys_rt_sigqueueinfo")?{ (name) = ("rt_sigqueueinfo"); asmlinkage(); (pid) = (int_arg(1)); (sig) = (int_arg(2)); (uinfo_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %s, %s", pid, _signal_name(sig), (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_siginfo_u(uinfo_uaddr)):(_stp_siginfo_u(uinfo_uaddr)))); } probe __nd_syscall.rt_sigqueueinfo = kprobe.function("sys_rt_sigqueueinfo"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigqueueinfo %})) next ; } } catch { { next; } } ; } probe nd_syscall.rt_sigqueueinfo.return = __nd_syscall.rt_sigqueueinfo.return?, kprobe.function("sys32_rt_sigqueueinfo").return?, kprobe.function("compat_sys_rt_sigqueueinfo").return?{ (name) = ("rt_sigqueueinfo"); (retstr) = (returnstr(1)); } probe __nd_syscall.rt_sigqueueinfo.return = kprobe.function("sys_rt_sigqueueinfo").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigqueueinfo %})) next ; } } catch { { next; } } ; } probe nd_syscall.rt_sigreturn = kprobe.function("ia64_rt_sigreturn").call!, kprobe.function("sys_rt_sigreturn").call?, kprobe.function("sys32_rt_sigreturn").call?{ (name) = ("rt_sigreturn"); (argstr) = (""); } probe nd_syscall.rt_sigreturn.return = kprobe.function("ia64_rt_sigreturn").return!, kprobe.function("sys_rt_sigreturn").return?, kprobe.function("sys32_rt_sigreturn").return?{ (name) = ("rt_sigreturn"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigsuspend = kprobe.function("sys_rt_sigsuspend")?, kprobe.function("ia64_rt_sigsuspend")?, kprobe.function("compat_sys_rt_sigsuspend")?{ asmlinkage(); (name) = ("rt_sigsuspend"); (set_uaddr) = (pointer_arg(1)); (sigsetsize) = (ulong_arg(2)); (argstr) = (sprintf("%s, %u", (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_sigset_u(set_uaddr)):(_stp_sigset_u(set_uaddr)), sigsetsize)); } probe nd_syscall.rt_sigsuspend.return = kprobe.function("sys_rt_sigsuspend").return?, kprobe.function("ia64_rt_sigsuspend").return?, kprobe.function("compat_sys_rt_sigsuspend").return?{ (name) = ("rt_sigsuspend"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_sigtimedwait = __nd_syscall.rt_sigtimedwait?, __nd_syscall.compat_rt_sigtimedwait?{ (name) = ("rt_sigtimedwait"); asmlinkage(); (uthese_uaddr) = (pointer_arg(1)); (uinfo_uaddr) = (pointer_arg(2)); (uts_uaddr) = (pointer_arg(3)); if (%{ /* pure */ _stp_is_compat_task() %}) (argstr) = (sprintf("%s, %s, %s, %d", _stp_compat_sigset_u(uthese_uaddr), _stp_compat_siginfo_u(uinfo_uaddr), _struct_compat_timespec_u(uts_uaddr, 1), sigsetsize)) else (argstr) = (sprintf("%s, %s, %s, %d", _stp_sigset_u(uthese_uaddr), _stp_siginfo_u(uinfo_uaddr), _struct_timespec_u(uts_uaddr, 1), sigsetsize)) ; } probe __nd_syscall.rt_sigtimedwait = kprobe.function("sys_rt_sigtimedwait"){ asmlinkage(); (sigsetsize) = (ulong_arg(4)); } probe __nd_syscall.compat_rt_sigtimedwait = kprobe.function("compat_sys_rt_sigtimedwait"){ asmlinkage(); (sigsetsize) = (u32_arg(4)); } probe nd_syscall.rt_sigtimedwait.return = kprobe.function("compat_sys_rt_sigtimedwait").return?, kprobe.function("sys_rt_sigtimedwait").return?{ (name) = ("rt_sigtimedwait"); (retstr) = (returnstr(1)); } probe nd_syscall.rt_tgsigqueueinfo = kprobe.function("sys_rt_tgsigqueueinfo")?, kprobe.function("compat_sys_rt_tgsigqueueinfo")?{ (name) = ("rt_tgsigqueueinfo"); asmlinkage(); (tgid) = (int_arg(1)); (tid) = (int_arg(2)); (sig) = (int_arg(3)); (uinfo_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %d, %s, %s", tgid, tid, _signal_name(sig), (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_siginfo_u(uinfo_uaddr)):(_stp_siginfo_u(uinfo_uaddr)))); } probe nd_syscall.rt_tgsigqueueinfo.return = kprobe.function("sys_rt_tgsigqueueinfo").return?, kprobe.function("compat_sys_rt_tgsigqueueinfo").return?{ (name) = ("rt_tgsigqueueinfo"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_getaffinity = kprobe.function("sys_sched_getaffinity"), kprobe.function("compat_sys_sched_getaffinity")?{ (name) = ("sched_getaffinity"); asmlinkage(); (pid) = (int_arg(1)); (len) = (uint_arg(2)); (mask_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %u, %p", pid, len, mask_uaddr)); } probe nd_syscall.sched_getaffinity.return = kprobe.function("sys_sched_getaffinity").return, kprobe.function("compat_sys_sched_getaffinity").return?{ (name) = ("sched_getaffinity"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_getattr = kprobe.function("sys_sched_getattr")?{ (name) = ("sched_getattr"); asmlinkage(); (pid) = (int_arg(1)); (sched_attr_uaddr) = (pointer_arg(2)); (sched_attr_str) = (_struct_sched_attr_u(sched_attr_uaddr)); (size) = (uint_arg(3)); (flags) = (uint_arg(4)); (argstr) = (sprintf("%d, %s, %u, %u", pid, sched_attr_str, size, flags)); } probe nd_syscall.sched_getattr.return = kprobe.function("sys_sched_getattr").return?{ (name) = ("sched_getattr"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_getparam = kprobe.function("sys_sched_getparam")?{ (name) = ("sched_getparam"); asmlinkage(); (pid) = (int_arg(1)); (p_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", pid, p_uaddr)); } probe nd_syscall.sched_getparam.return = kprobe.function("sys_sched_getparam").return?{ (name) = ("sched_getparam"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_get_priority_max = kprobe.function("sys_sched_get_priority_max")?{ (name) = ("sched_get_priority_max"); asmlinkage(); (policy) = (int_arg(1)); (argstr) = (sprint(_sched_policy_str(policy))); } probe nd_syscall.sched_get_priority_max.return = kprobe.function("sys_sched_get_priority_max").return?{ (name) = ("sched_get_priority_max"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_get_priority_min = kprobe.function("sys_sched_get_priority_min")?{ (name) = ("sched_get_priority_min"); asmlinkage(); (policy) = (int_arg(1)); (argstr) = (sprint(_sched_policy_str(policy))); } probe nd_syscall.sched_get_priority_min.return = kprobe.function("sys_sched_get_priority_min").return?{ (name) = ("sched_get_priority_min"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_getscheduler = kprobe.function("sys_sched_getscheduler")?{ (name) = ("sched_getscheduler"); asmlinkage(); (pid) = (int_arg(1)); (argstr) = (sprint(pid)); } probe nd_syscall.sched_getscheduler.return = kprobe.function("sys_sched_getscheduler").return?{ (name) = ("sched_getscheduler"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_rr_get_interval = __nd_syscall.sched_rr_get_interval, kprobe.function("compat_sys_sched_rr_get_interval").call?, kprobe.function("sys32_sched_rr_get_interval").call?{ (name) = ("sched_rr_get_interval"); asmlinkage(); (pid) = (int_arg(1)); (tp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", pid, tp_uaddr)); } probe __nd_syscall.sched_rr_get_interval = kprobe.function("sys_sched_rr_get_interval").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sched_rr_get_interval %})) next ; } } catch { { next; } } ; } probe nd_syscall.sched_rr_get_interval.return = __nd_syscall.sched_rr_get_interval.return, kprobe.function("compat_sys_sched_rr_get_interval").return?, kprobe.function("sys32_sched_rr_get_interval").return?{ (name) = ("sched_rr_get_interval"); (retstr) = (returnstr(1)); } probe __nd_syscall.sched_rr_get_interval.return = kprobe.function("sys_sched_rr_get_interval").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sched_rr_get_interval %})) next ; } } catch { { next; } } ; } probe nd_syscall.sched_setattr = kprobe.function("sys_sched_setattr")?{ (name) = ("sched_setattr"); asmlinkage(); (pid) = (int_arg(1)); (sched_attr_uaddr) = (pointer_arg(2)); (sched_attr_str) = (_struct_sched_attr_u(sched_attr_uaddr)); (flags) = (uint_arg(3)); (argstr) = (sprintf("%d, %s, %u", pid, sched_attr_str, flags)); } probe nd_syscall.sched_setattr.return = kprobe.function("sys_sched_setattr").return?{ (name) = ("sched_setattr"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_setaffinity = kprobe.function("sys_sched_setaffinity"), kprobe.function("compat_sys_sched_setaffinity")?{ (name) = ("sched_setaffinity"); asmlinkage(); (pid) = (int_arg(1)); (len) = (uint_arg(2)); (mask_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %u, %p", pid, len, mask_uaddr)); } probe nd_syscall.sched_setaffinity.return = kprobe.function("sys_sched_setaffinity").return, kprobe.function("compat_sys_sched_setaffinity").return?{ (name) = ("sched_setaffinity"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_setparam = kprobe.function("sys_sched_setparam")?{ (name) = ("sched_setparam"); asmlinkage(); (pid) = (int_arg(1)); (p_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", pid, p_uaddr)); } probe nd_syscall.sched_setparam.return = kprobe.function("sys_sched_setparam").return?{ (name) = ("sched_setparam"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_setscheduler = kprobe.function("sys_sched_setscheduler")?{ (name) = ("sched_setscheduler"); asmlinkage(); (pid) = (int_arg(1)); (policy) = (int_arg(2)); (policy_str) = (_sched_policy_str(policy)); (p_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %s, %p", pid, policy_str, p_uaddr)); } probe nd_syscall.sched_setscheduler.return = kprobe.function("sys_sched_setscheduler").return?{ (name) = ("sched_setscheduler"); (retstr) = (returnstr(1)); } probe nd_syscall.sched_yield = kprobe.function("sys_sched_yield"){ (name) = ("sched_yield"); (argstr) = (""); } probe nd_syscall.sched_yield.return = kprobe.function("sys_sched_yield").return{ (name) = ("sched_yield"); (retstr) = (returnstr(1)); } probe nd_syscall.seccomp = kprobe.function("sys_seccomp")?{ (name) = ("seccomp"); asmlinkage(); (op) = (uint_arg(1)); (op_str) = (_seccomp_op_str(op)); (flags) = (uint_arg(2)); (flags_str) = (_seccomp_flags_str(flags)); (uargs_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %p", op_str, flags_str, uargs_uaddr)); } probe nd_syscall.seccomp.return = kprobe.function("sys_seccomp").return?{ (name) = ("seccomp"); (retstr) = (returnstr(1)); } probe nd_syscall.select = kprobe.function("sys_select")?{ (name) = ("select"); asmlinkage(); (n) = (int_arg(1)); (readfds_uaddr) = (pointer_arg(2)); (writefds_uaddr) = (pointer_arg(3)); (exceptfds_uaddr) = (pointer_arg(4)); (timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %p, %p, %s", n, readfds_uaddr, writefds_uaddr, exceptfds_uaddr, _struct_timeval_u(timeout_uaddr, 1))); } probe nd_syscall.select.return = kprobe.function("sys_select").return?{ (name) = ("select"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_select = kprobe.function("compat_sys_select")?{ (name) = ("select"); asmlinkage(); (n) = (int_arg(1)); (readfds_uaddr) = (pointer_arg(2)); (writefds_uaddr) = (pointer_arg(3)); (exceptfds_uaddr) = (pointer_arg(4)); (timeout_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%d, %p, %p, %p, %s", n, readfds_uaddr, writefds_uaddr, exceptfds_uaddr, _struct_compat_timeval_u(timeout_uaddr, 1))); } probe nd_syscall.compat_select.return = kprobe.function("compat_sys_select").return?{ (name) = ("select"); (retstr) = (returnstr(1)); } probe nd_syscall.semctl = kprobe.function("sys_semctl")?{ (name) = ("semctl"); asmlinkage(); (semid) = (int_arg(1)); (semnum) = (int_arg(2)); (cmd) = (int_arg(3)); (cmdstr) = (_semctl_cmd(cmd)); (arg) = (pointer_arg(4)); (argstr) = (sprintf("%d, %d, %s, %p", semid, semnum, _semctl_cmd(cmd), arg)); } probe nd_syscall.semctl.return = kprobe.function("sys_semctl").return?{ (name) = ("semctl"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_semctl = __nd_syscall.compat_semctl?, __nd_syscall.compat_ipc.semctl?{ (name) = ("semctl"); (cmdstr) = (_semctl_cmd(cmd)); (argstr) = (sprintf("%d, %d, %s, %p", semid, semnum, _semctl_cmd(cmd), arg)); } probe __nd_syscall.compat_semctl = kprobe.function("compat_sys_semctl")?{ (semid) = (int_arg(1)); (semnum) = (int_arg(2)); (cmd) = (int_arg(3)); (arg) = (pointer_arg(4)); } probe __nd_syscall.compat_ipc.semctl = kprobe.function("compat_sys_ipc")?, kprobe.function("sys32_ipc")?{ if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMCTL %})) next ; (semid) = (int_arg(2)); (semnum) = (int_arg(3)); (cmd) = (int_arg(4)); (arg) = (pointer_arg(5)); } probe nd_syscall.compat_sys_semctl.return = __nd_syscall.compat_semctl.return?, __nd_syscall.compat_ipc.semctl.return?{ (name) = ("semctl"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_semctl.return = kprobe.function("compat_sys_semctl").return?{ } probe __nd_syscall.compat_ipc.semctl.return = kprobe.function("compat_sys_ipc").return?, kprobe.function("sys32_ipc").return?{ if ((@entry(int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMCTL %})) next ; } probe nd_syscall.semget = kprobe.function("sys_semget")?{ (name) = ("semget"); asmlinkage(); (key) = (int_arg(1)); (key_str) = (_stp_msgget_key_str(key)); (nsems) = (int_arg(2)); (semflg) = (int_arg(3)); (semflg_str) = (__sem_flags(semflg)); (argstr) = (sprintf("%s, %d, %s", _stp_msgget_key_str(key), nsems, __sem_flags(semflg))); } probe nd_syscall.semget.return = kprobe.function("sys_semget").return?{ (name) = ("semget"); (retstr) = (returnstr(1)); } probe nd_syscall.semop = __nd_syscall.semop?, __nd_syscall.compat_semop?{ (name) = ("semop"); (argstr) = (sprintf("%d, %p, %u", semid, sops_uaddr, nsops)); } probe __nd_syscall.semop = kprobe.function("sys_semop")?{ asmlinkage(); (semid) = (int_arg(1)); (sops_uaddr) = (pointer_arg(2)); (nsops) = (uint_arg(3)); } probe __nd_syscall.compat_semop = kprobe.function("compat_sys_ipc")?, kprobe.function("sys32_ipc")?{ if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMOP %})) next ; (semid) = (int_arg(2)); (sops_uaddr) = (pointer_arg(5)); (nsops) = (uint_arg(3)); } probe nd_syscall.semop.return = kprobe.function("sys_semop").return?, __nd_syscall.compat_semop.return?{ (name) = ("semop"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_semop.return = kprobe.function("compat_sys_ipc").return?, kprobe.function("sys32_ipc").return?{ if ((@entry(int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMOP %})) next ; } probe nd_syscall.semtimedop = kprobe.function("sys_semtimedop")?{ (name) = ("semtimedop"); asmlinkage(); (semid) = (int_arg(1)); (sops_uaddr) = (pointer_arg(2)); (nsops) = (uint_arg(3)); (timeout_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %p, %u, %s", semid, sops_uaddr, nsops, _struct_timespec_u(timeout_uaddr, 1))); } probe nd_syscall.semtimedop.return = kprobe.function("sys_semtimedop").return?{ (name) = ("semtimedop"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_semtimedop = __nd_syscall.compat_semtimedop?, __nd_syscall.compat_ipc.semtimedop?{ (name) = ("semtimedop"); (argstr) = (sprintf("%d, %p, %u, %s", semid, sops_uaddr, nsops, _struct_compat_timespec_u(timeout_uaddr, 1))); } probe __nd_syscall.compat_semtimedop = kprobe.function("compat_sys_semtimedop")?{ (semid) = (int_arg(1)); (sops_uaddr) = (pointer_arg(2)); (nsops) = (uint_arg(3)); (timeout_uaddr) = (pointer_arg(4)); } probe __nd_syscall.compat_ipc.semtimedop = __nd_syscall.compat_ipc.semtimedop.sys_ipc?, __nd_syscall.compat_ipc.semtimedop.sys32_ipc?{ if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMTIMEDOP %})) next ; (semid) = (int_arg(2)); (sops_uaddr) = (pointer_arg(5)); (nsops) = (uint_arg(3)); } probe __nd_syscall.compat_ipc.semtimedop.sys_ipc = kprobe.function("compat_sys_ipc")?{ (timeout_uaddr) = (pointer_arg(6)); } probe __nd_syscall.compat_ipc.semtimedop.sys32_ipc = kprobe.function("sys32_ipc")?{ (timeout_uaddr) = (pointer_arg(4)); } probe nd_syscall.compat_sys_semtimedop.return = __nd_syscall.compat_sys_semtimedop.return?, __nd_syscall.compat_ipc.semtimedop.return?{ (name) = ("semtimedop"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_sys_semtimedop.return = kprobe.function("compat_sys_semtimedop").return?{ } probe __nd_syscall.compat_ipc.semtimedop.return = kprobe.function("compat_sys_ipc").return?, kprobe.function("sys32_ipc").return?{ if ((@entry(int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMTIMEDOP %})) next ; } probe nd_syscall.send = __nd_syscall.send?, __nd_syscall.socketcall.send?, __nd_syscall.compat_socketcall.send?{ (name) = ("send"); (flags_str) = (_msg_flags_str(flags)); (buf) = (user_buffer_quoted(buf_uaddr, len, syscall_string_trunc)); (argstr) = (sprintf("%d, %s, %u, %s", s, buf, len, flags_str)); } probe __nd_syscall.send = kprobe.function("sys_send")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_send %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (len) = (ulong_arg(3)); (flags) = (uint_arg(4)); } probe __nd_syscall.socketcall.send = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (buf_uaddr) = (user_ulong(&(__args)[1])); (len) = (user_ulong(&(__args)[2])); (flags) = (__uint32(user_ulong(&(__args)[3]))); } probe __nd_syscall.compat_socketcall.send = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (buf_uaddr) = (user_uint32(&(__args)[1])); (len) = (user_uint32(&(__args)[2])); (flags) = (user_uint32(&(__args)[3])); } probe nd_syscall.send.return = __nd_syscall.send.return?, __nd_syscall.socketcall.send.return?{ (name) = ("send"); (retstr) = (returnstr(1)); } probe __nd_syscall.send.return = kprobe.function("sys_send").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_send %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.send.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; } probe nd_syscall.sendfile = __nd_syscall.sendfile?, kprobe.function("compat_sys_sendfile").call?, kprobe.function("compat_sys_sendfile64").call?, kprobe.function("sys32_sendfile").call?{ (name) = ("sendfile"); asmlinkage(); (out_fd) = (int_arg(1)); (in_fd) = (int_arg(2)); (offset_uaddr) = (pointer_arg(3)); (count) = (ulong_arg(4)); (argstr) = (sprintf("%d, %d, %p, %u", out_fd, in_fd, offset_uaddr, count)); } probe __nd_syscall.sendfile = kprobe.function("sys_sendfile").call?, kprobe.function("sys_sendfile64").call?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile64 %}))) next ; } probe nd_syscall.sendfile.return = __nd_syscall.sendfile.return?, kprobe.function("compat_sys_sendfile").return?, kprobe.function("compat_sys_sendfile64").return?, kprobe.function("sys32_sendfile").return?{ (name) = ("sendfile"); (retstr) = (returnstr(1)); } probe __nd_syscall.sendfile.return = kprobe.function("sys_sendfile").return?, kprobe.function("sys_sendfile64").return?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile64 %}))) next ; } probe nd_syscall.sendmsg = __nd_syscall.sendmsg?, __nd_syscall.socketcall.sendmsg?{ (name) = ("sendmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe __nd_syscall.sendmsg = kprobe.function("sys_sendmsg")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendmsg %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (msg_uaddr) = (pointer_arg(2)); (flags) = (uint_arg(3)); } probe __nd_syscall.socketcall.sendmsg = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (msg_uaddr) = (user_ulong(&(__args)[1])); (flags) = (__uint32(user_ulong(&(__args)[2]))); } probe nd_syscall.sendmsg.return = __nd_syscall.sendmsg.return?, __nd_syscall.socketcall.sendmsg.return?{ (name) = ("sendmsg"); (retstr) = (returnstr(1)); } probe __nd_syscall.sendmsg.return = kprobe.function("sys_sendmsg").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendmsg %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.sendmsg.return = kprobe.function("sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; } probe nd_syscall.compat_sys_sendmsg = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (name) = ("sendmsg"); (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (msg_uaddr) = (user_uint32(&(__args)[1])); (flags) = (user_uint32(&(__args)[2])); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe nd_syscall.compat_sys_sendmsg.return = kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (name) = ("sendmsg"); (retstr) = (returnstr(1)); } probe nd_syscall.sendmmsg = __nd_syscall.sendmmsg?, __nd_syscall.compat_socketcall.sendmmsg?, __nd_syscall.compat_sendmmsg?{ (name) = ("sendmmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, %s", s, mmsg_uaddr, vlen, _msg_flags_str(flags))); } probe __nd_syscall.sendmmsg = kprobe.function("sys_sendmmsg").call?{ asmlinkage(); (s) = (int_arg(1)); (mmsg_uaddr) = (pointer_arg(2)); (vlen) = (uint_arg(3)); (flags) = (uint_arg(4)); } probe __nd_syscall.compat_socketcall.sendmmsg = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMMSG %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (mmsg_uaddr) = (user_uint32(&(__args)[1])); (vlen) = (user_uint32(&(__args)[2])); (flags) = (user_uint32(&(__args)[3])); } probe __nd_syscall.compat_sendmmsg = kprobe.function("compat_sys_sendmmsg").call?{ asmlinkage(); (s) = (int_arg(1)); (mmsg_uaddr) = (pointer_arg(2)); (vlen) = (uint_arg(3)); (flags) = (uint_arg(4)); } probe nd_syscall.sendmmsg.return = __nd_syscall.sendmmsg.return?, __nd_syscall.compat_socketcall.sendmmsg.return?, __nd_syscall.compat_sendmmsg.return?{ (name) = ("sendmmsg"); (retstr) = (returnstr(1)); } probe __nd_syscall.sendmmsg.return = kprobe.function("sys_sendmmsg").return?{ } probe __nd_syscall.compat_socketcall.sendmmsg.return = kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMMSG %})) next ; } probe __nd_syscall.compat_sendmmsg.return = kprobe.function("compat_sys_sendmmsg").return?{ } probe nd_syscall.sendto = __nd_syscall.sendto?, __nd_syscall.socketcall.sendto?, __nd_syscall.compat_socketcall.sendto?{ (name) = ("sendto"); (flags_str) = (_msg_flags_str(flags)); (buf) = (user_buffer_quoted(buf_uaddr, len, syscall_string_trunc)); (argstr) = (sprintf("%d, %s, %u, %s, %s, %u", s, buf, len, flags_str, _struct_sockaddr_u(to_uaddr, tolen), tolen)); } probe __nd_syscall.sendto = kprobe.function("sys_sendto").call?{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendto %})) next ; } } catch { { next; } } ; (s) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (len) = (ulong_arg(3)); (flags) = (uint_arg(4)); (to_uaddr) = (pointer_arg(5)); (tolen) = (uint_arg(6)); } probe __nd_syscall.socketcall.sendto = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (buf_uaddr) = (user_ulong(&(__args)[1])); (len) = (user_ulong(&(__args)[2])); (flags) = (__uint32(user_ulong(&(__args)[3]))); (to_uaddr) = (user_ulong(&(__args)[4])); (tolen) = (__uint32(user_ulong(&(__args)[5]))); } probe __nd_syscall.compat_socketcall.sendto = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (buf_uaddr) = (user_uint32(&(__args)[1])); (len) = (user_uint32(&(__args)[2])); (flags) = (user_uint32(&(__args)[3])); (to_uaddr) = (user_uint32(&(__args)[4])); (tolen) = (user_uint32(&(__args)[5])); } probe nd_syscall.sendto.return = __nd_syscall.sendto.return?, __nd_syscall.socketcall.sendto.return?{ (name) = ("sendto"); (retstr) = (returnstr(1)); } probe __nd_syscall.sendto.return = kprobe.function("sys_sendto").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendto %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.recv.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; } probe nd_syscall.setdomainname = kprobe.function("sys_setdomainname")?{ (name) = ("setdomainname"); asmlinkage(); (domainname_uaddr) = (pointer_arg(1)); (domainname_str) = (user_string_quoted(domainname_uaddr)); (len) = (int_arg(2)); (argstr) = (sprintf("%s, %d", domainname_str, len)); } probe nd_syscall.setdomainname.return = kprobe.function("sys_setdomainname").return?{ (name) = ("setdomainname"); (retstr) = (returnstr(1)); } probe nd_syscall.setfsgid = kprobe.function("sys_setfsgid16")?, kprobe.function("sys_setfsgid")?{ (name) = ("setfsgid"); asmlinkage(); (fsgid) = (int_arg(1)); (argstr) = (sprint(fsgid)); } probe nd_syscall.setfsgid.return = kprobe.function("sys_setfsgid16").return?, kprobe.function("sys_setfsgid").return?{ (name) = ("setfsgid"); (retstr) = (returnstr(1)); } probe nd_syscall.setfsuid = kprobe.function("sys_setfsuid16")?, kprobe.function("sys_setfsuid")?{ (name) = ("setfsuid"); asmlinkage(); (fsuid) = (int_arg(1)); (argstr) = (sprint(fsuid)); } probe nd_syscall.setfsuid.return = kprobe.function("sys_setfsuid16").return?, kprobe.function("sys_setfsuid").return?{ (name) = ("setfsuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setgid = kprobe.function("sys_setgid16")?, kprobe.function("sys_setgid")?{ (name) = ("setgid"); asmlinkage(); (gid) = (int_arg(1)); (argstr) = (sprint(gid)); } probe nd_syscall.setgid.return = kprobe.function("sys_setgid16").return?, kprobe.function("sys_setgid").return?{ (name) = ("setgid"); (retstr) = (returnstr(1)); } probe nd_syscall.setgroups = kprobe.function("sys_setgroups16")?, kprobe.function("sys32_setgroups16")?, kprobe.function("sys_setgroups")?{ (name) = ("setgroups"); asmlinkage(); (size) = (int_arg(1)); (list_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", size, list_uaddr)); } probe nd_syscall.setgroups.return = kprobe.function("sys_setgroups16").return?, kprobe.function("sys32_setgroups16").return?, kprobe.function("sys_setgroups").return?{ (name) = ("setgroups"); (retstr) = (returnstr(1)); } probe nd_syscall.sethostname = kprobe.function("sys_sethostname")?{ (name) = ("sethostname"); asmlinkage(); (hostname_uaddr) = (pointer_arg(1)); (name_str) = (user_string_quoted(hostname_uaddr)); (len) = (int_arg(2)); (argstr) = (sprintf("%s, %d", user_string_quoted(hostname_uaddr), len)); } probe nd_syscall.sethostname.return = kprobe.function("sys_sethostname").return?{ (name) = ("sethostname"); (retstr) = (returnstr(1)); } probe nd_syscall.setitimer = kprobe.function("sys_setitimer")?{ (name) = ("setitimer"); asmlinkage(); (which) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (ovalue_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %p", _itimer_which_str(which), _struct_itimerval_u(value_uaddr), ovalue_uaddr)); } probe nd_syscall.setitimer.return = kprobe.function("sys_setitimer").return?{ (name) = ("setitimer"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_setitimer = kprobe.function("compat_sys_setitimer")?{ (name) = ("setitimer"); asmlinkage(); (which) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (ovalue_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %s, %p", _itimer_which_str(which), _struct_compat_itimerval_u(value_uaddr), ovalue_uaddr)); } probe nd_syscall.compat_setitimer.return = kprobe.function("compat_sys_setitimer").return?{ (name) = ("setitimer"); (retstr) = (returnstr(1)); } probe nd_syscall.setns = kprobe.function("sys_setns")?{ (name) = ("setns"); asmlinkage(); (fd) = (int_arg(1)); (nstype) = (int_arg(2)); (argstr) = (sprintf("%d, %s", fd, __fork_flags(nstype))); } probe nd_syscall.setns.return = kprobe.function("sys_setns").return?{ (name) = ("setns"); (retstr) = (returnstr(1)); } probe nd_syscall.set_mempolicy = __nd_syscall.set_mempolicy?, kprobe.function("compat_sys_set_mempolicy")?{ (name) = ("set_mempolicy"); asmlinkage(); (mode) = (int_arg(1)); (mode_str) = (_mempolicy_mode_str(mode)); (nmask_uaddr) = (pointer_arg(2)); (maxnode) = (ulong_arg(3)); (argstr) = (sprintf("%s, %p, %u", _mempolicy_mode_str(mode), nmask_uaddr, maxnode)); } probe __nd_syscall.set_mempolicy = kprobe.function("sys_set_mempolicy")?{ } probe nd_syscall.set_mempolicy.return = __nd_syscall.set_mempolicy.return?, kprobe.function("compat_sys_set_mempolicy").return?{ (name) = ("set_mempolicy"); (retstr) = (returnstr(1)); } probe __nd_syscall.set_mempolicy.return = kprobe.function("sys_set_mempolicy").return?{ } probe nd_syscall.setpgid = kprobe.function("sys_setpgid")?{ (name) = ("setpgid"); asmlinkage(); (pid) = (int_arg(1)); (pgid) = (int_arg(2)); (argstr) = (sprintf("%d, %d", pid, pgid)); } probe nd_syscall.setpgid.return = kprobe.function("sys_setpgid").return?{ (name) = ("setpgid"); (retstr) = (returnstr(1)); } probe nd_syscall.setpriority = kprobe.function("sys_setpriority")?{ (name) = ("setpriority"); asmlinkage(); (which) = (int_arg(1)); (which_str) = (_priority_which_str(which)); (who) = (int_arg(2)); (prio) = (int_arg(3)); (argstr) = (sprintf("%s, %d, %d", which_str, who, prio)); } probe nd_syscall.setpriority.return = kprobe.function("sys_setpriority").return?{ (name) = ("setpriority"); (retstr) = (returnstr(1)); } probe nd_syscall.setregid = kprobe.function("sys_setregid")?{ (name) = ("setregid"); asmlinkage(); (rgid) = (__int32(uint_arg(1))); (egid) = (__int32(uint_arg(2))); (argstr) = (sprintf("%d, %d", rgid, egid)); } probe nd_syscall.setregid.return = kprobe.function("sys_setregid").return?{ (name) = ("setregid"); (retstr) = (returnstr(1)); } probe nd_syscall.setregid16 = kprobe.function("sys_setregid16")?{ (name) = ("setregid"); asmlinkage(); (rgid) = (__short(uint_arg(1))); (egid) = (__short(uint_arg(2))); (argstr) = (sprintf("%d, %d", rgid, egid)); } probe nd_syscall.setregid16.return = kprobe.function("sys_setregid16").return?{ (name) = ("setregid"); (retstr) = (returnstr(1)); } probe nd_syscall.setresgid = kprobe.function("sys_setresgid")?{ (name) = ("setresgid"); asmlinkage(); (rgid) = (__int32(uint_arg(1))); (egid) = (__int32(uint_arg(2))); (sgid) = (__int32(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid)); } probe nd_syscall.setresgid.return = kprobe.function("sys_setresgid").return?{ (name) = ("setresgid"); (retstr) = (returnstr(1)); } probe nd_syscall.setresgid16 = kprobe.function("sys_setresgid16")?{ (name) = ("setresgid"); asmlinkage(); (rgid) = (__short(uint_arg(1))); (egid) = (__short(uint_arg(2))); (sgid) = (__short(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid)); } probe nd_syscall.setresgid16.return = kprobe.function("sys_setresgid16").return?{ (name) = ("setresgid16"); (retstr) = (returnstr(1)); } probe nd_syscall.setresuid = kprobe.function("sys_setresuid")?{ (name) = ("setresuid"); asmlinkage(); (ruid) = (__int32(uint_arg(1))); (euid) = (__int32(uint_arg(2))); (suid) = (__int32(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", ruid, euid, suid)); } probe nd_syscall.setresuid.return = kprobe.function("sys_setresuid").return?{ (name) = ("setresuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setresuid16 = kprobe.function("sys_setresuid16")?{ (name) = ("setresuid"); asmlinkage(); (ruid) = (__short(uint_arg(1))); (euid) = (__short(uint_arg(2))); (suid) = (__short(uint_arg(3))); (argstr) = (sprintf("%d, %d, %d", ruid, euid, suid)); } probe nd_syscall.setresuid16.return = kprobe.function("sys_setresuid16").return?{ (name) = ("setresuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setreuid = kprobe.function("sys_setreuid")?{ (name) = ("setreuid"); asmlinkage(); (ruid) = (__int32(uint_arg(1))); (euid) = (__int32(uint_arg(2))); (argstr) = (sprintf("%d, %d", ruid, euid)); } probe nd_syscall.setreuid.return = kprobe.function("sys_setreuid").return?{ (name) = ("setreuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setreuid16 = kprobe.function("sys_setreuid16")?{ (name) = ("setreuid"); asmlinkage(); (ruid) = (__short(uint_arg(1))); (euid) = (__short(uint_arg(2))); (argstr) = (sprintf("%d, %d", ruid, euid)); } probe nd_syscall.setreuid16.return = kprobe.function("sys_setreuid16").return?{ (name) = ("setreuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setrlimit = __nd_syscall.setrlimit?, kprobe.function("compat_sys_setrlimit")?{ (name) = ("setrlimit"); asmlinkage(); (resource) = (uint_arg(1)); (rlim_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", _rlimit_resource_str(resource), _struct_rlimit_u(rlim_uaddr))); } probe __nd_syscall.setrlimit = kprobe.function("sys_setrlimit"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setrlimit %})) next ; } } catch { { next; } } ; } probe nd_syscall.setrlimit.return = __nd_syscall.setrlimit.return?, kprobe.function("compat_sys_setrlimit").return?{ (name) = ("setrlimit"); (retstr) = (returnstr(1)); } probe __nd_syscall.setrlimit.return = kprobe.function("sys_setrlimit").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setrlimit %})) next ; } } catch { { next; } } ; } probe nd_syscall.set_robust_list = __nd_syscall.set_robust_list?, kprobe.function("compat_sys_set_robust_list")?{ (name) = ("set_robust_list"); asmlinkage(); (list_head_uaddr) = (pointer_arg(1)); (len) = (ulong_arg(2)); (argstr) = (sprintf("%p, %u", list_head_uaddr, len)); } probe __nd_syscall.set_robust_list = kprobe.function("sys_set_robust_list"){ } probe nd_syscall.set_robust_list.return = __nd_syscall.set_robust_list.return?, kprobe.function("compat_sys_set_robust_list").return?{ (name) = ("set_robust_list"); (retstr) = (returnstr(1)); } probe __nd_syscall.set_robust_list.return = kprobe.function("sys_set_robust_list").return{ } probe nd_syscall.setsid = kprobe.function("sys_setsid"){ (name) = ("setsid"); (argstr) = (""); } probe nd_syscall.setsid.return = kprobe.function("sys_setsid").return{ (name) = ("setsid"); (retstr) = (returnstr(1)); } probe nd_syscall.setsockopt = __nd_syscall.setsockopt?, __nd_syscall.socketcall.setsockopt?, __nd_syscall.compat_socketcall.setsockopt?{ (name) = ("setsockopt"); (level_str) = (_sockopt_level_str(level)); (optname_str) = (_sockopt_optname_str(optname)); (argstr) = (sprintf("%d, %s, %s, %p, %u", fd, level_str, optname_str, optval_uaddr, optlen)); } probe __nd_syscall.setsockopt = kprobe.function("sys_setsockopt")?{ asmlinkage(); try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setsockopt %})) next ; } } catch { { next; } } ; (fd) = (int_arg(1)); (level) = (int_arg(2)); (optname) = (int_arg(3)); (optval_uaddr) = (pointer_arg(4)); (optlen) = (uint_arg(5)); } probe __nd_syscall.socketcall.setsockopt = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (fd) = (__int32(user_ulong(&(__args)[0]))); (level) = (__int32(user_ulong(&(__args)[1]))); (optname) = (__int32(user_ulong(&(__args)[2]))); (optval_uaddr) = (user_ulong(&(__args)[3])); (optlen) = (__uint32(user_ulong(&(__args)[4]))); } probe __nd_syscall.compat_socketcall.setsockopt = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (fd) = (user_int(&(__args)[0])); (level) = (user_int(&(__args)[1])); (optname) = (user_int(&(__args)[2])); (optval_uaddr) = (user_uint32(&(__args)[3])); (optlen) = (user_uint32(&(__args)[4])); } probe nd_syscall.setsockopt.return = __nd_syscall.setsockopt.return?, __nd_syscall.socketcall.setsockopt.return?{ (name) = ("setsockopt"); (retstr) = (returnstr(1)); } probe __nd_syscall.setsockopt.return = kprobe.function("sys_setsockopt").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setsockopt %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.setsockopt.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; } probe nd_syscall.set_tid_address = kprobe.function("sys_set_tid_address")?{ (name) = ("set_tid_address"); asmlinkage(); (tidptr_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%p", tidptr_uaddr)); } probe nd_syscall.set_tid_address.return = kprobe.function("sys_set_tid_address").return?{ (name) = ("set_tid_address"); (retstr) = (returnstr(1)); } probe nd_syscall.settimeofday = kprobe.function("sys_settimeofday")?{ (name) = ("settimeofday"); asmlinkage(); (tv_uaddr) = (pointer_arg(1)); (tz_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", _struct_timeval_u(tv_uaddr, 1), _struct_timezone_u(tz_uaddr))); } probe nd_syscall.settimeofday.return = kprobe.function("sys_settimeofday").return?{ (name) = ("settimeofday"); (retstr) = (returnstr(1)); } probe nd_syscall.settimeofday32 = kprobe.function("sys32_settimeofday")?, kprobe.function("compat_sys_settimeofday")?{ (name) = ("settimeofday"); asmlinkage(); (tv_uaddr) = (pointer_arg(1)); (tz_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", _struct_compat_timeval_u(tv_uaddr, 1), _struct_timezone_u(tz_uaddr))); } probe nd_syscall.settimeofday32.return = kprobe.function("sys32_settimeofday").return?, kprobe.function("compat_sys_settimeofday").return?{ (name) = ("settimeofday"); (retstr) = (returnstr(1)); } probe nd_syscall.setuid = kprobe.function("sys_setuid16")?, kprobe.function("sys_setuid")?{ (name) = ("setuid"); asmlinkage(); (uid) = (int_arg(1)); (argstr) = (sprint(uid)); } probe nd_syscall.setuid.return = kprobe.function("sys_setuid16").return?, kprobe.function("sys_setuid").return?{ (name) = ("setuid"); (retstr) = (returnstr(1)); } probe nd_syscall.setxattr = kprobe.function("sys_setxattr")?{ (name) = ("setxattr"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (name_uaddr) = (pointer_arg(2)); (name_str) = (user_string_quoted(name_uaddr)); (value_uaddr) = (pointer_arg(3)); (size) = (ulong_arg(4)); (value_str) = (_stp_xattr_val_str(value_uaddr, size)); (flags) = (int_arg(5)); (flags_str) = (_stp_xattr_flags_str(flags)); (argstr) = (sprintf("%s, %s, %s, %u, %s", user_string_quoted(path_uaddr), user_string_quoted(name_uaddr), _stp_xattr_val_str(value_uaddr, size), size, _stp_xattr_flags_str(flags))); } probe nd_syscall.setxattr.return = kprobe.function("sys_setxattr").return?{ (name) = ("setxattr"); (retstr) = (returnstr(1)); } probe nd_syscall.sgetmask = kprobe.function("sys_sgetmask")?{ (name) = ("sgetmask"); (argstr) = (""); } probe nd_syscall.sgetmask.return = kprobe.function("sys_sgetmask").return?{ (name) = ("sgetmask"); (retstr) = (returnstr(1)); } probe nd_syscall.shmat = kprobe.function("sys_shmat")?{ (name) = ("shmat"); asmlinkage(); (shmid) = (int_arg(1)); (shmaddr_uaddr) = (pointer_arg(2)); (shmflg) = (int_arg(3)); (argstr) = (sprintf("%d, %p, %s", shmid, shmaddr_uaddr, _shmat_flags_str(shmflg))); } probe nd_syscall.shmat.return = kprobe.function("sys_shmat").return?{ (name) = ("shmat"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_shmat = kprobe.function("compat_sys_shmat")?{ (name) = ("shmat"); (shmid) = (int_arg(1)); (shmflg) = (int_arg(3)); (shmaddr_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p, %s", shmid, shmaddr_uaddr, _shmat_flags_str(shmflg))); } probe nd_syscall.compat_sys_shmat.return = kprobe.function("compat_sys_shmat").return?{ (name) = ("shmat"); (retstr) = (returnstr(1)); } probe nd_syscall.shmctl = kprobe.function("sys_shmctl")?{ (name) = ("shmctl"); asmlinkage(); (shmid) = (int_arg(1)); (cmd) = (int_arg(2)); (cmd_str) = (_semctl_cmd(cmd)); (buf_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%d, %s, %p", shmid, _semctl_cmd(cmd), buf_uaddr)); } probe nd_syscall.shmctl.return = kprobe.function("sys_shmctl").return?{ (name) = ("shmctl"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_shmctl = __nd_syscall.compat_shmctl?, __nd_syscall.compat_ipc.shmctl?{ (name) = ("shmctl"); (cmd_str) = (_semctl_cmd(cmd)); (argstr) = (sprintf("%d, %s, %p", shmid, cmd_str, buf_uaddr)); } probe __nd_syscall.compat_shmctl = kprobe.function("compat_sys_shmctl")?{ (shmid) = (int_arg(1)); (cmd) = (int_arg(2)); (buf_uaddr) = (pointer_arg(3)); } probe __nd_syscall.compat_ipc.shmctl = kprobe.function("compat_sys_ipc")?, kprobe.function("sys32_ipc")?{ if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SHMCTL %})) next ; (shmid) = (int_arg(2)); (cmd) = (int_arg(3)); (buf_uaddr) = (pointer_arg(5)); } probe nd_syscall.compat_sys_shmctl.return = kprobe.function("compat_sys_shmctl").return?, __nd_syscall.compat_ipc.shmctl.return?{ (name) = ("compat_sys_shmctl"); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_ipc.shmctl.return = kprobe.function("compat_sys_ipc").return?, kprobe.function("sys32_ipc").return?{ if ((@entry(int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SHMCTL %})) next ; } probe nd_syscall.shmdt = kprobe.function("sys_shmdt")?{ (name) = ("shmdt"); asmlinkage(); (shmaddr_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%p", shmaddr_uaddr)); } probe nd_syscall.shmdt.return = kprobe.function("sys_shmdt").return?{ (name) = ("shmdt"); (retstr) = (returnstr(1)); } probe nd_syscall.shmget = kprobe.function("sys_shmget")?{ (name) = ("shmget"); asmlinkage(); (key) = (int_arg(1)); (size) = (ulong_arg(2)); (shmflg) = (int_arg(3)); (shmflg_str) = (_stp_shmget_flags_str(shmflg)); (argstr) = (sprintf("%d, %u, %s", key, size, shmflg_str)); } probe nd_syscall.shmget.return = kprobe.function("sys_shmget").return?{ (name) = ("shmget"); (retstr) = (returnstr(1)); } probe nd_syscall.shutdown = __nd_syscall.shutdown?, __nd_syscall.socketcall.shutdown?, __nd_syscall.compat_socketcall.shutdown?{ (name) = ("shutdown"); (how_str) = (_shutdown_how_str(how)); (argstr) = (sprintf("%d, %s", s, how_str)); } probe __nd_syscall.shutdown = kprobe.function("sys_shutdown")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_shutdown %})) next ; } } catch { { next; } } ; asmlinkage(); (s) = (int_arg(1)); (how) = (int_arg(2)); } probe __nd_syscall.socketcall.shutdown = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (s) = (__int32(user_ulong(&(__args)[0]))); (how) = (__int32(user_ulong(&(__args)[1]))); } probe __nd_syscall.compat_socketcall.shutdown = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (s) = (user_int(&(__args)[0])); (how) = (user_int(&(__args)[1])); } probe nd_syscall.shutdown.return = __nd_syscall.shutdown.return?, __nd_syscall.socketcall.shutdown.return?{ (name) = ("shutdown"); (retstr) = (returnstr(1)); } probe __nd_syscall.shutdown.return = kprobe.function("sys_shutdown").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_shutdown %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.shutdown.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; } probe nd_syscall.sigaction = kprobe.function("sys_sigaction")?{ (name) = ("sigaction"); asmlinkage(); (sig) = (int_arg(1)); (act_uaddr) = (pointer_arg(2)); (oact_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, {%s}, %p", _signal_name(sig), _struct_sigaction_u(act_uaddr), oact_uaddr)); } probe nd_syscall.sigaction.return = kprobe.function("sys_sigaction").return?{ (name) = ("sigaction"); (retstr) = (returnstr(1)); } probe nd_syscall.sigaction32 = kprobe.function("sys32_sigaction")?, kprobe.function("compat_sys_sigaction")?{ (name) = ("sigaction"); asmlinkage(); (sig) = (int_arg(1)); (act_uaddr) = (pointer_arg(2)); (oact_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, {%s}, %p", _signal_name(sig), _struct_old_sigaction32_u(act_uaddr), oact_uaddr)); } probe nd_syscall.sigaction32.return = kprobe.function("sys32_sigaction").return?, kprobe.function("compat_sys_sigaction").return?{ (name) = ("sigaction"); (retstr) = (returnstr(1)); } probe nd_syscall.sigaltstack = kprobe.function("sys_sigaltstack"), kprobe.function("compat_sys_sigaltstack")?{ (name) = ("sigaltstack"); asmlinkage(); (uss_uaddr) = (pointer_arg(1)); (uoss_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_sigaltstack_u(uss_uaddr)):(_stp_sigaltstack_u(uss_uaddr)), uoss_uaddr)); } probe nd_syscall.sigaltstack.return = kprobe.function("sys_sigaltstack").return, kprobe.function("compat_sys_sigaltstack").return?{ (name) = ("sigaltstack"); (retstr) = (returnstr(1)); } probe nd_syscall.signal = kprobe.function("sys_signal")?{ (name) = ("signal"); asmlinkage(); (sig) = (int_arg(1)); (handler) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", _signal_name(sig), _sighandler_str(handler))); } probe nd_syscall.signal.return = kprobe.function("sys_signal").return?{ (name) = ("signal"); (retstr) = (returnstr(1)); } probe nd_syscall.signalfd = __nd_syscall.signalfd4!, __nd_syscall.signalfd?{ } probe __nd_syscall.signalfd4 = kprobe.function("sys_signalfd4"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd4 %})) next ; } } catch { { next; } } ; asmlinkage(); (flags) = (int_arg(4)); if ((flags) == (0)) { (name) = ("signalfd"); (argstr) = (sprintf("%d, %p, %d", int_arg(1), pointer_arg(2), ulong_arg(3))); } else { (name) = ("signalfd4"); (argstr) = (sprintf("%d, %p, %d, %s", int_arg(1), pointer_arg(2), ulong_arg(3), _signalfd4_flags_str(flags))); } ; } probe __nd_syscall.signalfd = kprobe.function("sys_signalfd"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd %})) next ; } } catch { { next; } } ; (name) = ("signalfd"); asmlinkage(); (flags) = (0); (argstr) = (sprintf("%d, %p, %d", int_arg(1), pointer_arg(2), ulong_arg(3))); } probe nd_syscall.signalfd.return = __nd_syscall.signalfd4.return!, __nd_syscall.signalfd.return?{ (retstr) = (returnstr(1)); } probe __nd_syscall.signalfd4.return = kprobe.function("sys_signalfd4").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd4 %})) next ; } } catch { { next; } } ; (flags) = (@entry(__asmlinkage_int_arg(4))); (name) = (((flags) == (0))?("signalfd"):("signalfd4")); } probe __nd_syscall.signalfd.return = kprobe.function("sys_signalfd").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd %})) next ; } } catch { { next; } } ; (flags) = (0); (name) = ("signalfd"); } probe nd_syscall.compat_signalfd = __nd_syscall.compat_signalfd4!, __nd_syscall.compat_signalfd?{ } probe __nd_syscall.compat_signalfd4 = kprobe.function("compat_sys_signalfd4"){ asmlinkage(); (flags) = (int_arg(4)); if ((flags) == (0)) { (name) = ("signalfd"); (argstr) = (sprintf("%d, %p, %d", int_arg(1), pointer_arg(2), u32_arg(3))); } else { (name) = ("signalfd4"); (argstr) = (sprintf("%d, %p, %d, %s", int_arg(1), pointer_arg(2), u32_arg(3), _signalfd4_flags_str(flags))); } ; } probe __nd_syscall.compat_signalfd = kprobe.function("compat_sys_signalfd"){ asmlinkage(); (flags) = (0); (name) = ("signalfd"); (argstr) = (sprintf("%d, %p, %d", int_arg(1), pointer_arg(2), u32_arg(3))); } probe nd_syscall.compat_signalfd.return = __nd_syscall.compat_signalfd4.return!, __nd_syscall.compat_signalfd.return?{ } probe __nd_syscall.compat_signalfd4.return = kprobe.function("compat_sys_signalfd4").return{ (flags) = (@entry(__asmlinkage_int_arg(4))); (name) = (((flags) == (0))?("signalfd"):("signalfd4")); (retstr) = (returnstr(1)); } probe __nd_syscall.compat_signalfd.return = kprobe.function("compat_sys_signalfd").return{ (flags) = (0); (name) = ("signalfd"); (retstr) = (returnstr(1)); } probe nd_syscall.sigpending = __nd_syscall.sigpending?, kprobe.function("compat_sys_sigpending")?{ (name) = ("sigpending"); asmlinkage(); (argstr) = (sprintf("%p", pointer_arg(1))); } probe __nd_syscall.sigpending = kprobe.function("sys_sigpending")?{ } probe nd_syscall.sigpending.return = __nd_syscall.sigpending.return?, kprobe.function("compat_sys_sigpending").return?{ (name) = ("sigpending"); (retstr) = (returnstr(1)); } probe __nd_syscall.sigpending.return = kprobe.function("sys_sigpending").return?{ } probe nd_syscall.sigprocmask = __nd_syscall.sigprocmask?, kprobe.function("compat_sys_sigprocmask")?{ (name) = ("sigprocmask"); asmlinkage(); (how) = (int_arg(1)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = (pointer_arg(2)); (oldset_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %p, %p", how_str, set_uaddr, oldset_uaddr)); } probe __nd_syscall.sigprocmask = kprobe.function("sys_sigprocmask")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sigprocmask %})) next ; } } catch { { next; } } ; } probe nd_syscall.sigprocmask.return = __nd_syscall.sigprocmask.return?, kprobe.function("compat_sys_sigprocmask").return?{ (name) = ("sigprocmask"); (retstr) = (returnstr(1)); } probe __nd_syscall.sigprocmask.return = kprobe.function("sys_sigprocmask").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sigprocmask %})) next ; } } catch { { next; } } ; } probe nd_syscall.sigreturn = kprobe.function("sys_sigreturn")?, kprobe.function("sys32_sigreturn")?{ (name) = ("sigreturn"); (argstr) = (""); } probe nd_syscall.sigreturn.return = kprobe.function("sys_sigreturn").return?, kprobe.function("sys32_sigreturn").return?{ (name) = ("sigreturn"); (retstr) = (returnstr(1)); } probe nd_syscall.sigsuspend = __nd_syscall.sisguspend?, __nd_syscall.compat_sys_sigsuspsend?{ (name) = ("sigsuspend"); (argstr) = (sprintf("%s", _stp_sigmask_str(mask))); } probe __nd_syscall.sisguspend = kprobe.function("sys_sigsuspend")?, kprobe.function("sys32_sigsuspend")?{ asmlinkage(); (mask) = (ulong_arg(3)); } probe __nd_syscall.compat_sys_sigsuspsend = kprobe.function("compat_sys_sigsuspend")?{ asmlinkage(); (mask) = (ulong_arg(1)); } probe nd_syscall.sigsuspend.return = kprobe.function("sys_sigsuspend").return?, kprobe.function("sys32_sigsuspend").return?, kprobe.function("compat_sys_sigsuspend").return?{ (name) = ("sigsuspend"); (retstr) = (returnstr(1)); } probe nd_syscall.socket = __nd_syscall.socket?, __nd_syscall.socketcall.socket?, __nd_syscall.compat_socketcall.socket?{ (name) = ("socket"); (argstr) = (sprintf("%s, %s, %s", _sock_family_str(family), _sock_type_str(type), _sock_protocol_str(family, protocol))); } probe __nd_syscall.socket = kprobe.function("sys_socket")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socket %})) next ; } } catch { { next; } } ; asmlinkage(); (family) = (int_arg(1)); (type) = (int_arg(2)); (protocol) = (int_arg(3)); } probe __nd_syscall.socketcall.socket = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (family) = (__int32(user_ulong(&(__args)[0]))); (type) = (__int32(user_ulong(&(__args)[1]))); (protocol) = (__int32(user_ulong(&(__args)[2]))); } probe __nd_syscall.compat_socketcall.socket = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (family) = (user_int(&(__args)[0])); (type) = (user_int(&(__args)[1])); (protocol) = (user_int(&(__args)[2])); } probe nd_syscall.socket.return = __nd_syscall.socket.return?, __nd_syscall.socketcall.socket.return?{ (name) = ("socket"); (retstr) = (returnstr(1)); } probe __nd_syscall.socket.return = kprobe.function("sys_socket").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socket %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.socket.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; } probe nd_syscall.socketpair = __nd_syscall.socketpair?, __nd_syscall.socketcall.socketpair?, __nd_syscall.compat_socketcall.socketpair?{ (name) = ("socketpair"); asmlinkage(); (argstr) = (sprintf("%s, %s, %s, %p", _sock_family_str(family), _sock_type_str(type), _sock_protocol_str(family, protocol), sv_uaddr)); } probe __nd_syscall.socketpair = kprobe.function("sys_socketpair")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socketpair %})) next ; } } catch { { next; } } ; asmlinkage(); (family) = (int_arg(1)); (type) = (int_arg(2)); (protocol) = (int_arg(3)); (sv_uaddr) = (pointer_arg(4)); } probe __nd_syscall.socketcall.socketpair = kprobe.function("sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; (__args) = (&@cast(pointer_arg(2), "ulong", "kernel")); (family) = (__int32(user_ulong(&(__args)[0]))); (type) = (__int32(user_ulong(&(__args)[1]))); (protocol) = (__int32(user_ulong(&(__args)[2]))); (sv_uaddr) = (user_ulong(&(__args)[3])); } probe __nd_syscall.compat_socketcall.socketpair = kprobe.function("compat_sys_socketcall").call?{ asmlinkage(); if ((int_arg(1)) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; (__args) = (&@cast(pointer_arg(2), "unsigned int", "kernel")); (family) = (user_int(&(__args)[0])); (type) = (user_int(&(__args)[1])); (protocol) = (user_int(&(__args)[2])); (sv_uaddr) = (user_uint32(&(__args)[3])); } probe nd_syscall.socketpair.return = __nd_syscall.socketpair.return?, __nd_syscall.socketcall.socketpair.return?{ (name) = ("socketpair"); (retstr) = (returnstr(1)); } probe __nd_syscall.socketpair.return = kprobe.function("sys_socketpair").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socketpair %})) next ; } } catch { { next; } } ; } probe __nd_syscall.socketcall.socketpair.return = kprobe.function("sys_socketcall").return?, kprobe.function("compat_sys_socketcall").return?{ if ((@entry(__asmlinkage_int_arg(1))) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; } probe nd_syscall.splice = kprobe.function("sys_splice")?{ (name) = ("splice"); asmlinkage(); (fd_in) = (int_arg(1)); (off_in) = (pointer_arg(2)); (fd_out) = (int_arg(3)); (off_out) = (pointer_arg(4)); (len) = (ulong_arg(5)); (flags) = (uint_arg(6)); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, %p, %u, %s", fd_in, off_in, fd_out, off_out, len, flags_str)); } probe nd_syscall.splice.return = kprobe.function("sys_splice").return?{ (name) = ("splice"); (retstr) = (returnstr(1)); } probe nd_syscall.ssetmask = kprobe.function("sys_ssetmask")?{ (name) = ("ssetmask"); asmlinkage(); (newmask) = (int_arg(1)); (newmask_str) = (_stp_sigmask_str(newmask)); (argstr) = (_stp_sigmask_str(newmask)); } probe nd_syscall.ssetmask.return = kprobe.function("sys_ssetmask").return?{ (name) = ("ssetmask"); (retstr) = (returnstr(1)); } probe nd_syscall.stat = kprobe.function("sys_stat")?, kprobe.function("sys_newstat")?, kprobe.function("sys32_stat64")?, kprobe.function("sys_stat64")?, kprobe.function("sys_oabi_stat64")?, kprobe.function("compat_sys_newstat")?{ (name) = ("stat"); asmlinkage(); (filename_uaddr) = (pointer_arg(1)); (filename) = (user_string_quoted(filename_uaddr)); (buf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", user_string_quoted(filename_uaddr), buf_uaddr)); } probe nd_syscall.stat.return = kprobe.function("sys_stat").return?, kprobe.function("sys_newstat").return?, kprobe.function("sys32_stat64").return?, kprobe.function("sys_stat64").return?, kprobe.function("sys_oabi_stat64").return?, kprobe.function("compat_sys_newstat").return?{ (name) = ("stat"); (retstr) = (returnstr(1)); } probe nd_syscall.statfs = kprobe.function("compat_sys_statfs")?, kprobe.function("sys_statfs")?{ (name) = ("statfs"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (buf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %p", user_string_quoted(pointer_arg(1)), buf_uaddr)); } probe nd_syscall.statfs.return = kprobe.function("compat_sys_statfs").return?, kprobe.function("sys_statfs").return?{ (name) = ("statfs"); (retstr) = (returnstr(1)); } probe nd_syscall.statfs64 = kprobe.function("sys_statfs64")?, kprobe.function("compat_sys_statfs64")?{ (name) = ("statfs64"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (sz) = (ulong_arg(2)); (buf_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %u, %p", path, sz, buf_uaddr)); } probe nd_syscall.statfs64.return = kprobe.function("sys_statfs64").return?, kprobe.function("compat_sys_statfs64").return?{ (name) = ("statfs64"); (retstr) = (returnstr(1)); } probe nd_syscall.stime = kprobe.function("compat_sys_stime")?, kprobe.function("sys_stime")?{ (name) = ("stime"); asmlinkage(); (t_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%p", t_uaddr)); } probe nd_syscall.stime.return = kprobe.function("compat_sys_stime").return?, kprobe.function("sys_stime").return?{ (name) = ("stime"); (retstr) = (returnstr(1)); } probe nd_syscall.swapoff = kprobe.function("sys_swapoff")?{ (name) = ("swapoff"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (argstr) = (user_string_quoted(pointer_arg(1))); } probe nd_syscall.swapoff.return = kprobe.function("sys_swapoff").return?{ (name) = ("swapoff"); (retstr) = (returnstr(1)); } probe nd_syscall.swapon = kprobe.function("sys_swapon")?{ (name) = ("swapon"); asmlinkage(); (path) = (user_string_quoted(pointer_arg(1))); (swapflags) = (int_arg(2)); (swapflags_str) = (_swapon_flags_str(swapflags)); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), swapflags_str)); } probe nd_syscall.swapon.return = kprobe.function("sys_swapon").return?{ (name) = ("swapon"); (retstr) = (returnstr(1)); } probe nd_syscall.symlink = kprobe.function("sys_symlink")?{ (name) = ("symlink"); asmlinkage(); (oldpath) = (user_string_quoted(pointer_arg(1))); (newpath) = (user_string_quoted(pointer_arg(2))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), user_string_quoted(pointer_arg(2)))); } probe nd_syscall.symlink.return = kprobe.function("sys_symlink").return?{ (name) = ("symlink"); (retstr) = (returnstr(1)); } probe nd_syscall.symlinkat = kprobe.function("sys_symlinkat")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_symlinkat %})) next ; } } catch { { next; } } ; (name) = ("symlinkat"); asmlinkage(); (oldname) = (pointer_arg(1)); (oldname_str) = (user_string_quoted(oldname)); (newdfd) = (int_arg(2)); (newdfd_str) = (_dfd_str(newdfd)); (newname) = (pointer_arg(3)); (newname_str) = (user_string_quoted(newname)); (argstr) = (sprintf("%s, %s, %s", user_string_quoted(oldname), newdfd_str, user_string_quoted(newname))); } probe nd_syscall.symlinkat.return = kprobe.function("sys_symlinkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_symlinkat %})) next ; } } catch { { next; } } ; (name) = ("symlinkat"); (retstr) = (returnstr(1)); } probe nd_syscall.sync = kprobe.function("sys_sync"){ (name) = ("sync"); (argstr) = (""); } probe nd_syscall.sync.return = kprobe.function("sys_sync").return{ (name) = ("sync"); (retstr) = (returnstr(1)); } probe nd_syscall.sync_file_range = kprobe.function("sys_sync_file_range")?{ asmlinkage(); (name) = ("sync_file_range"); (fd) = (int_arg(1)); (offset) = (longlong_arg(2)); (nbytes) = (longlong_arg(3)); (flags) = (uint_arg(4)); (flags_str) = (_sync_file_range_flags_str(flags)); (argstr) = (sprintf("%d, %d, %d, %s", fd, offset, nbytes, _sync_file_range_flags_str(flags))); } probe nd_syscall.sync_file_range.return = kprobe.function("sys_sync_file_range").return?{ (name) = ("sync_file_range"); (retstr) = (returnstr(1)); } probe nd_syscall.syncfs = kprobe.function("sys_syncfs")?{ asmlinkage(); (name) = ("syncfs"); (fd) = (int_arg(1)); (argstr) = (sprintf("%d", fd)); } probe nd_syscall.syncfs.return = kprobe.function("sys_syncfs").return?{ (name) = ("syncfs"); (retstr) = (returnstr(1)); } probe nd_syscall.sysctl = kprobe.function("compat_sys_sysctl")?, kprobe.function("sys_sysctl")?{ (name) = ("sysctl"); asmlinkage(); (argstr) = (sprintf("%p", pointer_arg(1))); } probe nd_syscall.sysctl.return = kprobe.function("compat_sys_sysctl").return?, kprobe.function("sys_sysctl").return?{ (name) = ("sysctl"); (retstr) = (returnstr(1)); } probe nd_syscall.sysfs = kprobe.function("sys_sysfs")?{ (name) = ("sysfs"); asmlinkage(); (option) = (int_arg(1)); (arg1) = (ulong_arg(2)); (arg2) = (ulong_arg(3)); if ((option) == (1)) (argstr) = (sprintf("%d, %s", option, user_string_quoted(arg1))) else if ((option) == (2)) (argstr) = (sprintf("%d, %d, %p", option, arg1, arg2)) else if ((option) == (3)) (argstr) = (sprintf("%d", option)) else (argstr) = (sprintf("%d, 0x%x, 0x%x", option, arg1, arg2)) ; } probe nd_syscall.sysfs.return = kprobe.function("sys_sysfs").return?{ (name) = ("sysfs"); (retstr) = (returnstr(1)); } probe nd_syscall.sysinfo = kprobe.function("compat_sys_sysinfo")?, kprobe.function("sys_sysinfo")?{ (name) = ("sysinfo"); asmlinkage(); (info_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%s", _struct_sysinfo_u(info_uaddr))); } probe nd_syscall.sysinfo.return = kprobe.function("compat_sys_sysinfo").return?, kprobe.function("sys_sysinfo").return?{ (name) = ("sysinfo"); (retstr) = (returnstr(1)); } probe nd_syscall.syslog = kprobe.function("sys_syslog")?{ (name) = ("syslog"); asmlinkage(); (type) = (int_arg(1)); (bufp_uaddr) = (pointer_arg(2)); (len) = (int_arg(3)); (argstr) = (sprintf("%d, %p, %d", type, bufp_uaddr, len)); } probe nd_syscall.syslog.return = kprobe.function("sys_syslog").return?{ (name) = ("syslog"); (retstr) = (returnstr(1)); } probe nd_syscall.tee = kprobe.function("sys_tee")?{ (name) = ("tee"); asmlinkage(); (fdin) = (int_arg(1)); (fdout) = (int_arg(2)); (len) = (ulong_arg(3)); (flags) = (uint_arg(4)); (argstr) = (sprintf("%d, %d, %u, 0x%x", fdin, fdout, len, flags)); } probe nd_syscall.tee.return = kprobe.function("sys_tee").return?{ (name) = ("tee"); (retstr) = (returnstr(1)); } probe nd_syscall.tgkill = kprobe.function("sys_tgkill")?{ (name) = ("tgkill"); asmlinkage(); (tgid) = (int_arg(1)); (pid) = (int_arg(2)); (sig) = (int_arg(3)); (argstr) = (sprintf("%d, %d, %s", tgid, pid, _signal_name(sig))); } probe nd_syscall.tgkill.return = kprobe.function("sys_tgkill").return?{ (name) = ("tgkill"); (retstr) = (returnstr(1)); } probe nd_syscall.time = kprobe.function("sys32_time")?, kprobe.function("sys_time64")?, kprobe.function("compat_sys_time")?, kprobe.function("sys_time")?{ (name) = ("time"); asmlinkage(); (t_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%p", t_uaddr)); } probe nd_syscall.time.return = kprobe.function("sys32_time").return?, kprobe.function("sys_time64").return?, kprobe.function("compat_sys_time").return?, kprobe.function("sys_time").return?{ (name) = ("time"); (retstr) = (returnstr(1)); } probe nd_syscall.timer_create = __nd_syscall.timer_create, __nd_syscall.compat_timer_create?{ (name) = ("timer_create"); } probe __nd_syscall.timer_create = kprobe.function("sys_timer_create"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_create %})) next ; } } catch { { next; } } ; asmlinkage(); (clockid) = (int_arg(1)); (clockid_str) = (_get_wc_str(clockid)); (evp_uaddr) = (pointer_arg(2)); (timerid_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %p, %p", clockid_str, evp_uaddr, timerid_uaddr)); } probe __nd_syscall.compat_timer_create = kprobe.function("compat_sys_timer_create")?{ asmlinkage(); (clockid) = (int_arg(1)); (clockid_str) = (_get_wc_str(clockid)); (evp_uaddr) = (pointer_arg(2)); (timerid_uaddr) = (pointer_arg(3)); (argstr) = (sprintf("%s, %p, %p", clockid_str, evp_uaddr, timerid_uaddr)); } probe nd_syscall.timer_create.return = __nd_syscall.timer_create.return, kprobe.function("compat_sys_timer_create").return?{ (name) = ("timer_create"); (retstr) = (returnstr(1)); } probe __nd_syscall.timer_create.return = kprobe.function("sys_timer_create").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_create %})) next ; } } catch { { next; } } ; } probe nd_syscall.timer_delete = kprobe.function("sys_timer_delete")?{ (name) = ("timer_delete"); asmlinkage(); (timerid) = (int_arg(1)); (argstr) = (sprint(timerid)); } probe nd_syscall.timer_delete.return = kprobe.function("sys_timer_delete").return?{ (name) = ("timer_delete"); (retstr) = (returnstr(1)); } probe nd_syscall.timer_getoverrun = kprobe.function("sys_timer_getoverrun")?{ (name) = ("timer_getoverrun"); asmlinkage(); (timerid) = (int_arg(1)); (argstr) = (sprint(timerid)); } probe nd_syscall.timer_getoverrun.return = kprobe.function("sys_timer_getoverrun").return?{ (name) = ("timer_getoverrun"); (retstr) = (returnstr(1)); } probe nd_syscall.timer_gettime = __nd_syscall.timer_gettime, __nd_syscall.compat_timer_gettime?{ (name) = ("timer_gettime"); } probe __nd_syscall.timer_gettime = kprobe.function("sys_timer_gettime"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_gettime %})) next ; } } catch { { next; } } ; asmlinkage(); (timerid) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", timerid, value_uaddr)); } probe __nd_syscall.compat_timer_gettime = kprobe.function("compat_sys_timer_gettime")?{ asmlinkage(); (timerid) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", timerid, value_uaddr)); } probe nd_syscall.timer_gettime.return = __nd_syscall.timer_gettime.return, kprobe.function("compat_sys_timer_gettime").return?{ (name) = ("timer_gettime"); (retstr) = (returnstr(1)); } probe __nd_syscall.timer_gettime.return = kprobe.function("sys_timer_gettime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_gettime %})) next ; } } catch { { next; } } ; } probe nd_syscall.timer_settime = __nd_syscall.timer_settime, __nd_syscall.compat_timer_settime?{ (name) = ("timer_settime"); asmlinkage(); } probe __nd_syscall.timer_settime = kprobe.function("sys_timer_settime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_settime %})) next ; } } catch { { next; } } ; asmlinkage(); (timerid) = (int_arg(1)); (flags) = (int_arg(2)); (value_uaddr) = (pointer_arg(3)); (ovalue_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %d, %s, %p", timerid, flags, _struct_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe __nd_syscall.compat_timer_settime = kprobe.function("compat_sys_timer_settime").call?{ asmlinkage(); (timerid) = (int_arg(1)); (flags) = (int_arg(2)); (value_uaddr) = (pointer_arg(3)); (ovalue_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %d, %s, %p", timerid, flags, _struct_compat_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe nd_syscall.timer_settime.return = __nd_syscall.timer_settime.return, kprobe.function("compat_sys_timer_settime").return?{ (name) = ("timer_settime"); (retstr) = (returnstr(1)); } probe __nd_syscall.timer_settime.return = kprobe.function("sys_timer_settime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_settime %})) next ; } } catch { { next; } } ; } probe nd_syscall.timerfd = kprobe.function("sys_timerfd")?, kprobe.function("compat_sys_timerfd")?{ (name) = ("timerfd"); asmlinkage(); (argstr) = (sprintf("%d, %d, 0x%x", int_arg(1), int_arg(2), int_arg(3))); } probe nd_syscall.timerfd.return = kprobe.function("sys_timerfd").return?, kprobe.function("compat_sys_timerfd").return?{ (name) = ("timerfd"); (retstr) = (returnstr(1)); } probe nd_syscall.timerfd_create = kprobe.function("sys_timerfd_create").call?{ (name) = ("timerfd_create"); asmlinkage(); (clockid) = (int_arg(1)); (clockid_str) = (_get_wc_str(clockid)); (flags) = (int_arg(2)); (flags_str) = (_stp_timerfd_flags_str(flags)); (argstr) = (sprintf("%s, %s", clockid_str, flags_str)); } probe nd_syscall.timerfd_create.return = kprobe.function("sys_timerfd_create").return?{ (name) = ("timerfd_create"); (retstr) = (returnstr(1)); } probe nd_syscall.timerfd_gettime = __nd_syscall.timerfd_gettime?, kprobe.function("compat_sys_timerfd_gettime").call?{ (name) = ("timerfd_gettime"); asmlinkage(); (fd) = (int_arg(1)); (value_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", fd, value_uaddr)); } probe __nd_syscall.timerfd_gettime = kprobe.function("sys_timerfd_gettime").call?{ } probe nd_syscall.timerfd_gettime.return = __nd_syscall.timerfd_gettime.return?, kprobe.function("compat_sys_timerfd_gettime").return?{ (name) = ("timerfd_gettime"); (retstr) = (returnstr(1)); } probe __nd_syscall.timerfd_gettime.return = kprobe.function("sys_timerfd_gettime").return?{ } probe nd_syscall.timerfd_settime = __nd_syscall.timerfd_settime?, __nd_syscall.compat_timerfd_settime?{ (name) = ("timerfd_settime"); } probe __nd_syscall.timerfd_settime = kprobe.function("sys_timerfd_settime").call?{ asmlinkage(); (fd) = (int_arg(1)); (flags) = (int_arg(2)); (flags_str) = (_stp_timerfd_flags_str(flags)); (value_uaddr) = (pointer_arg(3)); (ovalue_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %s, %s, %p", fd, flags_str, _struct_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe __nd_syscall.compat_timerfd_settime = kprobe.function("compat_sys_timerfd_settime").call?{ asmlinkage(); (fd) = (int_arg(1)); (flags) = (int_arg(2)); (flags_str) = (_stp_timerfd_flags_str(flags)); (value_uaddr) = (pointer_arg(3)); (ovalue_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %s, %s, %p", fd, flags_str, _struct_compat_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe nd_syscall.timerfd_settime.return = __nd_syscall.timerfd_settime.return?, kprobe.function("compat_sys_timerfd_settime").return?{ (name) = ("timerfd_settime"); (retstr) = (returnstr(1)); } probe __nd_syscall.timerfd_settime.return = kprobe.function("sys_timerfd_settime").return?{ } probe nd_syscall.times = kprobe.function("compat_sys_times")?, kprobe.function("sys_times")?{ (name) = ("times"); asmlinkage(); (buf_uaddr) = (pointer_arg(1)); (argstr) = (sprintf("%s", _struct_tms_u(buf_uaddr))); } probe nd_syscall.times.return = kprobe.function("compat_sys_times").return?, kprobe.function("sys_times").return?{ (name) = ("times"); (retstr) = (returnstr(1)); } probe nd_syscall.tkill = kprobe.function("sys_tkill")?{ (name) = ("tkill"); asmlinkage(); (pid) = (int_arg(1)); (sig) = (int_arg(2)); (argstr) = (sprintf("%d, %s", pid, _signal_name(sig))); } probe nd_syscall.tkill.return = kprobe.function("sys_tkill").return?{ (name) = ("tkill"); (retstr) = (returnstr(1)); } probe nd_syscall.truncate = __nd_syscall.truncate?, __nd_syscall.truncate64?, __nd_syscall.compat_truncate?{ (name) = ("truncate"); asmlinkage(); (path_uaddr) = (pointer_arg(1)); (path) = (user_string_quoted(path_uaddr)); (argstr) = (sprintf("%s, %d", user_string_quoted(path_uaddr), length)); } probe __nd_syscall.truncate = kprobe.function("sys_truncate")?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_truncate %})) next ; } } catch { { next; } } ; asmlinkage(); (length) = (long_arg(2)); } probe __nd_syscall.truncate64 = kprobe.function("sys_truncate64")?{ asmlinkage(); (length) = (longlong_arg(2)); } probe __nd_syscall.compat_truncate = kprobe.function("compat_sys_truncate")?{ asmlinkage(); (length) = (int_arg(2)); } probe nd_syscall.truncate.return = __nd_syscall.truncate.return?, kprobe.function("sys_truncate64").return?, kprobe.function("compat_sys_truncate").return?{ (name) = ("truncate"); (retstr) = (returnstr(1)); } probe __nd_syscall.truncate.return = kprobe.function("sys_truncate").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_truncate %})) next ; } } catch { { next; } } ; } probe nd_syscall.tux = kprobe.function("sys_tux")?{ (name) = ("tux"); asmlinkage(); (action) = (uint_arg(1)); (u_info_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%d, %p", action, u_info_uaddr)); } probe nd_syscall.tux.return = kprobe.function("sys_tux").return?{ (name) = ("tux"); (retstr) = (returnstr(1)); } probe nd_syscall.umask = kprobe.function("sys_umask")?{ (name) = ("umask"); asmlinkage(); (mask) = (uint_arg(1)); (argstr) = (sprintf("%#o", mask)); } probe nd_syscall.umask.return = kprobe.function("sys_umask").return?{ (name) = ("umask"); (retstr) = (returnstr(3)); } probe nd_syscall.umount = __nd_syscall.umount, __nd_syscall.oldumount?{ (name) = ("umount"); } probe __nd_syscall.umount = kprobe.function("sys_umount"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_umount2 %})) next ; } } catch { { next; } } ; asmlinkage(); (target) = (user_string_quoted(pointer_arg(1))); (flags) = (int_arg(2)); (flags_str) = (_umountflags_str(flags)); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), flags_str)); } probe __nd_syscall.oldumount = kprobe.function("sys_oldumount")?{ asmlinkage(); (target) = (user_string_quoted(pointer_arg(1))); (flags) = (0); (flags_str) = (_umountflags_str(0)); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), flags_str)); } probe nd_syscall.umount.return = __nd_syscall.umount.return, kprobe.function("sys_oldumount").return?{ (name) = ("umount"); (retstr) = (returnstr(1)); } probe __nd_syscall.umount.return = kprobe.function("sys_umount").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_umount2 %})) next ; } } catch { { next; } } ; } probe nd_syscall.uname = kprobe.function("sys_uname")?, kprobe.function("sys_olduname")?, kprobe.function("sys32_olduname")?, kprobe.function("sys32_uname")?, kprobe.function("sys_newuname")?{ (name) = ("uname"); (_func_name) = (ppfunc()); if ((_func_name) != ("sys32_uname")) { if (((_func_name) == ("sys_uname")) || ((_func_name) == ("sys_olduname"))) { asmlinkage(); } else asmlinkage() ; } ; (argstr) = (sprintf("%p", pointer_arg(1))); } probe nd_syscall.uname.return = kprobe.function("sys_uname").return?, kprobe.function("sys_olduname").return?, kprobe.function("sys32_olduname").return?, kprobe.function("sys32_uname").return?, kprobe.function("sys_newuname").return?{ (name) = ("uname"); (retstr) = (returnstr(1)); } probe nd_syscall.unlink = kprobe.function("sys_unlink")?{ (name) = ("unlink"); asmlinkage(); (pathname_uaddr) = (pointer_arg(1)); (pathname) = (user_string_quoted(pathname_uaddr)); (argstr) = (user_string_quoted(pathname_uaddr)); } probe nd_syscall.unlink.return = kprobe.function("sys_unlink").return?{ (name) = ("unlink"); (retstr) = (returnstr(1)); } probe nd_syscall.unlinkat = kprobe.function("sys_unlinkat")?{ (name) = ("unlinkat"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (pathname) = (pointer_arg(2)); (pathname_str) = (user_string_quoted(pathname)); (flag) = (uint_arg(3)); (flag_str) = (_at_flag_str(flag)); (argstr) = (sprintf("%s, %s, %s", dfd_str, user_string_quoted(pathname), flag_str)); } probe nd_syscall.unlinkat.return = kprobe.function("sys_unlinkat").return?{ (name) = ("unlinkat"); (retstr) = (returnstr(1)); } probe nd_syscall.unshare = kprobe.function("sys_unshare")?{ (name) = ("unshare"); asmlinkage(); (unshare_flags) = (ulong_arg(1)); (argstr) = (__fork_flags(unshare_flags)); } probe nd_syscall.unshare.return = kprobe.function("sys_unshare").return?{ (name) = ("unshare"); (retstr) = (returnstr(1)); } probe nd_syscall.uselib = kprobe.function("sys_uselib")?{ (name) = ("uselib"); asmlinkage(); (library_uaddr) = (pointer_arg(1)); (library) = (user_string_quoted(library_uaddr)); (argstr) = (user_string_quoted(library_uaddr)); } probe nd_syscall.uselib.return = kprobe.function("sys_uselib").return?{ (name) = ("uselib"); (retstr) = (returnstr(1)); } probe nd_syscall.userfaultfd = kprobe.function("sys_userfaultfd").call?{ (name) = ("userfaultfd"); asmlinkage(); (flags) = (int_arg(1)); (flags_str) = (_userfaultfd_flags_str(flags)); (argstr) = (sprintf("%s", _userfaultfd_flags_str(flags))); } probe nd_syscall.userfaultfd.return = kprobe.function("sys_userfaultfd").return?{ (name) = ("userfaultfd"); (retstr) = (returnstr(1)); } probe nd_syscall.ustat = kprobe.function("sys_ustat")?{ (name) = ("ustat"); asmlinkage(); (dev) = (uint_arg(1)); (ubuf_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%u, %p", dev, ubuf_uaddr)); } probe nd_syscall.ustat.return = kprobe.function("sys_ustat").return?{ (name) = ("ustat"); (retstr) = (returnstr(1)); } probe nd_syscall.ustat32 = __nd_syscall.ustat32?, __nd_syscall.compat_ustat?{ (name) = ("ustat"); (argstr) = (sprintf("%u, %p", dev, ubuf_uaddr)); } probe __nd_syscall.ustat32 = kprobe.function("sys32_ustat")?{ (dev) = (uint_arg(1)); (ubuf_uaddr) = (pointer_arg(2)); } probe __nd_syscall.compat_ustat = kprobe.function("compat_sys_ustat")?{ asmlinkage(); (dev) = (uint_arg(1)); (ubuf_uaddr) = (pointer_arg(2)); } probe nd_syscall.ustat32.return = kprobe.function("sys32_ustat").return?, kprobe.function("compat_sys_ustat").return?{ (name) = ("ustat"); (retstr) = (returnstr(1)); } probe nd_syscall.utime = kprobe.function("sys_utime")?{ (name) = ("utime"); asmlinkage(); (filename_uaddr) = (pointer_arg(1)); (filename) = (user_string_quoted(filename_uaddr)); (buf_uaddr) = (pointer_arg(2)); (actime) = (_struct_utimbuf_actime(buf_uaddr)); (modtime) = (_struct_utimbuf_modtime(buf_uaddr)); (argstr) = (sprintf("%s, [%s, %s]", filename, ctime(actime), ctime(modtime))); } probe nd_syscall.utime.return = kprobe.function("sys_utime").return?{ (name) = ("utime"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_utime = kprobe.function("compat_sys_utime")?{ (name) = ("utime"); asmlinkage(); (filename_uaddr) = (pointer_arg(1)); (filename) = (user_string_quoted(filename_uaddr)); (buf_uaddr) = (pointer_arg(2)); (actime) = (_struct_compat_utimbuf_actime(buf_uaddr)); (modtime) = (_struct_compat_utimbuf_modtime(buf_uaddr)); (argstr) = (sprintf("%s, [%s, %s]", filename, ctime(actime), ctime(modtime))); } probe nd_syscall.compat_utime.return = kprobe.function("compat_sys_utime").return?{ (name) = ("utime"); (retstr) = (returnstr(1)); } probe nd_syscall.utimes = kprobe.function("sys_utimes")?{ (name) = ("utimes"); asmlinkage(); (filename_uaddr) = (pointer_arg(1)); (filename) = (user_string_quoted(filename_uaddr)); (tvp_uaddr) = (pointer_arg(2)); (argstr) = (sprintf("%s, %s", user_string_quoted(filename_uaddr), _struct_timeval_u(tvp_uaddr, 2))); } probe nd_syscall.utimes.return = kprobe.function("sys_utimes").return?{ (name) = ("utimes"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_sys_utimes = kprobe.function("compat_sys_utimes")?{ (name) = ("utimes"); asmlinkage(); (filename) = (user_string_quoted(pointer_arg(1))); (argstr) = (sprintf("%s, %s", user_string_quoted(pointer_arg(1)), _struct_compat_timeval_u(pointer_arg(2), 2))); } probe nd_syscall.compat_sys_utimes.return = kprobe.function("compat_sys_utimes").return?{ (name) = ("utimes"); (retstr) = (returnstr(1)); } probe nd_syscall.utimensat = kprobe.function("sys_utimensat")?{ (name) = ("utimensat"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (filename_uaddr) = (pointer_arg(2)); (filename) = (user_string_quoted(filename_uaddr)); (tsp_uaddr) = (pointer_arg(3)); (flags) = (int_arg(4)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s", _dfd_str(dfd), user_string_quoted(filename_uaddr), _struct_timespec_u(tsp_uaddr, 2), _at_flag_str(flags))); } probe nd_syscall.compat_utimensat = kprobe.function("compat_sys_utimensat")?{ (name) = ("utimensat"); asmlinkage(); (dfd) = (int_arg(1)); (dfd_str) = (_dfd_str(dfd)); (filename_uaddr) = (pointer_arg(2)); (filename) = (user_string_quoted(filename_uaddr)); (tsp_uaddr) = (pointer_arg(3)); (flags) = (int_arg(4)); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s", _dfd_str(dfd), user_string_quoted(filename_uaddr), _struct_compat_timespec_u(tsp_uaddr, 2), _at_flag_str(flags))); } probe nd_syscall.utimensat.return = kprobe.function("sys_utimensat").return?{ (name) = ("utimensat"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_utimensat.return = kprobe.function("compat_sys_utimensat").return?{ (name) = ("utimensat"); (retstr) = (returnstr(1)); } probe nd_syscall.vfork = kprobe.function("sys_vfork").call?{ (name) = ("vfork"); (argstr) = (""); } probe nd_syscall.vfork.return = kprobe.function("sys_vfork").return?{ (name) = ("vfork"); (retstr) = (returnstr(1)); } probe nd_syscall.vhangup = kprobe.function("sys_vhangup"){ (name) = ("vhangup"); (argstr) = (""); } probe nd_syscall.vhangup.return = kprobe.function("sys_vhangup").return{ (name) = ("vhangup"); (retstr) = (returnstr(1)); } probe nd_syscall.vmsplice = kprobe.function("sys_vmsplice")?{ (name) = ("vmsplice"); asmlinkage(); (fd) = (int_arg(1)); (iov) = (pointer_arg(2)); (nr_segs) = (ulong_arg(3)); (flags) = (uint_arg(4)); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", fd, iov, nr_segs, flags_str)); } probe nd_syscall.compat_vmsplice = kprobe.function("compat_sys_vmsplice")?{ (name) = ("vmsplice"); asmlinkage(); (fd) = (int_arg(1)); (iov) = (pointer_arg(2)); (nr_segs) = (ulong_arg(3)); (flags) = (uint_arg(4)); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", fd, iov, nr_segs, flags_str)); } probe nd_syscall.vmsplice.return = kprobe.function("sys_vmsplice").return?{ (name) = ("vmsplice"); (retstr) = (returnstr(1)); } probe nd_syscall.compat_vmsplice.return = kprobe.function("compat_sys_vmsplice").return?{ (name) = ("vmsplice"); (retstr) = (returnstr(1)); } probe nd_syscall.wait4 = __nd_syscall.wait4, __nd_syscall.compat_wait4?{ (name) = ("wait4"); asmlinkage(); (pid) = (int_arg(1)); (status_uaddr) = (pointer_arg(2)); (options) = (int_arg(3)); (options_str) = (_wait4_opt_str(options)); (rusage_uaddr) = (pointer_arg(4)); (argstr) = (sprintf("%d, %p, %s, %p", pid, status_uaddr, options_str, rusage_uaddr)); } probe __nd_syscall.wait4 = kprobe.function("sys_wait4"){ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_wait4 %})) next ; } } catch { { next; } } ; } probe __nd_syscall.compat_wait4 = kprobe.function("compat_sys_wait4")?{ } probe nd_syscall.wait4.return = __nd_syscall.wait4.return, __nd_syscall.compat_wait4.return?{ (name) = ("wait4"); asmlinkage(); (status_uaddr) = (pointer_arg(2)); if ((returnval()) <= (0)) (status_str) = ("N/A") else if ((status_uaddr) == (0)) (status_str) = ("NULL") else (status_str) = (_wait_status_str(user_int(status_uaddr))) ; (retstr) = (returnstr(1)); } probe __nd_syscall.wait4.return = kprobe.function("sys_wait4").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_wait4 %})) next ; } } catch { { next; } } ; } probe __nd_syscall.compat_wait4.return = kprobe.function("compat_sys_wait4").return?{ } probe nd_syscall.waitid = __nd_syscall.waitid, kprobe.function("compat_sys_waitid")?{ (name) = ("waitid"); asmlinkage(); (which) = (int_arg(1)); (which_str) = (_waitid_which_str(which)); (pid) = (int_arg(2)); (infop_uaddr) = (pointer_arg(3)); (options) = (int_arg(4)); (options_str) = (_wait4_opt_str(options)); (rusage_uaddr) = (pointer_arg(5)); (argstr) = (sprintf("%s, %d, %p, %s, %p", _waitid_which_str(which), pid, infop_uaddr, _wait4_opt_str(options), rusage_uaddr)); } probe __nd_syscall.waitid = kprobe.function("sys_waitid"){ } probe nd_syscall.waitid.return = __nd_syscall.waitid.return, kprobe.function("compat_sys_waitid").return?{ (name) = ("waitid"); (retstr) = (returnstr(1)); } probe __nd_syscall.waitid.return = kprobe.function("sys_waitid").return{ } probe nd_syscall.waitpid = kprobe.function("sys_waitpid")?, kprobe.function("sys32_waitpid").call?{ (name) = ("waitpid"); asmlinkage(); (pid) = (int_arg(1)); (status_uaddr) = (pointer_arg(2)); (options) = (int_arg(3)); (options_str) = (_wait4_opt_str(options)); (argstr) = (sprintf("%d, %p, %s", pid, status_uaddr, options_str)); } probe nd_syscall.waitpid.return = kprobe.function("sys_waitpid").return?, kprobe.function("sys32_waitpid").return?{ (name) = ("waitpid"); (retstr) = (returnstr(1)); } probe nd_syscall.write = __nd_syscall.write{ (name) = ("write"); asmlinkage(); (fd) = (int_arg(1)); (buf_uaddr) = (pointer_arg(2)); (count) = (ulong_arg(3)); (argstr) = (sprintf("%d, %s, %u", fd, user_buffer_quoted(buf_uaddr, count, syscall_string_trunc), count)); } probe __nd_syscall.write = kprobe.function("sys_write"){ } probe nd_syscall.write.return = __nd_syscall.write.return{ (name) = ("write"); (retstr) = (returnstr(1)); } probe __nd_syscall.write.return = kprobe.function("sys_write").return{ } probe nd_syscall.writev = kprobe.function("compat_sys_writev")?, kprobe.function("sys_writev")?{ (name) = ("writev"); asmlinkage(); (vector_uaddr) = (pointer_arg(2)); (count) = (int_arg(3)); (fd) = (int_arg(1)); (argstr) = (sprintf("%d, %p, %d", fd, vector_uaddr, count)); } probe nd_syscall.writev.return = kprobe.function("compat_sys_writev").return?, kprobe.function("sys_writev").return?{ (name) = ("writev"); (retstr) = (returnstr(1)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/netfilter.stp %{ #include #include #include #include #include #include #include %}probe netfilter.ip.pre_routing = netfilter.ipv4.pre_routing, netfilter.ipv6.pre_routing{ } probe netfilter.ipv4.pre_routing = netfilter.hook("NF_INET_PRE_ROUTING").pf("NFPROTO_IPV4"){ (pf) = ("ipv4"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ipv6.pre_routing = netfilter.hook("NF_IP6_PRE_ROUTING").pf("NFPROTO_IPV6"){ (pf) = ("ipv6"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (&@cast(__get_skb_iphdr($skb), "ipv6hdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&(iphdr)->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&(iphdr)->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (__ip6_skb_proto($skb)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ip.local_in = netfilter.ipv4.local_in, netfilter.ipv6.local_in{ } probe netfilter.ipv4.local_in = netfilter.hook("NF_INET_LOCAL_IN").pf("NFPROTO_IPV4"){ (pf) = ("ipv4"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ipv6.local_in = netfilter.hook("NF_IP6_LOCAL_IN").pf("NFPROTO_IPV6"){ (pf) = ("ipv6"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (&@cast(__get_skb_iphdr($skb), "ipv6hdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&(iphdr)->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&(iphdr)->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (__ip6_skb_proto($skb)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ip.forward = netfilter.ipv4.forward, netfilter.ipv6.forward{ } probe netfilter.ipv4.forward = netfilter.hook("NF_INET_FORWARD").pf("NFPROTO_IPV4"){ (pf) = ("ipv4"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ipv6.forward = netfilter.hook("NF_IP6_FORWARD").pf("NFPROTO_IPV6"){ (pf) = ("ipv6"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (&@cast(__get_skb_iphdr($skb), "ipv6hdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&(iphdr)->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&(iphdr)->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (__ip6_skb_proto($skb)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ip.local_out = netfilter.ipv4.local_out, netfilter.ipv6.local_out{ } probe netfilter.ipv4.local_out = netfilter.hook("NF_INET_LOCAL_OUT").pf("NFPROTO_IPV4"){ (pf) = ("ipv4"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ipv6.local_out = netfilter.hook("NF_IP6_LOCAL_OUT").pf("NFPROTO_IPV6"){ (pf) = ("ipv6"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (&@cast(__get_skb_iphdr($skb), "ipv6hdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&(iphdr)->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&(iphdr)->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (__ip6_skb_proto($skb)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ip.post_routing = netfilter.ipv4.post_routing, netfilter.ipv6.local_out{ } probe netfilter.ipv4.post_routing = netfilter.hook("NF_INET_POST_ROUTING").pf("NFPROTO_IPV4"){ (pf) = ("ipv4"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.ipv6.post_routing = netfilter.hook("NF_IP6_POST_ROUTING").pf("NFPROTO_IPV6"){ (pf) = ("ipv6"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (iphdr) = (&@cast(__get_skb_iphdr($skb), "ipv6hdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&(iphdr)->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&(iphdr)->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (__ip6_skb_proto($skb)); (tcphdr) = (__get_skb_tcphdr($skb)); if ((protocol) == (ipproto_tcp)) { (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } ; (udphdr) = (&@cast(tcphdr, "udphdr", "kernel")); if ((protocol) == (ipproto_udp)) { (dport) = (ntohs((udphdr)->dest)); (sport) = (ntohs((udphdr)->source)); } ; } probe netfilter.arp.in = netfilter.hook("NF_ARP_IN").pf("NFPROTO_ARP"){ (pf) = ("arp"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (arphdr) = (&@cast(__get_skb_arphdr($skb), "struct arphdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ NF_ARP %}); (ar_hrd) = (ntohs((arphdr)->ar_hrd)); (ar_pro) = (ntohs((arphdr)->ar_pro)); (ar_hln) = ((arphdr)->ar_hln); (ar_pln) = ((arphdr)->ar_pln); (ar_op) = (ntohs((arphdr)->ar_op)); (ar_data) = ((arphdr) + (8)); if (((ar_hrd) == (1)) && ((ar_pro) == (2048))) { (ar_sha) = (__mac_addr_to_string(ar_data)); (ar_sip) = (format_ipaddr(kernel_int((ar_data) + (6)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (ar_tha) = (__mac_addr_to_string((ar_data) + (10))); (ar_tip) = (format_ipaddr(kernel_int((ar_data) + (16)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); } ; } probe netfilter.arp.out = netfilter.hook("NF_ARP_OUT").pf("NFPROTO_ARP"){ (pf) = ("arp"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (arphdr) = (&@cast(__get_skb_arphdr($skb), "struct arphdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ NF_ARP %}); (ar_hrd) = (ntohs((arphdr)->ar_hrd)); (ar_pro) = (ntohs((arphdr)->ar_pro)); (ar_hln) = ((arphdr)->ar_hln); (ar_pln) = ((arphdr)->ar_pln); (ar_op) = (ntohs((arphdr)->ar_op)); (ar_data) = ((arphdr) + (8)); if (((ar_hrd) == (1)) && ((ar_pro) == (2048))) { (ar_sha) = (__mac_addr_to_string(ar_data)); (ar_sip) = (format_ipaddr(kernel_int((ar_data) + (6)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (ar_tha) = (__mac_addr_to_string((ar_data) + (10))); (ar_tip) = (format_ipaddr(kernel_int((ar_data) + (16)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); } ; } probe netfilter.arp.forward = netfilter.hook("NF_ARP_FORWARD").pf("NFPROTO_ARP"){ (pf) = ("arp"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (arphdr) = (&@cast(__get_skb_arphdr($skb), "struct arphdr", "kernel")); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ NF_ARP %}); (ar_hrd) = (ntohs((arphdr)->ar_hrd)); (ar_pro) = (ntohs((arphdr)->ar_pro)); (ar_hln) = ((arphdr)->ar_hln); (ar_pln) = ((arphdr)->ar_pln); (ar_op) = (ntohs((arphdr)->ar_op)); (ar_data) = ((arphdr) + (8)); if (((ar_hrd) == (1)) && ((ar_pro) == (2048))) { (ar_sha) = (__mac_addr_to_string(ar_data)); (ar_sip) = (format_ipaddr(kernel_int((ar_data) + (6)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (ar_tha) = (__mac_addr_to_string((ar_data) + (10))); (ar_tip) = (format_ipaddr(kernel_int((ar_data) + (16)), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); } ; } probe netfilter.bridge.pre_routing = netfilter.hook("NF_BR_PRE_ROUTING").pf("NFPROTO_BRIDGE"){ (pf) = ("bridge"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (llcpdu) = (&@cast(__get_skb_llc($skb), "struct llc_pdu_un", "kernel")); (brhdr) = (__get_skb_brhdr($skb)); (llcproto_stp) = (%{ /* pure */ /* unprivileged */ /* stable */ LLC_SAP_BSPAN %}); if ((((llcpdu)->dsap) == (llcproto_stp)) && (((llcpdu)->ssap) == (llcproto_stp))) { (protocol) = (llcproto_stp); (br_prid) = (ntohs(kernel_short(brhdr))); (br_vid) = (kernel_char((brhdr) + (2))); (br_type) = (kernel_char((brhdr) + (3))); (br_flags) = (kernel_char((brhdr) + (4))); (br_rid) = (kernel_long((brhdr) + (5))); (br_rmac) = (__mac_addr_to_string((brhdr) + (7))); (br_cost) = (ntohl(kernel_int((brhdr) + (13)))); (br_bid) = (kernel_long((brhdr) + (17))); (br_mac) = (__mac_addr_to_string((brhdr) + (19))); (br_poid) = (ntohs(kernel_short((brhdr) + (25)))); (br_msg) = (ntohs(kernel_short((brhdr) + (27)))); (br_max) = (ntohs(kernel_short((brhdr) + (29)))); (br_htime) = (ntohs(kernel_short((brhdr) + (31)))); (br_fd) = (ntohs(kernel_short((brhdr) + (33)))); } ; } probe netfilter.bridge.local_in = netfilter.hook("NF_BR_LOCAL_IN").pf("NFPROTO_BRIDGE"){ (pf) = ("bridge"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (llcpdu) = (&@cast(__get_skb_llc($skb), "struct llc_pdu_un", "kernel")); (brhdr) = (__get_skb_brhdr($skb)); (llcproto_stp) = (%{ /* pure */ /* unprivileged */ /* stable */ LLC_SAP_BSPAN %}); if ((((llcpdu)->dsap) == (llcproto_stp)) && (((llcpdu)->ssap) == (llcproto_stp))) { (protocol) = (llcproto_stp); (br_prid) = (ntohs(kernel_short(brhdr))); (br_vid) = (kernel_char((brhdr) + (2))); (br_type) = (kernel_char((brhdr) + (3))); (br_flags) = (kernel_char((brhdr) + (4))); (br_rid) = (kernel_long((brhdr) + (5))); (br_rmac) = (__mac_addr_to_string((brhdr) + (7))); (br_cost) = (ntohl(kernel_int((brhdr) + (13)))); (br_bid) = (kernel_long((brhdr) + (17))); (br_mac) = (__mac_addr_to_string((brhdr) + (19))); (br_poid) = (ntohs(kernel_short((brhdr) + (25)))); (br_msg) = (ntohs(kernel_short((brhdr) + (27)))); (br_max) = (ntohs(kernel_short((brhdr) + (29)))); (br_htime) = (ntohs(kernel_short((brhdr) + (31)))); (br_fd) = (ntohs(kernel_short((brhdr) + (33)))); } ; } probe netfilter.bridge.forward = netfilter.hook("NF_BR_FORWARD").pf("NFPROTO_BRIDGE"){ (pf) = ("bridge"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (llcpdu) = (&@cast(__get_skb_llc($skb), "struct llc_pdu_un", "kernel")); (brhdr) = (__get_skb_brhdr($skb)); (llcproto_stp) = (%{ /* pure */ /* unprivileged */ /* stable */ LLC_SAP_BSPAN %}); if ((((llcpdu)->dsap) == (llcproto_stp)) && (((llcpdu)->ssap) == (llcproto_stp))) { (protocol) = (llcproto_stp); (br_prid) = (ntohs(kernel_short(brhdr))); (br_vid) = (kernel_char((brhdr) + (2))); (br_type) = (kernel_char((brhdr) + (3))); (br_flags) = (kernel_char((brhdr) + (4))); (br_rid) = (kernel_long((brhdr) + (5))); (br_rmac) = (__mac_addr_to_string((brhdr) + (7))); (br_cost) = (ntohl(kernel_int((brhdr) + (13)))); (br_bid) = (kernel_long((brhdr) + (17))); (br_mac) = (__mac_addr_to_string((brhdr) + (19))); (br_poid) = (ntohs(kernel_short((brhdr) + (25)))); (br_msg) = (ntohs(kernel_short((brhdr) + (27)))); (br_max) = (ntohs(kernel_short((brhdr) + (29)))); (br_htime) = (ntohs(kernel_short((brhdr) + (31)))); (br_fd) = (ntohs(kernel_short((brhdr) + (33)))); } ; } probe netfilter.bridge.local_out = netfilter.hook("NF_BR_LOCAL_OUT").pf("NFPROTO_BRIDGE"){ (pf) = ("bridge"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (llcpdu) = (&@cast(__get_skb_llc($skb), "struct llc_pdu_un", "kernel")); (brhdr) = (__get_skb_brhdr($skb)); (llcproto_stp) = (%{ /* pure */ /* unprivileged */ /* stable */ LLC_SAP_BSPAN %}); if ((((llcpdu)->dsap) == (llcproto_stp)) && (((llcpdu)->ssap) == (llcproto_stp))) { (protocol) = (llcproto_stp); (br_prid) = (ntohs(kernel_short(brhdr))); (br_vid) = (kernel_char((brhdr) + (2))); (br_type) = (kernel_char((brhdr) + (3))); (br_flags) = (kernel_char((brhdr) + (4))); (br_rid) = (kernel_long((brhdr) + (5))); (br_rmac) = (__mac_addr_to_string((brhdr) + (7))); (br_cost) = (ntohl(kernel_int((brhdr) + (13)))); (br_bid) = (kernel_long((brhdr) + (17))); (br_mac) = (__mac_addr_to_string((brhdr) + (19))); (br_poid) = (ntohs(kernel_short((brhdr) + (25)))); (br_msg) = (ntohs(kernel_short((brhdr) + (27)))); (br_max) = (ntohs(kernel_short((brhdr) + (29)))); (br_htime) = (ntohs(kernel_short((brhdr) + (31)))); (br_fd) = (ntohs(kernel_short((brhdr) + (33)))); } ; } probe netfilter.bridge.post_routing = netfilter.hook("NF_BR_POST_ROUTING").pf("NFPROTO_BRIDGE"){ (pf) = ("bridge"); (ipproto_tcp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (ipproto_udp) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_UDP %}); (nf_drop) = (0); (nf_accept) = (1); (nf_stolen) = (2); (nf_queue) = (3); (nf_repeat) = (4); (nf_stop) = (5); (indev) = (&@cast($in, "struct net_device", "kernel")); (outdev) = (&@cast($out, "struct net_device", "kernel")); (indev_name) = (kernel_string((indev)->name, "")); (outdev_name) = (kernel_string((outdev)->name, "")); if (indev) { (indev_mac_len) = ((indev)->addr_len); (in_mac) = (__get_mac_addr(indev)); } ; if (outdev) { (outdev_mac_len) = ((outdev)->addr_len); (out_mac) = (__get_mac_addr(outdev)); } ; (length) = (@cast($skb, "struct sk_buff", "kernel")->len); (data_hex) = (__buffer_data($skb, 0)); (data_str) = (__buffer_data($skb, 1)); (llcpdu) = (&@cast(__get_skb_llc($skb), "struct llc_pdu_un", "kernel")); (brhdr) = (__get_skb_brhdr($skb)); (llcproto_stp) = (%{ /* pure */ /* unprivileged */ /* stable */ LLC_SAP_BSPAN %}); if ((((llcpdu)->dsap) == (llcproto_stp)) && (((llcpdu)->ssap) == (llcproto_stp))) { (protocol) = (llcproto_stp); (br_prid) = (ntohs(kernel_short(brhdr))); (br_vid) = (kernel_char((brhdr) + (2))); (br_type) = (kernel_char((brhdr) + (3))); (br_flags) = (kernel_char((brhdr) + (4))); (br_rid) = (kernel_long((brhdr) + (5))); (br_rmac) = (__mac_addr_to_string((brhdr) + (7))); (br_cost) = (ntohl(kernel_int((brhdr) + (13)))); (br_bid) = (kernel_long((brhdr) + (17))); (br_mac) = (__mac_addr_to_string((brhdr) + (19))); (br_poid) = (ntohs(kernel_short((brhdr) + (25)))); (br_msg) = (ntohs(kernel_short((brhdr) + (27)))); (br_max) = (ntohs(kernel_short((brhdr) + (29)))); (br_htime) = (ntohs(kernel_short((brhdr) + (31)))); (br_fd) = (ntohs(kernel_short((brhdr) + (33)))); } ; } function __mac_addr_to_string (addr) { return sprintf("%02x:%02x:%02x:%02x:%02x:%02x", (kernel_char(addr)) & (255), (kernel_char((addr) + (1))) & (255), (kernel_char((addr) + (2))) & (255), (kernel_char((addr) + (3))) & (255), (kernel_char((addr) + (4))) & (255), (kernel_char((addr) + (5))) & (255)); } function __get_mac_addr (addr) { return __mac_addr_to_string(@cast(addr, "struct net_device", "kernel")->dev_addr); } function __get_skb_arphdr (addr) { return __get_skb_iphdr(addr); } function __get_skb_brhdr_new (skb) %{ /* pure */ struct sk_buff *skb; skb = (struct sk_buff *)(long)STAP_ARG_skb; /* as done by skb_network_header() */ #ifdef NET_SKBUFF_DATA_USES_OFFSET STAP_RETVALUE = (long)(kread(&(skb->head)) + kread(&(skb->network_header)) + sizeof(struct llc_pdu_un)); #else STAP_RETVALUE = (long)(kread(&(skb->network_header)) + sizeof(struct llc_pdu_un)); #endif CATCH_DEREF_FAULT(); %} function __get_skb_brhdr (skb) { return __get_skb_brhdr_new(skb); } function __get_skb_llc (skb) %{ /* pure */ struct sk_buff *skb; skb = (struct sk_buff *)(long)STAP_ARG_skb; /* as done by skb_network_header() */ #ifdef NET_SKBUFF_DATA_USES_OFFSET STAP_RETVALUE = (long)(kread(&(skb->head)) + kread(&(skb->network_header))); #else STAP_RETVALUE = (long)kread(&(skb->network_header)); #endif CATCH_DEREF_FAULT(); %} function __ip6_skb_proto (addr) %{ /* pure */ struct sk_buff *skb = (struct sk_buff *)(uintptr_t)STAP_ARG_addr; struct ipv6hdr *hdr; u8 nexthdr; /* We call deref() here to ensure the memory at the skb location * is valid to read, to avoid potential kernel panic calling ipv6_hdr(). */ (void)kderef_buffer(NULL, skb, sizeof(struct sk_buff)); hdr = ipv6_hdr(skb); nexthdr = kread(&(hdr->nexthdr)); if (ipv6_ext_hdr(nexthdr)) { #if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) long result = ipv6_skip_exthdr(skb, sizeof(*hdr), &nexthdr); #else __be16 frag_offp; int extoff = (u8 *)(hdr + 1) - kread(&(skb->data)); long result = ipv6_skip_exthdr(skb, extoff, &nexthdr, &frag_offp); #endif STAP_RETVALUE = result < 0 ? 0 : result; } else { STAP_RETVALUE = 0; } CATCH_DEREF_FAULT(); %} function __skb_nonlinear (addr) %{ /* pure */ struct sk_buff *skb = (struct sk_buff *)STAP_ARG_addr; STAP_RETVALUE = skb_is_nonlinear(skb); %} function __skb_shinfo (addr) %{ /* pure */ struct sk_buff *skb = (struct sk_buff *)STAP_ARG_addr; STAP_RETVALUE = (uintptr_t)skb_end_pointer(skb); %} function __skb_frag_size (addr, frag) %{ /* pure */ struct skb_shared_info *skb_shr = (struct skb_shared_info *)STAP_ARG_addr; skb_frag_t skb_frag = skb_shr->frags[STAP_ARG_frag]; STAP_RETVALUE = skb_frag.size; %} function __skb_frag_data_addr (addr, frag) %{ /* pure */ struct skb_shared_info *skb_shr = (struct skb_shared_info *)STAP_ARG_addr; const skb_frag_t *skb_frag = &skb_shr->frags[STAP_ARG_frag]; STAP_RETVALUE = (uintptr_t)skb_frag_address_safe(skb_frag); %} function __buffer_data (skb, str) { (length) = (@cast(skb, "struct sk_buff", "kernel")->len); (data_length) = (@cast(skb, "struct sk_buff", "kernel")->data_len); (skb_data) = (@cast(skb, "struct sk_buff", "kernel")->data); (headlen) = ((length) - (data_length)); (data) = (""); if (str) { (data) = (kernel_buffer_quoted(skb_data, headlen)); } else { (data) = (sprintf("%.*M", headlen, skb_data)); } ; if (__skb_nonlinear(skb)) { (shinfo) = (__skb_shinfo(skb)); (nr_frags) = (@cast(shinfo, "struct skb_shared_info", "kernel")->nr_frags); for ((i) = (0); (i) < (nr_frags); (i)++) { (frag_size) = (__skb_frag_size(shinfo, i)); (frag_data_addr) = (__skb_frag_data_addr(shinfo, i)); if (str) { (data) .= (kernel_buffer_quoted(frag_data_addr, frag_size)); } else { (data) .= (sprintf("%.*M", frag_size, frag_data_addr)); } ; }; } ; return data; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/networking.stp probe netdev.receive = kernel.function("netif_receive_skb"){ (dev_name) = (kernel_string($skb->dev->name)); (length) = ($skb->len); (protocol) = ($skb->protocol); (truesize) = ($skb->truesize); } probe netdev.transmit = kernel.function("__dev_queue_xmit")!, kernel.function("dev_queue_xmit"){ (dev_name) = (kernel_string($skb->dev->name)); (length) = ($skb->len); (protocol) = ($skb->protocol); (truesize) = ($skb->truesize); } probe netdev.change_mtu = kernel.function("dev_set_mtu"){ (old_mtu) = ($dev->mtu); (new_mtu) = ($new_mtu); (dev_name) = (get_netdev_name($dev)); } probe netdev.open = kernel.function("dev_open"){ (dev_name) = (get_netdev_name($dev)); } probe netdev.close = kernel.function("dev_close"){ (dev_name) = (get_netdev_name($dev)); } probe netdev.hard_transmit = kernel.function("dev_hard_start_xmit")?{ (dev_name) = (get_netdev_name($dev)); (protocol) = (((@defined($first))?($first):($skb))->protocol); (length) = (((@defined($first))?($first):($skb))->len); (truesize) = (((@defined($first))?($first):($skb))->truesize); } probe netdev.rx = kernel.function("netif_rx"){ (netdev) = ($skb->dev); (dev_name) = (get_netdev_name(netdev)); (protocol) = ($skb->protocol); } probe netdev.change_rx_flag = kernel.function("dev_change_rx_flags")?{ (dev_name) = ((@defined($dev))?(get_netdev_name($dev)):("unknown")); (flags) = ((@defined($flags))?($flags):(0)); } probe netdev.set_promiscuity = kernel.function("dev_set_promiscuity"){ (dev_name) = (get_netdev_name($dev)); if ($inc) { (enable) = (1); } else { (disable) = (1); } ; (inc) = ($inc); } probe netdev.ioctl = kernel.function("dev_ioctl"){ (cmd) = ($cmd); (arg) = (user_string_quoted($arg)); } probe netdev.register = kernel.function("register_netdevice"), kernel.function("register_netdev"){ (dev_name) = (get_netdev_name($dev)); } probe netdev.unregister = kernel.function("unregister_netdev"){ (dev_name) = (get_netdev_name($dev)); } probe netdev.get_stats = kernel.function("dev_get_stats")?{ (dev_name) = (get_netdev_name($dev)); } probe netdev.change_mac = kernel.function("dev_set_mac_address")?{ (dev_name) = (get_netdev_name($dev)); (mac_len) = ($dev->addr_len); (old_mac) = (sprintf("%02x:%02x:%02x:%02x:%02x:%02x", $dev->dev_addr[0], $dev->dev_addr[1], $dev->dev_addr[2], $dev->dev_addr[3], $dev->dev_addr[4], $dev->dev_addr[5])); (new_mac) = (sprintf("%02x:%02x:%02x:%02x:%02x:%02x", $sa->sa_data[0], $sa->sa_data[1], $sa->sa_data[2], $sa->sa_data[3], $sa->sa_data[4], $sa->sa_data[5])); } function get_netdev_name (addr) { return kernel_string(@cast(addr, "net_device")->name); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp %{ #include #include #include /* For VERIFY_READ/VERIFY_WRITE */ %}probe nfs.fop.entries = nfs.fop.llseek, nfs.fop.read, nfs.fop.write, nfs.fop.aio_read, nfs.fop.aio_write, nfs.fop.read_iter?, nfs.fop.write_iter?, nfs.fop.mmap, nfs.fop.open, nfs.fop.flush, nfs.fop.release, nfs.fop.sendfile?, nfs.fop.fsync, nfs.fop.lock{ } probe nfs.fop.return = nfs.fop.llseek.return, nfs.fop.read.return, nfs.fop.write.return, nfs.fop.aio_read.return, nfs.fop.aio_write.return, nfs.fop.read_iter.return?, nfs.fop.write_iter.return?, nfs.fop.mmap.return, nfs.fop.open.return, nfs.fop.flush.return, nfs.fop.release.return, nfs.fop.sendfile.return?, nfs.fop.fsync.return, nfs.fop.lock.return{ } probe nfs.fop.llseek = kernel.function("nfs_file_llseek")!, module("nfs").function("nfs_file_llseek"){ (dev) = (__file_dev($filp)); (ino) = (__file_ino($filp)); (s_id) = (__file_id($filp)); (devname) = (kernel_string(s_id)); (maxbyte) = (__file_maxbytes($filp)); (offset) = ($offset); (whence) = ((@defined($whence))?($whence):($origin)); (whence_str) = (_seek_whence_str((@defined($whence))?($whence):($origin))); (name) = ("nfs.fop.llseek"); (argstr) = (sprintf("%d, %d", offset, (@defined($whence))?($whence):($origin))); } probe nfs.fop.llseek.return = kernel.function("nfs_file_llseek").return!, module("nfs").function("nfs_file_llseek").return{ (name) = ("nfs.fop.llseek.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.read = vfs.do_sync_read{ (s_id) = (__file_id(file)); (devname) = (kernel_string(s_id)); (name) = ("nfs.fop.read"); } probe nfs.fop.read.return = vfs.do_sync_read.return{ (name) = ("nfs.fop.read.return"); } probe nfs.fop.write = vfs.do_sync_write{ (s_id) = (__file_id(file)); (devname) = (kernel_string(s_id)); (name) = ("nfs.fop.write"); } probe nfs.fop.write.return = vfs.do_sync_write.return{ (name) = ("nfs.fop.write.return"); } probe nfs.fop.aio_read = never{ (dev) = (0); (ino) = (0); (s_id) = (0); (devname) = (""); (pos) = (0); (buf) = (0); (count) = (0); (parent_name) = (""); (file_name) = (""); (cache_valid) = (0); (cache_time) = (0); (attr_time) = (0); (name) = ("nfs.fop.aio_read"); (argstr) = (sprintf("%p, %d, %d", buf, count, pos)); (size) = (count); (units) = ("bytes"); } probe nfs.fop.aio_read.return = never{ (name) = ("nfs.fop.aio_read.return"); (retstr) = (sprintf("%d", 0)); (size) = (0); (units) = ("bytes"); } probe nfs.fop.read_iter = kernel.function("nfs_file_read")!, module("nfs").function("nfs_file_read"){ (dev) = (__file_dev($iocb->ki_filp)); (ino) = (__file_ino($iocb->ki_filp)); (s_id) = (__file_id($iocb->ki_filp)); (devname) = (kernel_string(s_id)); (pos) = ($to->iov_offset); (count) = (__iov_length($to->iov, $to->nr_segs, 0, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_READ %})); (parent_name) = (__file_parentname($iocb->ki_filp)); (file_name) = (__file_filename($iocb->ki_filp)); (cache_valid) = (__nfsi_cache_valid(__file_inode($iocb->ki_filp))); (cache_time) = (__nfsi_rcache_time(__file_inode($iocb->ki_filp))); (attr_time) = (__nfsi_attr_time(__file_inode($iocb->ki_filp))); (name) = ("nfs.fop.read_iter"); (argstr) = (sprintf("%d, %d", count, pos)); (size) = (count); (units) = ("bytes"); } probe nfs.fop.read_iter.return = kernel.function("nfs_file_read").return!, module("nfs").function("nfs_file_read").return{ (name) = ("nfs.fop.read_iter.return"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); } ; (units) = ("bytes"); } probe nfs.fop.aio_write = never{ (dev) = (0); (ino) = (0); (s_id) = (0); (devname) = (""); (pos) = (0); (buf) = (0); (count) = (0); (parent_name) = (""); (file_name) = (""); (name) = ("nfs.fop.aio_write"); (argstr) = (sprintf("%p, %d, %d", buf, count, pos)); (size) = (count); (units) = ("bytes"); } probe nfs.fop.aio_write.return = never{ (name) = ("nfs.fop.aio_write.return"); (retstr) = (sprintf("%d", 0)); (size) = (0); (units) = ("bytes"); } probe nfs.fop.write_iter = kernel.function("nfs_file_write")!, module("nfs").function("nfs_file_write"){ (dev) = (__file_dev($iocb->ki_filp)); (ino) = (__file_ino($iocb->ki_filp)); (s_id) = (__file_id($iocb->ki_filp)); (devname) = (kernel_string(s_id)); (pos) = ($from->iov_offset); (count) = (__iov_length($from->iov, $from->nr_segs, 0, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_READ %})); (parent_name) = (__file_parentname($iocb->ki_filp)); (file_name) = (__file_filename($iocb->ki_filp)); (name) = ("nfs.fop.write_iter"); (argstr) = (sprintf("%d, %d", count, pos)); (size) = (count); (units) = ("bytes"); } probe nfs.fop.write_iter.return = kernel.function("nfs_file_write").return!, module("nfs").function("nfs_file_write").return{ (name) = ("nfs.fop.write_iter.return"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); } ; (units) = ("bytes"); } probe nfs.fop.mmap = kernel.function("nfs_file_mmap")!, module("nfs").function("nfs_file_mmap"){ (dev) = (__file_dev($file)); (ino) = (__file_ino($file)); (s_id) = (__file_id($file)); (devname) = (kernel_string(s_id)); (vm_start) = ($vma->vm_start); (vm_end) = ($vma->vm_end); (vm_flags) = ($vma->vm_flags); (parent_name) = (__file_parentname($file)); (file_name) = (__file_filename($file)); (cache_valid) = (__nfsi_cache_valid(__file_inode($file))); (cache_time) = (__nfsi_rcache_time(__file_inode($file))); (attr_time) = (__nfsi_attr_time(__file_inode($file))); (name) = ("nfs.fop.mmap"); (argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags)); } probe nfs.fop.mmap.return = kernel.function("nfs_file_mmap").return!, module("nfs").function("nfs_file_mmap").return{ (name) = ("nfs.fop.mmap.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.open = kernel.function("nfs_file_open")!, module("nfs").function("nfs_file_open"){ (dev) = (__file_dev($filp)); (ino) = ($inode->i_ino); (s_id) = ($inode->i_sb->s_id); (devname) = (kernel_string(s_id)); (filename) = (__file_filename($filp)); (flag) = ($filp->f_flags); (i_size) = ($inode->i_size); (name) = ("nfs.fop.open"); (argstr) = (sprintf("%d, %d, %s", flag, ino, filename)); } probe nfs.fop.open.return = kernel.function("nfs_file_open").return!, module("nfs").function("nfs_file_open").return{ (name) = ("nfs.fop.open.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.flush = kernel.function("nfs_file_flush")!, module("nfs").function("nfs_file_flush"){ (dev) = (__file_dev($file)); (ino) = (__file_ino($file)); (s_id) = (__file_id($file)); (devname) = (kernel_string(s_id)); (mode) = ($file->f_mode); (ndirty) = (__nfsi_ndirty(__file_inode($file))); (name) = ("nfs.fop.flush"); (argstr) = (sprintf("%d", ino)); } probe nfs.fop.flush.return = kernel.function("nfs_file_flush").return!, module("nfs").function("nfs_file_flush").return{ (name) = ("nfs.fop.flush.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.release = kernel.function("nfs_file_release")!, module("nfs").function("nfs_file_release"){ (dev) = (__file_dev($filp)); (ino) = ($inode->i_ino); (s_id) = ($inode->i_sb->s_id); (devname) = (kernel_string(s_id)); (mode) = ($filp->f_mode); (name) = ("nfs.fop.release"); (argstr) = (sprintf("%d", ino)); } probe nfs.fop.release.return = kernel.function("nfs_file_release").return!, module("nfs").function("nfs_file_release").return{ (name) = ("nfs.fop.release.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.fsync = kernel.function("nfs_file_fsync")!, module("nfs").function("nfs_file_fsync")!, kernel.function("nfs_fsync")!, module("nfs").function("nfs_fsync"){ (dev) = (__file_dev($file)); (ino) = (__file_ino($file)); (s_id) = (__file_id($file)); (devname) = (kernel_string(s_id)); (ndirty) = (__nfsi_ndirty(__file_inode($file))); (name) = ("nfs.fop.fsync"); (argstr) = (sprintf("%d", ino)); } probe nfs.fop.fsync.return = kernel.function("nfs_file_fsync").return!, module("nfs").function("nfs_file_fsync").return!, kernel.function("nfs_fsync").return!, module("nfs").function("nfs_fsync").return{ (name) = ("nfs.fop.fsync.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.lock = kernel.function("nfs_lock")!, module("nfs").function("nfs_lock"){ (dev) = (__file_dev($filp)); (ino) = (__file_ino($filp)); (s_id) = (__file_id($filp)); (devname) = (kernel_string(s_id)); (i_mode) = (__file_mode($filp)); (cmd) = ($cmd); (fl_type) = ($fl->fl_type); (fl_flag) = ($fl->fl_flags); (fl_start) = ($fl->fl_start); (fl_end) = ($fl->fl_end); (name) = ("nfs.fop.lock"); (argstr) = (sprintf("%d, %d", cmd, i_mode)); } probe nfs.fop.lock.return = kernel.function("nfs_lock").return!, module("nfs").function("nfs_lock").return{ (name) = ("nfs.fop.lock.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.fop.sendfile = kernel.function("nfs_file_sendfile")!, module("nfs").function("nfs_file_sendfile")?{ (dev) = (__file_dev($filp)); (ino) = (__file_ino($filp)); (s_id) = (__file_id($filp)); (devname) = (kernel_string(s_id)); (count) = ($count); (ppos) = (($ppos)?(kernel_pointer($ppos)):(-(1))); (cache_valid) = (__nfsi_cache_valid(__file_inode($filp))); (cache_time) = (__nfsi_rcache_time(__file_inode($filp))); (attr_time) = (__nfsi_attr_time(__file_inode($filp))); (name) = ("nfs.fop.sendfile"); (argstr) = (sprintf("%d, %d", count, ppos)); (size) = (count); (units) = ("bytes"); } probe nfs.fop.sendfile.return = kernel.function("nfs_file_sendfile").return!, module("nfs").function("nfs_file_sendfile").return?{ (name) = ("nfs.fop.sendfile.return"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); } ; (units) = ("bytes"); } probe nfs.fop.check_flags = kernel.function("nfs_check_flags")!, module("nfs").function("nfs_check_flags"){ (flag) = ($flags); (name) = ("nfs.fop.check_flags"); (argstr) = (sprintf("%d", flag)); } probe nfs.fop.check_flags.return = kernel.function("nfs_check_flags").return!, module("nfs").function("nfs_check_flags").return{ (name) = ("nfs.fop.check_flags.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.aop.entries = nfs.aop.readpage, nfs.aop.readpages, nfs.aop.writepage, nfs.aop.writepages, nfs.aop.release_page?, nfs.aop.write_begin, nfs.aop.write_end{ } probe nfs.aop.return = nfs.aop.readpage.return, nfs.aop.readpages.return, nfs.aop.writepage.return, nfs.aop.writepages.return, nfs.aop.release_page.return?, nfs.aop.write_begin.return, nfs.aop.write_end.return{ } probe nfs.aop.readpage = kernel.function("nfs_readpage")!, module("nfs").function("nfs_readpage"){ (__page) = ($page); (dev) = (__page_dev(__page)); (ino) = (__page_ino(__page)); (i_flag) = (__p2i_flag($page)); (i_size) = (__p2i_size($page)); (sb_flag) = (__p2sb_flag($page)); (file) = ($file); (page_index) = ($page->index); (__inode) = (__p2i($page)); (rsize) = (__nfs_server_rsize(__inode)); (name) = ("nfs.aop.readpage"); (argstr) = (sprintf("%d, %d", page_index, rsize)); (size) = (1); (units) = ("pages"); } probe nfs.aop.readpage.return = kernel.function("nfs_readpage").return!, module("nfs").function("nfs_readpage").return{ (name) = ("nfs.aop.readpage.return"); (retstr) = (sprintf("%d", $return)); (size) = (1); (units) = ("pages"); } probe nfs.aop.readpages = kernel.function("nfs_readpages")!, module("nfs").function("nfs_readpages"){ (dev) = ($mapping->host->i_sb->s_dev); (ino) = ($mapping->host->i_ino); (nr_pages) = ($nr_pages); (file) = ($filp); (rpages) = (__nfs_rpages($mapping->host)); (rsize) = (__nfs_server_rsize($mapping->host)); (name) = ("nfs.aop.readpages"); (argstr) = (sprintf("%d", nr_pages)); (size) = (nr_pages); (units) = ("pages"); } probe nfs.aop.readpages.return = kernel.function("nfs_readpages").return!, module("nfs").function("nfs_readpages").return{ (name) = ("nfs.aop.readpages.return"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); } ; (units) = ("pages"); } probe nfs.aop.set_page_dirty = kernel.function("__set_page_dirty_nobuffers")!, module("nfs").function("__set_page_dirty_nobuffers"){ (__page) = ($page); (page_flag) = ($page->flags); (name) = ("nfs.aop.set_page_dirty"); (argstr) = (sprintf("%d", page_flag)); } probe nfs.aop.set_page_dirty.return = kernel.function("__set_page_dirty_nobuffers").return!, module("nfs").function("__set_page_dirty_nobuffers").return{ (name) = ("nfs.aop.set_page_dirty.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.aop.writepage = kernel.function("nfs_writepage")!, module("nfs").function("nfs_writepage"){ (__page) = ($page); (dev) = (__page_dev(__page)); (ino) = (__page_ino(__page)); (for_reclaim) = ($wbc->for_reclaim); (for_kupdate) = ($wbc->for_kupdate); (i_flag) = (__p2i_flag($page)); (i_state) = (__p2i_state($page)); (i_size) = (__p2i_size($page)); (sb_flag) = (__p2sb_flag($page)); (page_index) = ($page->index); (__inode) = (__p2i($page)); (wsize) = (__nfs_server_wsize(__inode)); (name) = ("nfs.aop.writepage"); (argstr) = (sprintf("%d", page_index)); (size) = (1); (units) = ("pages"); } probe nfs.aop.writepage.return = kernel.function("nfs_writepage").return!, module("nfs").function("nfs_writepage").return{ (name) = ("nfs.aop.writepage.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.aop.writepages = kernel.function("nfs_writepages")!, module("nfs").function("nfs_writepages"){ (dev) = ($mapping->host->i_sb->s_dev); (ino) = ($mapping->host->i_ino); (for_reclaim) = ($wbc->for_reclaim); (for_kupdate) = ($wbc->for_kupdate); (nr_to_write) = ($wbc->nr_to_write); (wsize) = (__nfs_server_wsize($mapping->host)); (wpages) = (__nfs_wpages($mapping->host)); (name) = ("nfs.aop.writepages"); (argstr) = (sprintf("%d", nr_to_write)); (size) = (nr_to_write); (units) = ("pages"); } probe nfs.aop.writepages.return = kernel.function("nfs_writepages").return!, module("nfs").function("nfs_writepages").return{ (name) = ("nfs.aop.writepages.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.aop.write_begin = __nfs.aop.write_begin!, __nfs.aop.prepare_write{ } probe nfs.aop.write_begin.return = __nfs.aop.write_begin.return!, __nfs.aop.prepare_write.return{ } probe nfs.aop.write_end = __nfs.aop.write_end!, __nfs.aop.commit_write{ } probe nfs.aop.write_end.return = __nfs.aop.write_end.return!, __nfs.aop.commit_write.return{ } probe __nfs.aop.write_begin = kernel.function("nfs_write_begin")!, module("nfs").function("nfs_write_begin"){ (__page) = (-(1)); (offset) = ($pos); (to) = (($pos) + ($len)); (page_index) = (-(1)); (size) = ($len); (dev) = (__file_dev($file)); (ino) = (__file_ino($file)); (s_id) = (__file_id($file)); (devname) = (kernel_string(s_id)); (pos) = ($pos); (count) = ($len); (name) = ("nfs.aop.write_begin"); (argstr) = (sprintf("%d", ino)); (units) = ("bytes"); } probe __nfs.aop.write_begin.return = kernel.function("nfs_write_begin").return!, module("nfs").function("nfs_write_begin").return{ (name) = ("nfs.aop.write_begin.return"); (retstr) = (sprintf("%d", $return)); } probe __nfs.aop.write_end = kernel.function("nfs_write_end")!, module("nfs").function("nfs_write_end"){ (__page) = (-(1)); (offset) = ($pos); (to) = (($pos) + ($len)); (i_flag) = (0); (i_size) = (0); (sb_flag) = (0); (page_index) = (-(1)); (size) = ($len); (dev) = (__file_dev($file)); (ino) = (__file_ino($file)); (s_id) = (__file_id($file)); (devname) = (kernel_string(s_id)); (pos) = ($pos); (count) = ($len); (name) = ("nfs.aop.write_end"); (argstr) = (sprintf("%d", ino)); (units) = ("bytes"); } probe __nfs.aop.write_end.return = kernel.function("nfs_write_end").return!, module("nfs").function("nfs_write_end").return{ (name) = ("nfs.aop.write_end.return"); (retstr) = (sprintf("%d", $return)); } probe __nfs.aop.prepare_write = kernel.function("nfs_prepare_write")!, module("nfs").function("nfs_prepare_write"){ (s_id) = (-(1)); (pos) = ($offset); (count) = (($to) - ($offset)); (__page) = ($page); (dev) = (__page_dev(__page)); (devname) = (__find_bdevname(dev, __page_bdev(__page))); (ino) = (__page_ino(__page)); (offset) = ($offset); (to) = ($to); (page_index) = ($page->index); (name) = ("nfs.aop.prepare_write"); (argstr) = (sprintf("%d", page_index)); (size) = (($to) - ($offset)); (units) = ("bytes"); } probe __nfs.aop.prepare_write.return = kernel.function("nfs_prepare_write").return!, module("nfs").function("nfs_prepare_write").return{ (name) = ("nfs.aop.prepare_write.return"); (retstr) = (sprintf("%d", $return)); } probe __nfs.aop.commit_write = kernel.function("nfs_commit_write")!, module("nfs").function("nfs_commit_write"){ (s_id) = (-(1)); (pos) = ($offset); (count) = (($to) - ($offset)); (__page) = ($page); (dev) = (__page_dev(__page)); (devname) = (__find_bdevname(dev, __page_bdev(__page))); (ino) = (__page_ino(__page)); (offset) = ($offset); (to) = ($to); (i_flag) = (__p2i_flag($page)); (i_size) = (__p2i_size($page)); (sb_flag) = (__p2sb_flag($page)); (page_index) = ($page->index); (name) = ("nfs.aop.commit_write"); (argstr) = (sprintf("%d, %d", offset, to)); (size) = (($to) - ($offset)); (units) = ("bytes"); } probe __nfs.aop.commit_write.return = kernel.function("nfs_commit_write").return!, module("nfs").function("nfs_commit_write").return{ (name) = ("nfs.aop.commit_write.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.aop.release_page = kernel.function("nfs_release_page")!, module("nfs").function("nfs_release_page")?{ (__page) = ($page); (dev) = (__page_dev(__page)); (ino) = (__page_ino(__page)); (page_index) = ($page->index); (name) = ("nfs.aop.release_page"); (argstr) = (sprintf("%d", page_index)); (size) = (1); (units) = ("pages"); } probe nfs.aop.release_page.return = kernel.function("nfs_release_page").return!, module("nfs").function("nfs_release_page").return?{ (name) = ("nfs.aop.release_page.return"); (retstr) = (sprintf("%d", $return)); } function __nfsi_cache_valid (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->cache_validity; } function __nfsi_rcache_time (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->read_cache_jiffies; } function __nfsi_attr_time (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->attrtimeo; } function __nfsi_ndirty (inode) { if ((inode) == (0)) return -(1) ; return (@defined(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty))?(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty):(-(1)); } function __nfs_server_rsize (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_SERVER(inode), "nfs_server", "kernel:nfs")->rsize; } function __nfs_version (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_PROTO(inode), "nfs_rpc_ops", "kernel:nfs")->version; } function __nfs_server_wsize (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_SERVER(inode), "nfs_server", "kernel:nfs")->wsize; } function __nfs_rpages (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_SERVER(inode), "nfs_server", "kernel:nfs")->rpages; } function __nfs_wpages (inode) { if ((inode) == (0)) return -(1) ; return @cast(NFS_SERVER(inode), "nfs_server", "kernel:nfs")->wpages; } function __p2i (page) { (mapping) = ((page)?(@cast(page, "page", "kernel:nfs")->mapping):(0)); if ((mapping) == (0)) return 0 ; return @cast(mapping, "address_space", "kernel:nfs")->host; } function __p2i_flag (page) { (host) = (__p2i(page)); if ((host) == (0)) return -(1) ; return @cast(host, "inode", "kernel:nfs")->i_flags; } function __p2i_state (page) { (host) = (__p2i(page)); if ((host) == (0)) return -(1) ; return @cast(host, "inode", "kernel:nfs")->i_state; } function __p2i_size (page) { (host) = (__p2i(page)); if ((host) == (0)) return -(1) ; return @cast(host, "inode", "kernel:nfs")->i_size; } function __p2sb_flag (page) { (host) = (__p2i(page)); (i_sb) = ((host)?(@cast(host, "inode", "kernel:nfs")->i_sb):(0)); if ((i_sb) == (0)) return -(1) ; return @cast(i_sb, "super_block", "kernel:nfs")->s_flags; } function __file_inode (file) { (dentry) = ((file)?((@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry))?(@cast(file, "file", "kernel:nfs")->f_path->dentry):(@cast(file, "file", "kernel:nfs")->f_dentry)):(0)); if ((dentry) == (0)) return 0 ; return @cast(dentry, "dentry", "kernel:nfs")->d_inode; } function __file_id (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel:nfs")->i_sb->s_id; } function __file_mode (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel:nfs")->i_mode; } function __file_parentname (file) { (dentry) = ((file)?((@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry))?(@cast(file, "file", "kernel:nfs")->f_path->dentry):(@cast(file, "file", "kernel:nfs")->f_dentry)):(0)); (d_parent) = ((dentry)?(@cast(dentry, "dentry", "kernel:nfs")->d_parent):(0)); if ((d_parent) == (0)) return "NULL" ; (name) = (@cast(d_parent, "dentry", "kernel:nfs")->d_name->name); return kernel_string(name); } function __iov_length (iov, nr_segs, check_flag, access_flags) %{ /* pure */ unsigned long seg; size_t ret = 0; const struct iovec *iov = (const struct iovec *)(long)STAP_ARG_iov; unsigned long nr_segs = (unsigned long)STAP_ARG_nr_segs; for (seg = 0; seg < nr_segs; seg++) { __kernel_size_t iov_len = kread(&(iov[seg].iov_len)); ret += iov_len; if (STAP_ARG_check_flag) { if (unlikely((ssize_t)(ret|iov_len) < 0)) { STAP_RETVALUE = -EINVAL; return; } if (access_ok((int)STAP_ARG_access_flags, kread(&(iov[seg].iov_base)), iov_len)) continue; if (seg == 0) { STAP_RETVALUE = -EFAULT; return; } ret -= iov_len; /* This segment is no good */ break; } } STAP_RETVALUE = (long)ret; CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/nfs_proc.stp %{ /* For AF_INET */ #include %}probe nfs.proc.entries = nfs.proc.lookup, nfs.proc.read?, nfs.proc.write?, nfs.proc.commit?, nfs.proc.read_setup, nfs.proc.write_setup, nfs.proc.commit_setup, nfs.proc.rename_setup, nfs.proc.read_done, nfs.proc.write_done, nfs.proc.commit_done, nfs.proc.rename_done, nfs.proc.open, nfs.proc.create, nfs.proc.rename, nfs.proc.remove, nfs.proc.release?{ } probe nfs.proc.return = nfs.proc.lookup.return, nfs.proc.read.return?, nfs.proc.write.return?, nfs.proc.commit.return?, nfs.proc.read_setup.return, nfs.proc.write_setup.return, nfs.proc.commit_setup.return, nfs.proc.rename_setup.return, nfs.proc.read_done.return, nfs.proc.write_done.return, nfs.proc.commit_done.return, nfs.proc.rename_done.return, nfs.proc.open.return, nfs.proc.create.return, nfs.proc.rename.return, nfs.proc.remove.return, nfs.proc.release.return?{ } probe nfs.proc.lookup = nfs.proc2.lookup, nfs.proc3.lookup, nfs.proc4.lookup{ } probe nfs.proc.lookup.return = nfs.proc2.lookup.return, nfs.proc3.lookup.return, nfs.proc4.lookup.return{ } probe nfs.proc2.lookup = _nfs.proc2.lookup!, _nfs.proc2.missing_lookup{ (version) = (2); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc2.lookup"); (argstr) = (sprintf("%s", filename)); } probe _nfs.proc2.lookup = kernel.function("nfs_proc_lookup")!, module("nfs").function("nfs_proc_lookup")?, module("nfsv2").function("nfs_proc_lookup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (name_len) = ($name->len); (filename) = (kernel_string_n($name->name, name_len)); } probe _nfs.proc2.missing_lookup = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (name_len) = (0); (filename) = (""); } probe nfs.proc2.lookup.return = kernel.function("nfs_proc_lookup").return!, module("nfs").function("nfs_proc_lookup").return!, module("nfsv2").function("nfs_proc_lookup").return!, never{ (version) = (2); (name) = ("nfs.proc2.lookup.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.lookup = kernel.function("nfs3_proc_lookup")!, module("nfs").function("nfs3_proc_lookup")?, module("nfsv3").function("nfs3_proc_lookup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (name_len) = ($name->len); (filename) = (kernel_string_n($name->name, name_len)); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc3.lookup"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc3.lookup.return = kernel.function("nfs3_proc_lookup").return!, module("nfs").function("nfs3_proc_lookup").return?, module("nfsv3").function("nfs3_proc_lookup").return?{ (version) = (3); (name) = ("nfs.proc3.lookup.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc4.lookup = kernel.function("nfs4_proc_lookup")!, module("nfs").function("nfs4_proc_lookup")?, module("nfsv4").function("nfs4_proc_lookup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (name_len) = ($name->len); (filename) = (kernel_string_n($name->name, name_len)); (bitmask0) = (__nfsv4_bitmask($dir, 0)); (bitmask1) = (__nfsv4_bitmask($dir, 1)); (name) = ("nfs.proc4.lookup"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc4.lookup.return = kernel.function("nfs4_proc_lookup").return!, module("nfs").function("nfs4_proc_lookup").return?, module("nfsv4").function("nfs4_proc_lookup").return?{ (version) = (4); (name) = ("nfs.proc4.lookup.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.read = nfs.proc2.read?, nfs.proc3.read?, nfs.proc4.read?{ } probe nfs.proc.read.return = nfs.proc2.read.return?, nfs.proc3.read.return?, nfs.proc4.read.return?{ } probe nfs.proc2.read = _nfs.proc2.read!, _nfs.proc2.missing_read{ (version) = (2); (name) = ("nfs.proc2.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe _nfs.proc2.read = kernel.function("nfs_proc_read")!, module("nfs").function("nfs_proc_read")?, module("nfsv2").function("nfs_proc_read")?{ (server_ip) = (get_ip(&$rdata->task)); (prot) = (get_prot(&$rdata->task)); (version) = (2); (flags) = ($rdata->flags); (count) = ($rdata->args->count); (offset) = ($rdata->args->offset); } probe _nfs.proc2.missing_read = never{ (server_ip) = (0); (prot) = (0); (flags) = (0); (count) = (0); (offset) = (0); } probe nfs.proc2.read.return = kernel.function("nfs_proc_read").return!, module("nfs").function("nfs_proc_read").return!, module("nfsv2").function("nfs_proc_read").return!, never{ (version) = (2); (name) = ("nfs.proc2.read.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.read = kernel.function("nfs3_proc_read")!, module("nfs").function("nfs3_proc_read")?, module("nfsv3").function("nfs3_proc_read")?{ (server_ip) = (get_ip(&$rdata->task)); (prot) = (get_prot(&$rdata->task)); (version) = (3); (flags) = ($rdata->flags); (count) = ($rdata->args->count); (offset) = ($rdata->args->offset); (name) = ("nfs.proc3.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.read.return = kernel.function("nfs3_proc_read").return!, module("nfs").function("nfs3_proc_read").return?, module("nfsv3").function("nfs3_proc_read").return?{ (version) = (3); (name) = ("nfs.proc3.read.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc4.read = kernel.function("nfs4_proc_read")!, module("nfs").function("nfs4_proc_read")?, module("nfsv3").function("nfs4_proc_read")?{ (server_ip) = (get_ip(&$rdata->task)); (prot) = (get_prot(&$rdata->task)); (version) = (4); (flags) = ($rdata->flags); (count) = ($rdata->args->count); (offset) = ($rdata->args->offset); (name) = ("nfs.proc4.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.read.return = kernel.function("nfs4_proc_read").return!, module("nfs").function("nfs4_proc_read").return?, module("nfsv4").function("nfs4_proc_read").return?{ (version) = (4); (name) = ("nfs.proc4.read.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.write = nfs.proc2.write?, nfs.proc3.write?, nfs.proc4.write?{ } probe nfs.proc.write.return = nfs.proc2.write.return?, nfs.proc3.write.return?, nfs.proc4.write.return?{ } probe nfs.proc2.write = _nfs.proc2.write!, _nfs.proc2.missing_write{ (version) = (2); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc2.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe _nfs.proc2.write = kernel.function("nfs_proc_write")!, module("nfs").function("nfs_proc_write")?, module("nfsv2").function("nfs_proc_write")?{ (server_ip) = (get_ip(&$wdata->task)); (prot) = (get_prot(&$wdata->task)); (flags) = ($wdata->flags); (count) = ($wdata->args->count); (offset) = ($wdata->args->offset); } probe _nfs.proc2.missing_write = never{ (server_ip) = (0); (prot) = (0); (flags) = (0); (count) = (0); (offset) = (0); } probe nfs.proc2.write.return = kernel.function("nfs_proc_write").return!, module("nfs").function("nfs_proc_write").return!, module("nfsv2").function("nfs_proc_write").return!, never{ (version) = (2); (name) = ("nfs.proc2.write.return"); if (@defined($return)) { (retstr) = (sprintf("%d", $return)); if (($return) >= (0)) { (size) = ($return); } ; } else { (retstr) = ("N/A"); (size) = (0); } ; (units) = ("bytes"); } probe nfs.proc3.write = kernel.function("nfs3_proc_write")!, module("nfs").function("nfs3_proc_write")?, module("nfsv3").function("nfs3_proc_write")?{ (server_ip) = (get_ip(&$wdata->task)); (prot) = (get_prot(&$wdata->task)); (version) = (3); (flags) = ($wdata->flags); (count) = ($wdata->args->count); (offset) = ($wdata->args->offset); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc3.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.write.return = kernel.function("nfs3_proc_write").return!, module("nfs").function("nfs3_proc_write").return?, module("nfsv3").function("nfs3_proc_write").return?{ (version) = (3); (name) = ("nfs.proc3.write.return"); (retstr) = (sprintf("%d", $return)); if (($return) >= (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe nfs.proc4.write = kernel.function("nfs4_proc_write")!, module("nfs").function("nfs4_proc_write")?, module("nfsv4").function("nfs4_proc_write")?{ (server_ip) = (get_ip(&$wdata->task)); (prot) = (get_prot(&$wdata->task)); (version) = (4); (flags) = ($wdata->flags); (count) = ($wdata->args->count); (offset) = ($wdata->args->offset); (bitmask0) = (__nfsv4_bitmask($wdata->inode, 0)); (bitmask1) = (__nfsv4_bitmask($wdata->inode, 1)); (name) = ("nfs.proc4.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.write.return = kernel.function("nfs4_proc_write").return!, module("nfs").function("nfs4_proc_write").return?, module("nfsv4").function("nfs4_proc_write").return?{ (version) = (4); (name) = ("nfs.proc4.write.return"); (retstr) = (sprintf("%d", $return)); if (($return) >= (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe nfs.proc.commit = nfs.proc3.commit?, nfs.proc4.commit?{ } probe nfs.proc.commit.return = nfs.proc3.commit.return?, nfs.proc4.commit.return?{ } probe nfs.proc3.commit = kernel.function("nfs3_proc_commit")!, module("nfs").function("nfs3_proc_commit")?, module("nfsv3").function("nfs3_proc_commit")?{ (server_ip) = (get_ip(&$cdata->task)); (prot) = (get_prot(&$cdata->task)); (version) = (3); (count) = ($cdata->args->count); (offset) = ($cdata->args->offset); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc3.commit"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.commit.return = kernel.function("nfs3_proc_commit").return!, module("nfs").function("nfs3_proc_commit").return?, module("nfsv3").function("nfs3_proc_commit").return?{ (version) = (3); (name) = ("nfs.proc3.commit.return"); (retstr) = (sprintf("%d", $return)); if (($return) >= (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe nfs.proc4.commit = kernel.function("nfs4_proc_commit")!, module("nfs").function("nfs4_proc_commit")?, module("nfsv4").function("nfs4_proc_commit")?{ (server_ip) = (get_ip(&$cdata->task)); (prot) = (get_prot(&$cdata->task)); (version) = (4); (count) = ($cdata->args->count); (offset) = ($cdata->args->offset); (bitmask0) = (__nfsv4_bitmask($cdata->inode, 0)); (bitmask1) = (__nfsv4_bitmask($cdata->inode, 1)); (name) = ("nfs.proc4.commit"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.commit.return = kernel.function("nfs4_proc_commit").return!, module("nfs").function("nfs4_proc_commit").return?, module("nfsv4").function("nfs4_proc_commit").return?{ (version) = (4); (name) = ("nfs.proc4.commit.return"); (retstr) = (sprintf("%d", $return)); if (($return) >= (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe nfs.proc.read_setup = nfs.proc2.read_setup, nfs.proc3.read_setup, nfs.proc4.read_setup{ } probe nfs.proc.read_setup.return = nfs.proc2.read_setup.return, nfs.proc3.read_setup.return, nfs.proc4.read_setup.return{ } probe nfs.proc2.read_setup = _nfs.proc2.read_setup!, _nfs.proc2.missing_read_setup{ (version) = (2); (name) = ("nfs.proc2.read_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe _nfs.proc2.read_setup = kernel.function("nfs_proc_read_setup")!, module("nfs").function("nfs_proc_read_setup")?, module("nfsv2").function("nfs_proc_read_setup")?{ (inode) = ((@defined($data->header))?($data->header->inode):($data->inode)); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (count) = ($data->args->count); (offset) = ($data->args->offset); } probe _nfs.proc2.missing_read_setup = never{ (inode) = (0); (client) = (0); (server_ip) = (0); (prot) = (0); (count) = (0); (offset) = (0); } probe nfs.proc2.read_setup.return = kernel.function("nfs_proc_read_setup").return!, module("nfs").function("nfs_proc_read_setup").return!, module("nfsv2").function("nfs_proc_read_setup").return!, never{ (version) = (2); (name) = ("nfs.proc2.read_setup.return"); (retvalue) = (0); } probe nfs.proc3.read_setup = kernel.function("nfs3_proc_read_setup")!, module("nfs").function("nfs3_proc_read_setup")?, module("nfsv3").function("nfs3_proc_read_setup")?{ (inode) = ((@defined($hdr->inode))?($hdr->inode):((@defined($data->header->inode))?($data->header->inode):($data->inode))); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (fh) = (0); (count) = (((@defined($hdr))?($hdr):($data))->args->count); (offset) = ((@defined($hdr->args->offset))?($hdr->args->offset):($data->args->offset)); (name) = ("nfs.proc3.read_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.read_setup.return = kernel.function("nfs3_proc_read_setup").return!, module("nfs").function("nfs3_proc_read_setup").return?, module("nfsv3").function("nfs3_proc_read_setup").return?{ (version) = (3); (name) = ("nfs.proc3.read_setup.return"); (retvalue) = (0); } probe nfs.proc4.read_setup = kernel.function("nfs4_proc_read_setup")!, module("nfs").function("nfs4_proc_read_setup")?, module("nfsv4").function("nfs4_proc_read_setup")?{ (inode) = ((@defined($hdr->inode))?($hdr->inode):((@defined($data->header->inode))?($data->header->inode):($data->inode))); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (count) = (((@defined($hdr))?($hdr):($data))->args->count); (offset) = ((@defined($hdr->args->offset))?($hdr->args->offset):($data->args->offset)); (name) = ("nfs.proc4.read_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.read_setup.return = kernel.function("nfs4_proc_read_setup").return!, module("nfs").function("nfs4_proc_read_setup").return?, module("nfsv4").function("nfs4_proc_read_setup").return?{ (version) = (4); (name) = ("nfs.proc4.read_setup.return"); (retvalue) = (0); } probe nfs.proc.read_done = nfs.proc2.read_done, nfs.proc3.read_done, nfs.proc4.read_done{ } probe nfs.proc.read_done.return = nfs.proc2.read_done.return, nfs.proc3.read_done.return, nfs.proc4.read_done.return{ } probe nfs.proc2.read_done = _nfs.proc2.read_done!, _nfs.proc2.missing_read_done{ (timestamp) = (0); (version) = (2); (name) = ("nfs.proc2.read_done"); (argstr) = (sprintf("%d", status)); } probe _nfs.proc2.read_done = kernel.function("nfs_read_done")!, module("nfs").function("nfs_read_done")?, module("nfsv2").function("nfs_read_done")?{ if (@defined($data)) { (server_ip) = (get_ip(&$data->task)); (prot) = (get_prot(&$data->task)); (count) = ((@defined($data->res->count))?($data->res->count):(0)); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); } ; (status) = ($task->tk_status); } probe _nfs.proc2.missing_read_done = never{ (server_ip) = (0); (prot) = (0); (count) = (0); (status) = (0); } probe nfs.proc2.read_done.return = kernel.function("nfs_read_done").return!, module("nfs").function("nfs_read_done").return!, module("nfsv2").function("nfs_read_done").return!, never{ (version) = (2); (name) = ("nfs.proc2.read_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.read_done = kernel.function("nfs3_read_done")!, module("nfs").function("nfs3_read_done")?, module("nfsv3").function("nfs3_read_done")?{ if ((@defined($hdr)) || (@defined($data))) { (server_ip) = (get_ip(&((@defined($hdr))?($hdr):($data))->task)); (prot) = (get_prot(&((@defined($hdr))?($hdr):($data))->task)); (count) = ((@defined(((@defined($hdr))?($hdr):($data))->res->count))?(((@defined($hdr))?($hdr):($data))->res->count):(0)); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); } ; (timestamp) = (0); (version) = (3); (status) = ($task->tk_status); (name) = ("nfs.proc3.read_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc3.read_done.return = kernel.function("nfs3_read_done").return!, module("nfs").function("nfs3_read_done").return?, module("nfsv3").function("nfs3_read_done").return?{ (version) = (3); (name) = ("nfs.proc3.read_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc4.read_done = kernel.function("nfs4_read_done")!, module("nfs").function("nfs4_read_done")?, module("nfsv4").function("nfs4_read_done")?{ if ((@defined($hdr)) || (@defined($data))) { (server_ip) = (get_ip(&((@defined($hdr))?($hdr):($data))->task)); (prot) = (get_prot(&((@defined($hdr))?($hdr):($data))->task)); (count) = ((@defined(((@defined($hdr))?($hdr):($data))->res->count))?(((@defined($hdr))?($hdr):($data))->res->count):(0)); (timestamp) = ((@defined(((@defined($hdr))?($hdr):($data))->timestamp))?(((@defined($hdr))?($hdr):($data))->timestamp):(0)); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (timestamp) = ((@defined($task->tk_calldata->timestamp))?($task->tk_calldata->timestamp):(0)); } ; (version) = (4); (status) = ($task->tk_status); (name) = ("nfs.proc4.read_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc4.read_done.return = kernel.function("nfs4_read_done").return!, module("nfs").function("nfs4_read_done").return?, module("nfsv4").function("nfs4_read_done").return?{ (version) = (4); (name) = ("nfs.proc4.read_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc.write_setup = nfs.proc2.write_setup, nfs.proc3.write_setup, nfs.proc4.write_setup{ } probe nfs.proc.write_setup.return = nfs.proc2.write_setup.return, nfs.proc3.write_setup.return, nfs.proc4.write_setup.return{ } probe nfs.proc2.write_setup = _nfs.proc2.write_setup!, _nfs.proc2.missing_write_setup{ (version) = (2); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc2.write_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe _nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup")!, module("nfs").function("nfs_proc_write_setup")?, module("nfsv2").function("nfs_proc_write_setup")?{ (inode) = ((@defined($data->header))?($data->header->inode):($data->inode)); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (count) = ($data->args->count); (offset) = ($data->args->offset); (how) = ((@defined($how))?($how):($data->args->stable)); } probe _nfs.proc2.missing_write_setup = never{ (inode) = (0); (client) = (0); (server_ip) = (0); (prot) = (0); (count) = (0); (offset) = (0); (how) = (0); } probe nfs.proc2.write_setup.return = kernel.function("nfs_proc_write_setup").return!, module("nfs").function("nfs_proc_write_setup").return!, module("nfsv2").function("nfs_proc_write_setup").return!, never{ (version) = (2); (name) = ("nfs.proc2.write_setup.return"); (retvalue) = (0); } probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup")!, module("nfs").function("nfs3_proc_write_setup")?, module("nfsv3").function("nfs3_proc_write_setup")?{ (inode) = ((@defined($hdr->inode))?($hdr->inode):((@defined($data->header->inode))?($data->header->inode):($data->inode))); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (count) = (((@defined($hdr))?($hdr):($data))->args->count); (offset) = ((@defined($hdr->args->offset))?($hdr->args->offset):($data->args->offset)); (how) = ((@defined($hdr->args->stable))?($hdr->args->stable):((@defined($how))?($how):($data->args->stable))); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc3.write_setup"); (argstr) = (sprintf("%d,%d,%d", count, offset, how)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.write_setup.return = kernel.function("nfs3_proc_write_setup").return!, module("nfs").function("nfs3_proc_write_setup").return?, module("nfsv3").function("nfs3_proc_write_setup").return?{ (version) = (3); (name) = ("nfs.proc3.write_setup.return"); (retvalue) = (0); } probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup")!, module("nfs").function("nfs4_proc_write_setup")?, module("nfsv4").function("nfs4_proc_write_setup")?{ (inode) = ((@defined($hdr->inode))?($hdr->inode):((@defined($data->header->inode))?($data->header->inode):($data->inode))); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (count) = (((@defined($hdr))?($hdr):($data))->args->count); (offset) = ((@defined($hdr->args->offset))?($hdr->args->offset):($data->args->offset)); (how) = ((@defined($hdr->args->stable))?($hdr->args->stable):((@defined($how))?($how):($data->args->stable))); (bitmask0) = (__nfsv4_bitmask(inode, 0)); (bitmask1) = (__nfsv4_bitmask(inode, 1)); (name) = ("nfs.proc4.write_setup"); (argstr) = (sprintf("%d,%d,%d", count, offset, how)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.write_setup.return = kernel.function("nfs4_proc_write_setup").return!, module("nfs").function("nfs4_proc_write_setup").return?, module("nfsv4").function("nfs4_proc_write_setup").return?{ (version) = (4); (name) = ("nfs.proc4.write_setup.return"); (retvalue) = (0); } probe nfs.proc.write_done = nfs.proc2.write_done, nfs.proc3.write_done, nfs.proc4.write_done{ } probe nfs.proc.write_done.return = nfs.proc2.write_done.return, nfs.proc3.write_done.return, nfs.proc4.write_done.return{ } probe nfs.proc2.write_done = _nfs.proc2.write_done!, _nfs.proc2.missing_write_done{ (timestamp) = (0); (version) = (2); (name) = ("nfs.proc2.write_done"); (argstr) = (sprintf("%d", status)); } probe _nfs.proc2.write_done = kernel.function("nfs_write_done")!, module("nfs").function("nfs_write_done")?, module("nfsv2").function("nfs_write_done")?{ if (@defined($data)) { (server_ip) = (get_ip(&$data->task)); (prot) = (get_prot(&$data->task)); (count) = ((@defined($data->res->count))?($data->res->count):(0)); (valid) = ($data->res->fattr->valid); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (valid) = ($task->tk_calldata->res->fattr->valid); } ; (status) = ($task->tk_status); } probe _nfs.proc2.missing_write_done = never{ (server_ip) = (0); (prot) = (0); (count) = (0); (valid) = (0); (status) = (0); } probe nfs.proc2.write_done.return = kernel.function("nfs_write_done").return!, module("nfs").function("nfs_write_done").return!, module("nfsv2").function("nfs_write_done").return!, never{ (version) = (2); (name) = ("nfs.proc2.write_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.write_done = kernel.function("nfs3_write_done")!, module("nfs").function("nfs3_write_done")?, module("nfsv3").function("nfs3_write_done")?{ if ((@defined($hdr)) || (@defined($data))) { (server_ip) = (get_ip(&((@defined($hdr))?($hdr):($data))->task)); (prot) = (get_prot(&((@defined($hdr))?($hdr):($data))->task)); (count) = ((@defined(((@defined($hdr))?($hdr):($data))->res->count))?(((@defined($hdr))?($hdr):($data))->res->count):(0)); (valid) = (((@defined($hdr))?($hdr):($data))->res->fattr->valid); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (valid) = ($task->tk_calldata->res->fattr->valid); } ; (timestamp) = (0); (version) = (3); (status) = ($task->tk_status); (name) = ("nfs.proc3.write_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc3.write_done.return = kernel.function("nfs3_write_done").return!, module("nfs").function("nfs3_write_done").return?, module("nfsv3").function("nfs3_write_done").return?{ (version) = (3); (name) = ("nfs.proc3.write_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc4.write_done = kernel.function("nfs4_write_done")!, module("nfs").function("nfs4_write_done")?, module("nfsv4").function("nfs4_write_done")?{ if ((@defined($hdr)) || (@defined($data))) { (server_ip) = (get_ip(&((@defined($hdr))?($hdr):($data))->task)); (prot) = (get_prot(&((@defined($hdr))?($hdr):($data))->task)); (count) = ((@defined(((@defined($hdr))?($hdr):($data))->res->count))?(((@defined($hdr))?($hdr):($data))->res->count):(0)); (valid) = (((@defined($hdr))?($hdr):($data))->res->fattr->valid); (timestamp) = ((@defined(((@defined($hdr))?($hdr):($data))->timestamp))?(((@defined($hdr))?($hdr):($data))->timestamp):(0)); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (valid) = ($task->tk_calldata->res->fattr->valid); (timestamp) = ((@defined($task->tk_calldata->timestamp))?($task->tk_calldata->timestamp):(0)); } ; (version) = (4); (status) = ($task->tk_status); (name) = ("nfs.proc4.write_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc4.write_done.return = kernel.function("nfs4_write_done").return!, module("nfs").function("nfs4_write_done").return?, module("nfsv4").function("nfs4_write_done").return?{ (version) = (4); (name) = ("nfs.proc4.write_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc.commit_setup = nfs.proc3.commit_setup, nfs.proc4.commit_setup{ } probe nfs.proc.commit_setup.return = nfs.proc3.commit_setup.return, nfs.proc4.commit_setup.return{ } probe nfs.proc3.commit_setup = kernel.function("nfs3_proc_commit_setup")!, module("nfs").function("nfs3_proc_commit_setup")?, module("nfsv3").function("nfs3_proc_commit_setup")?{ (inode) = ((@defined($data->header))?($data->header->inode):($data->inode)); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (count) = ($data->args->count); (offset) = ($data->args->offset); (bitmask0) = (0); (bitmask1) = (0); (name) = ("nfs.proc3.commit_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc3.commit_setup.return = kernel.function("nfs3_proc_commit_setup").return!, module("nfs").function("nfs3_proc_commit_setup").return?, module("nfsv3").function("nfs3_proc_commit_setup").return?{ (version) = (3); (name) = ("nfs.proc3.commit_setup.return"); (retvalue) = (0); } probe nfs.proc4.commit_setup = kernel.function("nfs4_proc_commit_setup")!, module("nfs").function("nfs4_proc_commit_setup")?, module("nfsv4").function("nfs4_proc_commit_setup")?{ (inode) = ((@defined($data->header))?($data->header->inode):($data->inode)); (client) = (NFS_CLIENT(inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (count) = ($data->args->count); (offset) = ($data->args->offset); (bitmask0) = (__nfsv4_bitmask(inode, 0)); (bitmask1) = (__nfsv4_bitmask(inode, 1)); (name) = ("nfs.proc4.commit_setup"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfs.proc4.commit_setup.return = kernel.function("nfs4_proc_commit_setup").return!, module("nfs").function("nfs4_proc_commit_setup").return?, module("nfsv4").function("nfs4_proc_commit_setup").return?{ (version) = (4); (name) = ("nfs.proc4.commit_setup.return"); (retvalue) = (0); } probe nfs.proc.commit_done = nfs.proc3.commit_done, nfs.proc4.commit_done{ } probe nfs.proc.commit_done.return = nfs.proc3.commit_done.return, nfs.proc4.commit_done.return{ } probe nfs.proc3.commit_done = kernel.function("nfs3_commit_done")!, module("nfs").function("nfs3_commit_done")?, module("nfsv3").function("nfs3_commit_done")?{ if (@defined($data)) { (server_ip) = (get_ip(&$data->task)); (prot) = (get_prot(&$data->task)); (count) = ((@defined($data->res->count))?($data->res->count):(0)); (valid) = ($data->res->fattr->valid); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (valid) = ($task->tk_calldata->res->fattr->valid); } ; (timestamp) = (0); (version) = (3); (status) = ($task->tk_status); (name) = ("nfs.proc3.commit_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc3.commit_done.return = kernel.function("nfs3_commit_done").return!, module("nfs").function("nfs3_commit_done").return?, module("nfsv3").function("nfs3_commit_done").return?{ (version) = (3); (name) = ("nfs.proc3.commit_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc4.commit_done = kernel.function("nfs4_commit_done")!, module("nfs").function("nfs4_commit_done")?, module("nfsv4").function("nfs4_commit_done")?{ if (@defined($data)) { (server_ip) = (get_ip(&$data->task)); (prot) = (get_prot(&$data->task)); (count) = ((@defined($data->res->count))?($data->res->count):(0)); (valid) = ($data->res->fattr->valid); (timestamp) = ((@defined($data->timestamp))?($data->timestamp):(0)); } else { (server_ip) = (get_ip(&$task->tk_calldata->task)); (prot) = (get_prot(&$task->tk_calldata->task)); (count) = ((@defined($task->tk_calldata->res->count))?($task->tk_calldata->res->count):(0)); (valid) = ($task->tk_calldata->res->fattr->valid); (timestamp) = ((@defined($task->tk_calldata->timestamp))?($task->tk_calldata->timestamp):(0)); } ; (version) = (4); (status) = ($task->tk_status); (name) = ("nfs.proc4.commit_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc4.commit_done.return = kernel.function("nfs4_commit_done").return!, module("nfs").function("nfs4_commit_done").return?, module("nfsv4").function("nfs4_commit_done").return?{ (version) = (4); (name) = ("nfs.proc4.commit_done.return"); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc.rename_setup = nfs.proc2.rename_setup?, nfs.proc3.rename_setup, nfs.proc4.rename_setup{ } probe nfs.proc.rename_setup.return = nfs.proc2.rename_setup.return?, nfs.proc3.rename_setup.return, nfs.proc4.rename_setup.return{ } probe nfs.proc2.rename_setup = kernel.function("nfs_proc_rename_setup")!, module("nfs").function("nfs_proc_rename_setup")?, module("nfsv2").function("nfs_proc_rename_setup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (2); (fh) = (NFS_FH($dir)); (name) = ("nfs.proc2.rename_setup"); (argstr) = (sprintf("%d", fh)); } probe nfs.proc2.rename_setup.return = kernel.function("nfs2_proc_rename_setup").return!, module("nfs").function("nfs_proc_rename_setup").return?, module("nfsv2").function("nfs_proc_rename_setup").return?{ (version) = (2); (name) = ("nfs.proc2.rename_setup.return"); (retvalue) = (0); } probe nfs.proc3.rename_setup = kernel.function("nfs3_proc_rename_setup")!, module("nfs").function("nfs3_proc_rename_setup")?, module("nfsv3").function("nfs3_proc_rename_setup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (fh) = (NFS_FH($dir)); (name) = ("nfs.proc3.rename_setup"); (argstr) = (sprintf("%d", fh)); } probe nfs.proc3.rename_setup.return = kernel.function("nfs3_proc_rename_setup").return!, module("nfs").function("nfs3_proc_rename_setup").return?, module("nfsv3").function("nfs3_proc_rename_setup").return?{ (version) = (3); (name) = ("nfs.proc3.rename_setup.return"); (retvalue) = (0); } probe nfs.proc4.rename_setup = kernel.function("nfs4_proc_rename_setup")!, module("nfs").function("nfs4_proc_rename_setup")?, module("nfsv4").function("nfs4_proc_rename_setup")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (fh) = (NFS_FH($dir)); (name) = ("nfs.proc4.rename_setup"); (argstr) = (sprintf("%d", fh)); } probe nfs.proc4.rename_setup.return = kernel.function("nfs4_proc_rename_setup").return!, module("nfs").function("nfs4_proc_rename_setup").return?, module("nfsv4").function("nfs4_proc_rename_setup").return?{ (version) = (4); (name) = ("nfs.proc4.rename_setup.return"); (retvalue) = (0); } probe nfs.proc.rename_done = nfs.proc2.rename_done?, nfs.proc3.rename_done, nfs.proc4.rename_done{ } probe nfs.proc.rename_done.return = nfs.proc2.rename_done.return?, nfs.proc3.rename_done.return, nfs.proc4.rename_done.return{ } probe nfs.proc2.rename_done = kernel.function("nfs_proc_rename_done")!, module("nfs").function("nfs_proc_rename_done")?, module("nfsv2").function("nfs_proc_rename_done")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (2); (status) = ($task->tk_status); (timestamp) = (0); (old_fh) = (NFS_FH($old_dir)); (new_fh) = (NFS_FH($new_dir)); (name) = ("nfs.proc2.rename_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc2.rename_done.return = kernel.function("nfs_rename_done").return!, module("nfs").function("nfs_rename_done").return!, module("nfsv2").function("nfs_rename_done").return!{ (version) = (2); (name) = ("nfs.proc2.rename_done.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc3.rename_done = kernel.function("nfs3_proc_rename_done")!, module("nfs").function("nfs3_proc_rename_done")?, module("nfsv3").function("nfs3_proc_rename_done")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (status) = ($task->tk_status); (timestamp) = (0); (old_fh) = (NFS_FH($old_dir)); (new_fh) = (NFS_FH($new_dir)); (name) = ("nfs.proc3.rename_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc3.rename_done.return = kernel.function("nfs3_proc_rename_done").return!, module("nfs").function("nfs3_proc_rename_done").return?, module("nfsv3").function("nfs3_proc_rename_done").return?{ (version) = (3); (name) = ("nfs.proc3.rename_done.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc4.rename_done = kernel.function("nfs4_proc_rename_done")!, module("nfs").function("nfs4_proc_rename_done")?, module("nfsv4").function("nfs4_proc_rename_done")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (timestamp) = ((@defined(((@defined($hdr))?($hdr):($data))->timestamp))?(((@defined($hdr))?($hdr):($data))->timestamp):(0)); (status) = ($task->tk_status); (old_fh) = (NFS_FH($old_dir)); (new_fh) = (NFS_FH($new_dir)); (name) = ("nfs.proc4.rename_done"); (argstr) = (sprintf("%d", status)); } probe nfs.proc4.rename_done.return = kernel.function("nfs4_proc_rename_done").return!, module("nfs").function("nfs4_proc_rename_done").return?, module("nfsv4").function("nfs4_proc_rename_done").return?{ (version) = (4); (name) = ("nfs.proc4.rename_done.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.open = kernel.function("nfs_open")!, module("nfs").function("nfs_open")?{ (client) = (NFS_CLIENT($inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (__nfs_version($inode)); (filename) = (__file_filename($filp)); (flag) = ($filp->f_flags); (mode) = ($filp->f_mode); (name) = ("nfs.proc.open"); (argstr) = (sprintf("%s,%d,%d", filename, flag, mode)); } probe nfs.proc.open.return = kernel.function("nfs_open").return!, module("nfs").function("nfs_open").return?{ (name) = ("nfs.proc.open.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.release = kernel.function("nfs_release")!, module("nfs").function("nfs_release")?{ (client) = (NFS_CLIENT($inode)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (__nfs_version($inode)); (filename) = (__file_filename($filp)); (flag) = ($filp->f_flags); (mode) = ($filp->f_mode); (name) = ("nfs.proc.release"); (argstr) = (sprintf("%s,%d,%d", filename, flag, mode)); } probe nfs.proc.release.return = kernel.function("nfs_release").return!, module("nfs").function("nfs_release").return?{ (name) = ("nfs.proc.release.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.handle_exception = nfs.proc4.handle_exception{ } probe nfs.proc.handle_exception.return = nfs.proc4.handle_exception.return{ } probe nfs.proc4.handle_exception = kernel.function("nfs4_handle_exception")!, module("nfs").function("nfs4_handle_exception")?, module("nfsv4").function("nfs4_handle_exception")?{ (version) = (4); (errorcode) = ($errorcode); (name) = ("nfs.proc4.handle_exception"); (argstr) = (sprintf("%d", errorcode)); } probe nfs.proc4.handle_exception.return = kernel.function("nfs4_handle_exception").return!, module("nfs").function("nfs4_handle_exception").return?, module("nfsv4").function("nfs4_handle_exception").return?{ (name) = ("nfs.proc4.handle_exception.return"); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.create = nfs.proc2.create, nfs.proc3.create, nfs.proc4.create{ } probe nfs.proc.create.return = nfs.proc2.create.return, nfs.proc3.create.return, nfs.proc4.create.return{ } probe nfs.proc2.create = _nfs.proc2.create!, _nfs.proc2.missing_create{ (version) = (2); (name) = ("nfs.proc2.create"); (argstr) = (sprintf("%s", filename)); } probe _nfs.proc2.create = kernel.function("nfs_proc_create")!, module("nfs").function("nfs_proc_create")?, module("nfsv2").function("nfs_proc_create")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (fh) = (NFS_FH($dir)); (filelen) = ($dentry->d_name->len); (filename) = (kernel_string_n($dentry->d_name->name, filelen)); (mode) = ($sattr->ia_mode); } probe _nfs.proc2.missing_create = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (fh) = (0); (filelen) = (0); (filename) = (""); (mode) = (0); } probe nfs.proc2.create.return = kernel.function("nfs_proc_create").return!, module("nfs").function("nfs_proc_create").return!, module("nfsv2").function("nfs_proc_create").return!, never{ (name) = ("nfs.proc2.create.return"); (version) = (2); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.create = kernel.function("nfs3_proc_create")!, module("nfs").function("nfs3_proc_create")?, module("nfsv3").function("nfs3_proc_create")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (fh) = (NFS_FH($dir)); (filelen) = ($dentry->d_name->len); (filename) = (kernel_string_n($dentry->d_name->name, filelen)); (flag) = ($flags); (mode) = ($sattr->ia_mode); (name) = ("nfs.proc3.create"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc3.create.return = kernel.function("nfs3_proc_create").return!, module("nfs").function("nfs3_proc_create").return?, module("nfsv3").function("nfs3_proc_create").return?{ (name) = ("nfs.proc3.create.return"); (version) = (3); (retstr) = (sprintf("%d", $return)); } probe nfs.proc4.create = kernel.function("nfs4_proc_create")!, module("nfs").function("nfs4_proc_create")?, module("nfsv4").function("nfs4_proc_create")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (fh) = (NFS_FH($dir)); (filelen) = ($dentry->d_name->len); (filename) = (kernel_string_n($dentry->d_name->name, filelen)); (flag) = ($flags); (mode) = ($sattr->ia_mode); (name) = ("nfs.proc4.create"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc4.create.return = kernel.function("nfs4_proc_create").return!, module("nfs").function("nfs4_proc_create").return?, module("nfsv4").function("nfs4_proc_create").return?{ (name) = ("nfs.proc4.create.return"); (version) = (4); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.remove = nfs.proc2.remove, nfs.proc3.remove, nfs.proc4.remove{ } probe nfs.proc.remove.return = nfs.proc2.remove.return, nfs.proc3.remove.return, nfs.proc4.remove.return{ } probe nfs.proc2.remove = _nfs.proc2.remove!, _nfs.proc2.missing_remove{ (version) = (2); (name) = ("nfs.proc2.remove"); (argstr) = (sprintf("%s", filename)); } probe _nfs.proc2.remove = kernel.function("nfs_proc_remove")!, module("nfs").function("nfs_proc_remove")?, module("nfsv2").function("nfs_proc_remove")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (fh) = (NFS_FH($dir)); (filelen) = ($name->len); (filename) = (kernel_string_n($name->name, filelen)); } probe _nfs.proc2.missing_remove = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (fh) = (0); (filelen) = (0); (filename) = (""); } probe nfs.proc2.remove.return = kernel.function("nfs_proc_remove").return!, module("nfs").function("nfs_proc_remove").return!, module("nfsv2").function("nfs_proc_remove").return!, never{ (name) = ("nfs.proc2.remove.return"); (version) = (2); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.remove = kernel.function("nfs3_proc_remove")!, module("nfs").function("nfs3_proc_remove")?, module("nfsv3").function("nfs3_proc_remove")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (3); (fh) = (NFS_FH($dir)); (filelen) = ($name->len); (filename) = (kernel_string_n($name->name, filelen)); (name) = ("nfs.proc3.remove"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc3.remove.return = kernel.function("nfs3_proc_remove").return!, module("nfs").function("nfs3_proc_remove").return?, module("nfsv3").function("nfs3_proc_remove").return?{ (name) = ("nfs.proc3.remove.return"); (version) = (3); (retstr) = (sprintf("%d", $return)); } probe nfs.proc4.remove = kernel.function("nfs4_proc_remove")!, module("nfs").function("nfs4_proc_remove")?, module("nfsv4").function("nfs4_proc_remove")?{ (client) = (NFS_CLIENT($dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (version) = (4); (fh) = (NFS_FH($dir)); (filelen) = ($name->len); (filename) = (kernel_string_n($name->name, filelen)); (name) = ("nfs.proc4.remove"); (argstr) = (sprintf("%s", filename)); } probe nfs.proc4.remove.return = kernel.function("nfs4_proc_remove").return!, module("nfs").function("nfs4_proc_remove").return?, module("nfsv4").function("nfs4_proc_remove").return?{ (name) = ("nfs.proc4.remove.return"); (version) = (4); (retstr) = (sprintf("%d", $return)); } probe nfs.proc.rename = nfs.proc2.rename, nfs.proc3.rename, nfs.proc4.rename{ } probe nfs.proc.rename.return = nfs.proc2.rename.return, nfs.proc3.rename.return, nfs.proc4.rename.return{ } probe nfs.proc2.rename = _nfs.proc2.rename!, _nfs.proc2.missing_rename{ (version) = (2); (name) = ("nfs.proc2.rename"); (argstr) = (sprintf("%s,%s", old_name, new_name)); } probe _nfs.proc2.rename = kernel.function("nfs_proc_rename")!, module("nfs").function("nfs_proc_rename")?, module("nfsv2").function("nfs_proc_rename")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (old_fh) = (NFS_FH($old_dir)); (old_filelen) = ($old_name->len); (old_name) = (kernel_string_n($old_name->name, old_filelen)); (new_fh) = (NFS_FH($new_dir)); (new_filelen) = ($new_name->len); (new_name) = (kernel_string_n($new_name->name, new_filelen)); } probe _nfs.proc2.missing_rename = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (old_fh) = (0); (old_filelen) = (0); (old_name) = (""); (new_fh) = (0); (new_filelen) = (0); (new_name) = (""); } probe nfs.proc2.rename.return = kernel.function("nfs_proc_rename").return!, module("nfs").function("nfs_proc_rename").return!, module("nfsv2").function("nfs_proc_rename").return!, never{ (name) = ("nfs.proc2.rename.return"); (version) = (2); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc3.rename = _nfs.proc3.rename!, _nfs.proc3.missing_rename{ (version) = (3); (name) = ("nfs.proc3.rename"); (argstr) = (sprintf("%s,%s", old_name, new_name)); } probe _nfs.proc3.rename = kernel.function("nfs3_proc_rename")!, module("nfs").function("nfs3_proc_rename")?, module("nfsv3").function("nfs3_proc_rename")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (old_fh) = (NFS_FH($old_dir)); (old_filelen) = ($old_name->len); (old_name) = (kernel_string_n($old_name->name, old_filelen)); (new_fh) = (NFS_FH($new_dir)); (new_filelen) = ($new_name->len); (new_name) = (kernel_string_n($new_name->name, new_filelen)); } probe _nfs.proc3.missing_rename = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (old_fh) = (0); (old_filelen) = (0); (old_name) = (""); (new_fh) = (0); (new_filelen) = (0); (new_name) = (""); } probe nfs.proc3.rename.return = kernel.function("nfs3_proc_rename").return!, module("nfs").function("nfs3_proc_rename").return?, module("nfsv3").function("nfs3_proc_rename").return!, never{ (name) = ("nfs.proc3.rename.return"); (version) = (3); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } probe nfs.proc4.rename = _nfs.proc4.rename!, _nfs.proc4.missing_rename{ (version) = (4); (name) = ("nfs.proc4.rename"); (argstr) = (sprintf("%s,%s", old_name, new_name)); } probe _nfs.proc4.rename = kernel.function("nfs4_proc_rename")!, module("nfs").function("nfs4_proc_rename")?, module("nfsv4").function("nfs4_proc_rename")?{ (client) = (NFS_CLIENT($old_dir)); (server_ip) = (get_ip_from_client(client)); (prot) = (get_prot_from_client(client)); (old_fh) = (NFS_FH($old_dir)); (old_filelen) = ($old_name->len); (old_name) = (kernel_string_n($old_name->name, old_filelen)); (new_fh) = (NFS_FH($new_dir)); (new_filelen) = ($new_name->len); (new_name) = (kernel_string_n($new_name->name, new_filelen)); } probe _nfs.proc4.missing_rename = never{ (client) = (0); (server_ip) = (0); (prot) = (0); (old_fh) = (0); (old_filelen) = (0); (old_name) = (""); (new_fh) = (0); (new_filelen) = (0); (new_name) = (""); } probe nfs.proc4.rename.return = kernel.function("nfs4_proc_rename").return!, module("nfs").function("nfs4_proc_rename").return?, module("nfsv4").function("nfs4_proc_rename").return!, never{ (name) = ("nfs.proc4.rename.return"); (version) = (4); (retstr) = ((@defined($return))?(sprintf("%d", $return)):("N/A")); } function AF_INET () { return %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}; } function AF_INET6 () { return %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}; } function NFS_I (inode) { (offset) = (&@cast(0, "nfs_inode", "kernel:nfs")->vfs_inode); return (inode) - (offset); } function NFS_FH (inode) { return &@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->fh; } function NFS_SERVER (inode) { return @cast(inode, "inode")->i_sb->s_fs_info; } function NFS_CLIENT (inode) { return @cast(NFS_SERVER(inode), "nfs_server", "kernel:nfs")->client; } function NFS_PROTO (inode) { (nfsserver) = (NFS_SERVER(inode)); return (@defined(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops))?(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops):(@cast(nfsserver, "nfs_server", "kernel:nfs")->rpc_ops); } function get_ip_from_client (clnt) { (cl_xprt) = (@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_xprt); (addr) = (&@cast(cl_xprt, "rpc_xprt", "kernel:sunrpc")->addr); if ((@cast(addr, "sockaddr_in")->sin_family) != (%{ /* pure */ /* unprivileged */ AF_INET %})) { return 0; } ; return @cast(addr, "sockaddr_in")->sin_addr->s_addr; } function get_prot_from_client (clnt) { (cl_xprt) = (@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_xprt); return @cast(cl_xprt, "rpc_xprt", "kernel:sunrpc")->prot; } function get_ip (task) { (clnt) = (@cast(task, "rpc_task", "kernel:sunrpc")->tk_client); return get_ip_from_client(clnt); } function get_prot (task) { (clnt) = (@cast(task, "rpc_task", "kernel:sunrpc")->tk_client); return get_prot_from_client(clnt); } function __nfsv4_bitmask (dir, i) { return @cast(NFS_SERVER(dir), "nfs_server", "kernel:nfs")->attr_bitmask[i]; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp %{ #include #include #include #include #include %}probe nfsd.dispatch = kernel.function("nfsd_dispatch")!, module("nfsd").function("nfsd_dispatch")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = ($rqstp->rq_vers); (xid) = ($rqstp->rq_xid); (prog) = ($rqstp->rq_prog); (proc) = ($rqstp->rq_proc); (name) = ("nfsd.dispatch"); (argstr) = (sprintf("%d,%d", version, proto)); } probe nfsd.dispatch.return = kernel.function("nfsd_dispatch").return!, module("nfsd").function("nfsd_dispatch").return?{ (name) = ("nfsd.dispatch.return"); (retstr) = (sprintf("%d", $return)); } probe nfsd.proc.entries = nfsd.proc.lookup, nfsd.proc.read, nfsd.proc.write, nfsd.proc.commit, nfsd.proc.remove, nfsd.proc.rename, nfsd.proc.create{ } probe nfsd.proc.return = nfsd.proc.lookup.return, nfsd.proc.read.return, nfsd.proc.write.return, nfsd.proc.commit.return, nfsd.proc.remove.return, nfsd.proc.rename.return, nfsd.proc.create.return{ } probe nfsd.proc.lookup = nfsd.proc4.lookup?, nfsd.proc3.lookup, nfsd.proc2.lookup{ } probe nfsd.proc.lookup.return = nfsd.proc4.lookup.return?, nfsd.proc3.lookup.return, nfsd.proc2.lookup.return{ } probe nfsd.proc2.lookup = kernel.function("nfsd_proc_lookup")!, module("nfsd").function("nfsd_proc_lookup")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "nfsd_diropargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.lookup"); (argstr) = (sprintf("%s", kernel_string_n($argp->name, $argp->len))); } probe nfsd.proc2.lookup.return = kernel.function("nfsd_proc_lookup").return!, module("nfsd").function("nfsd_proc_lookup").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.lookup.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc3.lookup = kernel.function("nfsd3_proc_lookup")!, module("nfsd").function("nfsd3_proc_lookup")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "nfsd_diropargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.lookup"); (argstr) = (sprintf("%s", kernel_string_n($argp->name, $argp->len))); } probe nfsd.proc3.lookup.return = kernel.function("nfsd3_proc_lookup").return!, module("nfsd").function("nfsd3_proc_lookup").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.lookup.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.lookup = kernel.function("nfsd4_lookup").call!, module("nfsd").function("nfsd4_lookup").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (filelen) = ($lookup->lo_len); (filename) = (kernel_string_n($lookup->lo_name, $lookup->lo_len)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.lookup"); (argstr) = (sprintf("%s", kernel_string_n($lookup->lo_name, $lookup->lo_len))); } probe nfsd.proc4.lookup.return = kernel.function("nfsd4_lookup").return!, module("nfsd").function("nfsd4_lookup").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.lookup.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.read = nfsd.proc4.read?, nfsd.proc3.read, nfsd.proc2.read{ } probe nfsd.proc.read.return = nfsd.proc4.read.return?, nfsd.proc3.read.return, nfsd.proc2.read.return{ } probe nfsd.proc2.read = kernel.function("nfsd_proc_read")!, module("nfsd").function("nfsd_proc_read")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "nfsd_readargs", "kernel:nfsd")->fh); (count) = ($argp->count); (offset) = ($argp->offset); (vec) = ((@defined($rqstp->rq_vec))?($rqstp->rq_vec):($argp->vec)); (vlen) = ($argp->vlen); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc2.read.return = kernel.function("nfsd_proc_read").return!, module("nfsd").function("nfsd_proc_read").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.read.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc3.read = kernel.function("nfsd3_proc_read")!, module("nfsd").function("nfsd3_proc_read")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "nfsd3_readargs", "kernel:nfsd")->fh); (count) = ($argp->count); (offset) = ($argp->offset); (vec) = ((@defined($rqstp->rq_vec))?($rqstp->rq_vec):($argp->vec)); (vlen) = ($argp->vlen); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc3.read.return = kernel.function("nfsd3_proc_read").return!, module("nfsd").function("nfsd3_proc_read").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.read.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.read = kernel.function("nfsd4_read").call!, module("nfsd").function("nfsd4_read").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (count) = ($read->rd_length); (offset) = ($read->rd_offset); (vec) = ($rqstp->rq_vec); (vlen) = ($read->rd_vlen); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.read"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc4.read.return = kernel.function("nfsd4_read").return!, module("nfsd").function("nfsd4_read").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.read.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.write = nfsd.proc4.write?, nfsd.proc3.write, nfsd.proc2.write{ } probe nfsd.proc.write.return = nfsd.proc4.write.return?, nfsd.proc3.write.return, nfsd.proc2.write.return{ } probe nfsd.proc2.write = kernel.function("nfsd_proc_write")!, module("nfsd").function("nfsd_proc_write")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "nfsd_writeargs", "kernel:nfsd")->fh); (count) = ($argp->len); (offset) = ($argp->offset); (vec) = ((@defined($rqstp->rq_vec))?($rqstp->rq_vec):($argp->vec)); (vlen) = ($argp->vlen); (stable) = (1); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc2.write.return = kernel.function("nfsd_proc_write").return!, module("nfsd").function("nfsd_proc_write").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.write.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); (count) = ((($return) == (0))?($argp->len):($return)); (stable) = (1); } probe nfsd.proc3.write = kernel.function("nfsd3_proc_write")!, module("nfsd").function("nfsd3_proc_write")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "nfsd3_writeargs", "kernel:nfsd")->fh); (count) = ($argp->count); (offset) = ($argp->offset); (vec) = ((@defined($rqstp->rq_vec))?($rqstp->rq_vec):($argp->vec)); (vlen) = ($argp->vlen); (stable) = ($argp->stable); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc3.write.return = kernel.function("nfsd3_proc_write").return!, module("nfsd").function("nfsd3_proc_write").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.write.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); (count) = ($resp->count); (stable) = ($resp->committed); } probe nfsd.proc4.write = kernel.function("nfsd4_write").call!, module("nfsd").function("nfsd4_write").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (count) = ($write->wr_buflen); (offset) = ($write->wr_offset); (vec) = ($rqstp->rq_vec); (vlen) = ((@defined($write->wr_vlen))?($write->wr_vlen):(0)); (stable) = ($write->wr_stable_how); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.write"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc4.write.return = kernel.function("nfsd4_write").return!, module("nfsd").function("nfsd4_write").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.write.return"); (version) = (4); (count) = ($write->wr_bytes_written); (stable) = ($write->wr_how_written); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.commit = nfsd.proc4.commit?, nfsd.proc3.commit{ } probe nfsd.proc.commit.return = nfsd.proc4.commit.return?, nfsd.proc3.commit.return{ } probe nfsd.proc3.commit = kernel.function("nfsd3_proc_commit")!, module("nfsd").function("nfsd3_proc_commit")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "struct nfsd3_commitargs", "kernel:nfsd")->fh); (count) = ($argp->count); (offset) = ($argp->offset); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.commit"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc3.commit.return = kernel.function("nfsd3_proc_commit").return!, module("nfsd").function("nfsd3_proc_commit").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.commit.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.commit = kernel.function("nfsd4_commit").call!, module("nfsd").function("nfsd4_commit").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (count) = ($commit->co_count); (offset) = ($commit->co_offset); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.commit"); (argstr) = (sprintf("%d,%d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.proc4.commit.return = kernel.function("nfsd4_commit").return!, module("nfsd").function("nfsd4_commit").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.commit.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.create = nfsd.proc4.create?, nfsd.proc3.create, nfsd.proc2.create{ } probe nfsd.proc.create.return = nfsd.proc4.create.return?, nfsd.proc3.create.return, nfsd.proc2.create.return{ } probe nfsd.proc2.create = kernel.function("nfsd_proc_create")!, module("nfsd").function("nfsd_proc_create")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "struct nfsd_createargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (createmode) = (0); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.create"); (argstr) = (sprintf("%s", kernel_string_n($argp->name, $argp->len))); } probe nfsd.proc2.create.return = kernel.function("nfsd_proc_create").return!, module("nfsd").function("nfsd_proc_create").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.create.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc3.create = kernel.function("nfsd3_proc_create")!, module("nfsd").function("nfsd3_proc_create")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "struct nfsd_createargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (createmode) = ($argp->createmode); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.create"); (argstr) = (sprintf("%s (mode=%s)", kernel_string_n($argp->name, $argp->len), nfs3_cmode(createmode))); } probe nfsd.proc3.create.return = kernel.function("nfsd3_proc_create").return!, module("nfsd").function("nfsd3_proc_create").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.create.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.create = kernel.function("nfsd4_create").call!, module("nfsd").function("nfsd4_create").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = ((@defined($cstate))?(&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh):($current_fh)); (filelen) = ($create->cr_namelen); (filename) = (kernel_string_n($create->cr_name, $create->cr_namelen)); (createmode) = ($create->cr_type); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.create"); (argstr) = (sprintf("%s (type=%s)", kernel_string_n($create->cr_name, $create->cr_namelen), nfs4_ctype(createmode))); } probe nfsd.proc4.create.return = kernel.function("nfsd4_create").return!, module("nfsd").function("nfsd4_create").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.create.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.remove = nfsd.proc4.remove?, nfsd.proc3.remove, nfsd.proc2.remove{ } probe nfsd.proc.remove.return = nfsd.proc4.remove.return?, nfsd.proc3.remove.return, nfsd.proc2.remove.return{ } probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")!, module("nfsd").function("nfsd_proc_remove")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "struct nfsd_diropargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.remove"); (argstr) = (sprintf("%s", kernel_string_n($argp->name, $argp->len))); } probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return!, module("nfsd").function("nfsd_proc_remove").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.remove.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")!, module("nfsd").function("nfsd3_proc_remove")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "struct nfsd3_diropargs", "kernel:nfsd")->fh); (filelen) = ($argp->len); (filename) = (kernel_string_n($argp->name, $argp->len)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.remove"); (argstr) = (sprintf("%s", kernel_string_n($argp->name, $argp->len))); } probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return!, module("nfsd").function("nfsd3_proc_remove").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.remove.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.remove = kernel.function("nfsd4_remove").call!, module("nfsd").function("nfsd4_remove").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (filelen) = ($remove->rm_namelen); (filename) = (kernel_string_n($remove->rm_name, $remove->rm_namelen)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.remove"); (argstr) = (sprintf("%s", kernel_string_n($remove->rm_name, $remove->rm_namelen))); } probe nfsd.proc4.remove.return = kernel.function("nfsd4_remove").return!, module("nfsd").function("nfsd4_remove").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.remove.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc.rename = nfsd.proc4.rename?, nfsd.proc3.rename, nfsd.proc2.rename{ } probe nfsd.proc.rename.return = nfsd.proc4.rename.return?, nfsd.proc3.rename.return, nfsd.proc2.rename.return{ } probe nfsd.proc2.rename = kernel.function("nfsd_proc_rename")!, module("nfsd").function("nfsd_proc_rename")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (2); (fh) = (&@cast($argp, "struct nfsd_renameargs", "kernel:nfsd")->ffh); (tfh) = (&@cast($argp, "struct nfsd_renameargs", "kernel:nfsd")->tfh); (filelen) = ($argp->flen); (filename) = (kernel_string_n($argp->fname, $argp->flen)); (tlen) = ($argp->tlen); (tname) = (kernel_string_n($argp->tname, $argp->tlen)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc2.rename"); (argstr) = (sprintf("%s to %s", kernel_string_n($argp->fname, $argp->flen), kernel_string_n($argp->tname, $argp->tlen))); } probe nfsd.proc2.rename.return = kernel.function("nfsd_proc_rename").return!, module("nfsd").function("nfsd_proc_rename").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc2.rename.return"); (version) = (2); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc3.rename = kernel.function("nfsd3_proc_rename")!, module("nfsd").function("nfsd3_proc_rename")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (3); (fh) = (&@cast($argp, "struct nfsd3_renameargs", "kernel:nfsd")->ffh); (tfh) = (&@cast($argp, "struct nfsd3_renameargs", "kernel:nfsd")->tfh); (filelen) = ($argp->flen); (filename) = (kernel_string_n($argp->fname, $argp->flen)); (tlen) = ($argp->tlen); (tname) = (kernel_string_n($argp->tname, $argp->tlen)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc3.rename"); (argstr) = (sprintf("%s to %s", kernel_string_n($argp->fname, $argp->flen), kernel_string_n($argp->tname, $argp->tlen))); } probe nfsd.proc3.rename.return = kernel.function("nfsd3_proc_rename").return!, module("nfsd").function("nfsd3_proc_rename").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc3.rename.return"); (version) = (3); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.proc4.rename = kernel.function("nfsd4_rename").call!, module("nfsd").function("nfsd4_rename").call?{ (client_ip) = (addr_from_rqst_str($rqstp)); (proto) = ($rqstp->rq_prot); (version) = (4); (fh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->save_fh); (tfh) = (&@cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh); (filelen) = ($rename->rn_snamelen); (filename) = (kernel_string_n($rename->rn_sname, $rename->rn_snamelen)); (tlen) = ($rename->rn_tnamelen); (tname) = (kernel_string_n($rename->rn_tname, $rename->rn_tnamelen)); (uid) = (__rqstp_uid($rqstp)); (gid) = (__rqstp_gid($rqstp)); (name) = ("nfsd.proc4.rename"); (argstr) = (sprintf("%s to %s", kernel_string_n($rename->rn_sname, $rename->rn_snamelen), kernel_string_n($rename->rn_tname, $rename->rn_tnamelen))); } probe nfsd.proc4.rename.return = kernel.function("nfsd4_rename").return!, module("nfsd").function("nfsd4_rename").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (name) = ("nfsd.proc4.rename.return"); (version) = (4); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.entries = nfsd.open, nfsd.read, nfsd.write, nfsd.lookup, nfsd.commit, nfsd.create, nfsd.createv3, nfsd.unlink, nfsd.rename, nfsd.close?{ } probe nfsd.return = nfsd.open.return, nfsd.read.return, nfsd.write.return, nfsd.lookup.return, nfsd.commit.return, nfsd.create.return, nfsd.createv3.return, nfsd.unlink.return, nfsd.rename.return, nfsd.close.return?{ } probe nfsd.open = kernel.function("nfsd_open")!, module("nfsd").function("nfsd_open")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (access) = ((@defined($access))?($access):($may_flags)); (type) = ($type); (name) = ("nfsd.open"); (argstr) = (sprintf("access: %d type: %s", access, ftype(type))); } probe nfsd.open.return = kernel.function("nfsd_open").return!, module("nfsd").function("nfsd_open").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.open.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.close = __nfsd.call_close?, __nfsd.inlined_close?{ (client_ip) = ("N/A"); (name) = ("nfsd.close"); (argstr) = (sprintf("%s", filename)); } probe __nfsd.call_close = kernel.function("nfsd_close").call!, module("nfsd").function("nfsd_close").call?{ (filename) = (__file_filename($filp)); } probe __nfsd.inlined_close = kernel.function("nfsd_close").inline!, module("nfsd").function("nfsd_close").inline?{ (filename) = (__file_filename((@defined($filp))?($filp):(0))); } probe nfsd.close.return = kernel.function("nfsd_close").return!, module("nfsd").function("nfsd_close").return?{ (name) = ("nfsd.close.return"); (retstr) = ("N/A"); } probe nfsd.read = kernel.function("nfsd_read")!, module("nfsd").function("nfsd_read")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (file) = ((@defined($file))?($file):(0)); (count) = (kernel_long($count)); (offset) = ($offset); (vec) = ($vec); (vlen) = ($vlen); (name) = ("nfsd.read"); (argstr) = (sprintf("count: %d offset: %d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.read.return = kernel.function("nfsd_read").return!, module("nfsd").function("nfsd_read").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.read.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.write = kernel.function("nfsd_write")!, module("nfsd").function("nfsd_write")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (file) = ((@defined($file))?($file):(0)); (count) = (kernel_long($cnt)); (offset) = ($offset); (vec) = ($vec); (vlen) = ($vlen); (name) = ("nfsd.write"); (argstr) = (sprintf("count: %d offset: %d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.write.return = kernel.function("nfsd_write").return!, module("nfsd").function("nfsd_write").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.write.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.commit = kernel.function("nfsd_commit")!, module("nfsd").function("nfsd_commit")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (count) = ($count); (offset) = ($offset); (flag) = ($fhp->fh_export->ex_flags); (name) = ("nfsd.commit"); (argstr) = (sprintf("count: %d offset: %d", count, offset)); (size) = (count); (units) = ("bytes"); } probe nfsd.commit.return = kernel.function("nfsd_commit").return!, module("nfsd").function("nfsd_commit").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.commit.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.lookup = kernel.function("nfsd_lookup")!, module("nfsd").function("nfsd_lookup")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (filelen) = ($len); (filename) = (kernel_string_n($name, $len)); (name) = ("nfsd.lookup"); (argstr) = (sprintf("name: %s", kernel_string_n($name, $len))); } probe nfsd.lookup.return = kernel.function("nfsd_lookup").return!, module("nfsd").function("nfsd_lookup").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.lookup.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.create = kernel.function("nfsd_create")!, module("nfsd").function("nfsd_create")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (filelen) = ($flen); (filename) = (kernel_string_n($fname, $flen)); (type) = ($type); (iap_valid) = ($iap->ia_valid); (iap_mode) = ($iap->ia_mode); (name) = ("nfsd.create"); (argstr) = (sprintf("name: %s type: %s", kernel_string_n($fname, $flen), ftype(type))); } probe nfsd.create.return = kernel.function("nfsd_create").return!, module("nfsd").function("nfsd_create").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.create.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.createv3 = kernel.function("do_nfsd_create")!, module("nfsd").function("do_nfsd_create")!, kernel.function("nfsd_create_v3")!, module("nfsd").function("nfsd_create_v3")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (filelen) = ($flen); (filename) = (kernel_string_n($fname, $flen)); (iap_valid) = ($iap->ia_valid); (iap_mode) = ($iap->ia_mode); (truncp) = ($truncp); (verifier) = ($verifier); (createmode) = ($createmode); (name) = ("nfsd.createv3"); (argstr) = (sprintf("name: %s mode: %s", kernel_string_n($fname, $flen), nfs3_cmode(createmode))); } probe nfsd.createv3.return = kernel.function("do_nfsd_create").return!, module("nfsd").function("do_nfsd_create").return!, kernel.function("nfsd_create_v3").return!, module("nfsd").function("nfsd_create_v3").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.createv3.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.unlink = kernel.function("nfsd_unlink")!, module("nfsd").function("nfsd_unlink")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (filelen) = ($flen); (filename) = (kernel_string_n($fname, $flen)); (type) = ($type); (name) = ("nfsd.unlink"); (argstr) = (sprintf("name: %s", kernel_string_n($fname, $flen))); } probe nfsd.unlink.return = kernel.function("nfsd_unlink").return!, module("nfsd").function("nfsd_unlink").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($fhp)); (name) = ("nfsd.unlink.return"); (retstr) = (sprintf("%s", nfsderror($return))); } probe nfsd.rename = kernel.function("nfsd_rename")!, module("nfsd").function("nfsd_rename")?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($ffhp)); (tfh) = (__svc_fh($tfhp)); (filelen) = ($flen); (filename) = (kernel_string_n($fname, $flen)); (tlen) = ($tlen); (tname) = (kernel_string_n($tname, $tlen)); (name) = ("nfsd.rename"); (argstr) = (sprintf("%s to %s", kernel_string_n($fname, $flen), kernel_string_n($tname, $tlen))); } probe nfsd.rename.return = kernel.function("nfsd_rename").return!, module("nfsd").function("nfsd_rename").return?{ (client_ip) = (addr_from_rqst_str($rqstp)); (fh) = (__svc_fh($ffhp)); (name) = ("nfsd.rename.return"); (retstr) = (sprintf("%s", nfsderror($return))); } function __svc_fh (fhp) { (svc_fh) = (&@cast(fhp, "svc_fh", "kernel:nfsd")->fh_handle); return sprintf("%d: %08x %08x %08x %08x %08x %08x", (svc_fh)->fh_size, (svc_fh)->fh_base->fh_pad[0], (svc_fh)->fh_base->fh_pad[1], (svc_fh)->fh_base->fh_pad[2], (svc_fh)->fh_base->fh_pad[3], (svc_fh)->fh_base->fh_pad[4], (svc_fh)->fh_base->fh_pad[5]); } function nfs3_cmode (cmode) %{ /* pure */ int cmode = (int)(long)STAP_ARG_cmode; switch (cmode) { case NFS3_CREATE_UNCHECKED: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "UNCHECKED"); break; case NFS3_CREATE_GUARDED: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "GUARDED"); break; case NFS3_CREATE_EXCLUSIVE: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "EXCLUSIVE"); break; default: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "Bad Value(%d)", cmode); } CATCH_DEREF_FAULT(); %} function nfs4_ctype (cmode) %{ /* pure */ int cmode = (int)(long)STAP_ARG_cmode; switch (cmode) { case NF4BAD: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4BAD"); break; case NF4REG: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4REG"); break; case NF4DIR: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4DIR"); break; case NF4BLK: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4BLK"); break; case NF4CHR: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4CHR"); break; case NF4LNK: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4LNK"); break; case NF4SOCK: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4SOCK"); break; case NF4FIFO: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4FIFO"); break; case NF4ATTRDIR: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4ATTRDIR"); break; case NF4NAMEDATTR: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "NF4NAMEDATTR"); break; default: snprintf(STAP_RETVALUE, MAXSTRINGLEN, "Bad Value(%d)", cmode); } CATCH_DEREF_FAULT(); %} function ftype (type) %{ /* pure */ int type = (int)(long)STAP_ARG_type; if (S_ISLNK(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISLNK)", type); } else if (S_ISREG(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISREG)", type); } else if (S_ISDIR(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISDIR)", type); } else if (S_ISCHR(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISCHR)", type); } else if (S_ISBLK(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISBLK)", type); } else if (S_ISFIFO(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISFIFO)", type); } else if (S_ISSOCK(type)) { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (ISSOCK)", type); } else { snprintf(STAP_RETVALUE, MAXSTRINGLEN, "0%o (Unknown)", type); } %} function __rqstp_uid (rqstp) %{ /* pure */ // Notice we're using the 'init_user_ns' here, not // 'current_user_ns()'. This matches up with the use in // net/sunrpc/auth_generic.c. struct svc_rqst *rqstp = (struct svc_rqst *)(unsigned long)STAP_ARG_rqstp; #ifndef STAPCONF_LINUX_UIDGID_H uid_t cr_uid = KUIDT_INIT(kread(&(rqstp->rq_cred.cr_uid))); #else kuid_t cr_uid; /* Make sure the cr_uid struct is valid to read. */ (void)kderef_buffer(NULL, &(rqstp->rq_cred.cr_uid), sizeof(kuid_t)); cr_uid = KUIDT_INIT(__kuid_val(rqstp->rq_cred.cr_uid)); #endif #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kuid_munged(&init_user_ns, cr_uid); #else STAP_RETVALUE = cr_uid; #endif CATCH_DEREF_FAULT(); %} function __rqstp_gid (rqstp) %{ /* pure */ // Notice we're using the 'init_user_ns' here, not // 'current_user_ns()'. This matches up with the use in // net/sunrpc/auth_generic.c. struct svc_rqst *rqstp = (struct svc_rqst *)(unsigned long)STAP_ARG_rqstp; #ifndef STAPCONF_LINUX_UIDGID_H gid_t cr_gid = KGIDT_INIT(kread(&(rqstp->rq_cred.cr_gid))); #else kgid_t cr_gid; /* Make sure the cr_gid struct is valid to read. */ (void)kderef_buffer(NULL, &(rqstp->rq_cred.cr_gid), sizeof(kgid_t)); cr_gid = KGIDT_INIT(__kgid_val(rqstp->rq_cred.cr_gid)); #endif #if defined(CONFIG_USER_NS) || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) STAP_RETVALUE = from_kgid_munged(&init_user_ns, cr_gid); #else STAP_RETVALUE = cr_gid; #endif CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/nfsderrno.stp %{ #include #include #define nfs_ok __constant_htonl(NFS_OK) #define nfserr_perm __constant_htonl(NFSERR_PERM) #define nfserr_noent __constant_htonl(NFSERR_NOENT) #define nfserr_io __constant_htonl(NFSERR_IO) #define nfserr_nxio __constant_htonl(NFSERR_NXIO) #define nfserr_eagain __constant_htonl(NFSERR_EAGAIN) #define nfserr_acces __constant_htonl(NFSERR_ACCES) #define nfserr_exist __constant_htonl(NFSERR_EXIST) #define nfserr_xdev __constant_htonl(NFSERR_XDEV) #define nfserr_nodev __constant_htonl(NFSERR_NODEV) #define nfserr_notdir __constant_htonl(NFSERR_NOTDIR) #define nfserr_isdir __constant_htonl(NFSERR_ISDIR) #define nfserr_inval __constant_htonl(NFSERR_INVAL) #define nfserr_fbig __constant_htonl(NFSERR_FBIG) #define nfserr_nospc __constant_htonl(NFSERR_NOSPC) #define nfserr_rofs __constant_htonl(NFSERR_ROFS) #define nfserr_mlink __constant_htonl(NFSERR_MLINK) #define nfserr_opnotsupp __constant_htonl(NFSERR_OPNOTSUPP) #define nfserr_nametoolong __constant_htonl(NFSERR_NAMETOOLONG) #define nfserr_notempty __constant_htonl(NFSERR_NOTEMPTY) #define nfserr_dquot __constant_htonl(NFSERR_DQUOT) #define nfserr_stale __constant_htonl(NFSERR_STALE) #define nfserr_remote __constant_htonl(NFSERR_REMOTE) #define nfserr_wflush __constant_htonl(NFSERR_WFLUSH) #define nfserr_badhandle __constant_htonl(NFSERR_BADHANDLE) #define nfserr_notsync __constant_htonl(NFSERR_NOT_SYNC) #define nfserr_badcookie __constant_htonl(NFSERR_BAD_COOKIE) #define nfserr_notsupp __constant_htonl(NFSERR_NOTSUPP) #define nfserr_toosmall __constant_htonl(NFSERR_TOOSMALL) #define nfserr_serverfault __constant_htonl(NFSERR_SERVERFAULT) #define nfserr_badtype __constant_htonl(NFSERR_BADTYPE) #define nfserr_jukebox __constant_htonl(NFSERR_JUKEBOX) #define nfserr_denied __constant_htonl(NFSERR_DENIED) #define nfserr_deadlock __constant_htonl(NFSERR_DEADLOCK) #define nfserr_expired __constant_htonl(NFSERR_EXPIRED) #define nfserr_bad_cookie __constant_htonl(NFSERR_BAD_COOKIE) #define nfserr_same __constant_htonl(NFSERR_SAME) #define nfserr_clid_inuse __constant_htonl(NFSERR_CLID_INUSE) #define nfserr_stale_clientid __constant_htonl(NFSERR_STALE_CLIENTID) #define nfserr_resource __constant_htonl(NFSERR_RESOURCE) #define nfserr_moved __constant_htonl(NFSERR_MOVED) #define nfserr_nofilehandle __constant_htonl(NFSERR_NOFILEHANDLE) #define nfserr_minor_vers_mismatch __constant_htonl(NFSERR_MINOR_VERS_MISMATCH) #define nfserr_share_denied __constant_htonl(NFSERR_SHARE_DENIED) #define nfserr_stale_stateid __constant_htonl(NFSERR_STALE_STATEID) #define nfserr_old_stateid __constant_htonl(NFSERR_OLD_STATEID) #define nfserr_bad_stateid __constant_htonl(NFSERR_BAD_STATEID) #define nfserr_bad_seqid __constant_htonl(NFSERR_BAD_SEQID) #define nfserr_symlink __constant_htonl(NFSERR_SYMLINK) #define nfserr_not_same __constant_htonl(NFSERR_NOT_SAME) #define nfserr_restorefh __constant_htonl(NFSERR_RESTOREFH) #define nfserr_attrnotsupp __constant_htonl(NFSERR_ATTRNOTSUPP) #define nfserr_bad_xdr __constant_htonl(NFSERR_BAD_XDR) #define nfserr_openmode __constant_htonl(NFSERR_OPENMODE) #define nfserr_locks_held __constant_htonl(NFSERR_LOCKS_HELD) #define nfserr_op_illegal __constant_htonl(NFSERR_OP_ILLEGAL) #define nfserr_grace __constant_htonl(NFSERR_GRACE) #define nfserr_no_grace __constant_htonl(NFSERR_NO_GRACE) #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) #define nfserr_badname __constant_htonl(NFSERR_BADNAME) #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) #define nfserr_locked __constant_htonl(NFSERR_LOCKED) #define nfserr_wrongsec __constant_htonl(NFSERR_WRONGSEC) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) #define nfserr_badiomode __constant_htonl(NFS4ERR_BADIOMODE) #define nfserr_badlayout __constant_htonl(NFS4ERR_BADLAYOUT) #define nfserr_bad_session_digest __constant_htonl(NFS4ERR_BAD_SESSION_DIGEST) #define nfserr_badsession __constant_htonl(NFS4ERR_BADSESSION) #define nfserr_badslot __constant_htonl(NFS4ERR_BADSLOT) #define nfserr_complete_already __constant_htonl(NFS4ERR_COMPLETE_ALREADY) #define nfserr_conn_not_bound_to_session __constant_htonl(NFS4ERR_CONN_NOT_BOUND_TO_SESSION) #define nfserr_deleg_already_wanted __constant_htonl(NFS4ERR_DELEG_ALREADY_WANTED) #define nfserr_back_chan_busy __constant_htonl(NFS4ERR_BACK_CHAN_BUSY) #define nfserr_layouttrylater __constant_htonl(NFS4ERR_LAYOUTTRYLATER) #define nfserr_layoutunavailable __constant_htonl(NFS4ERR_LAYOUTUNAVAILABLE) #define nfserr_nomatching_layout __constant_htonl(NFS4ERR_NOMATCHING_LAYOUT) #define nfserr_recallconflict __constant_htonl(NFS4ERR_RECALLCONFLICT) #define nfserr_unknown_layouttype __constant_htonl(NFS4ERR_UNKNOWN_LAYOUTTYPE) #define nfserr_seq_misordered __constant_htonl(NFS4ERR_SEQ_MISORDERED) #define nfserr_sequence_pos __constant_htonl(NFS4ERR_SEQUENCE_POS) #define nfserr_req_too_big __constant_htonl(NFS4ERR_REQ_TOO_BIG) #define nfserr_rep_too_big __constant_htonl(NFS4ERR_REP_TOO_BIG) #define nfserr_rep_too_big_to_cache __constant_htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE) #define nfserr_retry_uncached_rep __constant_htonl(NFS4ERR_RETRY_UNCACHED_REP) #define nfserr_unsafe_compound __constant_htonl(NFS4ERR_UNSAFE_COMPOUND) #define nfserr_too_many_ops __constant_htonl(NFS4ERR_TOO_MANY_OPS) #define nfserr_op_not_in_session __constant_htonl(NFS4ERR_OP_NOT_IN_SESSION) #define nfserr_hash_alg_unsupp __constant_htonl(NFS4ERR_HASH_ALG_UNSUPP) #define nfserr_clientid_busy __constant_htonl(NFS4ERR_CLIENTID_BUSY) #define nfserr_pnfs_io_hole __constant_htonl(NFS4ERR_PNFS_IO_HOLE) #define nfserr_seq_false_retry __constant_htonl(NFS4ERR_SEQ_FALSE_RETRY) #define nfserr_bad_high_slot __constant_htonl(NFS4ERR_BAD_HIGH_SLOT) #define nfserr_deadsession __constant_htonl(NFS4ERR_DEADSESSION) #define nfserr_encr_alg_unsupp __constant_htonl(NFS4ERR_ENCR_ALG_UNSUPP) #define nfserr_pnfs_no_layout __constant_htonl(NFS4ERR_PNFS_NO_LAYOUT) #define nfserr_not_only_op __constant_htonl(NFS4ERR_NOT_ONLY_OP) #define nfserr_wrong_cred __constant_htonl(NFS4ERR_WRONG_CRED) #define nfserr_wrong_type __constant_htonl(NFS4ERR_WRONG_TYPE) #define nfserr_dirdeleg_unavail __constant_htonl(NFS4ERR_DIRDELEG_UNAVAIL) #define nfserr_reject_deleg __constant_htonl(NFS4ERR_REJECT_DELEG) #define nfserr_returnconflict __constant_htonl(NFS4ERR_RETURNCONFLICT) #define nfserr_deleg_revoked __constant_htonl(NFS4ERR_DELEG_REVOKED) #endif %}function nfsderror (err) %{ static struct { int nfserr; char *string; } nfs_errtbl[] = { {nfs_ok, "NFS_OK"}, {nfserr_perm, "NFSERR_PERM"}, {nfserr_noent, "NFSERR_NOENT"}, {nfserr_io, "NFSERR_IO"}, {nfserr_nxio, "NFSERR_NXIO"}, {nfserr_eagain, "NFSERR_EAGAIN"}, {nfserr_acces, "NFSERR_ACCES"}, {nfserr_exist, "NFSERR_EXIST"}, {nfserr_xdev, "NFSERR_XDEV"}, {nfserr_nodev, "NFSERR_NODEV"}, {nfserr_notdir, "NFSERR_NOTDIR"}, {nfserr_isdir, "NFSERR_ISDIR"}, {nfserr_inval, "NFSERR_INVAL"}, {nfserr_fbig, "NFSERR_FBIG"}, {nfserr_nospc, "NFSERR_NOSPC"}, {nfserr_rofs, "NFSERR_ROFS"}, {nfserr_mlink, "NFSERR_MLINK"}, {nfserr_opnotsupp, "NFSERR_OPNOTSUPP"}, {nfserr_nametoolong, "NFSERR_NAMETOOLONG"}, {nfserr_notempty, "NFSERR_NOTEMPTY"}, {nfserr_dquot, "NFSERR_DQUOT"}, {nfserr_stale, "NFSERR_STALE"}, {nfserr_remote, "NFSERR_REMOTE"}, {nfserr_wflush, "NFSERR_WFLUSH"}, {nfserr_badhandle, "NFSERR_BADHANDLE"}, {nfserr_notsync, "NFSERR_NOT_SYNC"}, {nfserr_badcookie, "NFSERR_BAD_COOKIE"}, {nfserr_notsupp, "NFSERR_NOTSUPP"}, {nfserr_toosmall, "NFSERR_TOOSMALL"}, {nfserr_serverfault, "NFSERR_SERVERFAULT"}, {nfserr_badtype, "NFSERR_BADTYPE"}, {nfserr_jukebox, "NFSERR_JUKEBOX"}, {nfserr_denied, "NFSERR_DENIED"}, {nfserr_deadlock, "NFSERR_DEADLOCK"}, {nfserr_expired, "NFSERR_EXPIRED"}, {nfserr_bad_cookie, "NFSERR_BAD_COOKIE"}, {nfserr_same, "NFSERR_SAME"}, {nfserr_clid_inuse, "NFSERR_CLID_INUSE"}, {nfserr_stale_clientid, "NFSERR_STALE_CLIENTID"}, {nfserr_resource, "NFSERR_RESOURCE"}, {nfserr_moved, "NFSERR_MOVED"}, {nfserr_nofilehandle, "NFSERR_NOFILEHANDLE"}, {nfserr_minor_vers_mismatch, "NFSERR_MINOR_VERS_MISMATCH"}, {nfserr_share_denied, "NFSERR_SHARE_DENIED"}, {nfserr_stale_stateid, "NFSERR_STALE_STATEID"}, {nfserr_old_stateid, "NFSERR_OLD_STATEID"}, {nfserr_bad_stateid, "NFSERR_BAD_STATEID"}, {nfserr_bad_seqid, "NFSERR_BAD_SEQID"}, {nfserr_symlink , "NFSERR_SYMLINK"}, {nfserr_not_same , "NFSERR_NOT_SAME"}, {nfserr_restorefh , "NFSERR_RESTOREFH"}, {nfserr_attrnotsupp, "NFSERR_ATTRNOTSUPP"}, {nfserr_bad_xdr, "NFSERR_BAD_XDR"}, {nfserr_openmode, "NFSERR_OPENMODE"}, {nfserr_locks_held, "NFSERR_LOCKS_HELD"}, {nfserr_op_illegal, "NFSERR_OP_ILLEGAL"}, {nfserr_grace, "NFSERR_GRACE"}, {nfserr_no_grace, "NFSERR_NO_GRACE"}, {nfserr_reclaim_bad, "NFSERR_RECLAIM_BAD"}, {nfserr_badname, "NFSERR_BADNAME"}, {nfserr_cb_path_down, "NFSERR_CB_PATH_DOWN"}, {nfserr_locked, "NFSERR_LOCKED"}, {nfserr_wrongsec, "NFSERR_WRONGSEC"}, #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) {nfserr_badiomode, "NFS4ERR_BADIOMODE"}, {nfserr_badlayout, "NFS4ERR_BADLAYOUT"}, {nfserr_bad_session_digest, "NFS4ERR_BAD_SESSION_DIGEST"}, {nfserr_badsession, "NFS4ERR_BADSESSION"}, {nfserr_badslot, "NFS4ERR_BADSLOT"}, {nfserr_complete_already, "NFS4ERR_COMPLETE_ALREADY"}, {nfserr_conn_not_bound_to_session, "NFS4ERR_CONN_NOT_BOUND_TO_SESSION"}, {nfserr_deleg_already_wanted, "NFS4ERR_DELEG_ALREADY_WANTED"}, {nfserr_back_chan_busy, "NFS4ERR_BACK_CHAN_BUSY"}, {nfserr_layouttrylater, "NFS4ERR_LAYOUTTRYLATER"}, {nfserr_layoutunavailable, "NFS4ERR_LAYOUTUNAVAILABLE"}, {nfserr_nomatching_layout, "NFS4ERR_NOMATCHING_LAYOUT"}, {nfserr_recallconflict, "NFS4ERR_RECALLCONFLICT"}, {nfserr_unknown_layouttype, "NFS4ERR_UNKNOWN_LAYOUTTYPE"}, {nfserr_seq_misordered, "NFS4ERR_SEQ_MISORDERED"}, {nfserr_sequence_pos, "NFS4ERR_SEQUENCE_POS"}, {nfserr_req_too_big, "NFS4ERR_REQ_TOO_BIG"}, {nfserr_rep_too_big, "NFS4ERR_REP_TOO_BIG"}, {nfserr_rep_too_big_to_cache, "NFS4ERR_REP_TOO_BIG_TO_CACHE"}, {nfserr_retry_uncached_rep, "NFS4ERR_RETRY_UNCACHED_REP"}, {nfserr_unsafe_compound, "NFS4ERR_UNSAFE_COMPOUND"}, {nfserr_too_many_ops, "NFS4ERR_TOO_MANY_OPS"}, {nfserr_op_not_in_session, "NFS4ERR_OP_NOT_IN_SESSION"}, {nfserr_hash_alg_unsupp, "NFS4ERR_HASH_ALG_UNSUPP"}, {nfserr_clientid_busy, "NFS4ERR_CLIENTID_BUSY"}, {nfserr_pnfs_io_hole, "NFS4ERR_PNFS_IO_HOLE"}, {nfserr_seq_false_retry, "NFS4ERR_SEQ_FALSE_RETRY"}, {nfserr_bad_high_slot, "NFS4ERR_BAD_HIGH_SLOT"}, {nfserr_deadsession, "NFS4ERR_DEADSESSION"}, {nfserr_encr_alg_unsupp, "NFS4ERR_ENCR_ALG_UNSUPP"}, {nfserr_pnfs_no_layout, "NFS4ERR_PNFS_NO_LAYOUT"}, {nfserr_not_only_op, "NFS4ERR_NOT_ONLY_OP"}, {nfserr_wrong_cred, "NFS4ERR_WRONG_CRED"}, {nfserr_wrong_type, "NFS4ERR_WRONG_TYPE"}, {nfserr_dirdeleg_unavail, "NFS4ERR_DIRDELEG_UNAVAIL"}, {nfserr_reject_deleg, "NFS4ERR_REJECT_DELEG"}, {nfserr_returnconflict, "NFS4ERR_RETURNCONFLICT"}, {nfserr_deleg_revoked, "NFS4ERR_DELEG_REVOKED"}, #endif }; int i; int tabsz = (sizeof(nfs_errtbl)/sizeof(nfs_errtbl[0])); for (i = 0; i < tabsz; i++) { if (nfs_errtbl[i].nfserr == STAP_ARG_err) { break; } } if (i == tabsz) snprintf(STAP_RETVALUE, MAXSTRINGLEN, "nfsderr %d", ntohl(STAP_ARG_err)); else snprintf(STAP_RETVALUE, MAXSTRINGLEN, "nfsderr %d(%s)", ntohl(nfs_errtbl[i].nfserr), nfs_errtbl[i].string); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/panic.stp function panic (msg) %{ /* guru */ /* unmodified-fnargs */ panic("%s", STAP_ARG_msg); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/perf.stp probe perf.hw.cpu_cycles = perf.type(0).config(0){ } probe perf.hw.instructions = perf.type(0).config(1){ } probe perf.hw.cache_references = perf.type(0).config(2){ } probe perf.hw.cache_misses = perf.type(0).config(3){ } probe perf.hw.branch_instructions = perf.type(0).config(4){ } probe perf.hw.branch_misses = perf.type(0).config(5){ } probe perf.hw.bus_cycles = perf.type(0).config(6){ } probe perf.hw.stalled_cycles_frontend = perf.type(0).config(7){ } probe perf.hw.stalled_cycles_backend = perf.type(0).config(8){ } probe perf.hw.ref_cpu_cycles = perf.type(0).config(9){ } probe perf.sw.cpu_clock = perf.type(1).config(0){ } probe perf.sw.task_clock = perf.type(1).config(1){ } probe perf.sw.page_faults = perf.type(1).config(2){ } probe perf.sw.context_switches = perf.type(1).config(3){ } probe perf.sw.cpu_migrations = perf.type(1).config(4){ } probe perf.sw.page_faults_min = perf.type(1).config(5){ } probe perf.sw.page_faults_maj = perf.type(1).config(6){ } probe perf.sw.alignment_faults = perf.type(1).config(7){ } probe perf.sw.emulation_faults = perf.type(1).config(8){ } probe perf.hw_cache.l1d.read.access = perf.type(3).config(0){ } probe perf.hw_cache.l1d.read.miss = perf.type(3).config(65536){ } probe perf.hw_cache.l1d.write.access = perf.type(3).config(256){ } probe perf.hw_cache.l1d.write.miss = perf.type(3).config(65792){ } probe perf.hw_cache.l1d.prefetch.access = perf.type(3).config(512){ } probe perf.hw_cache.l1d.prefetch.miss = perf.type(3).config(66048){ } probe perf.hw_cache.l1i.read.access = perf.type(3).config(1){ } probe perf.hw_cache.l1i.read.miss = perf.type(3).config(65537){ } probe perf.hw_cache.l1i.prefetch.access = perf.type(3).config(513){ } probe perf.hw_cache.l1i.prefetch.miss = perf.type(3).config(66049){ } probe perf.hw_cache.ll.read.access = perf.type(3).config(2){ } probe perf.hw_cache.ll.read.miss = perf.type(3).config(65538){ } probe perf.hw_cache.ll.write.access = perf.type(3).config(258){ } probe perf.hw_cache.ll.write.miss = perf.type(3).config(65794){ } probe perf.hw_cache.ll.prefetch.access = perf.type(3).config(514){ } probe perf.hw_cache.ll.prefetch.miss = perf.type(3).config(66050){ } probe perf.hw_cache.dtlb.read.access = perf.type(3).config(3){ } probe perf.hw_cache.dtlb.read.miss = perf.type(3).config(65539){ } probe perf.hw_cache.dtlb.write.access = perf.type(3).config(259){ } probe perf.hw_cache.dtlb.write.miss = perf.type(3).config(65795){ } probe perf.hw_cache.dtlb.prefetch.access = perf.type(3).config(515){ } probe perf.hw_cache.dtlb.prefetch.miss = perf.type(3).config(66051){ } probe perf.hw_cache.itlb.read.access = perf.type(3).config(4){ } probe perf.hw_cache.itlb.read.miss = perf.type(3).config(65540){ } probe perf.hw_cache.bpu.read.access = perf.type(3).config(5){ } probe perf.hw_cache.bpu.read.miss = perf.type(3).config(65541){ } probe perf.hw_cache.node.read.access = perf.type(3).config(6){ } probe perf.hw_cache.node.read.miss = perf.type(3).config(65542){ } probe perf.hw_cache.node.write.access = perf.type(3).config(262){ } probe perf.hw_cache.ndoe.write.miss = perf.type(3).config(65798){ } # file /root/systemtap_write/install/share/systemtap/tapset/linux/proc_mem.stp %{ /* PF_BORROWED_MM got renamed to PF_KTHREAD with same semantics somewhere. */ #ifdef PF_BORROWED_MM #define _STP_PF_KTHREAD PF_BORROWED_MM #elif defined(PF_KTHREAD) #define _STP_PF_KTHREAD PF_KTHREAD #else /* 2.6.9 doesn't have either PF_BORROWED_MM or PF_KTHREAD */ #define _STP_PF_KTHREAD 0 #endif /* PF_STARTING was removed in later kernels */ #ifdef PF_STARTING #define _STP_BAD_TASK_FLAGS (_STP_PF_KTHREAD | PF_EXITING | PF_STARTING) #else #define _STP_BAD_TASK_FLAGS (_STP_PF_KTHREAD | PF_EXITING) #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34) #include #else /* Define our own mm types */ enum { MM_FILEPAGES, MM_ANONPAGES }; #endif %}function _stp_valid_task (tsk) %{ struct task_struct *tsk = (struct task_struct *)(long)STAP_ARG_tsk; STAP_RETVALUE = 0; if (tsk) { unsigned int flags = kread(&(tsk->flags)); if (flags & ~_STP_BAD_TASK_FLAGS) STAP_RETVALUE = 1; } CATCH_DEREF_FAULT(); %} function _MM_FILEPAGES () { return %{ /* pure */ /* unprivileged */ /* stable */ MM_FILEPAGES %}; } function _MM_ANONPAGES () { return %{ /* pure */ /* unprivileged */ /* stable */ MM_ANONPAGES %}; } function _stp_get_mm_counter (mm_ptr, member) { (mm) = (&@cast(mm_ptr, "mm_struct", "kernel")); if (@defined(&@cast(0, "mm_struct", "kernel")->rss_stat)) { (val) = (atomic_long_read(&(mm)->rss_stat->count[member])); if ((val) < (0)) return 0 ; } else if (@defined(&@cast(0, "mm_struct", "kernel")->_file_rss)) { if ((member) == (_MM_FILEPAGES())) { (val) = (atomic_long_read(&(mm)->_file_rss)); } else if ((member) == (_MM_ANONPAGES())) { (val) = (atomic_long_read(&(mm)->_anon_rss)); } ; } else { if ((member) == (_MM_FILEPAGES())) (val) = ((mm)->rss) else if ((member) == (_MM_ANONPAGES())) (val) = ((mm)->anon_rss) ; } ; return val; } function proc_mem_size () { (task) = (task_current()); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return (mm)->total_vm ; } ; return 0; } function proc_mem_size (pid) { (task) = (pid2task(pid)); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return (mm)->total_vm ; } ; return 0; } function proc_mem_rss () { (task) = (task_current()); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return (_stp_get_mm_counter(mm, _MM_FILEPAGES())) + (_stp_get_mm_counter(mm, _MM_ANONPAGES())) ; } ; return 0; } function proc_mem_rss (pid) { (task) = (pid2task(pid)); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return (_stp_get_mm_counter(mm, _MM_FILEPAGES())) + (_stp_get_mm_counter(mm, _MM_ANONPAGES())) ; } ; return 0; } function proc_mem_shr () { (task) = (task_current()); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return _stp_get_mm_counter(mm, _MM_FILEPAGES()) ; } ; return 0; } function proc_mem_shr (pid) { (task) = (pid2task(pid)); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) return _stp_get_mm_counter(mm, _MM_FILEPAGES()) ; } ; return 0; } function _stp_mem_txt_adjust (start_code, end_code) %{ /* pure */ unsigned long start_code = (unsigned long) STAP_ARG_start_code; unsigned long end_code = (unsigned long) STAP_ARG_end_code; STAP_RETVALUE = (PAGE_ALIGN(end_code) - (start_code & PAGE_MASK)) >> PAGE_SHIFT; %} function proc_mem_txt () { (task) = (task_current()); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) { (s) = ((mm)->start_code); (e) = ((mm)->end_code); return _stp_mem_txt_adjust(s, e); } ; } ; return 0; } function proc_mem_txt (pid) { (task) = (pid2task(pid)); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) { (s) = ((mm)->start_code); (e) = ((mm)->end_code); return _stp_mem_txt_adjust(s, e); } ; } ; return 0; } function proc_mem_data () { (task) = (task_current()); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) { return (@defined(&@cast(0, "mm_struct", "kernel")->data_vm))?(((mm)->data_vm) + ((mm)->stack_vm)):(((mm)->total_vm) - ((mm)->shared_vm)); } ; } ; return 0; } function proc_mem_data (pid) { (task) = (pid2task(pid)); if (_stp_valid_task(task)) { (mm) = ((task)->mm); if ((mm) != (0)) { return (@defined(&@cast(0, "mm_struct", "kernel")->data_vm))?(((mm)->data_vm) + ((mm)->stack_vm)):(((mm)->total_vm) - ((mm)->shared_vm)); } ; } ; return 0; } function mem_page_size () { return %{ /* pure */ /* unprivileged */ /* stable */ PAGE_SIZE %}; } function _stp_number_to_string_postfix (x, y, p) { if ((x) < (10)) return sprintf("%d.%.2d%s", x, ((y) * (100)) / (1024), p) ; if ((x) < (100)) return sprintf("%2d.%d%s", x, ((y) * (10)) / (1024), p) ; return sprintf("%4d%s", x, p); } function bytes_to_string (bytes) { if ((bytes) < (1024)) return sprintf("%5d", bytes) ; (remain) = ((bytes) % (1024)); (bytes) = ((bytes) / (1024)); if ((bytes) < (1024)) return _stp_number_to_string_postfix(bytes, remain, "K") ; (remain) = ((bytes) % (1024)); (bytes) = ((bytes) / (1024)); if ((bytes) < (1024)) return _stp_number_to_string_postfix(bytes, remain, "M") ; (remain) = ((bytes) % (1024)); (bytes) = ((bytes) / (1024)); return _stp_number_to_string_postfix(bytes, remain, "G"); } function pages_to_string (pages) { (bytes) = ((pages) * (mem_page_size())); return bytes_to_string(bytes); } function proc_mem_string () { return sprintf("size: %s, rss: %s, shr: %s, txt: %s, data: %s", pages_to_string(proc_mem_size()), pages_to_string(proc_mem_rss()), pages_to_string(proc_mem_shr()), pages_to_string(proc_mem_txt()), pages_to_string(proc_mem_data())); } function proc_mem_string (pid) { return sprintf("size: %s, rss: %s, shr: %s, txt: %s, data: %s", pages_to_string(proc_mem_size(pid)), pages_to_string(proc_mem_rss(pid)), pages_to_string(proc_mem_shr(pid)), pages_to_string(proc_mem_txt(pid)), pages_to_string(proc_mem_data(pid))); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/pstrace.stp function pstrace (task) { for (; (task_pid(task)) > (1); ) { (trace) = (sprintf("%s %s(%d)", trace, task_execname(task), task_pid(task))); (task) = (task_parent(task)); }; return trace; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/rcu.stp %{ #include %}function rcu_dereference (protected_pointer) %{ /* pure */ void *protected_pointer = (void *)(long)STAP_ARG_protected_pointer; long fetched_value; /* We call kderef() here to ensure the memory is valid to read. * Note the result is thrown away, then we use the "real" * rcu_dereference function now that we know the address is * safe. */ (void)kderef(sizeof(*protected_pointer), protected_pointer); rcu_read_lock(); fetched_value = (long)rcu_dereference(protected_pointer); rcu_read_unlock(); STAP_RETVALUE = fetched_value; CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/rlimit.stp %{ #include %}function rlimit_from_str (lim_str) %{ /* pure */ /* unmodified-fnargs */ #define aux_rlimit(limit_arg) \ if (strncmp(STAP_ARG_lim_str, #limit_arg, MAXSTRINGLEN) == 0) { \ STAP_RETVALUE = limit_arg; \ return; \ } /* Little kernel history digging */ /* This set is stable from 2.6.1 kernel version */ aux_rlimit(RLIMIT_CPU); aux_rlimit(RLIMIT_FSIZE); aux_rlimit(RLIMIT_DATA); aux_rlimit(RLIMIT_STACK); aux_rlimit(RLIMIT_CORE); aux_rlimit(RLIMIT_RSS); aux_rlimit(RLIMIT_NPROC); aux_rlimit(RLIMIT_NOFILE); aux_rlimit(RLIMIT_MEMLOCK); aux_rlimit(RLIMIT_AS); aux_rlimit(RLIMIT_LOCKS); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,8) aux_rlimit(RLIMIT_SIGPENDING); aux_rlimit(RLIMIT_MSGQUEUE); #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) aux_rlimit(RLIMIT_NICE); aux_rlimit(RLIMIT_RTPRIO); #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) aux_rlimit(RLIMIT_RTTIME); #endif STAP_RETVALUE = -1; #undef aux_rlimit %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/rpc.stp %{ // Includes everything needed for __rpc_prot_from_protocol(). #include %}%{ #include #include #include %}global __rpc_create_args probe sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry{ } probe sunrpc.return = sunrpc.clnt.return, sunrpc.svc.return, sunrpc.sched.return{ } probe sunrpc.clnt.entry = sunrpc.clnt.create_client, sunrpc.clnt.clone_client, sunrpc.clnt.bind_new_program, sunrpc.clnt.shutdown_client, sunrpc.clnt.call_sync, sunrpc.clnt.call_async, sunrpc.clnt.restart_call{ } probe sunrpc.clnt.return = sunrpc.clnt.create_client.return, sunrpc.clnt.clone_client.return, sunrpc.clnt.bind_new_program.return, sunrpc.clnt.shutdown_client.return, sunrpc.clnt.call_sync.return, sunrpc.clnt.call_async.return, sunrpc.clnt.restart_call.return{ } probe sunrpc.clnt.create_client = _sunrpc.clnt.create_client.rpc_new_client_inline!, _sunrpc.clnt.create_client.rpc_new_client?, _sunrpc.clnt.create_client.rpc_create_client?{ (name) = ("sunrpc.clnt.create_client"); (argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor)); } probe _sunrpc.clnt.create_client.rpc_new_client_inline = kernel.function("rpc_new_client").inline!, module("sunrpc").function("rpc_new_client").inline{ if (@defined($args)) { (__args) = ($args); (servername) = (__rpc_format_servername($args->servername, $args->address)); (progname) = (kernel_string($args->program->name)); (prog) = ($args->prognumber); (vers) = (vers_from_prog($args->program, $args->version)); (authflavor) = ($args->authflavor); (prot) = ($xprt->prot); (port) = ((@defined($xprt->port))?($xprt->port):(port_from_xprt($xprt))); } else { (__args) = (__rpc_create_args[tid()]); (servername) = (__rpc_format_servername(@cast(__args, "rpc_create_args", "kernel:sunrpc")->servername, @cast(__args, "rpc_create_args", "kernel:sunrpc")->address)); (progname) = (kernel_string(@cast(__args, "rpc_create_args", "kernel:sunrpc")->program->name)); (prog) = (@cast(__args, "rpc_create_args", "kernel:sunrpc")->prognumber); (vers) = (vers_from_prog(@cast(__args, "rpc_create_args", "kernel:sunrpc")->program, @cast(__args, "rpc_create_args", "kernel:sunrpc")->version)); (authflavor) = (@cast(__args, "rpc_create_args", "kernel:sunrpc")->authflavor); (prot) = (__rpc_prot_from_protocol(@cast(__args, "rpc_create_args", "kernel:sunrpc")->protocol)); (port) = (-(1)); } ; } probe _sunrpc.clnt.create_client.rpc_new_client = kernel.function("rpc_new_client").call!, module("sunrpc").function("rpc_new_client").call?{ if (@defined($args)) { (servername) = (__rpc_format_servername($args->servername, $args->address)); (progname) = (kernel_string($args->program->name)); (prog) = ($args->prognumber); (vers) = (vers_from_prog($args->program, $args->version)); (authflavor) = ($args->authflavor); } else { (servername) = (__rpc_format_servername($servname, &$xprt->addr)); (progname) = (kernel_string($program->name)); (prog) = ($program->number); (vers) = (vers_from_prog($program, $vers)); (authflavor) = ($flavor); } ; (prot) = ($xprt->prot); (port) = ((@defined($xprt->port))?($xprt->port):(port_from_xprt($xprt))); } probe _sunrpc.clnt.create_client.rpc_create_client = kernel.function("rpc_create_client")!, module("sunrpc").function("rpc_create_client")?{ (servername) = (__rpc_format_servername($servname, &$xprt->addr)); if (@defined($info)) { (progname) = (kernel_string($info->name)); (prog) = ($info->number); (vers) = (vers_from_prog($info, $version)); (authflavor) = ($authflavor); } else { (progname) = (kernel_string($program->name)); (prog) = ($program->number); (vers) = (vers_from_prog($program, $vers)); (authflavor) = ($flavor); } ; (prot) = ($xprt->prot); (port) = ((@defined($xprt->port))?($xprt->port):(port_from_xprt($xprt))); } probe sunrpc.clnt.create_client.return = _sunrpc.clnt.create_client.return.rpc_create!, _sunrpc.clnt.create_client.return.rpc_new_client?, _sunrpc.clnt.create_client.return.rpc_create_client?{ (name) = ("sunrpc.clnt.create_client.return"); (retstr) = (return_str(2, $return)); } probe _sunrpc.clnt.create_client.return.rpc_create = kernel.function("rpc_create").return!, module("sunrpc").function("rpc_create").return{ } probe _sunrpc.clnt.create_client.return.rpc_new_client = kernel.function("rpc_new_client").return!, module("sunrpc").function("rpc_new_client").return?{ } probe _sunrpc.clnt.create_client.return.rpc_create_client = kernel.function("rpc_create_client").return!, module("sunrpc").function("rpc_create_client").return?{ } probe sunrpc.clnt.clone_client = kernel.function("rpc_clone_client")!, module("sunrpc").function("rpc_clone_client"){ if (@defined($clnt->cl_server)) (servername) = (__rpc_format_servername($clnt->cl_server, &$clnt->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($clnt->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (progname) = (kernel_string((@defined($clnt->cl_program->name))?($clnt->cl_program->name):($clnt->cl_protname))); (prog) = (prog_from_clnt($clnt)); (vers) = (vers_from_clnt($clnt)); (prot) = (prot_from_clnt($clnt)); (port) = (port_from_clnt($clnt)); (authflavor) = ($clnt->cl_auth->au_flavor); (name) = ("sunrpc.clnt.clone_client"); (argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor)); } probe sunrpc.clnt.clone_client.return = kernel.function("rpc_clone_client").return!, module("sunrpc").function("rpc_clone_client").return{ (name) = ("sunrpc.clnt.clone_client.return"); (retstr) = (return_str(2, $return)); } probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client")!, module("sunrpc").function("rpc_shutdown_client"){ if (@defined($clnt->cl_server)) (servername) = (__rpc_format_servername($clnt->cl_server, &$clnt->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($clnt->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (progname) = (kernel_string((@defined($clnt->cl_program->name))?($clnt->cl_program->name):($clnt->cl_protname))); (prog) = (prog_from_clnt($clnt)); (vers) = (vers_from_clnt($clnt)); (prot) = (prot_from_clnt($clnt)); (port) = (port_from_clnt($clnt)); (authflavor) = ($clnt->cl_auth->au_flavor); (clones) = (clones_from_clnt($clnt)); (tasks) = (tasks_from_clnt($clnt)); (netreconn) = ($clnt->cl_stats->netreconn); (rpccnt) = ($clnt->cl_stats->rpccnt); if (@defined($clnt->cl_metrics)) { (om_ops) = ($clnt->cl_metrics->om_ops); (om_ntrans) = ($clnt->cl_metrics->om_ntrans); (om_bytes_sent) = ($clnt->cl_metrics->om_bytes_sent); (om_bytes_recv) = ($clnt->cl_metrics->om_bytes_recv); if (@defined($clnt->cl_metrics->om_queue->tv64)) { (om_queue) = ($clnt->cl_metrics->om_queue->tv64); (om_rtt) = ($clnt->cl_metrics->om_rtt->tv64); (om_execute) = ($clnt->cl_metrics->om_execute->tv64); } else { (om_queue) = ($clnt->cl_metrics->om_queue); (om_rtt) = ($clnt->cl_metrics->om_rtt); (om_execute) = ($clnt->cl_metrics->om_execute); } ; } else { (om_ops) = (-(1)); (om_ntrans) = (-(1)); (om_bytes_sent) = (-(1)); (om_bytes_recv) = (-(1)); (om_queue) = (-(1)); (om_rtt) = (-(1)); (om_execute) = (-(1)); } ; (name) = ("sunrpc.clnt.shutdown_client"); (argstr) = (sprintf("%s %s %d %d %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor, clones, tasks)); } probe sunrpc.clnt.shutdown_client.return = kernel.function("rpc_shutdown_client").return!, module("sunrpc").function("rpc_shutdown_client").return{ (name) = ("sunrpc.clnt.shutdown_client.return"); (retstr) = ((@defined($return))?(return_str(1, $return)):("N/A")); } probe sunrpc.clnt.bind_new_program = kernel.function("rpc_bind_new_program")!, module("sunrpc").function("rpc_bind_new_program"){ if (@defined($old->cl_server)) (servername) = (__rpc_format_servername($old->cl_server, &$old->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($old->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (old_progname) = (kernel_string((@defined($old->cl_program->name))?($old->cl_program->name):($old->cl_protname))); (old_prog) = (prog_from_clnt($old)); (old_vers) = (vers_from_clnt($old)); (progname) = (kernel_string($program->name)); (prog) = ($program->number); (vers) = (vers_from_prog($program, $vers)); (name) = ("sunrpc.clnt.bind_new_program"); (argstr) = (sprintf("%s %s %d %s %d", servername, old_progname, old_vers, progname, vers)); } probe sunrpc.clnt.bind_new_program.return = kernel.function("rpc_bind_new_program").return!, module("sunrpc").function("rpc_bind_new_program").return{ (name) = ("sunrpc.clnt.bind_new_program.return"); (retstr) = (return_str(2, $return)); } probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync")!, module("sunrpc").function("rpc_call_sync"){ if (@defined($clnt->cl_server)) (servername) = (__rpc_format_servername($clnt->cl_server, &$clnt->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($clnt->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (progname) = (kernel_string((@defined($clnt->cl_program->name))?($clnt->cl_program->name):($clnt->cl_protname))); (prog) = (prog_from_clnt($clnt)); (vers) = (vers_from_clnt($clnt)); (prot) = (prot_from_clnt($clnt)); (port) = (port_from_clnt($clnt)); (xid) = (xid_from_clnt($clnt)); (dead) = ((@defined($clnt->cl_dead))?($clnt->cl_dead):((atomic_read((@defined(&$clnt->cl_kref->refcount))?(&$clnt->cl_kref->refcount):(&$clnt->cl_count))) == (0))); (proc) = (proc_from_msg($msg)); (procname) = (kernel_string((@defined($msg->rpc_proc->p_name))?($msg->rpc_proc->p_name):(0), "NULL")); (flags) = ($flags); (name) = ("sunrpc.clnt.call_sync"); (argstr) = (sprintf("%s %d %s %d %s %d", servername, xid, progname, vers, procname, flags)); } probe sunrpc.clnt.call_sync.return = kernel.function("rpc_call_sync").return!, module("sunrpc").function("rpc_call_sync").return{ (name) = ("sunrpc.clnt.call_sync.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.clnt.call_async = kernel.function("rpc_call_async")!, module("sunrpc").function("rpc_call_async"){ if (@defined($clnt->cl_server)) (servername) = (__rpc_format_servername($clnt->cl_server, &$clnt->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($clnt->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (progname) = (kernel_string((@defined($clnt->cl_program->name))?($clnt->cl_program->name):($clnt->cl_protname))); (prog) = (prog_from_clnt($clnt)); (vers) = (vers_from_clnt($clnt)); (prot) = (prot_from_clnt($clnt)); (port) = (port_from_clnt($clnt)); (xid) = (xid_from_clnt($clnt)); (dead) = ((@defined($clnt->cl_dead))?($clnt->cl_dead):((atomic_read((@defined(&$clnt->cl_kref->refcount))?(&$clnt->cl_kref->refcount):(&$clnt->cl_count))) == (0))); (proc) = (proc_from_msg($msg)); (procname) = (kernel_string((@defined($msg->rpc_proc->p_name))?($msg->rpc_proc->p_name):(0), "NULL")); (flags) = ($flags); (name) = ("sunrpc.clnt.call_async"); (argstr) = (sprintf("%s %d %s %d %s %d", servername, xid, progname, vers, procname, flags)); } probe sunrpc.clnt.call_async.return = kernel.function("rpc_call_async").return!, module("sunrpc").function("rpc_call_async").return{ (name) = ("sunrpc.clnt.call_async.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.clnt.restart_call = kernel.function("rpc_restart_call")!, module("sunrpc").function("rpc_restart_call"){ if (@defined($task->tk_client->cl_server)) (servername) = (__rpc_format_servername($task->tk_client->cl_server, &$task->tk_client->cl_xprt->addr)) else { (__xprt) = (rcu_dereference($task->tk_client->cl_xprt)); (servername) = (__rpc_format_servername(@cast(__xprt, "rpc_xprt")->servername, &@cast(__xprt, "rpc_xprt")->addr)); } ; (prog) = (prog_from_clnt($task->tk_client)); (xid) = ($task->tk_rqstp->rq_xid); (tk_pid) = ($task->tk_pid); (tk_flags) = ($task->tk_flags); (tk_priority) = ($task->tk_priority); (tk_runstate) = ($task->tk_runstate); (name) = ("sunrpc.clnt.restart_call"); (argstr) = (sprintf("%s %d %d %d %d %d %d", servername, prog, xid, tk_pid, tk_flags, tk_priority, tk_runstate)); } probe sunrpc.clnt.restart_call.return = kernel.function("rpc_restart_call").return!, module("sunrpc").function("rpc_restart_call").return{ (name) = ("sunrpc.clnt.restart_call.return"); (retstr) = ("N/A"); } probe sunrpc.svc.entry = sunrpc.svc.register, sunrpc.svc.create, sunrpc.svc.destroy, sunrpc.svc.process, sunrpc.svc.authorise, sunrpc.svc.recv, sunrpc.svc.send, sunrpc.svc.drop{ } probe sunrpc.svc.return = sunrpc.svc.register.return, sunrpc.svc.create.return, sunrpc.svc.destroy.return, sunrpc.svc.process.return, sunrpc.svc.authorise.return, sunrpc.svc.recv.return, sunrpc.svc.send.return, sunrpc.svc.drop.return{ } probe sunrpc.svc.register = kernel.function("svc_register")!, module("sunrpc").function("svc_register"){ (sv_name) = (kernel_string($serv->sv_name)); (progname) = (kernel_string($serv->sv_program->pg_name)); (prog) = ($serv->sv_program->pg_prog); (prot) = ($proto); (port) = ($port); (name) = ("sunrpc.svc.register"); (argstr) = (sprintf("%s %s %d %d", sv_name, progname, prot, port)); } probe sunrpc.svc.register.return = kernel.function("svc_register").return!, module("sunrpc").function("svc_register").return{ (name) = ("sunrpc.svc.register.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.svc.create = kernel.function("svc_create")!, module("sunrpc").function("svc_create"){ (progname) = (kernel_string($prog->pg_name)); (prog) = ($prog->pg_prog); (pg_nvers) = ($prog->pg_nvers); (bufsize) = ($bufsize); (name) = ("sunrpc.svc.create"); (argstr) = (sprintf("%s %d %d %d", progname, prog, pg_nvers, bufsize)); } probe sunrpc.svc.create.return = kernel.function("svc_create").return!, module("sunrpc").function("svc_create").return{ (name) = ("sunrpc.svc.create.return"); (retstr) = (return_str(2, $return)); } probe sunrpc.svc.destroy = kernel.function("svc_destroy")!, module("sunrpc").function("svc_destroy"){ (sv_name) = (kernel_string($serv->sv_name)); (sv_progname) = (kernel_string($serv->sv_program->pg_name)); (sv_prog) = ($serv->sv_program->pg_prog); (sv_nrthreads) = ($serv->sv_nrthreads); (netcnt) = ($serv->sv_stats->netcnt); (netcpconn) = ($serv->sv_stats->nettcpconn); (rpccnt) = ($serv->sv_stats->rpccnt); (rpcbadfmt) = ($serv->sv_stats->rpcbadfmt); (rpcbadauth) = ($serv->sv_stats->rpcbadauth); (name) = ("sunrpc.svc.destroy"); (argstr) = (sprintf("%s %d %d", sv_name, sv_prog, sv_nrthreads)); } probe sunrpc.svc.destroy.return = kernel.function("svc_destroy").return!, module("sunrpc").function("svc_destroy").return{ (name) = ("sunrpc.svc.destroy.return"); (retstr) = ("N/A"); } probe sunrpc.svc.process = kernel.function("svc_process")!, module("sunrpc").function("svc_process"){ if (!(@defined($serv))) { (sv_name) = (kernel_string($rqstp->rq_server->sv_name)); (sv_prog) = ($rqstp->rq_server->sv_program->pg_prog); (sv_nrthreads) = ($rqstp->rq_server->sv_nrthreads); } else { (sv_name) = (kernel_string($serv->sv_name)); (sv_prog) = ($serv->sv_program->pg_prog); (sv_nrthreads) = ($serv->sv_nrthreads); } ; (peer_ip) = (addr_from_rqst($rqstp)); (rq_xid) = ($rqstp->rq_xid); (rq_prog) = ($rqstp->rq_prog); (rq_vers) = ($rqstp->rq_vers); (rq_proc) = ($rqstp->rq_proc); (rq_prot) = ($rqstp->rq_prot); (name) = ("sunrpc.svc.process"); (argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)); } probe sunrpc.svc.process.return = kernel.function("svc_process").return!, module("sunrpc").function("svc_process").return{ (name) = ("sunrpc.svc.process.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.svc.authorise = kernel.function("svc_authorise")!, module("sunrpc").function("svc_authorise"){ (sv_name) = (kernel_string($rqstp->rq_server->sv_name)); (peer_ip) = (addr_from_rqst($rqstp)); (rq_xid) = ($rqstp->rq_xid); (rq_prog) = ($rqstp->rq_prog); (rq_vers) = ($rqstp->rq_vers); (rq_proc) = ($rqstp->rq_proc); (rq_prot) = ($rqstp->rq_prot); (name) = ("sunrpc.svc.authorise"); (argstr) = (sprintf("%d %d %d %d %d %d", peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot)); } probe sunrpc.svc.authorise.return = kernel.function("svc_authorise").return!, module("sunrpc").function("svc_authorise").return{ (name) = ("sunrpc.svc.authorise.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.svc.recv = kernel.function("svc_recv")!, module("sunrpc").function("svc_recv"){ if (!(@defined($serv))) { (sv_name) = (kernel_string($rqstp->rq_server->sv_name)); (sv_prog) = ($rqstp->rq_server->sv_program->pg_prog); (sv_nrthreads) = ($rqstp->rq_server->sv_nrthreads); } else { (sv_name) = (kernel_string($serv->sv_name)); (sv_prog) = ($serv->sv_program->pg_prog); (sv_nrthreads) = ($serv->sv_nrthreads); } ; (timeout) = ($timeout); (name) = ("sunrpc.svc.recv"); (argstr) = (sprintf("%s %d", sv_name, timeout)); } probe sunrpc.svc.recv.return = kernel.function("svc_recv").return!, module("sunrpc").function("svc_recv").return{ (name) = ("sunrpc.svc.recv.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.svc.send = kernel.function("svc_send")!, module("sunrpc").function("svc_send"){ (sv_name) = (kernel_string($rqstp->rq_server->sv_name)); (peer_ip) = (addr_from_rqst($rqstp)); (rq_xid) = ($rqstp->rq_xid); (rq_prog) = ($rqstp->rq_prog); (rq_vers) = ($rqstp->rq_vers); (rq_proc) = ($rqstp->rq_proc); (rq_prot) = ($rqstp->rq_prot); (name) = ("sunrpc.svc.send"); (argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot)); } probe sunrpc.svc.send.return = kernel.function("svc_send").return!, module("sunrpc").function("svc_send").return{ (name) = ("sunrpc.svc.send.return"); (retstr) = (return_str(1, $return)); } probe sunrpc.svc.drop = kernel.function("svc_drop")!, module("sunrpc").function("svc_drop"){ (sv_name) = (kernel_string($rqstp->rq_server->sv_name)); (peer_ip) = (addr_from_rqst($rqstp)); (rq_xid) = ($rqstp->rq_xid); (rq_prog) = ($rqstp->rq_prog); (rq_vers) = ($rqstp->rq_vers); (rq_proc) = ($rqstp->rq_proc); (rq_prot) = ($rqstp->rq_prot); (name) = ("sunrpc.svc.drop"); (argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot)); } probe sunrpc.svc.drop.return = kernel.function("svc_drop").return!, module("sunrpc").function("svc_drop").return{ (name) = ("sunrpc.svc.drop.return"); (retstr) = ("N/A"); } probe sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task?, sunrpc.sched.execute, sunrpc.sched.delay{ } probe sunrpc.sched.return = sunrpc.sched.new_task.return, sunrpc.sched.release_task.return?, sunrpc.sched.execute.return, sunrpc.sched.delay.return{ } probe sunrpc.sched.new_task = kernel.function("rpc_new_task")!, module("sunrpc").function("rpc_new_task"){ if (@defined($setup_data)) { (xid) = (xid_from_clnt($setup_data->rpc_client)); (prog) = (prog_from_clnt($setup_data->rpc_client)); (vers) = (vers_from_clnt($setup_data->rpc_client)); (prot) = (prot_from_clnt($setup_data->rpc_client)); (flags) = ($setup_data->flags); } else { (xid) = (xid_from_clnt($clnt)); (prog) = (prog_from_clnt($clnt)); (vers) = (vers_from_clnt($clnt)); (prot) = (prot_from_clnt($clnt)); (flags) = ($flags); } ; (name) = ("sunrpc.sched.new_task"); (argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, flags)); } probe sunrpc.sched.new_task.return = kernel.function("rpc_new_task").return!, module("sunrpc").function("rpc_new_task").return{ (name) = ("sunrpc.sched.new_task.return"); (retstr) = (return_str(2, $return)); } probe sunrpc.sched.release_task = kernel.function("rpc_release_task").call!, module("sunrpc").function("rpc_release_task").call!, never{ if (@defined($task)) { (xid) = (xid_from_clnt($task->tk_client)); (prog) = (prog_from_clnt($task->tk_client)); (vers) = (vers_from_clnt($task->tk_client)); (prot) = (prot_from_clnt($task->tk_client)); (tk_flags) = ($task->tk_flags); } else { (xid) = (-(1)); (prog) = (-(1)); (vers) = (-(1)); (prot) = (-(1)); (tk_flags) = (-(1)); } ; (name) = ("sunrpc.sched.release_task"); (argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, tk_flags)); } probe sunrpc.sched.release_task.return = kernel.function("rpc_release_task").return!, module("sunrpc").function("rpc_release_task").return?{ (name) = ("sunrpc.sched.release_task.return"); (retstr) = ("N/A"); } probe sunrpc.sched.execute = kernel.function("__rpc_execute")!, module("sunrpc").function("__rpc_execute"){ (xid) = (xid_from_clnt($task->tk_client)); (prog) = (prog_from_clnt($task->tk_client)); (vers) = (vers_from_clnt($task->tk_client)); (prot) = (prot_from_clnt($task->tk_client)); (tk_pid) = ($task->tk_pid); (tk_flags) = ($task->tk_flags); (name) = ("sunrpc.sched.execute"); (argstr) = (sprintf("%d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags)); } probe sunrpc.sched.execute.return = kernel.function("__rpc_execute").return!, module("sunrpc").function("__rpc_execute").return{ (name) = ("sunrpc.sched.execute.return"); if (@defined($return)) { (retstr) = (return_str(1, $return)); } else { (retstr) = ("N/A"); } ; } probe sunrpc.sched.delay = kernel.function("rpc_delay")!, module("sunrpc").function("rpc_delay"){ (xid) = (xid_from_clnt($task->tk_client)); (prog) = (prog_from_clnt($task->tk_client)); (vers) = (vers_from_clnt($task->tk_client)); (prot) = (prot_from_clnt($task->tk_client)); (tk_pid) = ($task->tk_pid); (tk_flags) = ($task->tk_flags); (delay) = ($delay); (name) = ("sunrpc.sched.delay"); (argstr) = (sprintf("%d %d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags, delay)); } probe sunrpc.sched.delay.return = kernel.function("rpc_delay").return!, module("sunrpc").function("rpc_delay").return{ (name) = ("sunrpc.sched.delay.return"); (retstr) = ("N/A"); } probe kernel.function("rpc_create").call!,module("sunrpc").function("rpc_create").call?{ (__rpc_create_args[tid()]) = ($args); } probe kernel.function("rpc_create").return!,module("sunrpc").function("rpc_create").return?{ delete __rpc_create_args[tid()]; } function __rpc_prot_from_protocol (protocol) %{ switch (STAP_ARG_protocol) { #ifdef XPRT_TRANSPORT_BC case XPRT_TRANSPORT_UDP: STAP_RETVALUE = IPPROTO_UDP; break; case XPRT_TRANSPORT_TCP: case XPRT_TRANSPORT_BC_TCP: STAP_RETVALUE = IPPROTO_TCP; break; #endif default: STAP_RETVALUE = -1; break; } %} function xid_from_clnt (clnt) { if ((clnt) == (0)) return 0 ; return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_xprt->xid; } function prog_from_clnt (clnt) { if ((clnt) == (0)) return 0 ; return (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog))?(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog):(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_prog); } function vers_from_clnt (clnt) { if ((clnt) == (0)) return 0 ; return (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers))?(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers):(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_vers); } function prot_from_clnt (clnt) { if ((clnt) == (0)) return 0 ; return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_xprt->prot; } function port_from_xprt (cl_xprt) { if ((cl_xprt) == (0)) return 0 ; (addr) = (&@cast(cl_xprt, "rpc_xprt", "kernel:sunrpc")->addr); if ((addr) == (0)) return 0 ; if ((@cast(addr, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return ntohs(@cast(addr, "sockaddr_in")->sin_port); } else if ((@cast(addr, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})) { return ntohs(@cast(addr, "sockaddr_in6")->sin6_port); } ; return 0; } function port_from_clnt (clnt) { if ((clnt) == (0)) return 0 ; (cl_xprt) = (@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_xprt); return port_from_xprt(cl_xprt); } function clones_from_clnt (clnt) { return (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_count))?(atomic_read(&@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_count)):(-(1)); } function tasks_from_clnt (clnt) { return (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_users))?(atomic_read(&@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_users)):(-(1)); } function proc_from_msg (msg) { if ((msg) == (0)) return 0 ; return @cast(msg, "rpc_message", "kernel:sunrpc")->rpc_proc->p_proc; } function vers_from_prog (program, vers) { if ((program) && ((vers) < (@cast(program, "rpc_program", "kernel:sunrpc")->nrvers))) return @cast(program, "rpc_program", "kernel:sunrpc")->version[vers]->number ; return 0; } function addr_from_rqst (rqstp) { if (rqstp) { (addr) = (&@cast(rqstp, "svc_rqst", "kernel:nfs")->rq_addr); if ((addr) == (0)) return 0 ; if ((@cast(addr, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return @cast(addr, "sockaddr_in")->sin_addr->s_addr; } else if ((@cast(addr, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})) { return &@cast(addr, "sockaddr_in6")->sin6_addr; } ; } ; return 0; } function addr_from_rqst_str (rqstp) { if ((rqstp) == (0)) return "Null" ; (addr) = (&@cast(rqstp, "svc_rqst", "kernel:nfs")->rq_addr); if ((addr) == (0)) return "Null" ; (s_addr) = (addr_from_rqst(rqstp)); if ((s_addr) == (0)) return "Unsupported Address Family" ; if ((@cast(addr, "sockaddr_in")->sin_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return sprintf("%s:%d", format_ipaddr(s_addr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}), @cast(addr, "sockaddr_in")->sin_port); } ; return sprintf("[%s]:%d", format_ipaddr(s_addr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}), @cast(addr, "sockaddr_in6")->sin6_port); } function __rpc_format_servername (servername, address) { printf("__rpc_format_servername: %p\\n", servername); if ((servername) != (0)) return kernel_string(servername) ; if ((@cast(address, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_LOCAL %})) { return kernel_string(@cast(address, "sockaddr_un")->sun_path); } else if ((@cast(address, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})) { return format_ipaddr(&@cast(address, "sockaddr_in")->sin_addr->s_addr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); } else if ((@cast(address, "sockaddr")->sa_family) == (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})) { return format_ipaddr(&@cast(address, "sockaddr_in6")->sin6_addr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); } ; return "*unknown address family*"; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/scheduler.stp probe scheduler.cpu_off = kernel.trace("sched_switch")!, kernel.function("context_switch"){ (name) = ("cpu_off"); (task_prev) = ($prev); (task_next) = ($next); (idle) = (__is_idle()); } probe scheduler.cpu_on = kernel.function("finish_task_switch")?{ (name) = ("cpu_on"); (task_prev) = ($prev); (idle) = (__is_idle()); } probe scheduler.tick = kernel.function("scheduler_tick"){ (name) = ("tick"); (idle) = (__is_idle()); } probe scheduler.balance = kernel.function("idle_balance")?{ (name) = ("balance"); } probe scheduler.ctxswitch = kernel.trace("sched_switch")!, kernel.function("__switch_to"){ (name) = ("ctxswitch"); if (@defined($prev_p)) { (prev_priority) = ($prev_p->prio); (prev_pid) = ($prev_p->tgid); (prev_tid) = ($prev_p->pid); (prev_task) = ($prev_p); (prev_task_name) = (task_execname($prev_p)); (prevtsk_state) = ($prev_p->state); } else { (prev_priority) = ($prev->prio); (prev_pid) = ($prev->tgid); (prev_tid) = ($prev->pid); (prev_task) = ($prev); (prev_task_name) = (task_execname($prev)); (prevtsk_state) = ($prev->state); } ; if (@defined($next)) { (next_priority) = ($next->prio); (next_pid) = ($next->tgid); (next_tid) = ($next->pid); (next_task) = ($next); (next_task_name) = (task_execname($next)); (nexttsk_state) = ($next->state); } else if (@defined($next_p)) { (next_priority) = ($next_p->prio); (next_pid) = ($next_p->tgid); (next_tid) = ($next_p->pid); (next_task) = ($next_p); (next_task_name) = (task_execname($next_p)); (nexttsk_state) = ($next_p->state); } else { (next_priority) = ($new->prio); (next_pid) = ($new->tgid); (next_tid) = ($new->pid); (next_task) = ($new); (next_task_name) = (task_execname($new)); (nexttsk_state) = ($new->state); } ; } probe __scheduler.kthread_stop.kp = kernel.function("kthread_stop"){ (thread_pid) = ($k->tgid); (thread_priority) = ($k->prio); } probe __scheduler.kthread_stop.tp = kernel.trace("sched_kthread_stop"){ (thread_pid) = ($t->tgid); (thread_priority) = ($t->prio); } probe scheduler.kthread_stop = __scheduler.kthread_stop.tp!, __scheduler.kthread_stop.kp{ (name) = ("kthread_stop"); } probe __scheduler.kthread_stop.return.kp = kernel.function("kthread_stop").return{ (return_value) = ($k->exit_code); } probe __scheduler.kthread_stop.return.tp = kernel.trace("sched_kthread_stop_ret"){ (return_value) = ($ret); } probe scheduler.kthread_stop.return = __scheduler.kthread_stop.return.tp!, __scheduler.kthread_stop.return.kp{ (name) = ("kthread_stop"); } probe scheduler.wait_task = kernel.trace("sched_wait_task")!, kernel.function("wait_task_inactive")?{ (name) = ("wait_task"); (task_pid) = ($p->tgid); (task_priority) = ($p->prio); } probe scheduler.wakeup = kernel.trace("sched_wakeup")!, kernel.function("try_to_wake_up"){ (name) = ("wakeup"); (task) = ($p); (task_pid) = ($p->tgid); (task_tid) = ($p->pid); (task_priority) = ($p->prio); (task_cpu) = (task_cpu($p)); (task_state) = (task_state($p)); } probe scheduler.wakeup_new = kernel.trace("sched_wakeup_new")!, kernel.function("wake_up_new_task"){ (name) = ("wakeup_new"); (task_pid) = ($p->tgid); (task_priority) = ($p->prio); (task_cpu) = (task_cpu($p)); (task_state) = (task_state($p)); (task) = ($p); (task_tid) = ($p->pid); } probe __scheduler.migrate.kp = kernel.function("set_task_cpu")!, kernel.function("pull_task")?{ (cpu_to) = ((@defined($new_cpu))?($new_cpu):((@defined($cpu))?($cpu):($this_cpu))); } probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task"){ (cpu_to) = ($dest_cpu); } probe scheduler.migrate = __scheduler.migrate.tp!, __scheduler.migrate.kp?{ (name) = ("migrate"); (task) = ($p); (pid) = ($p->tgid); (priority) = ($p->prio); (cpu_from) = (task_cpu($p)); } probe __scheduler.process_free.kp = kernel.function("delayed_put_task_struct")!, kernel.function("__put_task_struct"){ if (@defined($rhp)) { (__tsk) = (container_of_task_rcu($rhp)); (pid) = ((__tsk)->tgid); (priority) = ((__tsk)->prio); } else { (pid) = ($tsk->tgid); (priority) = ($tsk->prio); } ; } probe __scheduler.process_free.tp = kernel.trace("sched_process_free"){ (pid) = ($p->tgid); (priority) = ($p->prio); } probe scheduler.process_free = __scheduler.process_free.tp!, __scheduler.process_free.kp{ (name) = ("process_free"); } probe __scheduler.process_exit.kp = kernel.function("do_exit"){ if (@defined($tsk)) { (__tsk) = ($tsk); (pid) = ($tsk->tgid); (priority) = ($tsk->prio); } else { (__tsk) = (task_current()); (pid) = ((__tsk)->tgid); (priority) = ((__tsk)->prio); } ; } probe __scheduler.process_exit.tp = kernel.trace("sched_process_exit"){ (pid) = ($p->tgid); (priority) = ($p->prio); } probe scheduler.process_exit = __scheduler.process_exit.tp!, __scheduler.process_exit.kp{ (name) = ("process_exit"); } probe __scheduler.process_wait.kp = kernel.function("do_wait"){ if (@defined($wo)) { (pid) = ($wo->wo_pid); } else { (pid) = ($pid); } ; } probe __scheduler.process_wait.tp = kernel.trace("sched_process_wait"){ (pid) = ($pid); } probe scheduler.process_wait = __scheduler.process_wait.tp!, __scheduler.process_wait.kp{ (name) = ("process_wait"); } probe __scheduler.process_fork.kp = kernel.function("_do_fork").return!, kernel.function("do_fork").return{ (parent_pid) = ((task_current())->tgid); (child_pid) = ($return); } probe __scheduler.process_fork.tp = kernel.trace("sched_process_fork"){ (parent_pid) = ($parent->tgid); (child_pid) = ($child->tgid); } probe scheduler.process_fork = __scheduler.process_fork.tp!, __scheduler.process_fork.kp{ (name) = ("process_fork"); } probe __scheduler.signal_send.kp = kernel.function("__send_signal")!, kernel.function("send_signal"){ (pid) = ($t->tgid); } probe __scheduler.signal_send.tp = kernel.trace("sched_signal_send"){ (pid) = ($p->tgid); } probe scheduler.signal_send = __scheduler.signal_send.tp!, __scheduler.signal_send.kp{ (name) = ("signal_send"); (signal_number) = ($sig); } function __is_idle () %{ /* pure */ /* stable */ /* Ways to detect idle-ness: * - pid() or tid() == 0 * - current == current->parent * - current == this_rq()->idle * - others? */ STAP_RETVALUE = (current->pid == 0); %} function container_of_task_rcu (rcu_ptr) { if (@defined(&@cast(0, "task_struct", "kernel")->rcu)) { (offset) = (&@cast(0, "task_struct", "kernel")->rcu); if ((rcu_ptr) > (offset)) return &@cast((rcu_ptr) - (offset), "task_struct", "kernel") ; } ; return 0; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/scsi.stp %{ #include #include #include #include #include #include %}probe scsi.ioentry.scsilib = module("scsi_mod").function("scsi_prep_fn")!, kernel.function("scsi_prep_fn")?{ } probe scsi.ioentry.sd = module("sd_mod").function("sd_prep_fn")!, kernel.function("sd_prep_fn")?{ } probe scsi.ioentry.sr = module("sr_mod").function("sr_prep_fn")!, kernel.function("sr_prep_fn")?{ } probe scsi.ioentry = scsi.ioentry.*?{ (req_addr) = ((@defined($req))?($req):($rq)); if ((@cast(req_addr, "request")->rq_disk) == (0)) { (disk_major) = (-(1)); (disk_minor) = (-(1)); } else { (disk_major) = (@cast(req_addr, "request")->rq_disk->major); (disk_minor) = (@cast(req_addr, "request")->rq_disk->first_minor); } ; (device_state) = (get_devstate_from_req($q)); (device_state_str) = (describe_device_state(device_state)); } probe scsi.iodispatching = module("scsi_mod").function("scsi_dispatch_cmd")!, kernel.function("scsi_dispatch_cmd")?{ (host_no) = ($cmd->device->host->host_no); (channel) = ($cmd->device->channel); (lun) = ($cmd->device->lun); (dev_id) = ($cmd->device->id); (device_state) = ($cmd->device->sdev_state); (device_state_str) = (describe_device_state(device_state)); (data_direction) = ($cmd->sc_data_direction); (data_direction_str) = (describe_data_direction(data_direction)); (request_buffer) = ((@defined($cmd->sdb->table->sgl))?($cmd->sdb->table->sgl):($cmd->request_buffer)); (request_bufflen) = ((@defined($cmd->sdb->length))?($cmd->sdb->length):($cmd->request_bufflen)); (req_addr) = ($cmd->request); } probe scsi.iodone = kernel.trace("scsi_dispatch_cmd_done")!, module("scsi_mod").function("scsi_done")!, kernel.function("scsi_done")?{ (host_no) = (@cast($cmd->device, "scsi_device", "kernel:scsi_mod")->host->host_no); (channel) = (@cast($cmd->device, "scsi_device", "kernel:scsi_mod")->channel); (lun) = (@cast($cmd->device, "scsi_device", "kernel:scsi_mod")->lun); (dev_id) = (@cast($cmd->device, "scsi_device", "kernel:scsi_mod")->id); (device_state) = (@cast($cmd->device, "scsi_device", "kernel:scsi_mod")->sdev_state); (device_state_str) = (describe_device_state(device_state)); (data_direction) = ($cmd->sc_data_direction); (data_direction_str) = (describe_data_direction(data_direction)); (req_addr) = ($cmd->request); (scsi_timer_pending) = (scsi_timer_pending($cmd)); } probe scsi.iocompleted = module("scsi_mod").function("scsi_io_completion")!, kernel.function("scsi_io_completion")?{ (host_no) = ($cmd->device->host->host_no); (channel) = ($cmd->device->channel); (lun) = ($cmd->device->lun); (dev_id) = ($cmd->device->id); (device_state) = ($cmd->device->sdev_state); (device_state_str) = (describe_device_state(device_state)); (data_direction) = ($cmd->sc_data_direction); (data_direction_str) = (describe_data_direction(data_direction)); (req_addr) = ($cmd->request); (goodbytes) = ($good_bytes); } probe scsi.ioexecute = module("scsi_mod").function("scsi_execute")!, kernel.function("scsi_execute")?{ (host_no) = ($sdev->host->host_no); (channel) = ($sdev->channel); (lun) = ($sdev->lun); (dev_id) = ($sdev->id); (device_state) = ($sdev->sdev_state); (device_state_str) = (describe_device_state(device_state)); (data_direction) = ($data_direction); (data_direction_str) = (describe_data_direction(data_direction)); (request_buffer) = ($buffer); (request_bufflen) = ($bufflen); (timeout) = ($timeout); (retries) = ($retries); } probe scsi.set_state = module("scsi_mod").function("scsi_device_set_state")!, kernel.function("scsi_device_set_state")?{ (state) = ($state); (state_str) = (describe_device_state(state)); (host_no) = ($sdev->host->host_no); (channel) = ($sdev->channel); (lun) = ($sdev->lun); (dev_id) = ($sdev->id); (old_state) = ($sdev->sdev_state); (old_state_str) = (describe_device_state(old_state)); } function describe_data_direction (state) %{ /* pure */ switch ((long)STAP_ARG_state) { case DMA_BIDIRECTIONAL: strlcpy(STAP_RETVALUE, "BIDIRECTIONAL", MAXSTRINGLEN); break; case DMA_TO_DEVICE: strlcpy(STAP_RETVALUE, "TO_DEVICE", MAXSTRINGLEN); break; case DMA_FROM_DEVICE: strlcpy(STAP_RETVALUE, "FROM_DEVICE", MAXSTRINGLEN); break; case DMA_NONE: strlcpy(STAP_RETVALUE, "NONE", MAXSTRINGLEN); break; default: strlcpy(STAP_RETVALUE, "[INVALID]", MAXSTRINGLEN); } %} function describe_device_state (state) %{ /* pure */ switch ((long)STAP_ARG_state) { case SDEV_CREATED: strlcpy(STAP_RETVALUE, "CREATED", MAXSTRINGLEN); break; case SDEV_RUNNING: strlcpy(STAP_RETVALUE, "RUNNING", MAXSTRINGLEN); break; case SDEV_CANCEL: strlcpy(STAP_RETVALUE, "CANCEL", MAXSTRINGLEN); break; case SDEV_DEL: strlcpy(STAP_RETVALUE, "DEL", MAXSTRINGLEN); break; case SDEV_QUIESCE: strlcpy(STAP_RETVALUE, "QUIESCE", MAXSTRINGLEN); break; case SDEV_OFFLINE: strlcpy(STAP_RETVALUE, "OFFLINE", MAXSTRINGLEN); break; #ifdef SDEV_BLOCK case SDEV_BLOCK: strlcpy(STAP_RETVALUE, "BLOCK", MAXSTRINGLEN); break; #endif #ifdef SDEV_CREATED_BLOCK case SDEV_CREATED_BLOCK: strlcpy(STAP_RETVALUE, "CREATED_BLOCK", MAXSTRINGLEN); break; #endif default: strlcpy(STAP_RETVALUE, "[INVALID]", MAXSTRINGLEN); } %} function timer_pending (timer) { return ((@defined(@cast(timer, "timer_list")->entry->next))?(@cast(timer, "timer_list")->entry->next):(@cast(timer, "timer_list")->base)) != (0); } function scsi_timer_pending (cmd) { return timer_pending(&@cast(cmd, "scsi_cmnd", "kernel:scsi_mod")->request->q->timeout); } function get_devstate_from_req (var) { (sdev) = (@cast(var, "request_queue", "kernel:scsi_mod")->queuedata); return @cast(sdev, "scsi_device", "kernel:scsi_mod")->sdev_state; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp global __sig[64] probe signal.send = __signal.send.signal_generate!, __signal.send.send_sigqueue, __signal.send.send_signal?{ (sig_name) = (_signal_name(sig)); (sig_pid) = (task_pid(task)); (pid_name) = (task_execname(task)); if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL") else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)") else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO") ; } probe __signal.send.signal_generate = kernel.trace("signal_generate")?{ (name) = ("signal_generate"); (sig) = ($sig); (task) = ($task); (sinfo) = ($info); (shared) = ((((@defined($group))?($group):(0)) == (0))?(0):(1)); } probe __signal.send.send_sigqueue = kernel.function("send_sigqueue"){ (name) = ("send_sigqueue"); (task) = ((@defined($t))?($t):($p)); (sig) = ((@defined($q->info->si_signo))?($q->info->si_signo):($sig)); (sinfo) = ((@defined($q->info))?($q->info):(0)); (shared) = (0); } probe __signal.send.send_signal = kernel.function("__send_signal")!, kernel.function("send_signal")?{ if (@defined($group)) { (name) = ("__send_signal"); (shared) = ((($group) == (0))?(0):(1)); } else { (name) = ("send_signal"); (shared) = (0); } ; (sig) = ($sig); (task) = ($t); (sinfo) = ($info); } probe __signal.send.group_send_sig_info = kernel.function("__group_send_sig_info"){ (name) = ("__group_send_sig_info"); (sig) = ($sig); (task) = ($p); (sinfo) = ($info); (shared) = (1); } probe __signal.send.send_group_sigqueue = kernel.function("send_group_sigqueue")?{ (name) = ("send_group_sigqueue"); (sig) = ($sig); (task) = ($p); (sinfo) = (0); (shared) = (1); } probe __signal.send.specific_send_sig_info = kernel.function("specific_send_sig_info").call?{ (name) = ("specific_send_sig_info"); (sig) = ($sig); (task) = ($t); (sinfo) = ($info); (shared) = (0); } probe signal.checkperm = kernel.function("check_kill_permission"){ (sig) = ($sig); (task) = ($t); (sinfo) = ($info); (name) = ("checkperm"); (sig_name) = (_signal_name($sig)); (sig_pid) = (task_pid(task)); (pid_name) = (task_execname(task)); if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL") else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)") else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO") ; } probe signal.checkperm.return = kernel.function("check_kill_permission").return?{ (name) = ("checkperm"); (retstr) = (return_str(1, $return)); } probe __signal.wakeup.signal_wake_up_state = kernel.function("signal_wake_up_state"){ (resume) = ((($state) == (0))?(0):(1)); if (($state) & ((%{ /* pure */ /* unprivileged */ /* stable */ __TASK_STOPPED %}) != (0))) { (state_mask) .= (" | TASK_STOPPED"); } ; if (($state) & ((%{ /* pure */ /* unprivileged */ /* stable */ __TASK_TRACED %}) != (0))) { (state_mask) .= (" | TASK_TRACED"); } ; if (($state) & ((%{ /* pure */ /* unprivileged */ /* stable */ TASK_WAKEKILL %}) != (0))) { (state_mask) .= (" | TASK_WAKEKILL"); } ; (state_mask) = (("TASK_INTERRUPTIBLE") . (state_mask)); } probe __signal.wakeup.signal_wake_up = kernel.function("signal_wake_up"){ (resume) = ($resume); if ((resume) == (0)) { (state_mask) = ("TASK_INTERRUPTIBLE"); } else { (state_mask) = ("TASK_INTERRUPTIBLE | TASK_STOPPED | TASK_TRACED"); } ; } probe signal.wakeup = __signal.wakeup.signal_wake_up_state!, __signal.wakeup.signal_wake_up{ (name) = ("wakeup"); (sig_pid) = ($t->pid); (pid_name) = (kernel_string($t->comm)); } probe signal.check_ignored = kernel.function("sig_ignored"){ (name) = ("check_ignored"); (sig_pid) = ($t->pid); (pid_name) = (kernel_string($t->comm)); (sig) = ($sig); (sig_name) = (_signal_name($sig)); } probe __signal.check_ignored.sig_ignored.return = kernel.function("sig_ignored").return{ (retstr) = (return_str(1, $return)); } probe __signal.check_ignored.prepare_signal.return = kernel.function("prepare_signal").return{ (retstr) = (return_str(1, !($return))); } probe signal.check_ignored.return = __signal.check_ignored.sig_ignored.return!, __signal.check_ignored.prepare_signal.return{ (name) = ("check_ignored"); } probe signal.force_segv = _signal.force_segv.*{ (name) = ("force_segv"); } probe _signal.force_segv.part1 = kernel.function("force_sigsegv"){ (sig_pid) = ($p->pid); (pid_name) = (kernel_string($p->comm)); (sig) = ($sig); (sig_name) = (_signal_name($sig)); } probe _signal.force_segv.part2 = kernel.function("force_sigsegv_info")?{ (sig_pid) = (pid()); (pid_name) = (execname()); (sig) = ($sig); (sig_name) = (_signal_name($sig)); } probe signal.force_segv.return = kernel.function("force_sigsegv").return, kernel.function("force_sigsegv_info").return?{ (name) = ("force_segv"); (retstr) = (return_str(1, $return)); } probe signal.syskill = syscall.kill{ (name) = ("syskill"); (sig_name) = (_signal_name($sig)); (sig_pid) = ($pid); (task) = (pid2task($pid)); (pid_name) = ((task)?(task_execname(task)):("")); } probe signal.syskill.return = syscall.kill.return{ (name) = ("syskill"); } probe signal.systkill = syscall.tkill{ (name) = ("systkill"); (sig_name) = (_signal_name($sig)); (sig_pid) = ($pid); (task) = (pid2task($pid)); (pid_name) = ((task)?(task_execname(task)):("")); } probe signal.systkill.return = syscall.tkill.return{ (name) = ("systkill"); } probe signal.systgkill = syscall.tgkill{ (name) = ("systgkill"); (sig_name) = (_signal_name($sig)); (sig_pid) = ($pid); (task) = (pid2task($pid)); (pid_name) = ((task)?(task_execname(task)):("")); } probe signal.systgkill.return = syscall.tgkill.return{ (name) = ("systgkill"); } probe signal.send_sig_queue = kernel.function("send_sigqueue"), kernel.function("send_group_sigqueue")?{ (name) = ("send_sig_queue"); if (!(@defined($sig))) { (sig) = ($q->info->si_signo); (sig_name) = (_signal_name($q->info->si_signo)); } else { (sig) = ($sig); (sig_name) = (_signal_name($sig)); } ; if (@defined($t)) { (sig_pid) = ($t->pid); (pid_name) = (kernel_string($t->comm)); } else { (sig_pid) = ($p->pid); (pid_name) = (kernel_string($p->comm)); } ; (sigqueue_addr) = ($q); } probe signal.send_sig_queue.return = kernel.function("send_sigqueue").return, kernel.function("send_group_sigqueue").return?{ (name) = ("send_sig_queue"); (retstr) = (return_str(1, $return)); } probe signal.pending = kernel.function("do_sigpending").call!, kernel.function("sys_rt_sigpending").call?, kernel.function("compat_sys_rt_sigpending").call?{ (name) = ("pending"); (sigset_add) = ((@defined($set))?($set):($uset)); (sigset_size) = ($sigsetsize); } probe signal.pending.return = kernel.function("do_sigpending").return!, kernel.function("sys_rt_sigpending").return?, kernel.function("compat_sys_rt_sigpending").return?{ (name) = ("pending"); (retstr) = (return_str(1, $return)); } probe signal.handle = __signal.handle.tp!, __signal.handle.kp{ (name) = ("handle"); if (((sinfo) == (0)) && ((sig_code) <= (0))) (sig_mode) = ("User Mode Signal") else if ((sinfo) >= (1)) (sig_mode) = ("Kernel Mode Signal") ; } probe __signal.handle.tp = kernel.trace("signal_deliver")?{ (sig) = ($sig); (sig_name) = (_signal_name($sig)); (sinfo) = ($info); (sig_code) = ($info->si_code); (ka_addr) = ($ka); } probe __signal.handle.kp = kernel.function("handle_rt_signal64")?, kernel.function("handle_rt_signal32")?, kernel.function("handle_signal32")!, kernel.function("handle_signal"){ if (@defined($sig)) { (sig) = ($sig); (sig_name) = (_signal_name($sig)); } else { (sig) = ($signr); (sig_name) = (_signal_name($signr)); } ; (sinfo) = ($info); (sig_code) = ($info->si_code); (ka_addr) = ($ka); } probe signal.do_action = kernel.function("do_sigaction"){ (name) = ("do_action"); (sig) = ($sig); (sig_name) = (_signal_name($sig)); (sigact_addr) = ($act); (oldsigact_addr) = ($oact); if ((sigact_addr) != (0)) { (sa_handler) = ($act->sa->sa_handler); (sa_mask) = (__get_action_mask($act)); } ; } probe signal.do_action.return = kernel.function("do_sigaction").return{ (name) = ("do_action"); (retstr) = (return_str(1, $return)); } probe signal.procmask = kernel.function("sigprocmask"){ (name) = ("procmask"); (how) = ($how); (sigset_addr) = ($set); (oldsigset_addr) = ($oldset); (sigset) = (get_sigset($set)); } probe signal.procmask.return = kernel.function("sigprocmask").return{ (name) = ("procmask"); (retstr) = (return_str(1, $return)); } probe signal.flush = kernel.function("flush_signals"){ (name) = ("flush"); (task) = ($t); (sig_pid) = ($t->pid); (pid_name) = (kernel_string($t->comm)); } probe init{ (__sig[1]) = ("HUP"); (__sig[2]) = ("INT"); (__sig[3]) = ("QUIT"); (__sig[4]) = ("ILL"); (__sig[5]) = ("TRAP"); (__sig[6]) = ("ABRT"); (__sig[7]) = ("BUS"); (__sig[8]) = ("FPE"); (__sig[9]) = ("KILL"); (__sig[10]) = ("USR1"); (__sig[11]) = ("SEGV"); (__sig[12]) = ("USR2"); (__sig[13]) = ("PIPE"); (__sig[14]) = ("ALRM"); (__sig[15]) = ("TERM"); (__sig[16]) = ("STKFLT"); (__sig[17]) = ("CHLD"); (__sig[18]) = ("CONT"); (__sig[19]) = ("STOP"); (__sig[20]) = ("TSTP"); (__sig[21]) = ("TTIN"); (__sig[22]) = ("TTOU"); (__sig[23]) = ("URG"); (__sig[24]) = ("XCPU"); (__sig[25]) = ("XFSZ"); (__sig[26]) = ("VTALRM"); (__sig[27]) = ("PROF"); (__sig[28]) = ("WINCH"); (__sig[29]) = ("IO/POLL"); (__sig[30]) = ("PWR"); (__sig[31]) = ("SYS"); (__sig[32]) = ("RTMIN"); (__sig[33]) = ("RTMIN+1"); (__sig[34]) = ("RTMIN+2"); (__sig[35]) = ("RTMIN+3"); (__sig[36]) = ("RTMIN+4"); (__sig[37]) = ("RTMIN+5"); (__sig[38]) = ("RTMIN+6"); (__sig[39]) = ("RTMIN+7"); (__sig[40]) = ("RTMIN+8"); (__sig[41]) = ("RTMIN+9"); (__sig[42]) = ("RTMIN+10"); (__sig[43]) = ("RTMIN+11"); (__sig[44]) = ("RTMIN+12"); (__sig[45]) = ("RTMIN+13"); (__sig[46]) = ("RTMIN+14"); (__sig[47]) = ("RTMIN+15"); (__sig[48]) = ("RTMIN+16"); (__sig[49]) = ("RTMIN+17"); (__sig[50]) = ("RTMIN+18"); (__sig[51]) = ("RTMIN+19"); (__sig[52]) = ("RTMIN+20"); (__sig[53]) = ("RTMIN+21"); (__sig[54]) = ("RTMIN+22"); (__sig[55]) = ("RTMIN+23"); (__sig[56]) = ("RTMIN+24"); (__sig[57]) = ("RTMIN+25"); (__sig[58]) = ("RTMIN+26"); (__sig[59]) = ("RTMIN+27"); (__sig[60]) = ("RTMIN+28"); (__sig[61]) = ("RTMIN+29"); (__sig[62]) = ("RTMIN+30"); (__sig[63]) = ("RTMIN+31"); (__sig[64]) = ("RTMIN+32"); } function get_sigaction_mask (act) { return __get_action_mask(act); } function __get_action_mask (act) %{ /* pure */ int i; struct k_sigaction *act = (struct k_sigaction *)((long)STAP_ARG_act); sigset_t *sigset = &act->sa.sa_mask; STAP_RETVALUE = kread(&(sigset->sig[0])); for (i=1; i<_NSIG_WORDS; ++i) { uint64_t part = kread(&(sigset->sig[i])); STAP_RETVALUE |= part << (_NSIG_BPW*i); } CATCH_DEREF_FAULT(); %} function get_sigset (sigset) %{ /* pure */ int i; sigset_t *sigset = (sigset_t *)((long)STAP_ARG_sigset); STAP_RETVALUE = kread(&(sigset->sig[0])); for (i=1; i<_NSIG_WORDS; ++i) { uint64_t part = kread(&(sigset->sig[i])); STAP_RETVALUE |= part << (_NSIG_BPW*i); } CATCH_DEREF_FAULT(); %} function get_sa_flags (act) { return @cast(act, "k_sigaction", "kernel")->sa->sa_flags; } function get_sa_handler (act) { return @cast(act, "k_sigaction", "kernel")->sa->sa_handler; } function sigset_mask_str (mask) %{ /* pure */ int i, len; char *str = STAP_RETVALUE, tmp[5]; str[0] = '\0'; for (i = 1; i < _NSIG; ++i, STAP_ARG_mask >>=1) if (STAP_ARG_mask & 1) { snprintf(tmp, sizeof(tmp), "%u,", i); strlcat(str, tmp, MAXSTRINGLEN); } len = strlen(str); if (len) str[len - 1] = '\0'; %} function is_sig_blocked (task, sig) %{ /* pure */ int i; sigset_t blocked; struct task_struct *p = (struct task_struct *)((long)STAP_ARG_task); for (i = 0; i < _NSIG_WORDS; ++i) blocked.sig[i] = kread(&p->blocked.sig[i]); STAP_RETVALUE = sigismember(&blocked, STAP_ARG_sig); CATCH_DEREF_FAULT(); %} function sa_flags_str (sa_flags) %{ /* pure */ int len; char *str = STAP_RETVALUE; str[0] = '\0'; if (STAP_ARG_sa_flags & 0x00000001u) strlcat(str, "NOCLDSTOP|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x00000002u) strlcat(str, "NOCLDWAIT|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x00000004u) strlcat(str, "SIGINFO|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x08000000u) strlcat(str, "ONSTACK|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x10000000u) strlcat(str, "RESTART|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x40000000u) strlcat(str, "NODEFER|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x80000000u) strlcat(str, "RESETHAND|", MAXSTRINGLEN); if (STAP_ARG_sa_flags & 0x04000000) strlcat(str, "RESTORER|", MAXSTRINGLEN); len = strlen(str); if (len) str[len - 1] = '\0'; %} function sa_handler_str (handler) { if ((handler) == (0)) return "default" ; if ((handler) == (1)) return "ignored" ; if ((handler) == (-(1))) return "error" ; return sprintf("%p", handler); } function signal_str (num) { return __sig[num]; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp %{ #include #include %}global _prot_num2str[138] global _prot_str2num[138] global _fam_num2str[34] global _fam_str2num[34] global _state_num2str[5] global _state_str2num[5] global _type_num2str[11] global _type_str2num[11] probe socket.send = socket.sendmsg.return, socket.writev.return?, socket.aio_write.return?, socket.write_iter.return?{ (name) = ("socket.send"); } probe socket.receive = socket.recvmsg.return, socket.readv.return?, socket.aio_read.return?, socket.read_iter.return?{ (name) = ("socket.receive"); } probe socket.sendmsg = kernel.function("sock_sendmsg"){ (name) = ("socket.sendmsg"); (size) = ((@defined($size))?($size):($msg->msg_iter->count)); (protocol) = ((&$sock[0])?(($sock->sk)?($sock->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&$sock[0])?(($sock->ops)?($sock->ops->family):(-(1))):(-(1))); (state) = ((&$sock[0])?($sock->state):(-(1))); (flags) = ((&$sock[0])?($sock->flags):(-(1))); (type) = ((&$sock[0])?($sock->type):(-(1))); } probe socket.sendmsg.return = kernel.function("sock_sendmsg").return{ (name) = ("socket.sendmsg.return"); (size) = ($return); (protocol) = ((&$sock[0])?(($sock->sk)?($sock->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&$sock[0])?(($sock->ops)?($sock->ops->family):(-(1))):(-(1))); (state) = ((&$sock[0])?($sock->state):(-(1))); (flags) = ((&$sock[0])?($sock->flags):(-(1))); (type) = ((&$sock[0])?($sock->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.recvmsg = kernel.function("sock_recvmsg"){ (name) = ("socket.recvmsg"); (size) = ((@defined($size))?($size):($msg->msg_iter->count)); (protocol) = ((&$sock[0])?(($sock->sk)?($sock->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&$sock[0])?(($sock->ops)?($sock->ops->family):(-(1))):(-(1))); (state) = ((&$sock[0])?($sock->state):(-(1))); (flags) = ((&$sock[0])?($sock->flags):(-(1))); (type) = ((&$sock[0])?($sock->type):(-(1))); } probe socket.recvmsg.return = kernel.function("sock_recvmsg").return{ (name) = ("socket.recvmsg.return"); (size) = ($return); (protocol) = ((&$sock[0])?(($sock->sk)?($sock->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&$sock[0])?(($sock->ops)?($sock->ops->family):(-(1))):(-(1))); (state) = ((&$sock[0])?($sock->state):(-(1))); (flags) = ((&$sock[0])?($sock->flags):(-(1))); (type) = ((&$sock[0])?($sock->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.aio_write = kernel.function("sock_aio_write")?{ (name) = ("socket.aio_write"); (_sock) = (_get_sock_addr($iocb->ki_filp)); (size) = ((@defined($iov))?(_get_sock_size($iov, $nr_segs)):((@defined($count))?($count):($size))); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.aio_write.return = kernel.function("sock_aio_write").return?{ (name) = ("socket.aio_write.return"); (size) = ($return); (_sock) = (_get_sock_addr($iocb->ki_filp)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.aio_read = kernel.function("sock_aio_read")?{ (name) = ("socket.aio_read"); (_sock) = (_get_sock_addr($iocb->ki_filp)); (size) = ((@defined($iov))?(_get_sock_size($iov, $nr_segs)):((@defined($count))?($count):($size))); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.aio_read.return = kernel.function("sock_aio_read").return?{ (name) = ("socket.aio_read.return"); (size) = ($return); (_sock) = (_get_sock_addr($iocb->ki_filp)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.write_iter = kernel.function("sock_write_iter")?{ (name) = ("socket.write_iter"); (_sock) = (_get_sock_addr($iocb->ki_filp)); if (($from->type) & (%{ /* pure */ /* unprivileged */ /* stable */ ITER_IOVEC %})) (size) = (__iov_length($from->iov, $from->nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_READ %})) else (size) = (0) ; (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.write_iter.return = kernel.function("sock_write_iter").return?{ (name) = ("socket.write_iter.return"); (size) = ($return); (_sock) = (_get_sock_addr($iocb->ki_filp)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.read_iter = kernel.function("sock_read_iter")?{ (name) = ("socket.read_iter"); (_sock) = (_get_sock_addr($iocb->ki_filp)); if (($to->type) & (%{ /* pure */ /* unprivileged */ /* stable */ ITER_IOVEC %})) (size) = (__iov_length($to->iov, $to->nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_WRITE %})) else (size) = (0) ; (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.read_iter.return = kernel.function("sock_read_iter").return?{ (name) = ("socket.read_iter.return"); (size) = ($return); (_sock) = (_get_sock_addr($iocb->ki_filp)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.writev = kernel.function("sock_writev")?{ (name) = ("socket.writev"); (_sock) = (_get_sock_addr($file)); (size) = ((@defined($iov))?(_get_sock_size($iov, $nr_segs)):(_get_sock_size($vector, $count))); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.writev.return = kernel.function("sock_writev").return?{ (name) = ("socket.writev.return"); (size) = ($return); (_sock) = (_get_sock_addr($file)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.readv = kernel.function("sock_readv")?{ (name) = ("socket.readv"); (_sock) = (_get_sock_addr($file)); (size) = ((@defined($iov))?(_get_sock_size($iov, $nr_segs)):(_get_sock_size($vector, $count))); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); } probe socket.readv.return = kernel.function("sock_readv").return?{ (name) = ("socket.readv.return"); (size) = ($return); (_sock) = (_get_sock_addr($file)); (protocol) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->sk)?(@cast(_sock, "socket", "kernel")->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&@cast(_sock, "socket", "kernel")[0])?((@cast(_sock, "socket", "kernel")->ops)?(@cast(_sock, "socket", "kernel")->ops->family):(-(1))):(-(1))); (state) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->state):(-(1))); (flags) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->flags):(-(1))); (type) = ((&@cast(_sock, "socket", "kernel")[0])?(@cast(_sock, "socket", "kernel")->type):(-(1))); (success) = ((($return) >= (0))?(1):(0)); } probe socket.create = kernel.function("__sock_create"){ (name) = ("socket.create"); (protocol) = ($protocol); (family) = ($family); (type) = ($type); (requester) = ($kern); } probe socket.create.return = kernel.function("__sock_create").return{ (name) = ("socket.create.return"); (protocol) = ($protocol); (family) = ($family); (type) = ($type); (requester) = ($kern); (err) = ($return); (success) = ((($return) >= (0))?(1):(0)); } probe socket.close = kernel.function("sock_release"){ (name) = ("socket.close"); (protocol) = ((&$sock[0])?(($sock->sk)?($sock->sk->sk_protocol):(-(1))):(-(1))); (family) = ((&$sock[0])?(($sock->ops)?($sock->ops->family):(-(1))):(-(1))); (state) = ((&$sock[0])?($sock->state):(-(1))); (flags) = ((&$sock[0])?($sock->flags):(-(1))); (type) = ((&$sock[0])?($sock->type):(-(1))); } probe socket.close.return = kernel.function("sock_release").return{ (name) = ("socket.close.return"); } probe init{ (_prot_num2str[0]) = ("IP"); (_prot_num2str[1]) = ("ICMP"); (_prot_num2str[2]) = ("IGMP"); (_prot_num2str[3]) = ("GGP"); (_prot_num2str[4]) = ("IPENCAP"); (_prot_num2str[5]) = ("ST"); (_prot_num2str[6]) = ("TCP"); (_prot_num2str[7]) = ("CBT"); (_prot_num2str[8]) = ("EGP"); (_prot_num2str[9]) = ("IGP"); (_prot_num2str[10]) = ("BBN-RCC"); (_prot_num2str[11]) = ("NVP"); (_prot_num2str[12]) = ("PUP"); (_prot_num2str[13]) = ("ARGUS"); (_prot_num2str[14]) = ("EMCON"); (_prot_num2str[15]) = ("XNET"); (_prot_num2str[16]) = ("CHAOS"); (_prot_num2str[17]) = ("UDP"); (_prot_num2str[18]) = ("MUX"); (_prot_num2str[19]) = ("DCN"); (_prot_num2str[20]) = ("HMP"); (_prot_num2str[21]) = ("PRM"); (_prot_num2str[22]) = ("XNS-IDP"); (_prot_num2str[23]) = ("TRUNK-1"); (_prot_num2str[24]) = ("TRUNK-2"); (_prot_num2str[25]) = ("LEAF-1"); (_prot_num2str[26]) = ("LEAF-2"); (_prot_num2str[27]) = ("RDP"); (_prot_num2str[28]) = ("IRTP"); (_prot_num2str[29]) = ("ISO-TP4"); (_prot_num2str[30]) = ("NETBLT"); (_prot_num2str[31]) = ("MFE-NSP"); (_prot_num2str[32]) = ("MERIT-INP"); (_prot_num2str[33]) = ("SEP"); (_prot_num2str[34]) = ("3PC"); (_prot_num2str[35]) = ("IDPR"); (_prot_num2str[36]) = ("XTP"); (_prot_num2str[37]) = ("DDP"); (_prot_num2str[38]) = ("IDPR-CMTP"); (_prot_num2str[39]) = ("TP++"); (_prot_num2str[40]) = ("IL"); (_prot_num2str[41]) = ("IPV6"); (_prot_num2str[42]) = ("SDRP"); (_prot_num2str[43]) = ("IPV6-ROUTE"); (_prot_num2str[44]) = ("IPV6-FRAG"); (_prot_num2str[45]) = ("IDRP"); (_prot_num2str[46]) = ("RSVP"); (_prot_num2str[47]) = ("GRE"); (_prot_num2str[48]) = ("MHRP"); (_prot_num2str[49]) = ("BNA"); (_prot_num2str[50]) = ("IPV6-CRYPT"); (_prot_num2str[51]) = ("IPV6-AUTH"); (_prot_num2str[52]) = ("I-NLSP"); (_prot_num2str[53]) = ("SWIPE"); (_prot_num2str[54]) = ("NARP"); (_prot_num2str[55]) = ("MOBILE"); (_prot_num2str[56]) = ("TLSP"); (_prot_num2str[57]) = ("SKIP"); (_prot_num2str[58]) = ("IPV6-ICMP"); (_prot_num2str[59]) = ("IPV6-NONXT"); (_prot_num2str[60]) = ("IPV6-OPTS"); (_prot_num2str[62]) = ("CFTP"); (_prot_num2str[64]) = ("SAT-EXPAK"); (_prot_num2str[65]) = ("KRYPTOLAN"); (_prot_num2str[66]) = ("RVD"); (_prot_num2str[67]) = ("IPPC"); (_prot_num2str[69]) = ("SAT-MON"); (_prot_num2str[70]) = ("VISA"); (_prot_num2str[71]) = ("IPCV"); (_prot_num2str[72]) = ("CPNX"); (_prot_num2str[73]) = ("CPHB"); (_prot_num2str[74]) = ("WSN"); (_prot_num2str[75]) = ("PVP"); (_prot_num2str[76]) = ("BR-SAT-MON"); (_prot_num2str[77]) = ("SUN-ND"); (_prot_num2str[78]) = ("WB-MON"); (_prot_num2str[79]) = ("WB-EXPAK"); (_prot_num2str[80]) = ("ISO-IP"); (_prot_num2str[81]) = ("VMTP"); (_prot_num2str[82]) = ("SECURE-VMTP"); (_prot_num2str[83]) = ("VINES"); (_prot_num2str[84]) = ("TTP"); (_prot_num2str[85]) = ("NSFNET-IGP"); (_prot_num2str[86]) = ("DGP"); (_prot_num2str[87]) = ("TCF"); (_prot_num2str[88]) = ("EIGRP"); (_prot_num2str[89]) = ("OSPF"); (_prot_num2str[90]) = ("SPRITE-RPC"); (_prot_num2str[91]) = ("LARP"); (_prot_num2str[92]) = ("MTP"); (_prot_num2str[93]) = ("AX.25"); (_prot_num2str[94]) = ("IPIP"); (_prot_num2str[95]) = ("MICP"); (_prot_num2str[96]) = ("SCC-SP"); (_prot_num2str[97]) = ("ETHERIP"); (_prot_num2str[98]) = ("ENCAP"); (_prot_num2str[100]) = ("GMTP"); (_prot_num2str[101]) = ("IFMP"); (_prot_num2str[102]) = ("PNNI"); (_prot_num2str[103]) = ("PIM"); (_prot_num2str[104]) = ("ARIS"); (_prot_num2str[105]) = ("SCPS"); (_prot_num2str[106]) = ("QNX"); (_prot_num2str[107]) = ("A/N"); (_prot_num2str[108]) = ("IPCOMP"); (_prot_num2str[109]) = ("SNP"); (_prot_num2str[110]) = ("COMPAQ-PEER"); (_prot_num2str[111]) = ("IPX-IN-IP"); (_prot_num2str[112]) = ("VRRP"); (_prot_num2str[113]) = ("PGM"); (_prot_num2str[115]) = ("L2TP"); (_prot_num2str[116]) = ("DDX"); (_prot_num2str[117]) = ("IATP"); (_prot_num2str[118]) = ("STP"); (_prot_num2str[119]) = ("SRP"); (_prot_num2str[120]) = ("UTI"); (_prot_num2str[121]) = ("SMP"); (_prot_num2str[122]) = ("SM"); (_prot_num2str[123]) = ("PTP"); (_prot_num2str[124]) = ("ISIS"); (_prot_num2str[125]) = ("FIRE"); (_prot_num2str[126]) = ("CRTP"); (_prot_num2str[127]) = ("CRDUP"); (_prot_num2str[128]) = ("SSCOPMCE"); (_prot_num2str[129]) = ("IPLT"); (_prot_num2str[130]) = ("SPS"); (_prot_num2str[131]) = ("PIPE"); (_prot_num2str[132]) = ("SCTP"); (_prot_num2str[133]) = ("FC"); (_prot_num2str[134]) = ("RSVP-E2E-IGNORE"); (_prot_num2str[135]) = ("Mobility-Header"); (_prot_num2str[136]) = ("UDPLite"); (_prot_num2str[137]) = ("MPLS-IN-IP"); foreach ([num] in _prot_num2str) (_prot_str2num[_prot_num2str[num]]) = (num); (_fam_num2str[0]) = ("UNSPEC"); (_fam_num2str[1]) = ("LOCAL"); (_fam_num2str[2]) = ("INET"); (_fam_num2str[3]) = ("AX25"); (_fam_num2str[4]) = ("IPX"); (_fam_num2str[5]) = ("APPLETALK"); (_fam_num2str[6]) = ("NETROM"); (_fam_num2str[7]) = ("BRIDGE"); (_fam_num2str[8]) = ("ATMPVC"); (_fam_num2str[9]) = ("X25"); (_fam_num2str[10]) = ("INET6"); (_fam_num2str[11]) = ("ROSE"); (_fam_num2str[12]) = ("DECNET"); (_fam_num2str[13]) = ("NETBEUI"); (_fam_num2str[14]) = ("SECURITY"); (_fam_num2str[15]) = ("KEY"); (_fam_num2str[16]) = ("NETLINK"); (_fam_num2str[17]) = ("PACKET"); (_fam_num2str[18]) = ("ASH"); (_fam_num2str[19]) = ("ECONET"); (_fam_num2str[20]) = ("ATMSVC"); (_fam_num2str[22]) = ("SNA"); (_fam_num2str[23]) = ("IRDA"); (_fam_num2str[24]) = ("PPPOX"); (_fam_num2str[25]) = ("WANPIPE"); (_fam_num2str[26]) = ("LLC"); (_fam_num2str[30]) = ("TIPC"); (_fam_num2str[31]) = ("BLUETOOTH"); (_fam_num2str[32]) = ("IUCV"); (_fam_num2str[33]) = ("RXRPC"); foreach ([num] in _fam_num2str) (_fam_str2num[_fam_num2str[num]]) = (num); (_state_num2str[0]) = ("FREE"); (_state_num2str[1]) = ("UNCONNECTED"); (_state_num2str[2]) = ("CONNECTING"); (_state_num2str[3]) = ("CONNECTED"); (_state_num2str[4]) = ("DISCONNECTING"); foreach ([num] in _state_num2str) (_state_str2num[_state_num2str[num]]) = (num); (_type_num2str[1]) = ("STREAM"); (_type_num2str[2]) = ("DGRAM"); (_type_num2str[3]) = ("RAW"); (_type_num2str[4]) = ("RDM"); (_type_num2str[5]) = ("SEQPACKET"); (_type_num2str[6]) = ("DCCP"); (_type_num2str[10]) = ("PACKET"); foreach ([num] in _type_num2str) (_type_str2num[_type_num2str[num]]) = (num); } function sock_prot_num2str (proto) { return ([proto] in _prot_num2str)?(_prot_num2str[proto]):("UNDEF"); } function sock_prot_str2num (proto) { return ([proto] in _prot_str2num)?(_prot_str2num[proto]):(-(1)); } function sock_fam_num2str (family) { return ([family] in _fam_num2str)?(_fam_num2str[family]):("UNDEF"); } function sock_fam_str2num (family) { return ([family] in _fam_str2num)?(_fam_str2num[family]):(-(1)); } function sock_state_num2str (state) { return ([state] in _state_num2str)?(_state_num2str[state]):("UNDEF"); } function sock_state_str2num (state) { return ([state] in _state_str2num)?(_state_str2num[state]):(-(1)); } function sock_type_num2str (type) { return ([type] in _type_num2str)?(_type_num2str[type]):("UNDEF"); } function sock_type_str2num (type) { return ([type] in _type_str2num)?(_type_str2num[type]):(-(1)); } function sock_flags_num2str (flags) %{ /* pure */ #ifndef SOCK_PASSCRED #define SOCK_PASSCRED 3 /* introduced in 2.6.12? */ #endif #ifndef SOCK_PASSSEC #define SOCK_PASSSEC 4 /* introduced in 2.6.18 */ #endif #ifndef SOCKWQ_ASYNC_NOSPACE /* renamed in 4.4 */ #define SOCKWQ_ASYNC_NOSPACE SOCK_ASYNC_NOSPACE #endif #ifndef SOCKWQ_ASYNC_WAITDATA /* renamed in 4.4 */ #define SOCKWQ_ASYNC_WAITDATA SOCK_ASYNC_WAITDATA #endif unsigned long flags = STAP_ARG_flags; STAP_RETVALUE[0] = '\0'; if (test_bit(SOCKWQ_ASYNC_NOSPACE, &flags)) strlcat(STAP_RETVALUE, "ASYNC_NOSPACE|", MAXSTRINGLEN); if (test_bit(SOCKWQ_ASYNC_WAITDATA, &flags)) strlcat(STAP_RETVALUE, "ASYNC_WAITDATA|", MAXSTRINGLEN); if (test_bit(SOCK_NOSPACE, &flags)) strlcat(STAP_RETVALUE, "NOSPACE|", MAXSTRINGLEN); if (test_bit(SOCK_PASSCRED, &flags)) strlcat(STAP_RETVALUE, "PASSCRED|", MAXSTRINGLEN); if (test_bit(SOCK_PASSSEC, &flags)) strlcat(STAP_RETVALUE, "PASSSEC|", MAXSTRINGLEN); if (STAP_RETVALUE[0] != '\0') STAP_RETVALUE[strlen(STAP_RETVALUE)-1] = '\0'; %} function msg_flags_num2str (flags) %{ /* pure */ STAP_RETVALUE[0] = '\0'; if (STAP_ARG_flags & MSG_OOB) strlcat(STAP_RETVALUE, "OOB|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_PEEK) strlcat(STAP_RETVALUE, "PEEK|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_DONTROUTE) strlcat(STAP_RETVALUE, "DONTROUTE|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_TRYHARD) strlcat(STAP_RETVALUE, "TRYHARD|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_CTRUNC) strlcat(STAP_RETVALUE, "CTRUNC|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_PROBE) strlcat(STAP_RETVALUE, "PROBE|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_TRUNC) strlcat(STAP_RETVALUE, "TRUNC|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_DONTWAIT) strlcat(STAP_RETVALUE, "DONTWAIT|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_EOR) strlcat(STAP_RETVALUE, "EOR|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_WAITALL) strlcat(STAP_RETVALUE, "WAITALL|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_FIN) strlcat(STAP_RETVALUE, "FIN|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_SYN) strlcat(STAP_RETVALUE, "SYN|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_CONFIRM) strlcat(STAP_RETVALUE, "CONFIRM|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_RST) strlcat(STAP_RETVALUE, "RST|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_ERRQUEUE) strlcat(STAP_RETVALUE, "ERRQUEUE|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_NOSIGNAL) strlcat(STAP_RETVALUE, "NOSIGNAL|", MAXSTRINGLEN); if (STAP_ARG_flags & MSG_MORE) strlcat(STAP_RETVALUE, "MORE|", MAXSTRINGLEN); if (STAP_RETVALUE[0] != '\0') STAP_RETVALUE[strlen(STAP_RETVALUE)-1] = '\0'; %} function _get_sock_addr (file) %{ /* pure */ struct file *filep = (struct file *)(long)(STAP_ARG_file); struct socket *sockp; if (filep) { #ifdef STAPCONF_DPATH_PATH struct dentry *dentry = kread(&(filep->f_path.dentry)); #else struct dentry *dentry = kread(&(filep->f_dentry)); #endif struct inode *inode = kread(&(dentry->d_inode)); sockp = &container_of(inode, struct socket_alloc, vfs_inode)->socket; } else { sockp = NULL; } if (sockp == NULL) STAP_RETVALUE = -1; else STAP_RETVALUE = (long) sockp; CATCH_DEREF_FAULT(); %} function _get_sock_size (iov, nr_segs) %{ /* pure */ struct iovec *iovp = (struct iovec *)(long)(STAP_ARG_iov); if (iovp == NULL) STAP_RETVALUE = -1; else { int i; STAP_RETVALUE = 0; for (i = 0 ; i < STAP_ARG_nr_segs ; i++) STAP_RETVALUE += kread(&(iovp[i].iov_len)); } CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/syscall_table.stp function syscall_name (num) { return __syscall_64_num2name[num]; } function syscall_num (name) { if ([name] in __syscall_64_name2num) return __syscall_64_name2num[name] else return -(1) ; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls.stp probe syscall.accept = __syscall.accept?, __syscall.socketcall.accept?, __syscall.compat_socketcall.accept?{ (name) = ("accept"); (argstr) = (sprintf("%d, %p, %p", sockfd, addr_uaddr, addrlen_uaddr)); } probe __syscall.accept = kernel.function("sys_accept").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept %})) next ; } } catch { { next; } } ; (sockfd) = (__int32($fd)); (addr_uaddr) = ($upeer_sockaddr); (addrlen_uaddr) = ($upeer_addrlen); } probe __syscall.socketcall.accept = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; (sockfd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (addr_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (addrlen_uaddr) = (user_ulong(&@cast($args, "ulong")[2])); } probe __syscall.compat_socketcall.accept = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; (sockfd) = (user_int(&@cast($args, "unsigned int")[0])); (addr_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (addrlen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[2])); } probe syscall.accept.return = __syscall.accept.return?, __syscall.socketcall.accept.return?{ (name) = ("accept"); (retstr) = (return_str(1, $return)); } probe __syscall.accept.return = kernel.function("sys_accept").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.accept.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT %})) next ; } probe syscall.accept4 = __syscall.accept4?, __syscall.socketcall.accept4?, __syscall.compat_socketcall.accept4?{ (name) = ("accept4"); (flags_str) = (_sock_flags_str(flags)); (argstr) = (sprintf("%d, %p, %p, %s", sockfd, addr_uaddr, addrlen_uaddr, flags_str)); } probe __syscall.accept4 = kernel.function("sys_accept4").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept4 %})) next ; } } catch { { next; } } ; (sockfd) = (__int32($fd)); (addr_uaddr) = ($upeer_sockaddr); (addrlen_uaddr) = ($upeer_addrlen); (flags) = (__int32($flags)); } probe __syscall.socketcall.accept4 = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; (sockfd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (addr_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (addrlen_uaddr) = (user_ulong(&@cast($args, "ulong")[2])); (flags) = (__int32(user_ulong(&@cast($args, "ulong")[3]))); } probe __syscall.compat_socketcall.accept4 = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; (sockfd) = (user_int(&@cast($args, "unsigned int")[0])); (addr_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (addrlen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_int(&@cast($args, "unsigned int")[3])); } probe syscall.accept4.return = __syscall.accept4.return?, __syscall.socketcall.accept4.return?{ (name) = ("accept4"); (retstr) = (return_str(1, $return)); } probe __syscall.accept4.return = kernel.function("sys_accept4").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_accept4 %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.accept4.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_ACCEPT4 %})) next ; } probe syscall.access = kernel.function("sys_access").call{ (name) = ("access"); (pathname) = (user_string_quoted($filename)); (mode) = (__int32($mode)); (mode_str) = (_access_mode_str(__int32($mode))); (argstr) = (sprintf("%s, %s", user_string_quoted($filename), mode_str)); } probe syscall.access.return = kernel.function("sys_access").return{ (name) = ("access"); (retstr) = (return_str(1, $return)); } probe syscall.acct = kernel.function("sys_acct").call?{ (name) = ("acct"); (filename) = (user_string_quoted($name)); (argstr) = (user_string_quoted($name)); } probe syscall.acct.return = kernel.function("sys_acct").return?{ (name) = ("acct"); (retstr) = (return_str(1, $return)); } probe syscall.add_key = kernel.function("sys_add_key").call?{ (name) = ("add_key"); (type_uaddr) = ($_type); (description_uaddr) = ($_description); (payload_uaddr) = ($_payload); (plen) = (__ulong($plen)); (ringid) = (__int32($ringid)); (argstr) = (sprintf("%s, %s, %s, %u, %d", user_string_quoted($_type), user_string_quoted($_description), user_buffer_quoted($_payload, $plen, syscall_string_trunc), __ulong($plen), __int32($ringid))); } probe syscall.add_key.return = kernel.function("sys_add_key").return?{ (name) = ("add_key"); (retstr) = (return_str(1, $return)); } probe syscall.adjtimex = kernel.function("sys_adjtimex").call{ (name) = ("adjtimex"); (buf_uaddr) = ($txc_p); (buf_str) = (_struct_timex_u(buf_uaddr)); (argstr) = (sprintf("%s", buf_str)); } probe syscall.adjtimex.return = kernel.function("sys_adjtimex").return{ (name) = ("adjtimex"); (retstr) = (_adjtimex_return_str($return)); } probe syscall.compat_adjtimex = kernel.function("compat_sys_adjtimex").call?{ (name) = ("adjtimex"); (buf_uaddr) = ($utp); (buf_str) = (_struct_compat_timex_u(buf_uaddr)); (argstr) = (sprintf("%s", buf_str)); } probe syscall.compat_adjtimex.return = kernel.function("compat_sys_adjtimex").return?{ (name) = ("compat_adjtimex"); (retstr) = (_adjtimex_return_str($return)); } probe syscall.alarm = kernel.function("sys32_alarm").call?, kernel.function("sys_alarm").call?{ (name) = ("alarm"); (seconds) = (__uint32($seconds)); (argstr) = (sprint(seconds)); } probe syscall.alarm.return = kernel.function("sys32_alarm").return?, kernel.function("sys_alarm").return?{ (name) = ("alarm"); (retstr) = (return_str(1, $return)); } probe syscall.bdflush = kernel.function("sys_bdflush").call?{ (name) = ("bdflush"); (func) = ($func); (data) = ($data); if ((($func) >= (2)) && ((($func) % (2)) == (0))) (data_str) = (sprintf("%p", $data)) else (data_str) = (sprintf("%d", $data)) ; (argstr) = (sprintf("%d, %s", func, data_str)); } probe syscall.bdflush.return = kernel.function("sys_bdflush").return?{ (name) = ("bdflush"); (retstr) = (return_str(1, $return)); } probe syscall.bind = __syscall.bind?, __syscall.socketcall.bind?, __syscall.compat_socketcall.bind?{ (name) = ("bind"); (uaddr_af) = (_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)) =~ "AF_INET.*") { (uaddr_ip) = (_struct_sockaddr_u_ip_addr(my_addr_uaddr, addrlen)); (uaddr_ip_port) = (_struct_sockaddr_u_tcp_port(my_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(my_addr_uaddr, addrlen)) == ("AF_INET6")) { (uaddr_ipv6_flowinfo) = (_struct_sockaddr_u_ipv6_flowinfo(my_addr_uaddr, addrlen)); (uaddr_ipv6_scope_id) = (_struct_sockaddr_u_ipv6_scope_id(my_addr_uaddr, addrlen)); } ; } ; (argstr) = (sprintf("%d, %s, %d", sockfd, _struct_sockaddr_u(my_addr_uaddr, addrlen), addrlen)); } probe __syscall.bind = kernel.function("sys_bind").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_bind %})) next ; } } catch { { next; } } ; (sockfd) = (__int32($fd)); (my_addr_uaddr) = ($umyaddr); (addrlen) = (__int32($addrlen)); } probe __syscall.socketcall.bind = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; (sockfd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (my_addr_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (addrlen) = (__int32(user_ulong(&@cast($args, "ulong")[2]))); } probe __syscall.compat_socketcall.bind = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; (sockfd) = (user_int(&@cast($args, "unsigned int")[0])); (my_addr_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (addrlen) = (user_int(&@cast($args, "unsigned int")[2])); } probe syscall.bind.return = __syscall.bind.return?, __syscall.socketcall.bind.return?{ (name) = ("bind"); (retstr) = (return_str(1, $return)); } probe __syscall.bind.return = kernel.function("sys_bind").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_bind %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.bind.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_BIND %})) next ; } probe syscall.bpf = kernel.function("sys_bpf")?{ (name) = ("bpf"); (cmd) = (__int32($cmd)); (cmd_str) = (_bpf_cmd_str(cmd)); (attr_uaddr) = ($uattr); (size) = (__uint32($size)); (argstr) = (sprintf("%s, %p, %u", cmd_str, attr_uaddr, size)); } probe syscall.bpf.return = kernel.function("sys_bpf").return?{ (name) = ("bpf"); (retstr) = (return_str(1, $return)); } probe syscall.brk = kernel.function("ia64_brk").call?, kernel.function("sys_brk").call{ (name) = ("brk"); (brk) = (__ulong($brk)); (argstr) = (sprintf("%p", brk)); } probe syscall.brk.return = kernel.function("ia64_brk").return?, kernel.function("sys_brk").return{ (name) = ("brk"); (retstr) = (return_str(1, $return)); } probe syscall.capget = kernel.function("sys_capget").call{ (name) = ("capget"); (header_uaddr) = ($header); (data_uaddr) = ($dataptr); (argstr) = (sprintf("%p, %p", $header, $dataptr)); } probe syscall.capget.return = kernel.function("sys_capget").return{ (name) = ("capget"); (retstr) = (return_str(1, $return)); } probe syscall.capset = kernel.function("sys_capset").call{ (name) = ("capset"); (header_uaddr) = ($header); (data_uaddr) = ($data); (argstr) = (sprintf("%p, %p", $header, $data)); } probe syscall.capset.return = kernel.function("sys_capset").return{ (name) = ("capset"); (retstr) = (return_str(1, $return)); } probe syscall.chdir = kernel.function("sys_chdir").call{ (name) = ("chdir"); (path) = (user_string_quoted($filename)); (argstr) = (user_string_quoted($filename)); } probe syscall.chdir.return = kernel.function("sys_chdir").return{ (name) = ("chdir"); (retstr) = (return_str(1, $return)); } probe syscall.chmod = kernel.function("sys_chmod").call{ (name) = ("chmod"); (path) = (user_string_quoted($filename)); (mode) = (__uint32($mode)); (argstr) = (sprintf("%s, %#o", user_string_quoted($filename), mode)); } probe syscall.chmod.return = kernel.function("sys_chmod").return{ (name) = ("chmod"); (retstr) = (return_str(1, $return)); } probe syscall.chown = kernel.function("sys_chown").call{ (name) = ("chown"); (path) = (user_string_quoted($filename)); (owner) = (__int32($user)); (group) = (__int32($group)); (argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group)); } probe syscall.chown.return = kernel.function("sys_chown").return{ (name) = ("chown"); (retstr) = (return_str(1, $return)); } probe syscall.chown16 = kernel.function("sys_chown16").call?{ (name) = ("chown16"); (path) = (user_string_quoted($filename)); (owner) = (__short($user)); (group) = (__short($group)); (argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group)); } probe syscall.chown16.return = kernel.function("sys_chown16").return?{ (name) = ("chown16"); (retstr) = (return_str(1, $return)); } probe syscall.chroot = kernel.function("sys_chroot").call{ (name) = ("chroot"); (path) = (user_string_quoted($filename)); (argstr) = (user_string_quoted($filename)); } probe syscall.chroot.return = kernel.function("sys_chroot").return{ (name) = ("chroot"); (retstr) = (return_str(1, $return)); } probe syscall.clock_adjtime = __syscall.clock_adjtime?, __syscall.compat_clock_adjtime?{ (name) = ("clock_adjtime"); } probe __syscall.clock_adjtime = kernel.function("sys_clock_adjtime").call{ (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(clk_id)); (tx_uaddr) = ((@defined($utx))?($utx):($ktx)); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_timex_u(tx_uaddr))); } probe __syscall.compat_clock_adjtime = kernel.function("compat_sys_clock_adjtime").call?{ (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(clk_id)); (tx_uaddr) = ($utp); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_compat_timex_u(tx_uaddr))); } probe syscall.clock_adjtime.return = __syscall.clock_adjtime.return?, kernel.function("compat_sys_clock_adjtime").return?{ (name) = ("clock_adjtime"); (retstr) = (return_str(1, $return)); } probe __syscall.clock_adjtime.return = kernel.function("sys_clock_adjtime").return{ } probe syscall.clock_getres = kernel.function("compat_clock_getres").call?, kernel.function("compat_sys_clock_getres").call?, __syscall.clock_getres?{ (name) = ("clock_getres"); (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(__int32($which_clock))); (res_uaddr) = ($tp); (argstr) = (sprintf("%s, %p", _get_wc_str(__int32($which_clock)), $tp)); } probe __syscall.clock_getres = kernel.function("sys_clock_getres").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_getres %})) next ; } } catch { { next; } } ; } probe syscall.clock_getres.return = kernel.function("compat_clock_getres").return?, kernel.function("compat_sys_clock_getres").return?, __syscall.clock_getres.return?{ (name) = ("clock_getres"); (retstr) = (return_str(1, $return)); } probe __syscall.clock_getres.return = kernel.function("sys_clock_getres").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_getres %})) next ; } } catch { { next; } } ; } probe syscall.clock_gettime = __syscall.clock_gettime, kernel.function("compat_sys_clock_gettime").call?{ (name) = ("clock_gettime"); (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(__int32($which_clock))); (tp_uaddr) = ($tp); (argstr) = (sprintf("%s, %p", _get_wc_str(__int32($which_clock)), $tp)); } probe __syscall.clock_gettime = kernel.function("sys_clock_gettime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_gettime %})) next ; } } catch { { next; } } ; } probe syscall.clock_gettime.return = __syscall.clock_gettime.return, kernel.function("compat_sys_clock_gettime").return?{ (name) = ("clock_gettime"); (retstr) = (return_str(1, $return)); } probe __syscall.clock_gettime.return = kernel.function("sys_clock_gettime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_gettime %})) next ; } } catch { { next; } } ; } probe syscall.clock_nanosleep = kernel.function("sys_clock_nanosleep").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_nanosleep %})) next ; } } catch { { next; } } ; (name) = ("clock_nanosleep"); (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(__int32($which_clock))); (flags) = (__int32($flags)); (flags_str) = (_stp_clock_nanosleep_flags_str(__int32($flags))); (req_uaddr) = ($rqtp); (rem_uaddr) = ($rmtp); (argstr) = (sprintf("%s, %s, %s, %p", _get_wc_str(__int32($which_clock)), flags_str, _struct_timespec_u($rqtp, 1), $rmtp)); } probe syscall.clock_nanosleep.return = kernel.function("sys_clock_nanosleep").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_nanosleep %})) next ; } } catch { { next; } } ; (name) = ("clock_nanosleep"); (retstr) = (return_str(1, $return)); } probe syscall.compat_clock_nanosleep = kernel.function("compat_clock_nanosleep").call?, kernel.function("compat_sys_clock_nanosleep").call?{ (name) = ("clock_nanosleep"); (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(__int32($which_clock))); (flags) = (__int32($flags)); (flags_str) = (_stp_clock_nanosleep_flags_str(__int32($flags))); (req_uaddr) = ($rqtp); (rem_uaddr) = ($rmtp); (argstr) = (sprintf("%s, %s, %s, %p", _get_wc_str($which_clock), flags_str, _struct_compat_timespec_u($rqtp, 1), $rmtp)); } probe syscall.compat_clock_nanosleep.return = kernel.function("compat_clock_nanosleep").return?, kernel.function("compat_sys_clock_nanosleep").return?{ (name) = ("clock_nanosleep"); (retstr) = (return_str(1, $return)); } probe syscall.clock_settime = __syscall.clock_settime, __syscall.compat_clock_settime?{ (name) = ("clock_settime"); } probe __syscall.clock_settime = kernel.function("sys_clock_settime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_settime %})) next ; } } catch { { next; } } ; (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str($which_clock)); (tp_uaddr) = ($tp); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u($tp, 1))); } probe __syscall.compat_clock_settime = kernel.function("compat_sys_clock_settime").call?{ (clk_id) = (__int32($which_clock)); (clk_id_str) = (_get_wc_str(__int32($which_clock))); (tp_uaddr) = ($tp); (argstr) = (sprintf("%s, %s", clk_id_str, _struct_compat_timespec_u($tp, 1))); } probe syscall.clock_settime.return = __syscall.clock_settime.return, __syscall.compat_clock_settime.return?{ (name) = ("clock_settime"); } probe __syscall.clock_settime.return = kernel.function("sys_clock_settime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clock_settime %})) next ; } } catch { { next; } } ; (retstr) = (return_str(1, $return)); } probe __syscall.compat_clock_settime.return = kernel.function("compat_sys_clock_settime").return?{ (retstr) = (return_str(1, $return)); } probe syscall.clone = kernel.function("_do_fork").call!, kernel.function("do_fork").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clone %})) next ; } } catch { { next; } } ; (name) = ("clone"); (clone_flags) = ($clone_flags); (stack_start) = ($stack_start); (parent_tid_uaddr) = ($parent_tidptr); (child_tid_uaddr) = ($child_tidptr); (argstr) = (sprintf("%s, %p, %p, %p", __fork_flags($clone_flags), $stack_start, $parent_tidptr, $child_tidptr)); } probe syscall.clone.return = kernel.function("_do_fork").return!, kernel.function("do_fork").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_clone %})) next ; } } catch { { next; } } ; (name) = ("clone"); (retstr) = (return_str(1, $return)); } probe syscall.close = kernel.function("sys_close").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_close %})) next ; } } catch { { next; } } ; (name) = ("close"); (fd) = (__int32($fd)); (argstr) = (sprint(fd)); } probe syscall.close.return = kernel.function("sys_close").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_close %})) next ; } } catch { { next; } } ; (name) = ("close"); (retstr) = (return_str(1, $return)); } probe syscall.connect = __syscall.connect?, __syscall.socketcall.connect?, __syscall.compat_socketcall.connect?{ (name) = ("connect"); (uaddr_af) = (_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)) =~ "AF_INET.*") { (uaddr_ip) = (_struct_sockaddr_u_ip_addr(serv_addr_uaddr, addrlen)); (uaddr_ip_port) = (_struct_sockaddr_u_tcp_port(serv_addr_uaddr, addrlen)); if ((_struct_sockaddr_u_sa_family(serv_addr_uaddr, addrlen)) == ("AF_INET6")) { (uaddr_ipv6_flowinfo) = (_struct_sockaddr_u_ipv6_flowinfo(serv_addr_uaddr, addrlen)); (uaddr_ipv6_scope_id) = (_struct_sockaddr_u_ipv6_scope_id(serv_addr_uaddr, addrlen)); } ; } ; (argstr) = (sprintf("%d, %s, %u", sockfd, _struct_sockaddr_u(serv_addr_uaddr, addrlen), addrlen)); } probe __syscall.connect = kernel.function("sys_connect").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_connect %})) next ; } } catch { { next; } } ; (sockfd) = (__int32($fd)); (serv_addr_uaddr) = ($uservaddr); (addrlen) = (__uint32($addrlen)); } probe __syscall.socketcall.connect = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; (sockfd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (serv_addr_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (addrlen) = (__uint32(user_ulong(&@cast($args, "ulong")[2]))); } probe __syscall.compat_socketcall.connect = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; (sockfd) = (user_int(&@cast($args, "unsigned int")[0])); (serv_addr_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (addrlen) = (user_uint32(&@cast($args, "unsigned int")[2])); } probe syscall.connect.return = __syscall.connect.return?, __syscall.socketcall.connect.return?{ (name) = ("connect"); (retstr) = (return_str(1, $return)); } probe __syscall.connect.return = kernel.function("sys_connect").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_connect %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.connect.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_CONNECT %})) next ; } probe syscall.copy_file_range = kernel.function("sys_copy_file_range").call?{ (name) = ("copy_file_range"); (fd_in) = (__int32($fd_in)); (off_in) = ($off_in); (fd_out) = (__int32($fd_out)); (off_out) = ($off_out); (len) = (__ulong($len)); (flags) = (__uint32($flags)); (argstr) = (sprintf("%d, %p, %d, %p, %d, 0x%x", __int32($fd_in), $off_in, __int32(fd_out), $off_out, __ulong($len), __uint32($flags))); } probe syscall.copy_file_range.return = kernel.function("sys_copy_file_range").return?{ (name) = ("copy_file_range"); (retstr) = (return_str(1, $return)); } probe syscall.creat = kernel.function("sys_creat").call?{ (name) = ("creat"); (mode) = (__uint32($mode)); (pathname) = (user_string_quoted($pathname)); (argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), __uint32($mode))); } probe syscall.creat.return = kernel.function("sys_creat").return?{ (name) = ("creat"); (retstr) = (return_str(1, $return)); } probe syscall.delete_module = kernel.function("sys_delete_module").call?{ (name) = ("delete_module"); (name_user) = (user_string_quoted($name_user)); (flags) = (__uint32($flags)); (flags_str) = (_module_flags_str(__uint32($flags))); (argstr) = (sprintf("%s, %s", user_string_quoted($name_user), _module_flags_str(__uint32($flags)))); } probe syscall.delete_module.return = kernel.function("sys_delete_module").return?{ (name) = ("delete_module"); (retstr) = (return_str(1, $return)); } probe syscall.dup = kernel.function("sys_dup").call{ (name) = ("dup"); (oldfd) = (__int32($fildes)); (argstr) = (sprint(__int32($fildes))); } probe syscall.dup.return = kernel.function("sys_dup").return{ (name) = ("dup"); (retstr) = (return_str(1, $return)); } probe syscall.dup2 = kernel.function("sys_dup2").call{ (name) = ("dup2"); (oldfd) = (__int32($oldfd)); (newfd) = (__int32($newfd)); (flags) = (0); (argstr) = (sprintf("%d, %d", __int32($oldfd), __int32($newfd))); } probe syscall.dup2.return = kernel.function("sys_dup2").return{ (name) = ("dup2"); (retstr) = (return_str(1, $return)); } probe syscall.dup3 = kernel.function("sys_dup3").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_dup3 %})) next ; } } catch { { next; } } ; (name) = ("dup3"); (oldfd) = (__int32($oldfd)); (newfd) = (__int32($newfd)); (flags) = (__int32($flags)); (argstr) = (sprintf("%d, %d, %s", __int32($oldfd), __int32($newfd), _dup3_flag_str(flags))); } probe syscall.dup3.return = kernel.function("sys_dup3").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_dup3 %})) next ; } } catch { { next; } } ; (name) = ("dup3"); (retstr) = (return_str(1, $return)); } probe syscall.epoll_create = kernel.function("sys_epoll_create1").call!, kernel.function("sys_epoll_create").call?{ (size) = ((@defined($size))?($size):(0)); (flags) = (__int32((@defined($flags))?($flags):(0))); if ((flags) == (0)) { (name) = ("epoll_create"); (argstr) = (sprint(size)); } else { (name) = ("epoll_create1"); (argstr) = (_epoll_create1_flag_str(flags)); } ; } probe syscall.epoll_create.return = kernel.function("sys_epoll_create1").return!, kernel.function("sys_epoll_create").return?{ (flags) = (__int32((@defined($flags))?($flags):(0))); (name) = (((flags) == (0))?("epoll_create"):("epoll_create1")); (retstr) = (return_str(1, $return)); } probe syscall.epoll_ctl = kernel.function("compat_sys_epoll_ctl").call?, kernel.function("sys_epoll_ctl").call?{ (name) = ("epoll_ctl"); (epfd) = (__int32($epfd)); (op) = ($op); (op_str) = (_opoll_op_str($op)); (fd) = (__int32($fd)); (event_uaddr) = ($event); (argstr) = (sprintf("%d, %s, %d, %p", epfd, _opoll_op_str($op), fd, $event)); } probe syscall.epoll_ctl.return = kernel.function("compat_sys_epoll_ctl").return?, kernel.function("sys_epoll_ctl").return?{ (name) = ("epoll_ctl"); (retstr) = (return_str(1, $return)); } probe syscall.epoll_pwait = kernel.function("compat_sys_epoll_pwait").call?, kernel.function("sys_epoll_pwait").call?{ (name) = ("epoll_pwait"); (epfd) = (__int32($epfd)); (events_uaddr) = ($events); (maxevents) = (__int32($maxevents)); (timeout) = (__int32($timeout)); (sigmask_uaddr) = ($sigmask); (sigsetsize) = ($sigsetsize); (argstr) = (sprintf("%d, %p, %d, %d, %p, %d", __int32($epfd), events_uaddr, __int32($maxevents), __int32($timeout), sigmask_uaddr, $sigsetsize)); } probe syscall.epoll_pwait.return = kernel.function("compat_sys_epoll_pwait").return?, kernel.function("sys_epoll_pwait").return?{ (name) = ("epoll_pwait"); (retstr) = (return_str(1, $return)); } probe syscall.epoll_wait = kernel.function("compat_sys_epoll_wait").call?, kernel.function("sys_epoll_wait").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_epoll_wait %})) next ; } } catch { { next; } } ; (name) = ("epoll_wait"); (epfd) = (__int32($epfd)); (events_uaddr) = ($events); (maxevents) = (__int32($maxevents)); (timeout) = (__int32($timeout)); (argstr) = (sprintf("%d, %p, %d, %d", epfd, $events, maxevents, timeout)); } probe syscall.epoll_wait.return = kernel.function("compat_sys_epoll_wait").return?, kernel.function("sys_epoll_wait").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_epoll_wait %})) next ; } } catch { { next; } } ; (name) = ("epoll_wait"); (retstr) = (return_str(1, $return)); } probe syscall.eventfd = __syscall.eventfd2?, __syscall.eventfd?{ } probe __syscall.eventfd2 = kernel.function("sys_eventfd2").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_eventfd2 %})) next ; } } catch { { next; } } ; (name) = ("eventfd2"); (count) = (__uint32($count)); (flags) = (__int32($flags)); (flags_str) = (_eventfd2_flag_str(flags)); (argstr) = (sprintf("%u, %s", count, _eventfd2_flag_str(flags))); } probe __syscall.eventfd = kernel.function("sys_eventfd").call{ (name) = ("eventfd"); (count) = (__uint32($count)); (flags) = (0); (flags_str) = ("0x0"); (argstr) = (sprint(count)); } probe syscall.eventfd.return = __syscall.eventfd2.return?, __syscall.eventfd.return?{ (retstr) = (return_str(1, $return)); } probe __syscall.eventfd2.return = kernel.function("sys_eventfd2").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_eventfd2 %})) next ; } } catch { { next; } } ; (name) = ("eventfd2"); } probe __syscall.eventfd.return = kernel.function("sys_eventfd").return{ (name) = ("eventfd"); } probe syscall.execve = kernel.function("sys_execve").call{ (name) = ("execve"); (filename) = (user_string_quoted((@defined($filename))?($filename):($name))); (__argv) = ((@defined($__argv))?($__argv):($argv)); (args) = (__get_argv(__argv, 0)); (__envp) = ((@defined($__envp))?($__envp):($envp)); (env_str) = (__count_envp(__envp)); (argstr) = (sprintf("%s, %s, %s", filename, args, env_str)); } probe syscall.execve.return = kernel.function("sys_execve").return{ (name) = ("execve"); (retstr) = (return_str(1, $return)); } probe syscall.compat_execve = kernel.function("compat_sys_execve").call?{ (name) = ("execve"); (filename) = (user_string_quoted($filename)); (__argv) = ((@defined($__argv))?($__argv):($argv)); (args) = (__get_compat_argv(__argv, 0)); (__envp) = ((@defined($__envp))?($__envp):($envp)); (env_str) = (__count_compat_envp(__envp)); (argstr) = (sprintf("%s, %s, %s", filename, __get_compat_argv(__argv, 0), __count_compat_envp(__envp))); } probe syscall.compat_execve.return = kernel.function("compat_sys_execve").return?{ (name) = ("execve"); (retstr) = (return_str(1, $return)); } probe syscall.execveat = kernel.function("sys_execveat").call?{ (name) = ("execveat"); (dirfd) = (__int32($fd)); (dirfd_str) = (_dfd_str(__int32($fd))); (filename) = (user_string_quoted($filename)); (flags) = (__int32($flags)); (flags_str) = (_at_flag_str(__int32($flags))); (__argv) = ((@defined($__argv))?($__argv):($argv)); (args) = (__get_argv(__argv, 0)); (__envp) = ((@defined($__envp))?($__envp):($envp)); (env_str) = (__count_envp(__envp)); (argstr) = (sprintf("%s, %s, %s, %s, %s", dirfd_str, filename, __get_argv(__argv, 0), __count_envp(__envp), flags_str)); } probe syscall.execveat.return = kernel.function("sys_execveat").return?{ (name) = ("execveat"); (retstr) = (return_str(1, $return)); } probe syscall.compat_execveat = kernel.function("compat_sys_execveat").call?{ (name) = ("execveat"); (dirfd) = (__int32($fd)); (dirfd_str) = (_dfd_str(__int32($fd))); (filename) = (user_string_quoted($filename)); (flags) = (int_arg($flags)); (flags_str) = (_at_flag_str(__int32($flags))); (__argv) = ((@defined($__argv))?($__argv):($argv)); (args) = (__get_compat_argv(__argv, 0)); (__envp) = ((@defined($__envp))?($__envp):($envp)); (env_str) = (__count_compat_envp(__envp)); (argstr) = (sprintf("%s, %s, %s, %s, %s", dirfd_str, filename, __get_compat_argv(__argv, 0), __count_compat_envp(__envp), flags_str)); } probe syscall.compat_execveat.return = kernel.function("compat_sys_execveat").return?{ (name) = ("execveat"); (retstr) = (return_str(1, $return)); } probe syscall.exit = kernel.function("sys_exit").call{ (name) = ("exit"); (status) = (__int32($error_code)); (argstr) = (sprint(__int32($error_code))); } probe syscall.exit_group = kernel.function("sys_exit_group").call{ (name) = ("exit_group"); (status) = (__int32($error_code)); (argstr) = (sprint(__int32($error_code))); } probe syscall.faccessat = kernel.function("sys_faccessat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_faccessat %})) next ; } } catch { { next; } } ; (name) = ("faccessat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (pathname) = (user_string_quoted($filename)); (mode) = (__int32($mode)); (mode_str) = (_access_mode_str(__int32($mode))); (argstr) = (sprintf("%s, %s, %s", dirfd_str, user_string_quoted($filename), mode_str)); } probe syscall.faccessat.return = kernel.function("sys_faccessat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_faccessat %})) next ; } } catch { { next; } } ; (name) = ("faccessat"); (retstr) = (return_str(1, $return)); } probe syscall.fadvise64 = kernel.function("sys_fadvise64").call?{ (name) = ("fadvise64"); (fd) = (__int32((@defined($fd))?($fd):(0))); (offset) = ((@defined($offset))?($offset):(0)); (len) = (__long((@defined($len))?($len):(0))); (advice) = (__int32((@defined($advice))?($advice):(0))); (argstr) = (sprintf("%d, %d, %d, %s", fd, offset, len, _fadvice_advice_str(advice))); } probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return?{ (name) = ("fadvise64"); (retstr) = (return_str(1, $return)); } probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64").call?{ (name) = ("fadvise64"); (fd) = (__int32((@defined($fd))?($fd):(0))); (offset) = ((@defined($offset))?($offset):(0)); (len) = ((@defined($len))?($len):(0)); (advice) = (__int32((@defined($advice))?($advice):(0))); (argstr) = (sprintf("%d, %d, %d, %s", fd, offset, len, _fadvice_advice_str(advice))); } probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return?{ (name) = ("fadvise64"); if (@defined($return)) { (retstr) = (return_str(1, $return)); } else { (retstr) = (returnstr(1)); } ; } probe syscall.fallocate = kernel.function("sys_fallocate").call?{ (name) = ("fallocate"); (fd) = (__int32($fd)); (mode) = (__uint32($mode)); (mode_str) = (_stp_fallocate_mode_str(mode)); (offset) = ($offset); (len) = ($len); (argstr) = (sprintf("%d, %s, %#x, %u", fd, _stp_fallocate_mode_str(mode), offset, len)); } probe syscall.fallocate.return = kernel.function("sys_fallocate").return?{ (name) = ("fallocate"); (retstr) = (return_str(1, $return)); } probe syscall.fanotify_init = kernel.function("sys_fanotify_init").call?{ (name) = ("fanotify_init"); (flags) = (__uint32($flags)); (flags_str) = (_fanotify_init_flags_str(flags)); (event_f_flags) = (__uint32($event_f_flags)); (event_f_flags_str) = (_sys_open_flag_str(event_f_flags)); (argstr) = (sprintf("%s, %s", _fanotify_init_flags_str(flags), _sys_open_flag_str(event_f_flags))); } probe syscall.fanotify_init.return = kernel.function("sys_fanotify_init").return?{ (name) = ("fanotify_init"); (retstr) = (return_str(1, $return)); } probe syscall.fanotify_mark = __syscall.fanotify_mark?, __syscall.compat_fanotify_mark?{ (name) = ("fanotify_mark"); (flags_str) = (_fanotify_mark_flags_str(flags)); (mask_str) = (_fanotify_mark_mask_str(mask)); (dirfd_str) = (_dfd_str(dirfd)); (argstr) = (sprintf("%d, %s, %s, %s, %s", fanotify_fd, _fanotify_mark_flags_str(flags), _fanotify_mark_mask_str(mask), _dfd_str(dirfd), pathname)); } probe __syscall.fanotify_mark = kernel.function("sys_fanotify_mark").call?{ (fanotify_fd) = (__int32($fanotify_fd)); (flags) = (__uint32($flags)); (mask) = ($mask); (dirfd) = (__int32($dfd)); (pathname) = (user_string_quoted($pathname)); } probe __syscall.compat_fanotify_mark = kernel.function("compat_sys_fanotify_mark").call?{ (fanotify_fd) = (__int32($fanotify_fd)); (flags) = (__uint32($flags)); if (%{ /* pure */ #ifdef __BIG_ENDIAN 1 #else 0 #endif %}) (mask) = (((__uint32($mask0)) << (32)) | (__uint32($mask1))) else (mask) = (((__uint32($mask1)) << (32)) | (__uint32($mask0))) ; (dirfd) = (__int32($dfd)); (pathname) = (user_string_quoted($pathname)); } probe syscall.fanotify_mark.return = kernel.function("sys_fanotify_mark").return?, kernel.function("compat_sys_fanotify_mark").return?{ (name) = ("fanotify_mark"); (retstr) = (return_str(1, $return)); } probe syscall.fchdir = kernel.function("sys_fchdir").call{ (name) = ("fchdir"); (fd) = (__int32($fd)); (argstr) = (sprint(__int32($fd))); } probe syscall.fchdir.return = kernel.function("sys_fchdir").return{ (name) = ("fchdir"); (retstr) = (return_str(1, $return)); } probe syscall.fchmod = kernel.function("sys_fchmod").call{ (name) = ("fchmod"); (fildes) = (__int32($fd)); (mode) = (__uint32($mode)); (argstr) = (sprintf("%d, %#o", __int32($fd), mode)); } probe syscall.fchmod.return = kernel.function("sys_fchmod").return{ (name) = ("fchmod"); (retstr) = (return_str(1, $return)); } probe syscall.fchmodat = kernel.function("sys_fchmodat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchmodat %})) next ; } } catch { { next; } } ; (name) = ("fchmodat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (pathname) = (user_string_quoted($filename)); (mode) = (__uint32($mode)); (argstr) = (sprintf("%s, %s, %#o", dirfd_str, user_string_quoted($filename), mode)); } probe syscall.fchmodat.return = kernel.function("sys_fchmodat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchmodat %})) next ; } } catch { { next; } } ; (name) = ("fchmodat"); (retstr) = (return_str(1, $return)); } probe syscall.fchown = kernel.function("sys_fchown").call{ (name) = ("fchown"); (fd) = (__int32($fd)); (owner) = (__int32($user)); (group) = (__int32($group)); (argstr) = (sprintf("%d, %d, %d", fd, owner, group)); } probe syscall.fchown.return = kernel.function("sys_fchown").return{ (name) = ("fchown"); (retstr) = (return_str(1, $return)); } probe syscall.fchown16 = kernel.function("sys_fchown16").call?{ (name) = ("fchown16"); (fd) = ($fd); (owner) = (__short($user)); (group) = (__short($group)); (argstr) = (sprintf("%d, %d, %d", $fd, owner, group)); } probe syscall.fchown16.return = kernel.function("sys_fchown16").return?{ (name) = ("fchown16"); (retstr) = (return_str(1, $return)); } probe syscall.fchownat = kernel.function("sys_fchownat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchownat %})) next ; } } catch { { next; } } ; (name) = ("fchownat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (pathname) = (user_string_quoted($filename)); (owner) = (__int32($user)); (group) = (__int32($group)); (flags) = (__int32($flag)); (flags_str) = (_at_flag_str(__int32($flag))); (argstr) = (sprintf("%s, %s, %d, %d, %s", dirfd_str, user_string_quoted($filename), owner, group, flags_str)); } probe syscall.fchownat.return = kernel.function("sys_fchownat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_fchownat %})) next ; } } catch { { next; } } ; (name) = ("fchownat"); (retstr) = (return_str(1, $return)); } probe syscall.fcntl = kernel.function("compat_sys_fcntl").call?, kernel.function("compat_sys_fcntl64").call?, kernel.function("sys_fcntl64").call?, kernel.function("sys_fcntl").call?{ (name) = ("fcntl"); (fd) = (__int32($fd)); (cmd) = (__int32($cmd)); (cmd_str) = (_fcntl_cmd_str(cmd)); (arg) = ($arg); (argstr) = (sprintf("%d, %s, %p", __int32($fd), _fcntl_cmd_str(cmd), $arg)); } probe syscall.fcntl.return = kernel.function("compat_sys_fcntl").return?, kernel.function("compat_sys_fcntl64").return?, kernel.function("sys_fcntl64").return?, kernel.function("sys_fcntl").return?{ (name) = ("fcntl"); (retstr) = (return_str(1, $return)); } probe syscall.fdatasync = kernel.function("sys_fdatasync").call{ (name) = ("fdatasync"); (fd) = (__int32($fd)); (argstr) = (sprint(fd)); } probe syscall.fdatasync.return = kernel.function("sys_fdatasync").return{ (name) = ("fdatasync"); (retstr) = (return_str(1, $return)); } probe syscall.fgetxattr = kernel.function("sys_fgetxattr").call{ (name) = ("fgetxattr"); (filedes) = (__int32($fd)); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (size) = (__ulong($size)); (argstr) = (sprintf("%d, %s, %p, %u", filedes, user_string_quoted($name), value_uaddr, size)); } probe syscall.fgetxattr.return = kernel.function("sys_fgetxattr").return{ (name) = ("fgetxattr"); (retstr) = (return_str(1, $return)); } probe syscall.finit_module = kernel.function("sys_finit_module").call?{ (name) = ("finit_module"); (fd) = (__int32($fd)); (uargs) = (user_string_quoted($uargs)); (flags) = (__int32($flags)); (flags_str) = (_finit_module_flags_str(__int32($flags))); (argstr) = (sprintf("%d, %s, %s", __int32($fd), user_string_quoted($uargs), _finit_module_flags_str(__int32($flags)))); } probe syscall.finit_module.return = kernel.function("sys_finit_module").return?{ (name) = ("finit_module"); (retstr) = (return_str(1, $return)); } probe syscall.flistxattr = kernel.function("sys_flistxattr").call{ (name) = ("flistxattr"); (filedes) = (__int32($fd)); (list_uaddr) = ($list); (size) = (__ulong($size)); (argstr) = (sprintf("%d, %p, %u", filedes, list_uaddr, size)); } probe syscall.flistxattr.return = kernel.function("sys_flistxattr").return{ (name) = ("flistxattr"); (retstr) = (return_str(1, $return)); } probe syscall.flock = kernel.function("sys_flock").call{ (name) = ("flock"); (fd) = (__int32($fd)); (operation) = ($cmd); (argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation))); } probe syscall.flock.return = kernel.function("sys_flock").return{ (name) = ("flock"); (retstr) = (return_str(1, $return)); } probe syscall.fork = kernel.function("sys_fork").call?{ (name) = ("fork"); (argstr) = (""); } probe syscall.fork.return = kernel.function("sys_fork").return?{ (name) = ("fork"); (retstr) = (return_str(1, $return)); } probe syscall.fremovexattr = kernel.function("sys_fremovexattr").call{ (name) = ("fremovexattr"); (filedes) = (__int32($fd)); (name_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (argstr) = (sprintf("%d, %s", __int32($fd), user_string_quoted($name))); } probe syscall.fremovexattr.return = kernel.function("sys_fremovexattr").return{ (name) = ("fremovexattr"); (retstr) = (return_str(1, $return)); } probe syscall.fsetxattr = kernel.function("sys_fsetxattr").call{ (name) = ("fsetxattr"); (filedes) = (__int32($fd)); (name_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (size) = (__ulong($size)); (value_str) = (_stp_xattr_val_str($value, size)); (flags) = (__int32($flags)); (flags_str) = (_stp_xattr_flags_str(__int32($flags))); (argstr) = (sprintf("%d, %s, %s, %u, %s", __int32($fd), user_string_quoted($name), _stp_xattr_val_str($value, size), size, _stp_xattr_flags_str(__int32($flags)))); } probe syscall.fsetxattr.return = kernel.function("sys_fsetxattr").return{ (name) = ("fsetxattr"); (retstr) = (return_str(1, $return)); } probe syscall.fstat = kernel.function("sys_fstat").call?, kernel.function("sys_fstat64").call?, kernel.function("sys32_fstat64").call?, kernel.function("sys_newfstat").call?, kernel.function("sys_oabi_fstat64").call?, kernel.function("compat_sys_newfstat").call?{ (name) = ("fstat"); (filedes) = (__int32($fd)); (buf_uaddr) = ($statbuf); (argstr) = (sprintf("%d, %p", __int32($fd), $statbuf)); } probe syscall.fstat.return = kernel.function("sys_fstat").return?, kernel.function("sys_fstat64").return?, kernel.function("sys32_fstat64").return?, kernel.function("sys_newfstat").return?, kernel.function("sys_oabi_fstat64").return?, kernel.function("compat_sys_newfstat").return?{ (name) = ("fstat"); (retstr) = (return_str(1, $return)); } probe syscall.fstatat = kernel.function("sys_fstatat64").call?, kernel.function("sys_newfstatat").call?, kernel.function("compat_sys_newfstatat").call?, kernel.function("sys32_fstatat64").call?, kernel.function("sys32_fstatat").call?{ (name) = ("fstatat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (path) = (user_string_quoted($filename)); (buf_uaddr) = ($statbuf); (flags) = (__int32($flag)); (flags_str) = (_at_flag_str(__int32($flag))); (argstr) = (sprintf("%s, %s, %p, %s", dirfd_str, user_string_quoted($filename), $statbuf, flags_str)); } probe syscall.fstatat.return = kernel.function("sys_fstatat64").return?, kernel.function("sys_newfstatat").return?, kernel.function("compat_sys_newfstatat").return?, kernel.function("sys32_fstatat64").return?, kernel.function("sys32_fstatat").return?{ (name) = ("fstatat"); (retstr) = (return_str(1, $return)); } probe syscall.fstatfs = kernel.function("compat_sys_fstatfs").call?, kernel.function("sys_fstatfs").call{ (name) = ("fstatfs"); (fd) = (__int32($fd)); (buf_uaddr) = ($buf); (argstr) = (sprintf("%d, %p", __int32($fd), $buf)); } probe syscall.fstatfs.return = kernel.function("compat_sys_fstatfs").return?, kernel.function("sys_fstatfs").return{ (name) = ("fstatfs"); (retstr) = (return_str(1, $return)); } probe syscall.fstatfs64 = kernel.function("sys_fstatfs64").call?, kernel.function("compat_sys_fstatfs64").call?{ (name) = ("fstatfs64"); (fd) = (__int32($fd)); (sz) = (__ulong($sz)); (buf_uaddr) = ($buf); (argstr) = (sprintf("%d, %u, %p", __int32($fd), __ulong($sz), $buf)); } probe syscall.fstatfs64.return = kernel.function("sys_fstatfs64").return?, kernel.function("compat_sys_fstatfs64").return?{ (name) = ("fstatfs64"); (retstr) = (return_str(1, $return)); } probe syscall.fsync = kernel.function("sys_fsync").call{ (name) = ("fsync"); (fd) = (__int32($fd)); (argstr) = (sprint(fd)); } probe syscall.fsync.return = kernel.function("sys_fsync").return{ (name) = ("fsync"); (retstr) = (return_str(1, $return)); } probe syscall.ftruncate = __syscall.ftruncate, kernel.function("compat_sys_ftruncate").call?{ (name) = ("ftruncate"); (fd) = (__int32($fd)); (length) = (__long($length)); (argstr) = (sprintf("%d, %d", fd, length)); } probe __syscall.ftruncate = kernel.function("sys_ftruncate").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ftruncate %})) next ; } } catch { { next; } } ; } probe syscall.ftruncate.return = __syscall.ftruncate.return, kernel.function("compat_sys_ftruncate").return?{ (name) = ("ftruncate"); (retstr) = (return_str(1, $return)); } probe __syscall.ftruncate.return = kernel.function("sys_ftruncate").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ftruncate %})) next ; } } catch { { next; } } ; } probe syscall.ftruncate64 = kernel.function("sys_ftruncate64").call?{ (name) = ("ftruncate"); (fd) = (__int32($fd)); (length) = ($length); (argstr) = (sprintf("%d, %d", fd, length)); } probe syscall.ftruncate64.return = kernel.function("sys_ftruncate64").return?{ (name) = ("ftruncate"); (retstr) = (return_str(1, $return)); } probe syscall.futex = kernel.function("sys_futex").call?{ (name) = ("futex"); (futex_uaddr) = ($uaddr); (op) = (__int32($op)); (val) = (__int32($val)); (utime_uaddr) = ($utime); (uaddr2_uaddr) = ($uaddr2); (val3) = (__int32($val3)); if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %#x", $uaddr, _futex_op_str(__int32($op)), __int32($val), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT %})) { (argstr) = (sprintf("%p, %s, %d, %s", $uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__ulong($utime), 1)):(_struct_timespec_u(__ulong($utime), 1)))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %s, %#x", $uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__ulong($utime), 1)):(_struct_timespec_u(__ulong($utime), 1)), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_REQUEUE %})) { (argstr) = (sprintf("%p, %s, %d, %d, %p", $uaddr, _futex_op_str(__int32($op)), __int32($val), __ulong($utime), __ulong($uaddr2))); } else if (((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE %})) || ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE_PI %}))) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %d", $uaddr, _futex_op_str(__int32($op)), __int32($val), __ulong($utime), __ulong($uaddr2), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_OP %})) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %s", $uaddr, _futex_op_str(__int32($op)), __int32($val), __ulong($utime), __ulong($uaddr2), _futex_wake_op_str(__int32($val3)))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_REQUEUE_PI %})) { (argstr) = (sprintf("%p, %s, %d, %s, %p", $uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__ulong($utime), 1)):(_struct_timespec_u(__ulong($utime), 1)), __ulong($uaddr2))); } else { (argstr) = (sprintf("%p, %s, %d", $uaddr, _futex_op_str(__int32($op)), __int32($val))); } ; } probe syscall.futex.return = kernel.function("sys_futex").return?{ (name) = ("futex"); (retstr) = (return_str(1, $return)); } probe syscall.compat_futex = kernel.function("compat_sys_futex").call?{ (name) = ("futex"); (futex_uaddr) = ($uaddr); (op) = (__int32($op)); (val) = (__int32($val)); (utime_uaddr) = ($utime); (uaddr2_uaddr) = ($uaddr2); (val3) = (__int32($val3)); if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %#x", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT %})) { (argstr) = (sprintf("%p, %s, %d, %s", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__uint32($utime), 1)):(_struct_timespec_u(__uint32($utime), 1)))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_BITSET %})) { (argstr) = (sprintf("%p, %s, %d, %s, %#x", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__uint32($utime), 1)):(_struct_timespec_u(__uint32($utime), 1)), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_REQUEUE %})) { (argstr) = (sprintf("%p, %s, %d, %d, %p", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), __uint32($utime), __uint32($uaddr2))); } else if (((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE %})) || ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_CMP_REQUEUE_PI %}))) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %d", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), __uint32($utime), __uint32($uaddr2), __int32($val3))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAKE_OP %})) { (argstr) = (sprintf("%p, %s, %d, %u, %p, %s", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), __uint32($utime), __uint32($uaddr2), _futex_wake_op_str(__int32($val3)))); } else if ((__int32($op)) == (%{ /* pure */ /* unprivileged */ /* stable */ FUTEX_WAIT_REQUEUE_PI %})) { (argstr) = (sprintf("%p, %s, %d, %s, %p", futex_uaddr, _futex_op_str(__int32($op)), __int32($val), (%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u(__uint32($utime), 1)):(_struct_timespec_u(__uint32($utime), 1)), __uint32($uaddr2))); } else { (argstr) = (sprintf("%p, %s, %d", futex_uaddr, _futex_op_str(__int32($op)), __int32($val))); } ; } probe syscall.compat_futex.return = kernel.function("compat_sys_futex").return?{ (name) = ("futex"); (retstr) = (return_str(1, $return)); } probe syscall.futimesat = kernel.function("sys_futimesat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_futimesat %})) next ; } } catch { { next; } } ; (name) = ("futimesat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (tvp_uaddr) = ($utimes); (argstr) = (sprintf("%s, %s, %s", _dfd_str(__int32($dfd)), user_string_quoted($filename), _struct_timeval_u($utimes, 2))); } probe syscall.compat_futimesat = kernel.function("compat_sys_futimesat").call?{ (name) = ("futimesat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (tvp_uaddr) = ($t); (argstr) = (sprintf("%s, %s, %s", _dfd_str(__int32($dfd)), user_string_quoted($filename), _struct_compat_timeval_u($t, 2))); } probe syscall.futimesat.return = kernel.function("sys_futimesat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_futimesat %})) next ; } } catch { { next; } } ; (name) = ("futimesat"); (retstr) = (return_str(1, $return)); } probe syscall.compat_futimesat.return = kernel.function("compat_sys_futimesat").return?{ (name) = ("futimesat"); (retstr) = (return_str(1, $return)); } probe syscall.getcpu = kernel.function("sys_getcpu").call?{ (name) = ("getcpu"); (cpu_uaddr) = ($cpup); (node_uaddr) = ($nodep); (tcache_uaddr) = ((@defined($unused))?($unused):($cache)); (argstr) = (sprintf("%p, %p, %p", cpu_uaddr, node_uaddr, tcache_uaddr)); } probe syscall.getcpu.return = kernel.function("sys_getcpu").return?{ (name) = ("getcpu"); (retstr) = (return_str(1, $return)); } probe syscall.getcwd = kernel.function("sys_getcwd").call{ (name) = ("getcwd"); (buf_uaddr) = ($buf); (size) = ($size); (argstr) = (sprintf("%p, %d", buf_uaddr, size)); } probe syscall.getcwd.return = kernel.function("sys_getcwd").return{ (name) = ("getcwd"); (retstr) = (return_str(1, $return)); } probe syscall.getdents = kernel.function("sys_getdents").call?, kernel.function("sys_getdents64").call?, kernel.function("compat_sys_getdents").call?, kernel.function("compat_sys_getdents64").call?{ (name) = ("getdents"); (fd) = (__int32($fd)); (dirp_uaddr) = ($dirent); (count) = (__uint32($count)); (argstr) = (sprintf("%d, %p, %u", fd, $dirent, count)); } probe syscall.getdents.return = kernel.function("sys_getdents").return?, kernel.function("sys_getdents64").return?, kernel.function("compat_sys_getdents").return?, kernel.function("compat_sys_getdents64").return?{ (name) = ("getdents"); (retstr) = (return_str(1, $return)); } probe syscall.getegid = kernel.function("sys_getegid16").call?, kernel.function("sys32_getegid16").call?, kernel.function("sys_getegid").call{ (name) = ("getegid"); (argstr) = (""); } probe syscall.getegid.return = kernel.function("sys_getegid16").return?, kernel.function("sys32_getegid16").return?, kernel.function("sys_getegid").return{ (name) = ("getegid"); (retstr) = (return_str(1, $return)); } probe syscall.geteuid = kernel.function("sys_geteuid16").call?, kernel.function("sys32_geteuid16").call?, kernel.function("sys_geteuid").call{ (name) = ("geteuid"); (argstr) = (""); } probe syscall.geteuid.return = kernel.function("sys_geteuid16").return?, kernel.function("sys32_geteuid16").return?, kernel.function("sys_geteuid").return{ (name) = ("geteuid"); (retstr) = (return_str(1, $return)); } probe syscall.getgid = kernel.function("sys_getgid16").call?, kernel.function("sys32_getgid16").call?, kernel.function("sys_getgid").call{ (name) = ("getgid"); (argstr) = (""); } probe syscall.getgid.return = kernel.function("sys_getgid16").return?, kernel.function("sys32_getgid16").return?, kernel.function("sys_getgid").return{ (name) = ("getgid"); (retstr) = (return_str(1, $return)); } probe syscall.getgroups = kernel.function("sys_getgroups16").call?, kernel.function("sys32_getgroups16").call?, kernel.function("sys_getgroups").call?{ (name) = ("getgroups"); (size) = (__int32($gidsetsize)); (list_uaddr) = ($grouplist); (argstr) = (sprintf("%d, %p", __int32($gidsetsize), $grouplist)); } probe syscall.getgroups.return = kernel.function("sys_getgroups16").return?, kernel.function("sys32_getgroups16").return?, kernel.function("sys_getgroups").return?{ (name) = ("getgroups"); (retstr) = (return_str(1, $return)); } probe syscall.gethostname = kernel.function("sys_gethostname").call?{ (name) = ("gethostname"); (name_uaddr) = ($name); (len) = (__int32($len)); (argstr) = (sprintf("%p, %d", name_uaddr, len)); } probe syscall.gethostname.return = kernel.function("sys_gethostname").return?{ (name) = ("gethostname"); (retstr) = (return_str(1, $return)); } probe syscall.getitimer = kernel.function("sys_getitimer").call{ (name) = ("getitimer"); (which) = (__int32($which)); (value_uaddr) = ($value); (argstr) = (sprintf("%s, %p", _itimer_which_str(which), $value)); } probe syscall.getitimer.return = kernel.function("sys_getitimer").return{ (name) = ("getitimer"); (retstr) = (return_str(1, $return)); } probe syscall.compat_getitimer = kernel.function("compat_sys_getitimer").call?{ (name) = ("getitimer"); (which) = (__int32($which)); (value_uaddr) = ($it); (argstr) = (sprintf("%s, %p", _itimer_which_str(which), value_uaddr)); } probe syscall.compat_getitimer.return = kernel.function("compat_sys_getitimer").return?{ (name) = ("getitimer"); (retstr) = (return_str(1, $return)); } probe syscall.get_mempolicy = __syscall.get_mempolicy?, kernel.function("compat_sys_get_mempolicy").call?{ (name) = ("get_mempolicy"); (policy_uaddr) = ($policy); (nmask_uaddr) = ($nmask); (maxnode) = ($maxnode); (addr) = ($addr); (flags) = ($flags); (flags_str) = (_mempolicy_flags_str($flags)); (argstr) = (sprintf("%p, %p, %u, %p, %s", $policy, $nmask, $maxnode, $addr, _mempolicy_flags_str($flags))); } probe __syscall.get_mempolicy = kernel.function("sys_get_mempolicy").call?{ } probe syscall.get_mempolicy.return = __syscall.get_mempolicy.return?, kernel.function("compat_sys_get_mempolicy").return?{ (name) = ("get_mempolicy"); (retstr) = (return_str(1, $return)); } probe __syscall.get_mempolicy.return = kernel.function("sys_get_mempolicy").return?{ } probe syscall.getpeername = __syscall.getpeername?, __syscall.socketcall.getpeername?, __syscall.compat_socketcall.getpeername?{ (name) = ("getpeername"); (argstr) = (sprintf("%d, %p, %p", s, name_uaddr, namelen_uaddr)); } probe __syscall.getpeername = kernel.function("sys_getpeername").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpeername %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (name_uaddr) = ($usockaddr); (namelen_uaddr) = ($usockaddr_len); } probe __syscall.socketcall.getpeername = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (name_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (namelen_uaddr) = (user_ulong(&@cast($args, "ulong")[2])); } probe __syscall.compat_socketcall.getpeername = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (name_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (namelen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[2])); } probe syscall.getpeername.return = __syscall.getpeername.return?, __syscall.socketcall.getpeername.return?{ (name) = ("getpeername"); (retstr) = (return_str(1, $return)); } probe __syscall.getpeername.return = kernel.function("sys_getpeername").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpeername %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.getpeername.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETPEERNAME %})) next ; } probe syscall.getpgid = kernel.function("sys_getpgid").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpgid %})) next ; } } catch { { next; } } ; (name) = ("getpgid"); (pid) = (__int32($pid)); (argstr) = (sprintf("%d", __int32($pid))); } probe syscall.getpgid.return = kernel.function("sys_getpgid").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getpgid %})) next ; } } catch { { next; } } ; (name) = ("getpgid"); (retstr) = (return_str(1, $return)); } probe syscall.getpgrp = kernel.function("sys_getpgrp").call?{ (name) = ("getpgrp"); (argstr) = (""); } probe syscall.getpgrp.return = kernel.function("sys_getpgrp").return?{ (name) = ("getpgrp"); (retstr) = (return_str(1, $return)); } probe syscall.getpid = kernel.function("sys_getpid").call{ (name) = ("getpid"); (argstr) = (""); } probe syscall.getpid.return = kernel.function("sys_getpid").return{ (name) = ("getpid"); (retstr) = (return_str(1, $return)); } probe syscall.getppid = kernel.function("sys_getppid").call{ (name) = ("getppid"); (argstr) = (""); } probe syscall.getppid.return = kernel.function("sys_getppid").return{ (name) = ("getppid"); (retstr) = (return_str(1, $return)); } probe syscall.getpriority = kernel.function("sys_getpriority").call{ (name) = ("getpriority"); (which) = (__int32($which)); (who) = (__int32($who)); (argstr) = (sprintf("%s, %d", _priority_which_str(which), who)); } probe syscall.getpriority.return = kernel.function("sys_getpriority").return{ (name) = ("getpriority"); (retstr) = (return_str(1, $return)); } probe syscall.getrandom = kernel.function("sys_getrandom").call?{ (name) = ("getrandom"); (buf) = (user_string_quoted($buf)); (count) = (__ulong($count)); (flags) = (__uint32($flags)); (flags_str) = (_getrandom_flags_str(__uint32($flags))); (argstr) = (sprintf("%s, %u, %s", user_string_quoted($buf), count, flags_str)); } probe syscall.getrandom.return = kernel.function("sys_getrandom").return?{ (name) = ("getrandom"); (retstr) = (return_str(1, $return)); } probe syscall.getresgid = kernel.function("sys_getresgid16").call?, kernel.function("sys_getresgid").call{ (name) = ("getresgid"); (rgid_uaddr) = ((@defined($rgidp))?($rgidp):($rgid)); (egid_uaddr) = ((@defined($egidp))?($egidp):($egid)); (sgid_uaddr) = ((@defined($sgidp))?($sgidp):($sgid)); (argstr) = (sprintf("%p, %p, %p", (@defined($rgidp))?($rgidp):($rgid), (@defined($egidp))?($egidp):($egid), (@defined($sgidp))?($sgidp):($sgid))); } probe syscall.getresgid.return = kernel.function("sys_getresgid16").return?, kernel.function("sys_getresgid").return{ (name) = ("getresgid"); (retstr) = (return_str(1, $return)); } probe syscall.getresuid = kernel.function("sys_getresuid16").call?, kernel.function("sys_getresuid").call{ (name) = ("getresuid"); (ruid_uaddr) = ((@defined($ruidp))?($ruidp):($ruid)); (euid_uaddr) = ((@defined($euidp))?($euidp):($euid)); (suid_uaddr) = ((@defined($suidp))?($suidp):($suid)); (argstr) = (sprintf("%p, %p, %p", (@defined($ruidp))?($ruidp):($ruid), (@defined($euidp))?($euidp):($euid), (@defined($suidp))?($suidp):($suid))); } probe syscall.getresuid.return = kernel.function("sys_getresuid16").return?, kernel.function("sys_getresuid").return{ (name) = ("getresuid"); (retstr) = (return_str(1, $return)); } probe syscall.getrlimit = __syscall.getrlimit?, kernel.function("compat_sys_getrlimit").call?, kernel.function("sys_old_getrlimit").call?{ (name) = ("getrlimit"); (resource) = (__int32($resource)); (rlim_uaddr) = ($rlim); (argstr) = (sprintf("%s, %p", _rlimit_resource_str(resource), $rlim)); } probe __syscall.getrlimit = kernel.function("sys_getrlimit").call{ } probe syscall.getrlimit.return = kernel.function("sys_old_getrlimit").return?, kernel.function("compat_sys_getrlimit").return?, __syscall.getrlimit.return?{ (name) = ("getrlimit"); (retstr) = (return_str(1, $return)); } probe __syscall.getrlimit.return = kernel.function("sys_getrlimit").return{ } probe syscall.get_robust_list = __syscall.get_robust_list?, kernel.function("compat_sys_get_robust_list")?{ (name) = ("get_robust_list"); (pid) = (__int32($pid)); (list_head_uaddr) = ($head_ptr); (len_uaddr) = ($len_ptr); (argstr) = (sprintf("%d, %p, %p", pid, list_head_uaddr, len_uaddr)); } probe __syscall.get_robust_list = kernel.function("sys_get_robust_list"){ } probe syscall.get_robust_list.return = __syscall.get_robust_list.return?, kernel.function("compat_sys_get_robust_list").return?{ (name) = ("get_robust_list"); (retstr) = (return_str(1, $return)); } probe __syscall.get_robust_list.return = kernel.function("sys_get_robust_list").return{ } probe syscall.getrusage = __syscall.getrusage, kernel.function("compat_sys_getrusage").call?{ (name) = ("getrusage"); (who) = (__int32($who)); (who_str) = (_rusage_who_str(who)); (usage_uaddr) = ($ru); (argstr) = (sprintf("%s, %p", who_str, usage_uaddr)); } probe __syscall.getrusage = kernel.function("sys_getrusage").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getrusage %})) next ; } } catch { { next; } } ; } probe syscall.getrusage.return = __syscall.getrusage.return, kernel.function("compat_sys_getrusage").return?{ (name) = ("getrusage"); (retstr) = (return_str(1, $return)); } probe __syscall.getrusage.return = kernel.function("sys_getrusage").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getrusage %})) next ; } } catch { { next; } } ; } probe syscall.getsid = kernel.function("sys_getsid").call{ (name) = ("getsid"); (pid) = (__int32($pid)); (argstr) = (sprint(pid)); } probe syscall.getsid.return = kernel.function("sys_getsid").return{ (name) = ("getsid"); (retstr) = (return_str(1, $return)); } probe syscall.getsockname = __syscall.getsockname?, __syscall.socketcall.getsockname?, __syscall.compat_socketcall.getsockname?{ (name) = ("getsockname"); (argstr) = (sprintf("%d, %p, %p", s, name_uaddr, namelen_uaddr)); } probe __syscall.getsockname = kernel.function("sys_getsockname").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockname %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (name_uaddr) = ($usockaddr); (namelen_uaddr) = ($usockaddr_len); } probe __syscall.socketcall.getsockname = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (name_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (namelen_uaddr) = (user_ulong(&@cast($args, "ulong")[2])); } probe __syscall.compat_socketcall.getsockname = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (name_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (namelen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[2])); } probe syscall.getsockname.return = __syscall.getsockname.return?, __syscall.socketcall.getsockname.return?{ (name) = ("getsockname"); (retstr) = (return_str(1, $return)); } probe __syscall.getsockname.return = kernel.function("sys_getsockname").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockname %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.getsockname.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKNAME %})) next ; } probe syscall.getsockopt = __syscall.getsockopt?, __syscall.socketcall.getsockopt?, __syscall.compat_socketcall.getsockopt?{ (name) = ("getsockopt"); (level_str) = (_sockopt_level_str(level)); (optname_str) = (_sockopt_optname_str(optname)); (argstr) = (sprintf("%d, %s, %s, %p, %p", fd, _sockopt_level_str(level), _sockopt_optname_str(optname), optval_uaddr, optlen_uaddr)); } probe __syscall.getsockopt = kernel.function("sys_getsockopt").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockopt %})) next ; } } catch { { next; } } ; (fd) = (__int32($fd)); (level) = (__int32($level)); (optname) = (__int32($optname)); (optval_uaddr) = ($optval); (optlen_uaddr) = ($optlen); } probe __syscall.socketcall.getsockopt = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; (fd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (level) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); (optname) = (__int32(user_ulong(&@cast($args, "ulong")[2]))); (optval_uaddr) = (user_ulong(&@cast($args, "ulong")[3])); (optlen_uaddr) = (user_ulong(&@cast($args, "ulong")[4])); } probe __syscall.compat_socketcall.getsockopt = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; (fd) = (user_int(&@cast($args, "unsigned int")[0])); (level) = (user_int(&@cast($args, "unsigned int")[1])); (optname) = (user_int(&@cast($args, "unsigned int")[2])); (optval_uaddr) = (user_uint32(&@cast($args, "unsigned int")[3])); (optlen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[4])); } probe syscall.getsockopt.return = __syscall.getsockopt.return?, __syscall.socketcall.getsockopt.return?{ (name) = ("getsockopt"); (retstr) = (return_str(1, $return)); } probe __syscall.getsockopt.return = kernel.function("sys_getsockopt").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_getsockopt %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.getsockopt.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_GETSOCKOPT %})) next ; } probe syscall.gettid = kernel.function("sys_gettid").call{ (name) = ("gettid"); (argstr) = (""); } probe syscall.gettid.return = kernel.function("sys_gettid").return{ (name) = ("gettid"); (retstr) = (return_str(1, $return)); } probe syscall.gettimeofday = kernel.function("compat_sys_gettimeofday").call?, kernel.function("sys32_gettimeofday").call?, kernel.function("sys_gettimeofday").call{ (name) = ("gettimeofday"); (tv_uaddr) = ($tv); (tz_uaddr) = ($tz); (argstr) = (sprintf("%p, %p", $tv, $tz)); } probe syscall.gettimeofday.return = kernel.function("compat_sys_gettimeofday").return?, kernel.function("sys32_gettimeofday").return?, kernel.function("sys_gettimeofday").return{ (name) = ("gettimeofday"); (retstr) = (return_str(1, $return)); } probe syscall.getuid = kernel.function("sys_getuid16").call?, kernel.function("sys32_getuid16").call?, kernel.function("sys_getuid").call{ (name) = ("getuid"); (argstr) = (""); } probe syscall.getuid.return = kernel.function("sys_getuid16").return?, kernel.function("sys32_getuid16").return?, kernel.function("sys_getuid").return{ (name) = ("getuid"); (retstr) = (return_str(1, $return)); } probe syscall.getxattr = kernel.function("sys_getxattr").call{ (name) = ("getxattr"); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (size) = (__ulong($size)); (argstr) = (sprintf("%s, %s, %p, %u", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name), $value, __ulong($size))); } probe syscall.getxattr.return = kernel.function("sys_getxattr").return{ (name) = ("getxattr"); (retstr) = (return_str(1, $return)); } probe syscall.init_module = kernel.function("sys_init_module").call?{ (name) = ("init_module"); (umod_uaddr) = ($umod); (len) = (__ulong($len)); (uargs) = (user_string_quoted($uargs)); (argstr) = (sprintf("%p, %u, %s", $umod, len, user_string_quoted($uargs))); } probe syscall.init_module.return = kernel.function("sys_init_module").return?{ (name) = ("init_module"); (retstr) = (return_str(1, $return)); } probe syscall.inotify_add_watch = kernel.function("sys_inotify_add_watch").call?{ (name) = ("inotify_add_watch"); (fd) = (__int32($fd)); (mask) = (__uint32($mask)); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%d, %s, %s", __int32($fd), user_string_quoted((@defined($pathname))?($pathname):($path)), _inotify_watch_mask_str(__uint32($mask)))); } probe syscall.inotify_add_watch.return = kernel.function("sys_inotify_add_watch").return?{ (name) = ("inotify_add_watch"); (retstr) = (return_str(1, $return)); } probe syscall.inotify_init = __syscall.inotify_init1?, __syscall.inotify_init?{ } probe __syscall.inotify_init1 = kernel.function("sys_inotify_init1").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_inotify_init1 %})) next ; } } catch { { next; } } ; (name) = ("inotify_init1"); (flags) = (__int32($flags)); (argstr) = (_inotify_init1_flag_str(flags)); } probe __syscall.inotify_init = kernel.function("sys_inotify_init").call?{ (name) = ("inotify_init"); (flags) = (0); (argstr) = (""); } probe syscall.inotify_init.return = __syscall.inotify_init1.return?, __syscall.inotify_init.return?{ } probe __syscall.inotify_init1.return = kernel.function("sys_inotify_init1").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_inotify_init1 %})) next ; } } catch { { next; } } ; (name) = ("inotify_init1"); (retstr) = (return_str(1, $return)); } probe __syscall.inotify_init.return = kernel.function("sys_inotify_init").return?{ (name) = ("inotify_init"); (retstr) = (return_str(1, $return)); } probe syscall.inotify_rm_watch = kernel.function("sys_inotify_rm_watch").call?{ (name) = ("inotify_rm_watch"); (fd) = (__int32($fd)); (wd) = (__int32($wd)); (argstr) = (sprintf("%d, %d", __int32($fd), __int32($wd))); } probe syscall.inotify_rm_watch.return = kernel.function("sys_inotify_rm_watch").return?{ (name) = ("inotify_rm_watch"); (retstr) = (return_str(1, $return)); } probe syscall.io_cancel = kernel.function("sys_io_cancel").call{ (name) = ("io_cancel"); (ctx_id) = (__ulong($ctx_id)); (iocb_uaddr) = ($iocb); (result_uaddr) = ($result); (argstr) = (sprintf("%u, %p, %p", ctx_id, iocb_uaddr, result_uaddr)); } probe syscall.io_cancel.return = kernel.function("sys_io_cancel").return{ (name) = ("io_cancel"); (retstr) = (return_str(1, $return)); } probe syscall.ioctl = __syscall.ioctl?, kernel.function("compat_sys_ioctl").call?{ (name) = ("ioctl"); (fd) = (__int32($fd)); (request) = (__int32($cmd)); (argp) = ((@defined($arg))?($arg):($arg32)); (argstr) = (sprintf("%d, %d, %p", fd, request, argp)); } probe __syscall.ioctl = kernel.function("sys_ioctl").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ioctl %})) next ; } } catch { { next; } } ; } probe syscall.ioctl.return = __syscall.ioctl.return?, kernel.function("compat_sys_ioctl").return?{ (name) = ("ioctl"); (retstr) = (return_str(1, $return)); } probe __syscall.ioctl.return = kernel.function("sys_ioctl").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ioctl %})) next ; } } catch { { next; } } ; } probe syscall.io_destroy = kernel.function("sys_io_destroy").call{ (name) = ("io_destroy"); (ctx) = (__ulong($ctx)); (argstr) = (sprintf("%u", ctx)); } probe syscall.io_destroy.return = kernel.function("sys_io_destroy").return{ (name) = ("io_destroy"); (retstr) = (return_str(1, $return)); } probe syscall.io_getevents = __syscall.io_getevents?, kernel.function("compat_sys_io_getevents").call?{ (name) = ("io_getevents"); (ctx_id) = (__ulong($ctx_id)); (events_uaddr) = ($events); (timeout_uaddr) = ($timeout); (nr) = (__long($nr)); (min_nr) = (__long($min_nr)); (timestr) = ((%{ /* pure */ _stp_is_compat_task() %})?(_struct_compat_timespec_u($timeout, 1)):(_struct_timespec_u($timeout, 1))); (argstr) = (sprintf("%u, %d, %d, %p, %s", ctx_id, min_nr, nr, events_uaddr, timestr)); } probe __syscall.io_getevents = kernel.function("sys_io_getevents").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_getevents %})) next ; } } catch { { next; } } ; } probe syscall.io_getevents.return = __syscall.io_getevents.return, kernel.function("compat_sys_io_getevents").return?{ (name) = ("io_getevents"); (retstr) = (return_str(1, $return)); } probe __syscall.io_getevents.return = kernel.function("sys_io_getevents").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_getevents %})) next ; } } catch { { next; } } ; } probe syscall.ioperm = kernel.function("sys_ioperm").call?{ (name) = ("ioperm"); (from) = (__ulong($from)); (num) = (__ulong($num)); (turn_on) = (__uint32($turn_on)); (argstr) = (sprintf("%#x, %#x, %#x", from, num, turn_on)); } probe syscall.ioperm.return = kernel.function("sys_ioperm").return?{ (name) = ("ioperm"); (retstr) = (return_str(1, $return)); } probe syscall.io_setup = __syscall.io_setup, __syscall.compat_io_setup?{ (name) = ("io_setup"); } probe __syscall.io_setup = kernel.function("sys_io_setup").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_setup %})) next ; } } catch { { next; } } ; (maxevents) = (__uint32($nr_events)); (ctxp_uaddr) = ($ctxp); (argstr) = (sprintf("%u, %p", maxevents, ctxp_uaddr)); } probe __syscall.compat_io_setup = kernel.function("compat_sys_io_setup").call{ (maxevents) = (__uint32($nr_reqs)); (ctxp_uaddr) = ($ctx32p); (argstr) = (sprintf("%u, %p", maxevents, ctxp_uaddr)); } probe syscall.io_setup.return = __syscall.io_setup.return, kernel.function("compat_sys_io_setup").return?{ (name) = ("io_setup"); (retstr) = (return_str(1, $return)); } probe __syscall.io_setup.return = kernel.function("sys_io_setup").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_setup %})) next ; } } catch { { next; } } ; } probe syscall.io_submit = __syscall.io_submit, kernel.function("compat_sys_io_submit").call?{ (name) = ("io_submit"); (ctx_id) = (__ulong($ctx_id)); (nr) = (__long($nr)); (iocbpp_uaddr) = ((@defined($iocbpp))?($iocbpp):($iocb)); (argstr) = (sprintf("%u, %d, %p", ctx_id, nr, iocbpp_uaddr)); } probe __syscall.io_submit = kernel.function("sys_io_submit").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_submit %})) next ; } } catch { { next; } } ; } probe syscall.io_submit.return = __syscall.io_submit.return, kernel.function("compat_sys_io_submit").return?{ (name) = ("io_submit"); (retstr) = (return_str(1, $return)); } probe __syscall.io_submit.return = kernel.function("sys_io_submit").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_io_submit %})) next ; } } catch { { next; } } ; } probe syscall.ioprio_get = kernel.function("sys_ioprio_get").call?{ (name) = ("ioprio_get"); (which) = (__int32($which)); (which_str) = (_stp_ioprio_which_str(__int32($which))); (who) = (__int32($who)); (argstr) = (sprintf("%s, %d", _stp_ioprio_which_str(__int32($which)), __int32($who))); } probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return?{ (name) = ("ioprio_get"); (retstr) = (return_str(1, $return)); } probe syscall.ioprio_set = kernel.function("sys_ioprio_set").call?{ (name) = ("ioprio_set"); (which) = (__int32($which)); (which_str) = (_stp_ioprio_which_str(__int32($which))); (who) = (__int32($who)); (ioprio) = (__int32($ioprio)); (ioprio_str) = (_stp_ioprio_value_str(__int32($ioprio))); (argstr) = (sprintf("%s, %d, %s", _stp_ioprio_which_str(__int32($which)), __int32($who), _stp_ioprio_value_str(__int32($ioprio)))); } probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return?{ (name) = ("ioprio_set"); (retstr) = (return_str(1, $return)); } probe syscall.kcmp = kernel.function("sys_kcmp")?{ (name) = ("kcmp"); (pid1) = (__int32($pid1)); (pid2) = (__int32($pid2)); (type) = (__int32($type)); (type_str) = (_kcmp_type_str(type)); (idx1) = (__ulong($idx1)); (idx2) = (__ulong($idx2)); (argstr) = (sprintf("%d, %d, %s, %u, %u", pid1, pid2, type_str, idx1, idx2)); } probe syscall.kcmp.return = kernel.function("sys_kcmp").return?{ (name) = ("kcmp"); (retstr) = (return_str(1, $return)); } probe syscall.kexec_file_load = kernel.function("sys_kexec_file_load").call?{ (name) = ("kexec_file_load"); (kernel_fd) = (__int32($kernel_fd)); (initrd_fd) = (__int32($initrd_fd)); (cmdline_len) = (__ulong($cmdline_len)); (cmdline) = (user_string_quoted($cmdline_ptr)); (flags) = (__ulong($flags)); (flags_str) = (_kexec_file_load_flags_str(flags)); (argstr) = (sprintf("%d, %d, %u, %s, %s", kernel_fd, initrd_fd, cmdline_len, cmdline, _kexec_file_load_flags_str(flags))); } probe syscall.kexec_file_load.return = kernel.function("sys_kexec_file_load").return?{ (name) = ("kexec_file_load"); (retstr) = (return_str(1, $return)); } probe syscall.kexec_load = __syscall.kexec_load.call?, kernel.function("compat_sys_kexec_load").call?{ (name) = ("kexec_load"); (entry) = (__ulong($entry)); (nr_segments) = (__ulong($nr_segments)); (segments_uaddr) = ($segments); (flags) = (__ulong($flags)); (flags_str) = (_kexec_flags_str(flags)); (argstr) = (sprintf("%p, %u, %p, %s", entry, nr_segments, segments_uaddr, flags_str)); } probe __syscall.kexec_load.call = kernel.function("sys_kexec_load").call{ } probe syscall.kexec_load.return = __syscall.syscall.kexec_load.return?, kernel.function("compat_sys_kexec_load").return?{ (name) = ("kexec_load"); (retstr) = (return_str(1, $return)); } probe __syscall.syscall.kexec_load.return = kernel.function("sys_kexec_load").return{ } probe syscall.keyctl = kernel.function("compat_sys_keyctl").call?, kernel.function("sys_keyctl").call?{ (name) = ("keyctl"); (option) = (__int32($option)); (arg2) = (__ulong($arg2)); (arg3) = (__ulong($arg3)); (arg4) = (__ulong($arg4)); (arg5) = (__ulong($arg5)); if ((((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_READ %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_DESCRIBE %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_SECURITY %}))) { (argstr) = (sprintf("%s, %s, %p, %d", _stp_keyctl_cmd_str(option), _stp_keyctl_keyring_shortcut_str(arg2), arg3, __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_UPDATE %})) { (argstr) = (sprintf("%s, %d, %s, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), __long(arg4))); } else if (((((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_REVOKE %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_CLEAR %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INVALIDATE %}))) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_ASSUME_AUTHORITY %}))) { (argstr) = (sprintf("%s, %d", _stp_keyctl_cmd_str(option), __long(arg2))); } else if (((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_LINK %})) || ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_UNLINK %}))) { (argstr) = (sprintf("%s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SEARCH %})) { (argstr) = (sprintf("%s, %d, %s, %s, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), user_string_quoted(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_CHOWN %})) { (argstr) = (sprintf("%s, %d, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3), __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SETPERM %})) { (argstr) = (sprintf("%s, %d, %s", _stp_keyctl_cmd_str(option), __long(arg2), _stp_keyctl_perm_str(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INSTANTIATE %})) { (argstr) = (sprintf("%s, %d, %s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), user_string_quoted(arg3), __long(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_INSTANTIATE_IOV %})) { (argstr) = (sprintf("%s, %d, %p, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, __long(arg4), __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_NEGATE %})) { (argstr) = (sprintf("%s, %d, %u, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, __long(arg4))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_REJECT %})) { (argstr) = (sprintf("%s, %d, %u, %u, %d", _stp_keyctl_cmd_str(option), __long(arg2), arg3, arg4, __long(arg5))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SET_TIMEOUT %})) { (argstr) = (sprintf("%s, %d, %u", _stp_keyctl_cmd_str(option), __long(arg2), arg3)); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_KEYRING_ID %})) { (argstr) = (sprintf("%s, %s, %d", _stp_keyctl_cmd_str(option), _stp_keyctl_keyring_shortcut_str(arg2), __long(arg3))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_SET_REQKEY_KEYRING %})) { (argstr) = (sprintf("%s, %s", _stp_keyctl_cmd_str(option), _stp_keyctl_default_keyrings_str(arg2))); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_JOIN_SESSION_KEYRING %})) { (argstr) = (sprintf("%s, %p", _stp_keyctl_cmd_str(option), arg2)); } else if ((option) == (%{ /* pure */ /* unprivileged */ /* stable */ KEYCTL_GET_PERSISTENT %})) { (argstr) = (sprintf("%s, %d, %d", _stp_keyctl_cmd_str(option), __long(arg2), __long(arg3))); } else { (argstr) = (sprintf("%d, %d, %d, %d, %d", option, __long(arg2), __long(arg3), __long(arg4), __long(arg5))); } ; } probe syscall.keyctl.return = kernel.function("compat_sys_keyctl").return?, kernel.function("sys_keyctl").return?{ (name) = ("keyctl"); (retstr) = (return_str(1, $return)); } probe syscall.kill = kernel.function("sys_kill").call{ (name) = ("kill"); (pid) = (__int32($pid)); (sig) = (__int32($sig)); (argstr) = (sprintf("%d, %s", __int32($pid), _signal_name(__int32($sig)))); } probe syscall.kill.return = kernel.function("sys_kill").return{ (name) = ("kill"); (retstr) = (return_str(1, $return)); } probe syscall.lchown = kernel.function("sys_lchown").call{ (name) = ("lchown"); (path) = (user_string_quoted($filename)); (owner) = (__int32($user)); (group) = (__int32($group)); (argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group)); } probe syscall.lchown.return = kernel.function("sys_lchown").return{ (name) = ("lchown"); (retstr) = (return_str(1, $return)); } probe syscall.lchown16 = kernel.function("sys_lchown16").call?{ (name) = ("lchown16"); (path) = (user_string_quoted($filename)); (owner) = (__short($user)); (group) = (__short($group)); (argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group)); } probe syscall.lchown16.return = kernel.function("sys_lchown16").return?{ (name) = ("lchown16"); (retstr) = (return_str(1, $return)); } probe syscall.lgetxattr = kernel.function("sys_lgetxattr").call{ (name) = ("lgetxattr"); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (size) = (__ulong($size)); (argstr) = (sprintf("%s, %s, %p, %u", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name), value_uaddr, size)); } probe syscall.lgetxattr.return = kernel.function("sys_lgetxattr").return{ (name) = ("lgetxattr"); (retstr) = (return_str(1, $return)); } probe syscall.link = kernel.function("sys_link").call{ (name) = ("link"); (oldpath) = (user_string_quoted($oldname)); (newpath) = (user_string_quoted($newname)); (argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname))); } probe syscall.link.return = kernel.function("sys_link").return{ (name) = ("link"); (retstr) = (return_str(1, $return)); } probe syscall.linkat = kernel.function("sys_linkat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_linkat %})) next ; } } catch { { next; } } ; (name) = ("linkat"); (olddirfd) = (__int32($olddfd)); (olddirfd_str) = (_dfd_str(__int32($olddfd))); (oldpath) = (user_string_quoted($oldname)); (newdirfd) = (__int32($newdfd)); (newdirfd_str) = (_dfd_str(__int32($newdfd))); (newpath) = (user_string_quoted($newname)); (flags) = (__int32($flags)); (flags_str) = (_at_flag_str(__int32($flags))); (argstr) = (sprintf("%s, %s, %s, %s, %s", olddirfd_str, user_string_quoted($oldname), newdirfd_str, user_string_quoted($newname), flags_str)); } probe syscall.linkat.return = kernel.function("sys_linkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_linkat %})) next ; } } catch { { next; } } ; (name) = ("linkat"); (retstr) = (return_str(1, $return)); } probe syscall.listen = __syscall.listen?, __syscall.socketcall.listen?, __syscall.compat_socketcall.listen?{ (name) = ("listen"); (argstr) = (sprintf("%d, %d", sockfd, backlog)); } probe __syscall.listen = kernel.function("sys_listen").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_listen %})) next ; } } catch { { next; } } ; (sockfd) = (__int32($fd)); (backlog) = (__int32($backlog)); } probe __syscall.socketcall.listen = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; (sockfd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (backlog) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); } probe __syscall.compat_socketcall.listen = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; (sockfd) = (user_int(&@cast($args, "unsigned int")[0])); (backlog) = (user_int(&@cast($args, "unsigned int")[1])); } probe syscall.listen.return = __syscall.listen.return?, __syscall.socketcall.listen.return?{ (name) = ("listen"); (retstr) = (return_str(1, $return)); } probe __syscall.listen.return = kernel.function("sys_listen").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_listen %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.listen.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_LISTEN %})) next ; } probe syscall.listxattr = kernel.function("sys_listxattr").call{ (name) = ("listxattr"); (list_uaddr) = ($list); (size) = (__ulong($size)); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %p, %u", user_string_quoted((@defined($pathname))?($pathname):($path)), $list, __ulong($size))); } probe syscall.listxattr.return = kernel.function("sys_listxattr").return{ (name) = ("listxattr"); (retstr) = (return_str(1, $return)); } probe syscall.llistxattr = kernel.function("sys_llistxattr").call{ (name) = ("llistxattr"); (list_uaddr) = ($list); (size) = (__ulong($size)); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %p, %u", user_string_quoted((@defined($pathname))?($pathname):($path)), $list, __ulong($size))); } probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return{ (name) = ("llistxattr"); (retstr) = (return_str(1, $return)); } probe syscall.llseek = kernel.function("sys_llseek").call?{ (name) = ("llseek"); (fd) = (__int32($fd)); (offset_high) = ($offset_high); (offset_low) = ($offset_low); (result_uaddr) = ($result); (whence) = ((@defined($whence))?($whence):($origin)); (whence_str) = (_seek_whence_str((@defined($whence))?($whence):($origin))); (argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", fd, $offset_high, $offset_low, $result, whence_str)); } probe syscall.llseek.return = kernel.function("sys_llseek").return?{ (name) = ("llseek"); (retstr) = (return_str(1, $return)); } probe syscall.lookup_dcookie = kernel.function("sys_lookup_dcookie").call?{ (name) = ("lookup_dcookie"); (cookie) = ($cookie64); (buffer_uaddr) = ($buf); (len) = (__ulong($len)); (argstr) = (sprintf("%#lx, %p, %#x", $cookie64, $buf, $len)); } probe syscall.lookup_dcookie.return = kernel.function("sys_lookup_dcookie").return?{ (name) = ("lookup_dcookie"); (retstr) = (return_str(1, $return)); } probe syscall.lremovexattr = kernel.function("sys_lremovexattr").call{ (name) = ("lremovexattr"); (name_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %s", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name))); } probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return{ (name) = ("lremovexattr"); (retstr) = (return_str(1, $return)); } probe syscall.lseek = kernel.function("sys_lseek").call?, kernel.function("compat_sys_lseek").call?{ (name) = ("lseek"); (fildes) = (__int32($fd)); (offset) = (__long($offset)); (whence) = (__ulong((@defined($whence))?($whence):($origin))); (whence_str) = (_seek_whence_str(whence)); (argstr) = (sprintf("%d, %d, %s", fildes, offset, whence_str)); } probe syscall.lseek.return = kernel.function("sys_lseek").return, kernel.function("compat_sys_lseek").return?{ (name) = ("lseek"); (retstr) = (return_str(1, $return)); } probe syscall.lsetxattr = kernel.function("sys_lsetxattr").call{ (name) = ("lsetxattr"); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (name_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (size) = (__ulong($size)); (value_str) = (_stp_xattr_val_str($value, size)); (flags) = (__int32($flags)); (flags_str) = (_stp_xattr_flags_str(__int32($flags))); (argstr) = (sprintf("%s, %s, %s, %u, %s", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name), _stp_xattr_val_str($value, $size), __ulong($size), _stp_xattr_flags_str(__int32($flags)))); } probe syscall.lsetxattr.return = kernel.function("sys_lsetxattr").return{ (name) = ("lsetxattr"); (retstr) = (return_str(1, $return)); } probe syscall.lstat = kernel.function("sys_lstat").call?, kernel.function("sys_newlstat").call?, kernel.function("compat_sys_newlstat").call?, kernel.function("sys32_lstat64").call?, kernel.function("sys_lstat64").call?, kernel.function("sys_oabi_lstat64").call?{ (name) = ("lstat"); (path) = (user_string_quoted($filename)); (buf_uaddr) = ($statbuf); (argstr) = (sprintf("%s, %p", user_string_quoted($filename), $statbuf)); } probe syscall.lstat.return = kernel.function("sys_lstat").return?, kernel.function("sys_newlstat").return?, kernel.function("compat_sys_newlstat").return?, kernel.function("sys32_lstat64").return?, kernel.function("sys_lstat64").return?, kernel.function("sys_oabi_lstat64").return?{ (name) = ("lstat"); (retstr) = (return_str(1, $return)); } probe syscall.madvise = kernel.function("sys_madvise").call?{ (name) = ("madvise"); (start) = (__ulong($start)); (length) = (__ulong($len_in)); (advice) = (__int32($behavior)); (advice_str) = (_madvice_advice_str(advice)); (argstr) = (sprintf("%p, %u, %s", start, length, _madvice_advice_str(advice))); } probe syscall.madvise.return = kernel.function("sys_madvise").return?{ (name) = ("madvise"); (retstr) = (return_str(1, $return)); } probe syscall.mbind = __syscall.mbind?, kernel.function("compat_sys_mbind").call?{ (name) = ("mbind"); (start) = ($start); (mode) = (__int32($mode)); (mode_str) = (_mempolicy_mode_str(mode)); (nmask_uaddr) = ($nmask); (flags) = (__uint32($flags)); (flags_str) = (_mempolicy_flags_str(flags)); (len) = (__ulong($len)); (maxnode) = (__ulong($maxnode)); (argstr) = (sprintf("%p, %u, %s, %p, %u, %s", start, len, mode_str, nmask_uaddr, maxnode, flags_str)); } probe __syscall.mbind = kernel.function("sys_mbind").call{ } probe syscall.mbind.return = __syscall.mbind.return?, kernel.function("compat_sys_mbind").return?{ (name) = ("mbind"); (retstr) = (return_str(1, $return)); } probe __syscall.mbind.return = kernel.function("sys_mbind").return{ } probe syscall.membarrier = kernel.function("sys_membarrier").call?{ (name) = ("membarrier"); (cmd) = (__int32($cmd)); (cmd_str) = (_membarrier_cmd_str(cmd)); (flags) = (__int32($flags)); (argstr) = (sprintf("%s, %d", _membarrier_cmd_str(cmd), __int32($flags))); } probe syscall.membarrier.return = kernel.function("sys_membarrier").return?{ (name) = ("membarrier"); (retstr) = (return_str(1, $return)); } probe syscall.memfd_create = kernel.function("sys_memfd_create").call?{ (name) = ("memfd_create"); (uname) = (user_string_quoted($uname)); (flags) = ($flags); (flags_str) = (_mfd_flags_str($flags)); (argstr) = (sprintf("%s, %s", user_string_quoted($uname), flags_str)); } probe syscall.memfd_create.return = kernel.function("sys_memfd_create").return?{ (name) = ("memfd_create"); (retstr) = (return_str(1, $return)); } probe syscall.migrate_pages = __syscall.migrate_pages?, kernel.function("compat_sys_migrate_pages").call?{ (name) = ("migrate_pages"); (pid) = (__int32($pid)); (old_nodes) = ($old_nodes); (new_nodes) = ($new_nodes); (maxnode) = (__ulong($maxnode)); (argstr) = (sprintf("%d, %u, %p, %p", pid, maxnode, old_nodes, new_nodes)); } probe __syscall.migrate_pages = kernel.function("sys_migrate_pages").call{ } probe syscall.migrate_pages.return = __syscall.migrate_pages.return?, kernel.function("compat_sys_migrate_pages").return?{ (name) = ("migrate_pages"); (retstr) = (return_str(1, $return)); } probe __syscall.migrate_pages.return = kernel.function("sys_migrate_pages").return{ } probe syscall.mincore = kernel.function("sys_mincore").call?{ (name) = ("mincore"); (start) = ($start); (length) = (__ulong($len)); (vec_uaddr) = ($vec); (argstr) = (sprintf("%p, %u, %p", start, length, vec_uaddr)); } probe syscall.mincore.return = kernel.function("sys_mincore").return?{ (name) = ("mincore"); (retstr) = (return_str(1, $return)); } probe syscall.mkdir = kernel.function("sys_mkdir").call{ (name) = ("mkdir"); (pathname_uaddr) = ($pathname); (pathname) = (user_string_quoted($pathname)); (mode) = (__uint32($mode)); (argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), __uint32($mode))); } probe syscall.mkdir.return = kernel.function("sys_mkdir").return{ (name) = ("mkdir"); (retstr) = (return_str(1, $return)); } probe syscall.mkdirat = kernel.function("sys_mkdirat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mkdirat %})) next ; } } catch { { next; } } ; (name) = ("mkdirat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(__int32($dfd))); (pathname) = (user_string_quoted($pathname)); (mode) = (__uint32($mode)); (argstr) = (sprintf("%s, %s, %#o", _dfd_str(__int32($dfd)), user_string_quoted($pathname), __uint32($mode))); } probe syscall.mkdirat.return = kernel.function("sys_mkdirat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mkdirat %})) next ; } } catch { { next; } } ; (name) = ("mkdirat"); (retstr) = (return_str(1, $return)); } probe syscall.mknod = kernel.function("sys_mknod").call{ (name) = ("mknod"); (pathname) = (user_string_quoted($filename)); (mode) = (__uint32($mode)); (dev) = (__uint32($dev)); (argstr) = (sprintf("%s, %s, %u", pathname, _mknod_mode_str(mode), dev)); } probe syscall.mknod.return = kernel.function("sys_mknod").return{ (name) = ("mknod"); (retstr) = (return_str(1, $return)); } probe syscall.mknodat = kernel.function("sys_mknodat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mknodat %})) next ; } } catch { { next; } } ; (name) = ("mknodat"); (dirfd) = (__int32($dfd)); (dirfd_str) = (_dfd_str(dirfd)); (pathname) = (user_string_quoted($filename)); (mode) = (__uint32($mode)); (mode_str) = (_mknod_mode_str(mode)); (dev) = (__uint32($dev)); (argstr) = (sprintf("%s, %s, %s, %u", dirfd_str, pathname, mode_str, dev)); } probe syscall.mknodat.return = kernel.function("sys_mknodat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mknodat %})) next ; } } catch { { next; } } ; (name) = ("mknodat"); (retstr) = (return_str(1, $return)); } probe syscall.mlock = kernel.function("sys_mlock").call?{ (name) = ("mlock"); (addr) = (__ulong($start)); (len) = (__ulong($len)); (argstr) = (sprintf("%p, %u", addr, len)); } probe syscall.mlock.return = kernel.function("sys_mlock").return?{ (name) = ("mlock"); (retstr) = (return_str(1, $return)); } probe syscall.mlock2 = kernel.function("sys_mlock2").call?{ (name) = ("mlock2"); (addr) = (__ulong($start)); (len) = (__ulong($len)); (flags) = (__int32($flags)); (flags_str) = (_stp_mlock2_str(__int32($flags))); (argstr) = (sprintf("%p, %u, %s", addr, len, flags_str)); } probe syscall.mlock2.return = kernel.function("sys_mlock2").return?{ (name) = ("mlock2"); (retstr) = (return_str(1, $return)); } probe syscall.mlockall = kernel.function("sys_mlockall").call?{ (name) = ("mlockall"); (flags) = (__int32($flags)); (argstr) = (_mlockall_flags_str(flags)); } probe syscall.mlockall.return = kernel.function("sys_mlockall").return?{ (name) = ("mlockall"); (retstr) = (return_str(1, $return)); } probe syscall.modify_ldt = kernel.function("sys_modify_ldt").call?{ (name) = ("modify_ldt"); (func) = (__int32($func)); (ptr_uaddr) = ($ptr); (bytecount) = (__ulong($bytecount)); (argstr) = (sprintf("%d, %p, %u", $func, $ptr, __ulong($bytecount))); } probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return?{ (name) = ("modify_ldt"); (retstr) = (return_str(1, $return)); } probe syscall.move_pages = __syscall.move_pages?, kernel.function("compat_sys_move_pages").call?{ (name) = ("move_pages"); (pages) = ((@defined($pages32))?($pages32):($pages)); (pid) = (__int32($pid)); (nodes) = ($nodes); (status) = ($status); (flags) = (__int32($flags)); (flags_str) = (_mempolicy_flags_str(flags)); (nr_pages) = (__ulong($nr_pages)); (argstr) = (sprintf("%d, %u, %p, %p, %p, %s", pid, nr_pages, pages, nodes, status, flags_str)); } probe __syscall.move_pages = kernel.function("sys_move_pages").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_move_pages %})) next ; } } catch { { next; } } ; } probe syscall.move_pages.return = __syscall.move_pages.return?, kernel.function("compat_sys_move_pages").return?{ (name) = ("move_pages"); (retstr) = (return_str(1, $return)); } probe __syscall.move_pages.return = kernel.function("sys_move_pages").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_move_pages %})) next ; } } catch { { next; } } ; } probe syscall.mount = kernel.function("compat_sys_mount").call?, kernel.function("sys_mount").call{ (name) = ("mount"); (source) = (user_string_quoted($dev_name)); (target) = (user_string_quoted($dir_name)); (filesystemtype) = (user_string_quoted($type)); (mountflags) = ($flags); (mountflags_str) = (_mountflags_str($flags)); (data) = (user_string_n_quoted($data, syscall_string_trunc)); (argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted($dev_name), user_string_quoted($dir_name), user_string_quoted($type), mountflags_str, data)); } probe syscall.mount.return = kernel.function("compat_sys_mount").return?, kernel.function("sys_mount").return{ (name) = ("mount"); (retstr) = (return_str(1, $return)); } probe syscall.mmap2 = kernel.function("sys_mmap_pgoff")?{ (name) = ("mmap2"); (start) = ($addr); (length) = (__ulong($len)); (prot) = ($prot); (flags) = ($flags); (fd) = (__int32($fd)); (pgoffset) = (($pgoff) * (%{ /* pure */ /* unprivileged */ /* stable */ PAGE_SIZE %})); (argstr) = (sprintf("%p, %u, %s, %s, %d, %d", $addr, __ulong($len), _mprotect_prot_str($prot), _mmap_flags($flags), __int32($fd), pgoffset)); } probe syscall.mmap2.return = kernel.function("sys_mmap_pgoff").return?{ (name) = ("mmap2"); (retstr) = (return_str(2, $return)); } probe syscall.mprotect = kernel.function("sys_mprotect").call?{ (name) = ("mprotect"); (addr) = ($start); (len) = ($len); (prot) = ($prot); (prot_str) = (_mprotect_prot_str($prot)); (argstr) = (sprintf("%p, %d, %s", $start, $len, _mprotect_prot_str($prot))); } probe syscall.mprotect.return = kernel.function("sys_mprotect").return?{ (name) = ("mprotect"); (retstr) = (return_str(1, $return)); } probe syscall.mq_getsetattr = __syscall.mq_getsetattr, kernel.function("compat_sys_mq_getsetattr").call?{ (name) = ("mq_getsetattr"); (mqdes) = (__int32($mqdes)); (u_mqstat_uaddr) = ($u_mqstat); (u_omqstat_uaddr) = ($u_omqstat); (argstr) = (sprintf("%d, %p, %p", mqdes, u_mqstat_uaddr, u_omqstat_uaddr)); } probe __syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_getsetattr %})) next ; } } catch { { next; } } ; } probe syscall.mq_getsetattr.return = __syscall.mq_getsetattr.return, kernel.function("compat_sys_mq_getsetattr").return?{ (name) = ("mq_getsetattr"); (retstr) = (return_str(1, $return)); } probe __syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_getsetattr %})) next ; } } catch { { next; } } ; } probe syscall.mq_notify = __syscall.mq_notify, kernel.function("compat_sys_mq_notify").call?{ (name) = ("mq_notify"); (mqdes) = (__int32($mqdes)); (notification_uaddr) = ($u_notification); (argstr) = (sprintf("%d, %p", mqdes, $u_notification)); } probe __syscall.mq_notify = kernel.function("sys_mq_notify").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_notify %})) next ; } } catch { { next; } } ; } probe syscall.mq_notify.return = __syscall.mq_notify.return, kernel.function("compat_sys_mq_notify").return?{ (name) = ("mq_notify"); (retstr) = (return_str(1, $return)); } probe __syscall.mq_notify.return = kernel.function("sys_mq_notify").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_notify %})) next ; } } catch { { next; } } ; } probe syscall.mq_open = __syscall.mq_open, kernel.function("compat_sys_mq_open").call?{ (name) = ("mq_open"); (name_uaddr) = ($u_name); (filename) = (user_string_quoted($u_name)); (u_attr_uaddr) = ($u_attr); (oflag) = (__int32($oflag)); (mode) = ((%{ /* pure */ _stp_is_compat_task() %})?(__ushort($mode)):(__uint32($mode))); if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted($u_name), _sys_open_flag_str(oflag), mode, $u_attr)) else (argstr) = (sprintf("%s, %s", user_string_quoted($u_name), _sys_open_flag_str(oflag))) ; } probe __syscall.mq_open = kernel.function("sys_mq_open").call{ } probe syscall.mq_open.return = __syscall.mq_open.return, kernel.function("compat_sys_mq_open").return?{ (name) = ("mq_open"); (retstr) = (return_str(1, $return)); } probe __syscall.mq_open.return = kernel.function("sys_mq_open").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_open %})) next ; } } catch { { next; } } ; } probe syscall.mq_timedreceive = __syscall.mq_timedreceive?, kernel.function("compat_sys_mq_timedreceive").call?{ (name) = ("mq_timedreceive"); (mqdes) = (__int32($mqdes)); (msg_ptr_uaddr) = ($u_msg_ptr); (msg_prio_uaddr) = ($u_msg_prio); (abs_timeout_uaddr) = ($u_abs_timeout); (msg_len) = (__ulong($msg_len)); (argstr) = (sprintf("%d, %p, %u, %p, %p", mqdes, $u_msg_ptr, msg_len, $u_msg_prio, $u_abs_timeout)); } probe __syscall.mq_timedreceive = kernel.function("sys_mq_timedreceive").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedreceive %})) next ; } } catch { { next; } } ; } probe syscall.mq_timedreceive.return = __syscall.mq_timedreceive.return, kernel.function("compat_sys_mq_timedreceive").return?{ (name) = ("mq_timedreceive"); (retstr) = (return_str(1, $return)); } probe __syscall.mq_timedreceive.return = kernel.function("sys_mq_timedreceive").return{ } probe syscall.mq_timedsend = __syscall.mq_timedsend, kernel.function("compat_sys_mq_timedsend").call?{ (name) = ("mq_timedsend"); (mqdes) = (__int32($mqdes)); (msg_ptr_uaddr) = ($u_msg_ptr); (msg_prio) = (__uint32($msg_prio)); (abs_timeout_uaddr) = ($u_abs_timeout); (msg_len) = (__ulong($msg_len)); (argstr) = (sprintf("%d, %p, %u, %u, %p", mqdes, $u_msg_ptr, msg_len, __uint32($msg_prio), $u_abs_timeout)); } probe __syscall.mq_timedsend = kernel.function("sys_mq_timedsend").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_mq_timedsend %})) next ; } } catch { { next; } } ; } probe syscall.mq_timedsend.return = __syscall.mq_timedsend.return, kernel.function("compat_sys_mq_timedsend").return?{ (name) = ("mq_timedsend"); (retstr) = (return_str(1, $return)); } probe __syscall.mq_timedsend.return = kernel.function("sys_mq_timedsend").return{ } probe syscall.mq_unlink = kernel.function("sys_mq_unlink").call?{ (name) = ("mq_unlink"); (u_name_uaddr) = ($u_name); (u_name) = (user_string_quoted($u_name)); (argstr) = (user_string_quoted($u_name)); } probe syscall.mq_unlink.return = kernel.function("sys_mq_unlink").return?{ (name) = ("mq_unlink"); (retstr) = (return_str(1, $return)); } probe syscall.mremap = kernel.function("ia64_mremap").call?, kernel.function("sys_mremap").call?{ (name) = ("mremap"); (old_address) = ($addr); (old_size) = ($old_len); (new_size) = ($new_len); (flags) = ($flags); (new_address) = ($new_addr); (argstr) = (sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len, _mremap_flags($flags), $new_addr)); } probe syscall.mremap.return = kernel.function("ia64_mremap").return?, kernel.function("sys_mremap").return?{ (name) = ("mremap"); (retstr) = (return_str(2, $return)); } probe syscall.msgctl = kernel.function("sys_msgctl").call?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_msgctl %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ipc %}))) next ; (name) = ("msgctl"); (msqid) = (__int32($msqid)); (cmd) = (__int32($cmd)); (cmd_str) = (_stp_msgctl_cmd_str(__int32($cmd))); (buf_uaddr) = ($buf); (argstr) = (sprintf("%d, %s, %p", __int32($msqid), _stp_msgctl_cmd_str(__int32($cmd)), $buf)); } probe syscall.msgctl.return = kernel.function("sys_msgctl").return?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_msgctl %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_ipc %}))) next ; (name) = ("msgctl"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_msgctl = __syscall.compat_msgctl?, __syscall.compat_ipc.msgctl?{ (name) = ("msgctl"); (cmd_str) = (_stp_msgctl_cmd_str(cmd)); (argstr) = (sprintf("%d, %s, %p", msqid, _stp_msgctl_cmd_str(cmd), buf_uaddr)); } probe __syscall.compat_msgctl = kernel.function("compat_sys_msgctl").call?{ (msqid) = (__int32($first)); (cmd) = (__int32($second)); (buf_uaddr) = ($uptr); } probe __syscall.compat_ipc.msgctl = kernel.function("compat_sys_ipc").call?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGCTL %})) next ; (msqid) = (__int32($first)); (cmd) = (__int32($second)); (buf_uaddr) = ($ptr); } probe syscall.compat_sys_msgctl.return = kernel.function("compat_sys_msgctl").return?, __syscall.compat_ipc.msgctl.return?{ (name) = ("msgctl"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_ipc.msgctl.return = kernel.function("compat_sys_ipc").return?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGCTL %})) next ; } probe syscall.msgget = kernel.function("sys_msgget").call?{ (name) = ("msgget"); (key) = (__int32($key)); (key_str) = (_stp_msgget_key_str(__int32($key))); (msgflg) = (__int32($msgflg)); (msgflg_str) = (__sem_flags(__int32($msgflg))); (argstr) = (sprintf("%s, %s", _stp_msgget_key_str(__int32($key)), __sem_flags(__int32($msgflg)))); } probe syscall.msgget.return = kernel.function("sys_msgget").return?{ (name) = ("msgget"); (retstr) = (return_str(1, $return)); } probe syscall.msgrcv = kernel.function("sys_msgrcv").call?{ (name) = ("msgrcv"); (msqid) = (__int32($msqid)); (msgp_uaddr) = ($msgp); (msgsz) = (__ulong($msgsz)); (msgtyp) = ($msgtyp); (msgflg) = (__int32($msgflg)); (msgflg_str) = (_stp_msgflg_str(__int32($msgflg))); (argstr) = (sprintf("%d, %p, %u, %d, %s", __int32($msqid), $msgp, __ulong($msgsz), $msgtyp, _stp_msgflg_str(__int32($msgflg)))); } probe syscall.msgrcv.return = kernel.function("sys_msgrcv").return?{ (name) = ("msgrcv"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_msgrcv = __syscall.compat_msgrcv?, __syscall.compat_ipc.msgrcv?{ (name) = ("msgrcv"); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %d, %s", msqid, msgp_uaddr, msgsz, msgtyp, _stp_msgflg_str(msgflg))); } probe __syscall.compat_msgrcv = kernel.function("compat_sys_msgrcv").call?{ (msqid) = (__int32((@defined($msqid))?($msqid):($first))); if (@defined($version)) { (msgp_uaddr) = (_stp_compat_msgrcv_msgbuf($uptr, $version)); (msgtyp) = (_stp_compat_msgrcv_msgtyp($uptr, $version, $msgtyp)); } else { (msgp_uaddr) = ($msgp); (msgtyp) = (__int32($msgtyp)); } ; (msgsz) = (__uint32((@defined($msgsz))?($msgsz):($second))); (msgflg) = (__int32((@defined($msgflg))?($msgflg):($third))); } probe __syscall.compat_ipc.msgrcv = kernel.function("compat_sys_ipc").call?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGRCV %})) next ; (msqid) = (__int32($first)); (msgsz) = (__uint32($second)); (msgflg) = (__int32($third)); (__version) = (($call) & (4294901760)); (msgp_uaddr) = (_stp_compat_msgrcv_msgbuf($ptr, __version)); (msgtyp) = (_stp_compat_msgrcv_msgtyp($ptr, __version, $fifth)); } probe syscall.compat_sys_msgrcv.return = kernel.function("compat_sys_msgrcv").return?, __syscall.compat_ipc.msgrcv.return?{ (name) = ("msgrcv"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_ipc.msgrcv.return = kernel.function("compat_sys_ipc").return?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGRCV %})) next ; } probe syscall.msgsnd = kernel.function("sys_msgsnd").call?{ (name) = ("msgsnd"); (msqid) = (__int32($msqid)); (msgp_uaddr) = ($msgp); (msgsz) = (__ulong($msgsz)); (msgflg) = (__int32($msgflg)); (msgflg_str) = (_stp_msgflg_str(__int32($msgflg))); (argstr) = (sprintf("%d, %p, %u, %s", __int32($msqid), $msgp, msgsz, _stp_msgflg_str(__int32($msgflg)))); } probe syscall.msgsnd.return = kernel.function("sys_msgsnd").return?{ (name) = ("msgsnd"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_msgsnd = __syscall.compat_msgsnd?, __syscall.compat_ipc.msgsnd?{ (name) = ("msgsnd"); (msgflg_str) = (_stp_msgflg_str(msgflg)); (argstr) = (sprintf("%d, %p, %u, %s", msqid, msgp_uaddr, msgsz, _stp_msgflg_str(msgflg))); } probe __syscall.compat_msgsnd = kernel.function("compat_sys_msgsnd").call?{ (msqid) = (__int32((@defined($msqid))?($msqid):($first))); (msgp_uaddr) = ((@defined($msgp))?($msgp):($uptr)); (msgsz) = (__uint32((@defined($msgsz))?($msgsz):($second))); (msgflg) = (__int32((@defined($msgflg))?($msgflg):($third))); } probe __syscall.compat_ipc.msgsnd = kernel.function("compat_sys_ipc").call?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGSND %})) next ; (msqid) = (__int32($first)); (msgsz) = (__uint32($second)); (msgflg) = (__int32($third)); (msgp_uaddr) = ($ptr); } probe syscall.compat_sys_msgsnd.return = kernel.function("compat_sys_msgsnd").return?, __syscall.compat_ipc.msgsnd.return?{ (name) = ("msgsnd"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_ipc.msgsnd.return = kernel.function("compat_sys_ipc").return?{ if ((($call) & (65535)) != (%{ /* pure */ /* unprivileged */ /* stable */ MSGSND %})) next ; } probe syscall.msync = kernel.function("sys_msync").call?{ (name) = ("msync"); (start) = ($start); (length) = (__ulong($len)); (flags) = (__int32($flags)); (argstr) = (sprintf("%p, %u, %s", start, length, _msync_flag_str(flags))); } probe syscall.msync.return = kernel.function("sys_msync").return?{ (name) = ("msync"); (retstr) = (return_str(1, $return)); } probe syscall.munlock = kernel.function("sys_munlock").call?{ (name) = ("munlock"); (addr) = ($start); (len) = ($len); (argstr) = (sprintf("%p, %d", addr, len)); } probe syscall.munlock.return = kernel.function("sys_munlock").return?{ (name) = ("munlock"); (retstr) = (return_str(1, $return)); } probe syscall.munlockall = kernel.function("sys_munlockall").call?{ (name) = ("munlockall"); (argstr) = (""); } probe syscall.munlockall.return = kernel.function("sys_munlockall").return?{ (name) = ("munlockall"); (retstr) = (return_str(1, $return)); } probe syscall.munmap = kernel.function("sys_munmap").call{ (name) = ("munmap"); (start) = ($addr); (length) = (__ulong($len)); (argstr) = (sprintf("%p, %u", start, length)); } probe syscall.munmap.return = kernel.function("sys_munmap").return{ (name) = ("munmap"); (retstr) = (return_str(1, $return)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp probe syscall.name_to_handle_at = kernel.function("sys_name_to_handle_at").call?{ (name) = ("name_to_handle_at"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(dfd)); (pathname) = (user_string_quoted($name)); (handle_uaddr) = ($handle); (mnt_id_uaddr) = ($mnt_id); (flags) = ($flag); (flags_str) = (_at_flag_str(flags)); (argstr) = (sprintf("%s, %s, %p, %p, %s", dfd_str, pathname, handle_uaddr, mnt_id_uaddr, flags_str)); } probe syscall.name_to_handle_at.return = kernel.function("sys_name_to_handle_at").return?{ (name) = ("name_to_handle_at"); (retstr) = (return_str(1, $return)); } probe syscall.nanosleep = kernel.function("sys_nanosleep").call{ (name) = ("nanosleep"); (req_uaddr) = ($rqtp); (rem_uaddr) = ($rmtp); (argstr) = (sprintf("%s, %p", _struct_timespec_u($rqtp, 1), $rmtp)); } probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return{ (name) = ("nanosleep"); (retstr) = (return_str(1, $return)); } probe syscall.compat_nanosleep = kernel.function("compat_sys_nanosleep").call?{ (name) = ("nanosleep"); (req_uaddr) = ($rqtp); (rem_uaddr) = ($rmtp); (argstr) = (sprintf("%s, %p", _struct_compat_timespec_u($rqtp, 1), $rmtp)); } probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").return?{ (name) = ("nanosleep"); (retstr) = (return_str(1, $return)); } probe syscall.nice = kernel.function("sys_nice").call?{ (name) = ("nice"); (inc) = (__int32($increment)); (argstr) = (sprintf("%d", inc)); } probe syscall.nice.return = kernel.function("sys_nice").return?{ (name) = ("nice"); (retstr) = (return_str(1, $return)); } probe syscall.ni_syscall = kernel.function("sys_ni_syscall").call{ (name) = ("ni_syscall"); (argstr) = (""); } probe syscall.ni_syscall.return = kernel.function("sys_ni_syscall").return{ (name) = ("ni_syscall"); (retstr) = (return_str(1, $return)); } probe syscall.open_by_handle_at = kernel.function("sys_open_by_handle_at").call?, kernel.function("compat_sys_open_by_handle_at").call?{ (name) = ("open_by_handle_at"); (mount_dfd) = (__int32($mountdirfd)); (mount_dfd_str) = (_dfd_str(mount_dfd)); (handle_uaddr) = ($handle); (flags) = (__int32($flags)); (flags_str) = (_sys_open_flag_str(flags)); (argstr) = (sprintf("%s, %p, %s", mount_dfd_str, handle_uaddr, flags_str)); } probe syscall.open_by_handle_at.return = kernel.function("sys_open_by_handle_at").return?, kernel.function("compat_sys_open_by_handle_at").return?{ (name) = ("open_by_handle_at"); (retstr) = (return_str(1, $return)); } probe syscall.open = __syscall.compat_open?, __syscall.open{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_open %})) next ; } } catch { { next; } } ; (name) = ("open"); (flags) = (__int32($flags)); if (($flags) & (%{ /* pure */ /* unprivileged */ /* stable */ O_CREAT %})) (argstr) = (sprintf("%s, %s, %#o", filename, _sys_open_flag_str(__int32($flags)), mode)) else (argstr) = (sprintf("%s, %s", filename, _sys_open_flag_str(__int32($flags)))) ; } probe __syscall.compat_open = kernel.function("compat_sys_open").call?, kernel.function("sys32_open").call?{ (filename) = (user_string_quoted(__uint32($filename))); (mode) = (__uint32($mode)); } probe __syscall.open = kernel.function("sys_open").call{ (filename) = (user_string_quoted($filename)); (mode) = (__uint32($mode)); } probe syscall.open.return = kernel.function("compat_sys_open").return?, kernel.function("sys32_open").return?, kernel.function("sys_open").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_open %})) next ; } } catch { { next; } } ; (name) = ("open"); (retstr) = (return_str(1, $return)); } probe syscall.openat = kernel.function("compat_sys_openat").call?, kernel.function("sys_openat").call?{ (name) = ("openat"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(__int32($dfd))); (filename) = (user_string_quoted($filename)); (flags) = ($flags); (mode) = (__uint32($mode)); if (($flags) & (%{ /* pure */ /* unprivileged */ /* stable */ O_CREAT %})) (argstr) = (sprintf("%s, %s, %s, %#o", _dfd_str(__int32($dfd)), filename, _sys_open_flag_str($flags), __uint32($mode))) else (argstr) = (sprintf("%s, %s, %s", _dfd_str(__int32($dfd)), filename, _sys_open_flag_str(__int32($flags)))) ; } probe syscall.openat.return = kernel.function("compat_sys_openat").return?, kernel.function("sys_openat").return?{ (name) = ("openat"); (retstr) = (return_str(1, $return)); } probe syscall.pause = kernel.function("sys_pause").call?, kernel.function("sys32_pause").call?, kernel.function("compat_sys_pause").call?{ (name) = ("pause"); (argstr) = (""); } probe syscall.pause.return = kernel.function("sys_pause").return?, kernel.function("sys32_pause").return?, kernel.function("compat_sys_pause").return?{ (name) = ("pause"); (retstr) = (return_str(1, $return)); } probe syscall.perf_event_open = kernel.function("sys_perf_event_open").call?{ (name) = ("perf_event_open"); (attr_uaddr) = ($attr_uptr); (pid) = (__int32($pid)); (cpu) = (__int32($cpu)); (group_fd) = (__int32($group_fd)); (flags) = (__ulong($flags)); (flags_str) = (_perf_event_open_flags_str(flags)); (argstr) = (sprintf("%p, %d, %d, %d, %s", attr_uaddr, pid, cpu, group_fd, _perf_event_open_flags_str(flags))); } probe syscall.perf_event_open.return = kernel.function("sys_perf_event_open").return?{ (name) = ("perf_event_open"); (retstr) = (return_str(1, $return)); } probe syscall.personality = kernel.function("sys_personality").call{ (name) = ("personality"); (persona) = (__uint32($personality)); (argstr) = (sprintf("%#x", persona)); } probe syscall.personality.return = kernel.function("sys_personality").return{ (name) = ("personality"); (retstr) = (return_str(1, $return)); } probe syscall.pipe = __syscall.pipe2?, __syscall.ia64_pipe?, __syscall.pipe{ } probe __syscall.pipe2 = kernel.function("sys_pipe2").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pipe2 %})) next ; } } catch { { next; } } ; (name) = ("pipe2"); (flags) = (__int32($flags)); (flag_str) = (_sys_pipe2_flag_str(flags)); (fildes_uaddr) = ($fildes); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); (argstr) = ("NULL"); } else { (pipe0) = (user_int(&@cast($fildes, "int")[0])); (pipe1) = (user_int(&@cast($fildes, "int")[1])); (argstr) = (sprintf("[%d, %d], %s", pipe0, pipe1, flag_str)); } ; } probe __syscall.ia64_pipe = kernel.function("sys_ia64_pipe").call?{ (name) = ("pipe"); (flags) = (0); (flag_str) = (""); (fildes_uaddr) = (0); (pipe0) = (0); (pipe1) = (0); (argstr) = ("[0, 0]"); } probe __syscall.pipe = kernel.function("sys_pipe").call{ (name) = ("pipe"); (flags) = (0); (flag_str) = (""); (fildes_uaddr) = ($fildes); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); (argstr) = ("NULL"); } else { (pipe0) = (user_int(&@cast($fildes, "int")[0])); (pipe1) = (user_int(&@cast($fildes, "int")[1])); (argstr) = (sprintf("[%d, %d]", pipe0, pipe1)); } ; } probe syscall.pipe.return = __syscall.pipe2.return?, __syscall.ia64_pipe.return?, __syscall.pipe.return{ } probe __syscall.pipe2.return = kernel.function("sys_pipe2").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pipe2 %})) next ; } } catch { { next; } } ; (name) = ("pipe2"); (fildes_uaddr) = ($fildes); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); } else { (pipe0) = (user_int(&@cast($fildes, "int")[0])); (pipe1) = (user_int(&@cast($fildes, "int")[1])); } ; (retstr) = (return_str(1, $return)); } probe __syscall.ia64_pipe.return = kernel.function("sys_ia64_pipe").return?{ (name) = ("pipe"); (fildes_uaddr) = (0); (pipe0) = (_ia64_pipe0()); (pipe1) = (_ia64_pipe1()); (retstr) = (((pipe0) < (0))?(return_str(1, $return)):("0")); } probe __syscall.pipe.return = kernel.function("sys_pipe").return{ (name) = ("pipe"); (fildes_uaddr) = ($fildes); if ((fildes_uaddr) == (0)) { (pipe0) = (0); (pipe1) = (0); } else { (pipe0) = (user_int(&@cast($fildes, "int")[0])); (pipe1) = (user_int(&@cast($fildes, "int")[1])); } ; (retstr) = (return_str(1, $return)); } probe syscall.pivot_root = kernel.function("sys_pivot_root").call{ (name) = ("pivot_root"); (new_root_str) = (user_string_quoted($new_root)); (old_root_str) = (user_string_quoted($put_old)); (argstr) = (sprintf("%s, %s", user_string_quoted($new_root), user_string_quoted($put_old))); } probe syscall.pivot_root.return = kernel.function("sys_pivot_root").return{ (name) = ("pivot_root"); (retstr) = (return_str(1, $return)); } probe syscall.poll = kernel.function("sys_poll").call{ (name) = ("poll"); (ufds_uaddr) = ($ufds); (nfds) = (__uint32($nfds)); (timeout) = (__int32((@defined($timeout_msecs))?($timeout_msecs):($timeout))); (argstr) = (sprintf("%p, %u, %d", $ufds, __uint32($nfds), __int32((@defined($timeout_msecs))?($timeout_msecs):($timeout)))); } probe syscall.poll.return = kernel.function("sys_poll").return{ (name) = ("poll"); (retstr) = (return_str(1, $return)); } probe syscall.ppoll = kernel.function("sys_ppoll").call?{ (name) = ("ppoll"); (argstr) = (sprintf("%p, %u, %s, %p, %d", $ufds, __uint32($nfds), _struct_timespec_u($tsp, 1), $sigmask, $sigsetsize)); } probe syscall.ppoll.return = kernel.function("sys_ppoll").return?{ (name) = ("ppoll"); (retstr) = (return_str(1, $return)); } probe syscall.compat_ppoll = kernel.function("compat_sys_ppoll").call?{ (name) = ("ppoll"); (argstr) = (sprintf("%p, %u, %s, %p, %d", $ufds, __uint32($nfds), _struct_compat_timespec_u($tsp, 1), $sigmask, $sigsetsize)); } probe syscall.compat_ppoll.return = kernel.function("compat_sys_ppoll").return?{ (name) = ("ppoll"); (retstr) = (return_str(1, $return)); } probe syscall.prctl = kernel.function("sys_prctl").call{ (name) = ("prctl"); (option) = (__int32($option)); (arg2) = ($arg2); (arg3) = ($arg3); (arg4) = ($arg4); (arg5) = ($arg5); (argstr) = (_prctl_argstr(__int32($option), $arg2, $arg3, $arg4, $arg5)); } probe syscall.prctl.return = kernel.function("sys_prctl").return{ (name) = ("prctl"); (retstr) = (return_str(1, $return)); } probe syscall.pread = __syscall.pread{ (name) = ("pread"); (fd) = (__int32($fd)); (buf_uaddr) = ((@defined($buf))?($buf):($ubuf)); (count) = (__ulong($count)); (argstr) = (sprintf("%d, %p, %u, %d", __int32($fd), buf_uaddr, __ulong($count), offset)); } probe __syscall.pread = kernel.function("sys_pread64").call{ (offset) = ($pos); } probe syscall.pread.return = __syscall.pread.return{ (name) = ("pread"); (retstr) = (return_str(1, $return)); } probe __syscall.pread.return = kernel.function("sys_pread64").return{ } probe syscall.preadv = __syscall.preadv?, __syscall.compat_preadv?{ (name) = ("preadv"); } probe __syscall.preadv = kernel.function("sys_preadv"){ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l))); (argstr) = (sprintf("%d, %p, %d, 0x%x", __int32($fd), $vec, __int32($vlen), (($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l)))); } probe __syscall.compat_preadv = kernel.function("compat_sys_preadv"){ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_high) << (32)) + (__uint32($pos_low))); (argstr) = (sprintf("%d, %p, %d, 0x%x", __int32($fd), $vec, __int32($vlen), (($pos_high) << (32)) + (__uint32($pos_low)))); } probe syscall.preadv.return = kernel.function("sys_preadv").return?, kernel.function("compat_sys_preadv").return?{ (name) = ("preadv"); (retstr) = (return_str(1, $return)); } probe syscall.preadv2 = __syscall.preadv2?, __syscall.compat_preadv2?{ (name) = ("preadv2"); } probe __syscall.preadv2 = kernel.function("sys_preadv2").call?{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l))); (flags) = ($flags); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", __int32($fd), $vec, __int32($vlen), (($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l)), flags_str)); } probe __syscall.compat_preadv2 = kernel.function("compat_sys_preadv2").call?{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_high) << (32)) + (__uint32($pos_low))); (flags) = ($flags); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", __int32($fd), $vec, __int32($vlen), (($pos_high) << (32)) + (__uint32($pos_low)), flags_str)); } probe syscall.preadv2.return = kernel.function("sys_preadv2").return?, kernel.function("compat_sys_preadv2").return?{ (name) = ("preadv2"); (retstr) = (return_str(1, $return)); } probe syscall.prlimit64 = kernel.function("sys_prlimit64").call?{ (name) = ("prlimit64"); (pid) = (__int32($pid)); (resource) = (__int32($resource)); (new_rlim_uaddr) = ($new_rlim); (old_rlim_uaddr) = ($old_rlim); (argstr) = (sprintf("%d, %s, %s, %p", pid, _rlimit_resource_str(resource), _struct_rlimit_u($new_rlim), $old_rlim)); } probe syscall.prlimit64.return = kernel.function("sys_prlimit64").return?{ (name) = ("prlimit64"); (retstr) = (return_str(1, $return)); } probe syscall.process_vm_readv = kernel.function("sys_process_vm_readv").call?, kernel.function("compat_sys_process_vm_readv").call?{ (name) = ("process_vm_readv"); (pid) = (__int32($pid)); (local_iov_uaddr) = ($lvec); (liovcnt) = (__ulong($liovcnt)); (remote_iov_uaddr) = ($rvec); (riovcnt) = (__ulong($riovcnt)); (flags) = (__ulong($flags)); (argstr) = (sprintf("%d, %p, %u, %p, %u, %u", pid, local_iov_uaddr, liovcnt, remote_iov_uaddr, riovcnt, flags)); } probe syscall.process_vm_readv.return = kernel.function("sys_process_vm_readv").return?, kernel.function("compat_sys_process_vm_readv").return?{ (name) = ("process_vm_readv"); (retstr) = (return_str(1, $return)); } probe syscall.process_vm_writev = kernel.function("sys_process_vm_writev").call?, kernel.function("compat_sys_process_vm_writev").call?{ (name) = ("process_vm_writev"); (pid) = (__int32($pid)); (local_iov_uaddr) = ($lvec); (liovcnt) = (__ulong($liovcnt)); (remote_iov_uaddr) = ($rvec); (riovcnt) = (__ulong($riovcnt)); (flags) = (__ulong($flags)); (argstr) = (sprintf("%d, %p, %u, %p, %u, %u", pid, local_iov_uaddr, liovcnt, remote_iov_uaddr, riovcnt, flags)); } probe syscall.process_vm_writev.return = kernel.function("sys_process_vm_writev").return?, kernel.function("compat_sys_process_vm_writev").return?{ (name) = ("process_vm_writev"); (retstr) = (return_str(1, $return)); } probe syscall.pselect6 = kernel.function("sys_pselect6").call?{ (name) = ("pselect6"); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p", __int32($n), $inp, $outp, $exp, _struct_timespec_u($tsp, 1), $sig)); } probe syscall.pselect6.return = kernel.function("sys_pselect6").return?{ (name) = ("pselect6"); (retstr) = (return_str(1, $return)); } probe syscall.compat_pselect6 = kernel.function("compat_sys_pselect6").call?{ (name) = ("pselect6"); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p", __int32($n), $inp, $outp, $exp, _struct_compat_timespec_u($tsp, 1), $sig)); } probe syscall.compat_pselect6.return = kernel.function("compat_sys_pselect6").return?{ (name) = ("pselect6"); (retstr) = (return_str(1, $return)); } probe syscall.pselect7 = kernel.function("sys_pselect7").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pselect7 %})) next ; } } catch { { next; } } ; (name) = ("pselect7"); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p, %d", __int32($n), $inp, $outp, $exp, _struct_timespec_u($tsp, 1), $sigmask, $sigsetsize)); } probe syscall.pselect7.return = kernel.function("sys_pselect7").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_pselect7 %})) next ; } } catch { { next; } } ; (name) = ("pselect7"); (retstr) = (return_str(1, $return)); } probe syscall.compat_pselect7 = kernel.function("compat_sys_pselect7").call?{ (name) = ("pselect7"); (argstr) = (sprintf("%d, %p, %p, %p, %s, %p, %d", __int32($n), $inp, $outp, $exp, _struct_compat_timespec_u($tsp, 1), $sigmask, $sigsetsize)); } probe syscall.compat_pselect7.return = kernel.function("compat_sys_pselect7").return?{ (name) = ("pselect7"); (retstr) = (return_str(1, $return)); } probe syscall.ptrace = kernel.function("sys_ptrace").call?, kernel.function("compat_sys_ptrace").call?{ (name) = ("ptrace"); (request) = ($request); (pid) = (__int32($pid)); (addr) = (__ulong($addr)); (data) = (__ulong((@defined($data))?($data):($cdata))); (argstr) = (_ptrace_argstr($request, pid, addr, data)); } probe syscall.ptrace.return = kernel.function("sys_ptrace").return?, kernel.function("compat_sys_ptrace").return?{ (name) = ("ptrace"); (retstr) = (return_str(1, $return)); (geteventmsg_data) = (_ptrace_return_geteventmsg_data($request, $data)); (arch_prctl_addr) = (_ptrace_return_arch_prctl_addr($request, $addr, $data)); } probe syscall.pwrite = kernel.function("sys_pwrite64").call{ (name) = ("pwrite"); (fd) = (__int32($fd)); (buf_uaddr) = ($buf); (count) = (__ulong($count)); (offset) = ($pos); (argstr) = (sprintf("%d, %s, %u, %d", __int32($fd), user_buffer_quoted($buf, $count, syscall_string_trunc), __ulong($count), $pos)); } probe syscall.pwrite.return = kernel.function("sys_pwrite64").return{ (name) = ("pwrite"); (retstr) = (return_str(1, $return)); } probe syscall.pwrite32 = kernel.function("sys32_pwrite64").call?{ (name) = ("pwrite"); (fd) = (__int32($fd)); (count) = ($count); (offset) = ((($poshi) << (32)) + ($poslo)); (buf_uaddr) = ((@defined($buf))?($buf):($ubuf)); (argstr) = (sprintf("%d, %s, %u, %d", __int32($fd), user_buffer_quoted(buf_uaddr, $count, syscall_string_trunc), $count, (($poshi) << (32)) + ($poslo))); } probe syscall.pwrite32.return = kernel.function("sys32_pwrite64").return?{ (name) = ("pwrite"); (retstr) = (return_str(1, $return)); } probe syscall.pwritev = __syscall.pwritev?, __syscall.compat_pwritev?{ (name) = ("pwritev"); } probe __syscall.pwritev = kernel.function("sys_pwritev").call{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l))); (argstr) = (sprintf("%d, %p, %d, 0x%x", __int32($fd), $vec, __int32($vlen), (($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l)))); } probe __syscall.compat_pwritev = kernel.function("compat_sys_pwritev").call{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_high) << (32)) + (__uint32($pos_low))); (argstr) = (sprintf("%d, %p, %d, 0x%x", __int32($fd), $vec, __int32($vlen), (($pos_high) << (32)) + (__uint32($pos_low)))); } probe syscall.pwritev.return = kernel.function("sys_pwritev").return?, kernel.function("compat_sys_pwritev").return?{ (name) = ("pwritev"); (retstr) = (return_str(1, $return)); } probe syscall.pwritev2 = __syscall.pwritev2?, __syscall.compat_pwritev2?{ (name) = ("pwritev2"); } probe __syscall.pwritev2 = kernel.function("sys_pwritev2").call?{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l))); (flags) = ($flags); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", __int32($fd), $vec, __int32($vlen), (($pos_h) << (%{ /* pure */ /* unprivileged */ /* stable */ BITS_PER_LONG %})) + (__ulong($pos_l)), flags_str)); } probe __syscall.compat_pwritev2 = kernel.function("compat_sys_pwritev2").call?{ (fd) = (__int32($fd)); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (offset) = ((($pos_high) << (32)) + ($pos_low)); (flags) = ($flags); (flags_str) = (_preadv2_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, 0x%x, %s", __int32($fd), $vec, __int32($vlen), (($pos_high) << (32)) + ($pos_low), flags_str)); } probe syscall.pwritev2.return = kernel.function("sys_pwritev2").return?, kernel.function("compat_sys_pwritev2").return?{ (name) = ("pwritev2"); (retstr) = (return_str(1, $return)); } probe syscall.quotactl = __syscall.quotactl?, kernel.function("sys32_quotactl").call?{ (name) = ("quotactl"); (cmd) = (__uint32($cmd)); (cmd_str) = (_quotactl_cmd_str(__uint32($cmd))); (special) = ($special); (special_str) = (user_string_quoted($special)); (id) = (__int32($id)); (addr_uaddr) = ($addr); if ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_QUOTAON %})) { (argstr) = (sprintf("%s, %s, %s, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), _quotactl_quota_type_str(id), user_string_quoted(addr_uaddr))); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETQUOTA %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SETQUOTA %}))) { (argstr) = (sprintf("%s, %s, %d, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), id, _struct_dqblk_u(addr_uaddr))); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETINFO %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SETINFO %}))) { (argstr) = (sprintf("%s, %s, %d, %s", _quotactl_cmd_str(cmd), user_string_quoted(special), id, _struct_dqinfo_u(addr_uaddr))); } else if ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_GETFMT %})) { (argstr) = (sprintf("%s, %s, %d, %x", _quotactl_cmd_str(cmd), user_string_quoted(special), id, addr_uaddr)); } else if (((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_SYNC %})) || ((_quotactl_subcmd(cmd)) == (%{ /* pure */ /* unprivileged */ /* stable */ Q_QUOTAOFF %}))) { (argstr) = (sprintf("%s, %s, %d, %p", _quotactl_cmd_str(cmd), user_string_quoted(special), id, addr_uaddr)); } else { (argstr) = (sprintf("%s, %p, %d, %p", _quotactl_cmd_str(cmd), special, id, addr_uaddr)); } ; } probe __syscall.quotactl = kernel.function("sys_quotactl").call?{ } probe syscall.quotactl.return = __syscall.quotactl.return?, kernel.function("sys32_quotactl").return?{ (name) = ("quotactl"); (retstr) = (return_str(1, $return)); } probe __syscall.quotactl.return = kernel.function("sys_quotactl").return?{ } probe syscall.read = __syscall.read{ (name) = ("read"); (fd) = (__int32($fd)); (buf_uaddr) = ($buf); (count) = (__ulong($count)); (argstr) = (sprintf("%d, %p, %u", __int32($fd), $buf, __ulong($count))); } probe __syscall.read = kernel.function("sys_read").call{ } probe syscall.read.return = __syscall.read.return{ (name) = ("read"); (retstr) = (return_str(1, $return)); } probe __syscall.read.return = kernel.function("sys_read").return{ } probe syscall.readahead = kernel.function("sys_readahead").call{ (name) = ("readahead"); (fd) = (__int32($fd)); (offset) = ($offset); (count) = ($count); (argstr) = (sprintf("%d, %d, %u", fd, offset, count)); } probe syscall.readahead.return = kernel.function("sys_readahead").return{ (name) = ("readahead"); (retstr) = (return_str(1, $return)); } probe syscall.readdir = kernel.function("compat_sys_old_readdir").call?, kernel.function("old32_readdir").call?, kernel.function("old_readdir").call?, kernel.function("sys_old_readdir").call?{ (name) = ("readdir"); (fd) = (__uint32($fd)); (dirent) = ($dirent); (count) = (__uint32($count)); (argstr) = (sprintf("%u, %p, %u", fd, dirent, count)); } probe syscall.readdir.return = kernel.function("compat_sys_old_readdir").return?, kernel.function("old32_readdir").return?, kernel.function("old_readdir").return?, kernel.function("sys_old_readdir").return?{ (name) = ("readdir"); (retstr) = (return_str(1, $return)); } probe syscall.readlink = kernel.function("sys_readlink").call{ (name) = ("readlink"); (path) = (user_string_quoted($path)); (buf_uaddr) = ($buf); (bufsiz) = (__int32($bufsiz)); (argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $buf, __int32($bufsiz))); } probe syscall.readlink.return = kernel.function("sys_readlink").return{ (name) = ("readlink"); (retstr) = (return_str(1, $return)); } probe syscall.readlinkat = kernel.function("sys_readlinkat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_readlinkat %})) next ; } } catch { { next; } } ; (name) = ("readlinkat"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(__int32($dfd))); (buf_uaddr) = ($buf); (bufsiz) = (__int32($bufsiz)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %s, %p, %d", _dfd_str(__int32($dfd)), user_string_quoted((@defined($pathname))?($pathname):($path)), $buf, __int32($bufsiz))); } probe syscall.readlinkat.return = kernel.function("sys_readlinkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_readlinkat %})) next ; } } catch { { next; } } ; (name) = ("readlinkat"); (retstr) = (return_str(1, $return)); } probe syscall.readv = kernel.function("compat_sys_readv").call?, kernel.function("sys_readv").call{ (name) = ("readv"); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (fd) = (__int32($fd)); (argstr) = (sprintf("%d, %p, %d", __int32($fd), $vec, __int32($vlen))); } probe syscall.readv.return = kernel.function("compat_sys_readv").return?, kernel.function("sys_readv").return{ (name) = ("readv"); (retstr) = (return_str(1, $return)); } probe syscall.reboot = kernel.function("sys_reboot").call{ (name) = ("reboot"); (magic) = (__int32($magic1)); (magic_str) = (_reboot_magic_str(__int32($magic1))); (magic2) = (__int32($magic2)); (magic2_str) = (_reboot_magic_str(__int32($magic2))); (flag) = (__uint32($cmd)); (flag_str) = (_reboot_flag_str(__uint32($cmd))); (arg_uaddr) = ($arg); (argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, $arg)); } probe syscall.reboot.return = kernel.function("sys_reboot").return{ (name) = ("reboot"); (retstr) = (return_str(1, $return)); } probe syscall.recv = __syscall.socketcall.recv?, __syscall.compat_socketcall.recv?, __syscall.recv?{ (name) = ("recv"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", s, buf_uaddr, len, _msg_flags_str(flags))); } probe __syscall.socketcall.recv = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (buf_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (len) = (user_ulong(&@cast($args, "ulong")[2])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[3]))); } probe __syscall.compat_socketcall.recv = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (buf_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (len) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_uint32(&@cast($args, "unsigned int")[3])); } probe __syscall.recv = kernel.function("sys_recv").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recv %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (buf_uaddr) = ($ubuf); (len) = (__ulong($size)); (flags) = (__uint32($flags)); } probe syscall.recv.return = __syscall.socketcall.recv.return?, __syscall.recv.return?{ (name) = ("recv"); (retstr) = (return_str(1, $return)); } probe __syscall.socketcall.recv.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECV %})) next ; } probe __syscall.recv.return = kernel.function("sys_recv").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recv %})) next ; } } catch { { next; } } ; } probe syscall.recvfrom = __syscall.socketcall.recvfrom?, __syscall.compat_socketcall.recvfrom?, __syscall.recvfrom?{ (name) = ("recvfrom"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s, %p, %p", s, buf_uaddr, len, _msg_flags_str(flags), addr_uaddr, addrlen_uaddr)); } probe __syscall.socketcall.recvfrom = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (buf_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (len) = (user_ulong(&@cast($args, "ulong")[2])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[3]))); (addr_uaddr) = (user_ulong(&@cast($args, "ulong")[4])); (addrlen_uaddr) = (__uint32(user_ulong(&@cast($args, "ulong")[5]))); } probe __syscall.compat_socketcall.recvfrom = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (buf_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (len) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_uint32(&@cast($args, "unsigned int")[3])); (addr_uaddr) = (user_uint32(&@cast($args, "unsigned int")[4])); (addrlen_uaddr) = (user_uint32(&@cast($args, "unsigned int")[5])); } probe __syscall.recvfrom = kernel.function("sys_recvfrom").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvfrom %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (buf_uaddr) = ($ubuf); (len) = (__ulong($size)); (flags) = (__uint32($flags)); (addr_uaddr) = ($addr); (addrlen_uaddr) = ($addr_len); } probe syscall.recvfrom.return = __syscall.socketcall.return?, __syscall.recvfrom.return?{ (name) = ("recvfrom"); (retstr) = (return_str(1, $return)); } probe __syscall.socketcall.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVFROM %})) next ; } probe __syscall.recvfrom.return = kernel.function("sys_recvfrom").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvfrom %})) next ; } } catch { { next; } } ; } probe syscall.recvmmsg = kernel.function("sys_recvmmsg").call?{ (name) = ("recvmmsg"); (s) = (__int32($fd)); (mmsg_uaddr) = ($mmsg); (vlen) = (__uint32($vlen)); (flags) = (__uint32($flags)); (flags_str) = (_msg_flags_str(flags)); (timeout_uaddr) = ($timeout); (argstr) = (sprintf("%d, %p, %u, %s, %s", s, $mmsg, vlen, _msg_flags_str(flags), _struct_timespec_u($timeout, 1))); } probe syscall.recvmmsg.return = kernel.function("sys_recvmmsg").return?{ (name) = ("recvmmsg"); (retstr) = (return_str(1, $return)); } probe syscall.compat_recvmmsg = kernel.function("compat_sys_recvmmsg").call?{ (name) = ("recvmmsg"); (s) = (__int32($fd)); (mmsg_uaddr) = ($mmsg); (vlen) = (__uint32($vlen)); (flags) = (__uint32($flags)); (flags_str) = (_msg_flags_str(flags)); (timeout_uaddr) = ($timeout); (argstr) = (sprintf("%d, %p, %u, %s, %s", s, $mmsg, vlen, _msg_flags_str(flags), _struct_compat_timespec_u($timeout, 1))); } probe syscall.compat_recvmmsg.return = kernel.function("compat_sys_recvmmsg").return?{ (name) = ("recvmmsg"); (retstr) = (return_str(1, $return)); } probe syscall.recvmsg = __syscall.recvmsg?, __syscall.socketcall.recvmsg?{ (name) = ("recvmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe __syscall.recvmsg = kernel.function("sys_recvmsg").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvmsg %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (msg_uaddr) = ($msg); (flags) = (__uint32($flags)); } probe __syscall.socketcall.recvmsg = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (msg_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[2]))); } probe syscall.recvmsg.return = __syscall.recvmsg.return?, __syscall.socketcall.recvmsg.return?{ (name) = ("recvmsg"); (retstr) = (return_str(1, $return)); } probe __syscall.recvmsg.return = kernel.function("sys_recvmsg").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_recvmsg %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.recvmsg.return = kernel.function("sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; } probe syscall.compat_sys_recvmsg = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (name) = ("recvmsg"); (s) = (user_int(&@cast($args, "unsigned int")[0])); (msg_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (flags) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe syscall.compat_sys_recvmsg.return = kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_RECVMSG %})) next ; (name) = ("recvmsg"); (retstr) = (return_str(1, $return)); } probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages").call?{ (name) = ("remap_file_pages"); (start) = (__ulong($start)); (size) = (__ulong($size)); (prot) = (__ulong((@defined($prot))?($prot):($__prot))); (pgoff) = (__ulong($pgoff)); (flags) = (__ulong($flags)); (argstr) = (sprintf("%p, %p, %s, %p, %s", start, size, _mprotect_prot_str(prot), pgoff, _mmap_flags(flags))); } probe syscall.remap_file_pages.return = kernel.function("sys_remap_file_pages").return?{ (name) = ("remap_file_pages"); (retstr) = (return_str(1, $return)); } probe syscall.removexattr = kernel.function("sys_removexattr").call{ (name) = ("removexattr"); (name_str) = (user_string_quoted($name)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %s", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name))); } probe syscall.removexattr.return = kernel.function("sys_removexattr").return{ (name) = ("removexattr"); (retstr) = (return_str(1, $return)); } probe syscall.rename = kernel.function("sys_rename").call{ (name) = ("rename"); (oldpath) = (user_string_quoted($oldname)); (newpath) = (user_string_quoted($newname)); (argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname))); } probe syscall.rename.return = kernel.function("sys_rename").return{ (name) = ("rename"); (retstr) = (return_str(1, $return)); } probe syscall.renameat = kernel.function("sys_renameat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat %})) next ; } } catch { { next; } } ; (name) = ("renameat"); (olddfd) = (__int32($olddfd)); (olddfd_str) = (_dfd_str(__int32($olddfd))); (oldname) = ($oldname); (oldname_str) = (user_string_quoted($oldname)); (newdfd) = (__int32($newdfd)); (newdfd_str) = (_dfd_str(__int32($newdfd))); (newname) = ($newname); (newname_str) = (user_string_quoted($newname)); (argstr) = (sprintf("%s, %s, %s, %s", olddfd_str, user_string_quoted($oldname), newdfd_str, user_string_quoted($newname))); } probe syscall.renameat.return = kernel.function("sys_renameat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat %})) next ; } } catch { { next; } } ; (name) = ("renameat"); (retstr) = (return_str(1, $return)); } probe syscall.renameat2 = kernel.function("sys_renameat2").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat2 %})) next ; } } catch { { next; } } ; (name) = ("renameat2"); (olddfd) = (__int32($olddfd)); (olddfd_str) = (_dfd_str(__int32($olddfd))); (oldname) = ($oldname); (oldname_str) = (user_string_quoted($oldname)); (newdfd) = (__int32($newdfd)); (newdfd_str) = (_dfd_str(__int32($newdfd))); (newname) = ($newname); (newname_str) = (user_string_quoted($newname)); (flags) = (__uint32($flags)); (flags_str) = (_renameat2_flags_str(flags)); (argstr) = (sprintf("%s, %s, %s, %s, %s", olddfd_str, user_string_quoted($oldname), newdfd_str, user_string_quoted($newname), _renameat2_flags_str(flags))); } probe syscall.renameat2.return = kernel.function("sys_renameat2").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_renameat2 %})) next ; } } catch { { next; } } ; (name) = ("renameat2"); (retstr) = (return_str(1, $return)); } probe syscall.request_key = kernel.function("sys_request_key").call?{ (name) = ("request_key"); (type_uaddr) = ($_type); (description_uaddr) = ($_description); (callout_info_uaddr) = ($_callout_info); (destringid) = (__int32($destringid)); (argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($_type), user_string_quoted($_description), $_callout_info, __int32($destringid))); } probe syscall.request_key.return = kernel.function("sys_request_key").return?{ (name) = ("request_key"); (retstr) = (return_str(1, $return)); } probe syscall.restart_syscall = kernel.function("sys_restart_syscall").call{ (name) = ("restart_syscall"); (argstr) = (""); } probe syscall.restart_syscall.return = kernel.function("sys_restart_syscall").return{ (name) = ("restart_syscall"); (retstr) = (return_str(1, $return)); } probe syscall.rmdir = kernel.function("sys_rmdir").call{ (name) = ("rmdir"); (pathname) = (user_string_quoted($pathname)); (argstr) = (user_string_quoted($pathname)); } probe syscall.rmdir.return = kernel.function("sys_rmdir").return{ (name) = ("rmdir"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction").call?{ (name) = ("rt_sigaction"); (sig) = (__int32($sig)); (act_uaddr) = ($act); (oact_uaddr) = ($oact); (sigsetsize) = ($sigsetsize); (argstr) = (sprintf("%s, {%s}, %p, %d", _signal_name(sig), _struct_sigaction_u($act), $oact, $sigsetsize)); } probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return?{ (name) = ("rt_sigaction"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction").call?, kernel.function("compat_sys_rt_sigaction").call?{ (name) = ("rt_sigaction"); (sig) = (__int32($sig)); (act_uaddr) = ($act); (oact_uaddr) = ($oact); (sigsetsize) = ($sigsetsize); (argstr) = (sprintf("%s, {%s}, %p, %d", _signal_name(sig), _struct_sigaction32_u(act_uaddr), $oact, $sigsetsize)); } probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return?, kernel.function("compat_sys_rt_sigaction").return?{ (name) = ("rt_sigaction"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigpending = __syscall.rt_sigpending?, kernel.function("compat_sys_rt_sigpending").call!, kernel.function("sys32_rt_sigpending").call?{ (name) = ("rt_sigpending"); (set_uaddr) = ((@defined($uset))?($uset):($set)); (sigsetsize) = (__ulong($sigsetsize)); (argstr) = (sprintf("%p, %u", set_uaddr, sigsetsize)); } probe __syscall.rt_sigpending = kernel.function("sys_rt_sigpending").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigpending %})) next ; } } catch { { next; } } ; } probe syscall.rt_sigpending.return = __syscall.rt_sigpending.return?, kernel.function("compat_sys_rt_sigpending").return!, kernel.function("sys32_rt_sigpending").return?{ (name) = ("rt_sigpending"); (retstr) = (return_str(1, $return)); } probe __syscall.rt_sigpending.return = kernel.function("sys_rt_sigpending").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigpending %})) next ; } } catch { { next; } } ; } probe syscall.rt_sigprocmask = kernel.function("sys_rt_sigprocmask").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigprocmask %})) next ; } } catch { { next; } } ; (name) = ("rt_sigprocmask"); (how) = (__int32($how)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = ((@defined($set))?($set):($nset)); { (oldset_uaddr) = ($oset); (argstr) = (sprintf("%s, %s, %p, %d", how_str, _stp_sigset_u(set_uaddr), $oset, $sigsetsize)); }; } probe syscall.rt_sigprocmask.return = kernel.function("sys_rt_sigprocmask").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigprocmask %})) next ; } } catch { { next; } } ; (name) = ("rt_sigprocmask"); (retstr) = (return_str(1, $return)); } probe syscall.compat_rt_sigprocmask = kernel.function("compat_sys_rt_sigprocmask").call?, kernel.function("sys32_rt_sigprocmask").call?{ (name) = ("rt_sigprocmask"); (how) = (__int32($how)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = ((@defined($set))?($set):($nset)); (oldset_uaddr) = (__uint32($oset)); (argstr) = (sprintf("%s, %s, %p, %d", how_str, _stp_compat_sigset_u(set_uaddr), __uint32($oset), __uint32($sigsetsize))); } probe syscall.compat_rt_sigprocmask.return = kernel.function("compat_sys_rt_sigprocmask").return?, kernel.function("sys32_rt_sigprocmask").return?{ (name) = ("rt_sigprocmask"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigqueueinfo = __syscall.rt_sigqueueinfo?, kernel.function("sys32_rt_sigqueueinfo").call?, kernel.function("compat_sys_rt_sigqueueinfo").call?{ (name) = ("rt_sigqueueinfo"); (pid) = (__int32($pid)); (sig) = (__int32($sig)); (uinfo_uaddr) = ($uinfo); (argstr) = (sprintf("%d, %s, %s", pid, _signal_name(sig), (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_siginfo_u($uinfo)):(_stp_siginfo_u($uinfo)))); } probe __syscall.rt_sigqueueinfo = kernel.function("sys_rt_sigqueueinfo").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigqueueinfo %})) next ; } } catch { { next; } } ; } probe syscall.rt_sigqueueinfo.return = __syscall.rt_sigqueueinfo.return?, kernel.function("sys32_rt_sigqueueinfo").return?, kernel.function("compat_sys_rt_sigqueueinfo").return?{ (name) = ("rt_sigqueueinfo"); (retstr) = (return_str(1, $return)); } probe __syscall.rt_sigqueueinfo.return = kernel.function("sys_rt_sigqueueinfo").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_rt_sigqueueinfo %})) next ; } } catch { { next; } } ; } probe syscall.rt_sigreturn = kernel.function("ia64_rt_sigreturn").call!, kernel.function("sys_rt_sigreturn").call?, kernel.function("sys32_rt_sigreturn").call?{ (name) = ("rt_sigreturn"); (argstr) = (""); } probe syscall.rt_sigreturn.return = kernel.function("ia64_rt_sigreturn").return!, kernel.function("sys_rt_sigreturn").return?, kernel.function("sys32_rt_sigreturn").return?{ (name) = ("rt_sigreturn"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigsuspend = kernel.function("compat_sys_rt_sigsuspend").call?, kernel.function("ia64_rt_sigsuspend").call?, kernel.function("sys_rt_sigsuspend").call?{ (name) = ("rt_sigsuspend"); (set_uaddr) = ($unewset); (sigsetsize) = (__ulong($sigsetsize)); (argstr) = (sprintf("%s, %u", (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_sigset_u(set_uaddr)):(_stp_sigset_u(set_uaddr)), sigsetsize)); } probe syscall.rt_sigsuspend.return = kernel.function("compat_sys_rt_sigsuspend").return?, kernel.function("ia64_rt_sigsuspend").return?, kernel.function("sys_rt_sigsuspend").return?{ (name) = ("rt_sigsuspend"); (retstr) = (return_str(1, $return)); } probe syscall.rt_sigtimedwait = kernel.function("compat_sys_rt_sigtimedwait").call?, kernel.function("sys_rt_sigtimedwait").call{ (name) = ("rt_sigtimedwait"); (uthese_uaddr) = ($uthese); (uinfo_uaddr) = ($uinfo); (uts_uaddr) = ($uts); (sigsetsize) = ($sigsetsize); if (%{ /* pure */ _stp_is_compat_task() %}) (argstr) = (sprintf("%s, %s, %s, %d", _stp_compat_sigset_u(uthese_uaddr), _stp_compat_siginfo_u(uinfo_uaddr), _struct_compat_timespec_u(uts_uaddr, 1), sigsetsize)) else (argstr) = (sprintf("%s, %s, %s, %d", _stp_sigset_u(uthese_uaddr), _stp_siginfo_u(uinfo_uaddr), _struct_timespec_u(uts_uaddr, 1), sigsetsize)) ; } probe syscall.rt_sigtimedwait.return = kernel.function("compat_sys_rt_sigtimedwait").return?, kernel.function("sys_rt_sigtimedwait").return{ (name) = ("rt_sigtimedwait"); (retstr) = (return_str(1, $return)); } probe syscall.rt_tgsigqueueinfo = kernel.function("sys_rt_tgsigqueueinfo").call?, kernel.function("compat_sys_rt_tgsigqueueinfo").call?{ (name) = ("rt_tgsigqueueinfo"); (tgid) = (__int32($tgid)); (tid) = (__int32($pid)); (sig) = (__int32($sig)); (uinfo_uaddr) = ($uinfo); (argstr) = (sprintf("%d, %d, %s, %s", tgid, tid, _signal_name(sig), (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_siginfo_u(uinfo_uaddr)):(_stp_siginfo_u(uinfo_uaddr)))); } probe syscall.rt_tgsigqueueinfo.return = kernel.function("sys_rt_tgsigqueueinfo").return?, kernel.function("compat_sys_rt_tgsigqueueinfo").return?{ (name) = ("rt_tgsigqueueinfo"); (retstr) = (return_str(1, $return)); } probe syscall.sched_getaffinity = kernel.function("sys_sched_getaffinity").call, kernel.function("compat_sys_sched_getaffinity").call?{ (name) = ("sched_getaffinity"); (pid) = (__int32($pid)); (len) = (__uint32($len)); (mask_uaddr) = ($user_mask_ptr); (argstr) = (sprintf("%d, %u, %p", pid, len, mask_uaddr)); } probe syscall.sched_getaffinity.return = kernel.function("sys_sched_getaffinity").return, kernel.function("compat_sys_sched_getaffinity").return?{ (name) = ("sched_getaffinity"); (retstr) = (return_str(1, $return)); } probe syscall.sched_getattr = kernel.function("sys_sched_getattr")?{ (name) = ("sched_getattr"); (pid) = (__int32($pid)); (sched_attr_uaddr) = ($uattr); (sched_attr_str) = (_struct_sched_attr_u(sched_attr_uaddr)); (size) = (__uint32($size)); (flags) = (__uint32($flags)); (argstr) = (sprintf("%d, %s, %u, %u", pid, sched_attr_str, size, flags)); } probe syscall.sched_getattr.return = kernel.function("sys_sched_getattr").return?{ (name) = ("sched_getattr"); (retstr) = (return_str(1, $return)); } probe syscall.sched_getparam = kernel.function("sys_sched_getparam").call{ (name) = ("sched_getparam"); (pid) = (__int32($pid)); (p_uaddr) = ($param); (argstr) = (sprintf("%d, %p", pid, p_uaddr)); } probe syscall.sched_getparam.return = kernel.function("sys_sched_getparam").return{ (name) = ("sched_getparam"); (retstr) = (return_str(1, $return)); } probe syscall.sched_get_priority_max = kernel.function("sys_sched_get_priority_max").call{ (name) = ("sched_get_priority_max"); (policy) = (__int32($policy)); (argstr) = (sprint(_sched_policy_str(policy))); } probe syscall.sched_get_priority_max.return = kernel.function("sys_sched_get_priority_max").return{ (name) = ("sched_get_priority_max"); (retstr) = (return_str(1, $return)); } probe syscall.sched_get_priority_min = kernel.function("sys_sched_get_priority_min").call{ (name) = ("sched_get_priority_min"); (policy) = (__int32($policy)); (argstr) = (sprint(_sched_policy_str(policy))); } probe syscall.sched_get_priority_min.return = kernel.function("sys_sched_get_priority_min").return{ (name) = ("sched_get_priority_min"); (retstr) = (return_str(1, $return)); } probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler").call{ (name) = ("sched_getscheduler"); (pid) = (__int32($pid)); (argstr) = (sprint(pid)); } probe syscall.sched_getscheduler.return = kernel.function("sys_sched_getscheduler").return{ (name) = ("sched_getscheduler"); (retstr) = (return_str(1, $return)); } probe syscall.sched_rr_get_interval = __syscall.sched_rr_get_interval, kernel.function("compat_sys_sched_rr_get_interval").call?, kernel.function("sys32_sched_rr_get_interval").call?{ (name) = ("sched_rr_get_interval"); (pid) = (__int32($pid)); (tp_uaddr) = ($interval); (argstr) = (sprintf("%d, %p", pid, tp_uaddr)); } probe __syscall.sched_rr_get_interval = kernel.function("sys_sched_rr_get_interval").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sched_rr_get_interval %})) next ; } } catch { { next; } } ; } probe syscall.sched_rr_get_interval.return = __syscall.sched_rr_get_interval.return, kernel.function("compat_sys_sched_rr_get_interval").return?, kernel.function("sys32_sched_rr_get_interval").return?{ (name) = ("sched_rr_get_interval"); (retstr) = (return_str(1, $return)); } probe __syscall.sched_rr_get_interval.return = kernel.function("sys_sched_rr_get_interval").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sched_rr_get_interval %})) next ; } } catch { { next; } } ; } probe syscall.sched_setattr = kernel.function("sys_sched_setattr")?{ (name) = ("sched_setattr"); (pid) = (__int32($pid)); (sched_attr_uaddr) = ($uattr); (sched_attr_str) = (_struct_sched_attr_u(sched_attr_uaddr)); (flags) = (__uint32($flags)); (argstr) = (sprintf("%d, %s, %u", pid, sched_attr_str, flags)); } probe syscall.sched_setattr.return = kernel.function("sys_sched_setattr").return?{ (name) = ("sched_setattr"); (retstr) = (return_str(1, $return)); } probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity").call, kernel.function("compat_sys_sched_setaffinity").call?{ (name) = ("sched_setaffinity"); (pid) = (__int32($pid)); (len) = (__uint32((@defined($len))?($len):(0))); (mask_uaddr) = ($user_mask_ptr); (argstr) = (sprintf("%d, %u, %p", __int32($pid), len, $user_mask_ptr)); } probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return, kernel.function("compat_sys_sched_setaffinity").return?{ (name) = ("sched_setaffinity"); (retstr) = (return_str(1, $return)); } probe syscall.sched_setparam = kernel.function("sys_sched_setparam").call?{ (name) = ("sched_setparam"); (pid) = (__int32($pid)); (p_uaddr) = ($param); (argstr) = (sprintf("%d, %p", pid, p_uaddr)); } probe syscall.sched_setparam.return = kernel.function("sys_sched_setparam").return?{ (name) = ("sched_setparam"); (retstr) = (return_str(1, $return)); } probe syscall.sched_setscheduler = kernel.function("sys_sched_setscheduler").call?{ (name) = ("sched_setscheduler"); (pid) = (__int32($pid)); (policy) = (__int32($policy)); (policy_str) = (_sched_policy_str(policy)); (p_uaddr) = ($param); (argstr) = (sprintf("%d, %s, %p", pid, policy_str, $param)); } probe syscall.sched_setscheduler.return = kernel.function("sys_sched_setscheduler").return?{ (name) = ("sched_setscheduler"); (retstr) = (return_str(1, $return)); } probe syscall.sched_yield = kernel.function("sys_sched_yield").call{ (name) = ("sched_yield"); (argstr) = (""); } probe syscall.sched_yield.return = kernel.function("sys_sched_yield").return{ (name) = ("sched_yield"); (retstr) = (return_str(1, $return)); } probe syscall.seccomp = kernel.function("sys_seccomp").call?{ (name) = ("seccomp"); (op) = ($op); (op_str) = (_seccomp_op_str(op)); (flags) = ($flags); (flags_str) = (_seccomp_flags_str(flags)); (uargs_uaddr) = ($uargs); (argstr) = (sprintf("%s, %s, %p", op_str, flags_str, uargs_uaddr)); } probe syscall.seccomp.return = kernel.function("sys_seccomp").return?{ (name) = ("seccomp"); (retstr) = (return_str(1, $return)); } probe syscall.select = kernel.function("sys_select").call{ (name) = ("select"); (n) = (__int32($n)); (readfds_uaddr) = ($inp); (writefds_uaddr) = ($outp); (exceptfds_uaddr) = ($exp); (timeout_uaddr) = ($tvp); (argstr) = (sprintf("%d, %p, %p, %p, %s", n, $inp, $outp, $exp, _struct_timeval_u($tvp, 1))); } probe syscall.select.return = kernel.function("sys_select").return{ (name) = ("select"); (retstr) = (return_str(1, $return)); } probe syscall.compat_select = kernel.function("compat_sys_select").call?{ (name) = ("select"); (n) = (__int32($n)); (readfds_uaddr) = ($inp); (writefds_uaddr) = ($outp); (exceptfds_uaddr) = ($exp); (timeout_uaddr) = ($tvp); (argstr) = (sprintf("%d, %p, %p, %p, %s", n, $inp, $outp, $exp, _struct_compat_timeval_u($tvp, 1))); } probe syscall.compat_select.return = kernel.function("compat_sys_select").return?{ (name) = ("select"); (retstr) = (return_str(1, $return)); } probe syscall.semctl = kernel.function("sys_semctl").call?{ (name) = ("semctl"); (semid) = (__int32($semid)); (semnum) = (__int32($semnum)); (cmd) = (__int32($cmd)); (cmdstr) = (_semctl_cmd($cmd)); (arg) = ((@defined($arg->buf))?($arg->buf):($arg)); (argstr) = (sprintf("%d, %d, %s, %p", __int32($semid), __int32($semnum), _semctl_cmd($cmd), arg)); } probe syscall.semctl.return = kernel.function("sys_semctl").return?{ (name) = ("semctl"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_semctl = __syscall.compat_semctl?, __syscall.compat_ipc.semctl?{ (name) = ("semctl"); (cmdstr) = (_semctl_cmd(cmd)); (argstr) = (sprintf("%d, %d, %s, %p", semid, semnum, _semctl_cmd(cmd), arg)); } probe __syscall.compat_semctl = kernel.function("compat_sys_semctl").call?{ (semid) = (__int32((@defined($semid))?($semid):($first))); (semnum) = (__int32((@defined($semnum))?($semnum):($second))); (cmd) = (__int32((@defined($cmd))?($cmd):($third))); (arg) = ((@defined($uptr))?($uptr):($arg)); } probe __syscall.compat_ipc.semctl = kernel.function("compat_sys_ipc").call?, kernel.function("sys32_ipc").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMCTL %})) next ; (semid) = (__int32($first)); (semnum) = (__int32($second)); (cmd) = (__int32($third)); (arg) = ($ptr); } probe syscall.compat_sys_semctl.return = __syscall.compat_semctl.return?, __syscall.compat_ipc.semctl.return?{ (name) = ("semctl"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_semctl.return = kernel.function("compat_sys_semctl").return?{ } probe __syscall.compat_ipc.semctl.return = kernel.function("compat_sys_ipc").return?, kernel.function("sys32_ipc").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMCTL %})) next ; } probe syscall.semget = kernel.function("sys_semget").call?{ (name) = ("semget"); (key) = (__int32($key)); (key_str) = (_stp_msgget_key_str(__int32($key))); (nsems) = (__int32($nsems)); (semflg) = (__int32($semflg)); (semflg_str) = (__sem_flags(__int32($semflg))); (argstr) = (sprintf("%s, %d, %s", _stp_msgget_key_str(__int32($key)), __int32($nsems), __sem_flags(__int32($semflg)))); } probe syscall.semget.return = kernel.function("sys_semget").return?{ (name) = ("semget"); (retstr) = (return_str(1, $return)); } probe syscall.semop = __syscall.semop?, __syscall.compat_semop?{ (name) = ("semop"); (argstr) = (sprintf("%d, %p, %u", semid, sops_uaddr, nsops)); } probe __syscall.semop = kernel.function("sys_semop").call?{ (semid) = (__int32($semid)); (sops_uaddr) = ($tsops); (nsops) = (__uint32($nsops)); } probe __syscall.compat_semop = kernel.function("compat_sys_ipc").call?, kernel.function("sys32_ipc").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMOP %})) next ; (semid) = (__int32($first)); (sops_uaddr) = ($ptr); (nsops) = (__uint32($second)); } probe syscall.semop.return = kernel.function("sys_semop").return?, __syscall.compat_semop.return?{ (name) = ("semop"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_semop.return = kernel.function("compat_sys_ipc").return?, kernel.function("sys32_ipc").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMOP %})) next ; } probe syscall.semtimedop = kernel.function("sys_semtimedop").call?{ (name) = ("semtimedop"); (semid) = (__int32($semid)); (sops_uaddr) = ($tsops); (nsops) = (__uint32($nsops)); (timeout_uaddr) = ($timeout); (argstr) = (sprintf("%d, %p, %u, %s", __int32($semid), $tsops, __uint32($nsops), _struct_timespec_u($timeout, 1))); } probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return?{ (name) = ("semtimedop"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_semtimedop = __syscall.compat_semtimedop?, __syscall.compat_ipc.semtimedop?{ (name) = ("semtimedop"); (argstr) = (sprintf("%d, %p, %u, %s", semid, sops_uaddr, nsops, _struct_compat_timespec_u(timeout_uaddr, 1))); } probe __syscall.compat_semtimedop = kernel.function("compat_sys_semtimedop").call?{ (semid) = (__int32($semid)); (sops_uaddr) = ($tsems); (nsops) = (__uint32($nsops)); (timeout_uaddr) = ($timeout); } probe __syscall.compat_ipc.semtimedop = kernel.function("compat_sys_ipc").call?, kernel.function("sys32_ipc").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMTIMEDOP %})) next ; (semid) = (__int32($first)); (sops_uaddr) = ($ptr); (nsops) = (__uint32($second)); (timeout_uaddr) = ((@defined($fifth))?($fifth):($third)); } probe syscall.compat_sys_semtimedop.return = __syscall.compat_sys_semtimedop.return?, __syscall.compat_ipc.semtimedop.return?{ (name) = ("semtimedop"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_sys_semtimedop.return = kernel.function("compat_sys_semtimedop").return?{ } probe __syscall.compat_ipc.semtimedop.return = kernel.function("compat_sys_ipc").return?, kernel.function("sys32_ipc").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SEMTIMEDOP %})) next ; } probe syscall.send = __syscall.send?, __syscall.socketcall.send?, __syscall.compat_socketcall.send?{ (name) = ("send"); (flags_str) = (_msg_flags_str(flags)); (buf) = (user_buffer_quoted(buf_uaddr, len, syscall_string_trunc)); (argstr) = (sprintf("%d, %s, %u, %s", s, buf, len, flags_str)); } probe __syscall.send = kernel.function("sys_send").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_send %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (buf_uaddr) = ($buff); (len) = (__ulong($len)); (flags) = (__uint32($flags)); } probe __syscall.socketcall.send = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (buf_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (len) = (user_ulong(&@cast($args, "ulong")[2])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[3]))); } probe __syscall.compat_socketcall.send = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (buf_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (len) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_uint32(&@cast($args, "unsigned int")[3])); } probe syscall.send.return = __syscall.send.return?, __syscall.socketcall.send.return?{ (name) = ("send"); (retstr) = (return_str(1, $return)); } probe __syscall.send.return = kernel.function("sys_send").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_send %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.send.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SEND %})) next ; } probe syscall.sendfile = __syscall.sendfile?, kernel.function("compat_sys_sendfile").call?, kernel.function("compat_sys_sendfile64").call?, kernel.function("sys32_sendfile").call?{ (name) = ("sendfile"); (out_fd) = (__int32($out_fd)); (in_fd) = (__int32($in_fd)); (offset_uaddr) = ($offset); (count) = (__ulong($count)); (argstr) = (sprintf("%d, %d, %p, %u", out_fd, in_fd, $offset, count)); } probe __syscall.sendfile = kernel.function("sys_sendfile").call?, kernel.function("sys_sendfile64").call?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile64 %}))) next ; } probe syscall.sendfile.return = __syscall.sendfile.return?, kernel.function("compat_sys_sendfile").return?, kernel.function("compat_sys_sendfile64").return?, kernel.function("sys32_sendfile").return?{ (name) = ("sendfile"); (retstr) = (return_str(1, $return)); } probe __syscall.sendfile.return = kernel.function("sys_sendfile").return?, kernel.function("sys_sendfile64").return?{ try { { (__nr) = (_stp_syscall_nr()); } } catch { { next; } } ; if (((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile %})) && ((__nr) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendfile64 %}))) next ; } probe syscall.sendmsg = __syscall.sendmsg?, __syscall.socketcall.sendmsg?{ (name) = ("sendmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe __syscall.sendmsg = kernel.function("sys_sendmsg").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendmsg %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (msg_uaddr) = ($msg); (flags) = (__uint32($flags)); } probe __syscall.socketcall.sendmsg = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (msg_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[2]))); } probe syscall.sendmsg.return = __syscall.sendmsg.return?, __syscall.socketcall.sendmsg.return?{ (name) = ("sendmsg"); (retstr) = (return_str(1, $return)); } probe __syscall.sendmsg.return = kernel.function("sys_sendmsg").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendmsg %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.sendmsg.return = kernel.function("sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; } probe syscall.compat_sys_sendmsg = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (name) = ("sendmsg"); (s) = (user_int(&@cast($args, "unsigned int")[0])); (msg_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (flags) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, _msg_flags_str(flags))); } probe syscall.compat_sys_sendmsg.return = kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMSG %})) next ; (name) = ("sendmsg"); (retstr) = (return_str(1, $return)); } probe syscall.sendmmsg = __syscall.sendmmsg?, __syscall.compat_socketcall.sendmmsg?, __syscall.compat_sendmmsg?{ (name) = ("sendmmsg"); (flags_str) = (_msg_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, %s", s, mmsg_uaddr, vlen, _msg_flags_str(flags))); } probe __syscall.sendmmsg = kernel.function("sys_sendmmsg").call?{ (s) = (__int32($fd)); (mmsg_uaddr) = ($mmsg); (vlen) = (__uint32($vlen)); (flags) = (__uint32($flags)); } probe __syscall.compat_socketcall.sendmmsg = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMMSG %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (mmsg_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (vlen) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_uint32(&@cast($args, "unsigned int")[3])); } probe __syscall.compat_sendmmsg = kernel.function("compat_sys_sendmmsg").call?{ (s) = (__int32($fd)); (mmsg_uaddr) = ($mmsg); (vlen) = (__uint32($vlen)); (flags) = (__uint32($flags)); } probe syscall.sendmmsg.return = __syscall.sendmmsg.return?, __syscall.compat_socketcall.sendmmsg.return?, __syscall.compat_sendmmsg.return?{ (name) = ("sendmmsg"); (retstr) = (return_str(1, $return)); } probe __syscall.sendmmsg.return = kernel.function("sys_sendmmsg").return?{ } probe __syscall.compat_socketcall.sendmmsg.return = kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDMMSG %})) next ; } probe __syscall.compat_sendmmsg.return = kernel.function("compat_sys_sendmmsg").return?{ } probe syscall.sendto = __syscall.sendto?, __syscall.socketcall.sendto?, __syscall.compat_socketcall.sendto?{ (name) = ("sendto"); (flags_str) = (_msg_flags_str(flags)); (buf) = (user_buffer_quoted(buf_uaddr, len, syscall_string_trunc)); (argstr) = (sprintf("%d, %s, %u, %s, %s, %u", s, buf, len, flags_str, _struct_sockaddr_u(to_uaddr, tolen), tolen)); } probe __syscall.sendto = kernel.function("sys_sendto").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendto %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (buf_uaddr) = ($buff); (len) = (__ulong($len)); (flags) = (__uint32($flags)); (to_uaddr) = ($addr); (tolen) = (__uint32($addr_len)); } probe __syscall.socketcall.sendto = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (buf_uaddr) = (user_ulong(&@cast($args, "ulong")[1])); (len) = (user_ulong(&@cast($args, "ulong")[2])); (flags) = (__uint32(user_ulong(&@cast($args, "ulong")[3]))); (to_uaddr) = (user_ulong(&@cast($args, "ulong")[4])); (tolen) = (__uint32(user_ulong(&@cast($args, "ulong")[5]))); } probe __syscall.compat_socketcall.sendto = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (buf_uaddr) = (user_uint32(&@cast($args, "unsigned int")[1])); (len) = (user_uint32(&@cast($args, "unsigned int")[2])); (flags) = (user_uint32(&@cast($args, "unsigned int")[3])); (to_uaddr) = (user_uint32(&@cast($args, "unsigned int")[4])); (tolen) = (user_uint32(&@cast($args, "unsigned int")[5])); } probe syscall.sendto.return = kernel.function("sys_sendto").return?, kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (@defined($call)) { if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SENDTO %})) next ; } else { try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sendto %})) next ; } } catch { { next; } } ; } ; (name) = ("sendto"); (retstr) = (return_str(1, $return)); } probe syscall.setdomainname = kernel.function("sys_setdomainname").call{ (name) = ("setdomainname"); (domainname_uaddr) = ($name); (domainname_str) = (user_string_quoted(domainname_uaddr)); (len) = (__int32($len)); (argstr) = (sprintf("%s, %d", domainname_str, len)); } probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return{ (name) = ("setdomainname"); (retstr) = (return_str(1, $return)); } probe syscall.setfsgid = kernel.function("sys_setfsgid16").call?, kernel.function("sys_setfsgid").call?{ (name) = ("setfsgid"); (fsgid) = (__int32($gid)); (argstr) = (sprint(fsgid)); } probe syscall.setfsgid.return = kernel.function("sys_setfsgid16").return?, kernel.function("sys_setfsgid").return?{ (name) = ("setfsgid"); (retstr) = (return_str(1, $return)); } probe syscall.setfsuid = kernel.function("sys_setfsuid16").call?, kernel.function("sys_setfsuid").call?{ (name) = ("setfsuid"); (fsuid) = (__int32($uid)); (argstr) = (sprint(fsuid)); } probe syscall.setfsuid.return = kernel.function("sys_setfsuid16").return?, kernel.function("sys_setfsuid").return?{ (name) = ("setfsuid"); (retstr) = (return_str(1, $return)); } probe syscall.setgid = kernel.function("sys_setgid16").call?, kernel.function("sys_setgid").call?{ (name) = ("setgid"); (gid) = (__int32($gid)); (argstr) = (sprint(gid)); } probe syscall.setgid.return = kernel.function("sys_setgid16").return?, kernel.function("sys_setgid").return?{ (name) = ("setgid"); (retstr) = (return_str(1, $return)); } probe syscall.setgroups = kernel.function("sys_setgroups16").call?, kernel.function("sys32_setgroups16").call?, kernel.function("sys_setgroups").call?{ (name) = ("setgroups"); (size) = (__int32($gidsetsize)); (list_uaddr) = ($grouplist); (argstr) = (sprintf("%d, %p", __int32($gidsetsize), $grouplist)); } probe syscall.setgroups.return = kernel.function("sys_setgroups16").return?, kernel.function("sys32_setgroups16").return?, kernel.function("sys_setgroups").return?{ (name) = ("setgroups"); (retstr) = (return_str(1, $return)); } probe syscall.sethostname = kernel.function("sys_sethostname").call{ (name) = ("sethostname"); (hostname_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (len) = (__int32($len)); (argstr) = (sprintf("%s, %d", user_string_quoted($name), __int32($len))); } probe syscall.sethostname.return = kernel.function("sys_sethostname").return{ (name) = ("sethostname"); (retstr) = (return_str(1, $return)); } probe syscall.setitimer = kernel.function("sys_setitimer").call{ (name) = ("setitimer"); (which) = (__int32($which)); (value_uaddr) = ($value); (ovalue_uaddr) = ($ovalue); (argstr) = (sprintf("%s, %s, %p", _itimer_which_str(which), _struct_itimerval_u($value), $ovalue)); } probe syscall.setitimer.return = kernel.function("sys_setitimer").return{ (name) = ("setitimer"); (retstr) = (return_str(1, $return)); } probe syscall.compat_setitimer = kernel.function("compat_sys_setitimer").call?{ (name) = ("setitimer"); (which) = (__int32($which)); (value_uaddr) = ($in); (ovalue_uaddr) = ($out); (argstr) = (sprintf("%s, %s, %p", _itimer_which_str(which), _struct_compat_itimerval_u(value_uaddr), ovalue_uaddr)); } probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer").return?{ (name) = ("setitimer"); (retstr) = (return_str(1, $return)); } probe syscall.setns = kernel.function("sys_setns")?{ (name) = ("setns"); (fd) = (__int32($fd)); (nstype) = (__int32($nstype)); (argstr) = (sprintf("%d, %s", fd, __fork_flags(nstype))); } probe syscall.setns.return = kernel.function("sys_setns").return?{ (name) = ("setns"); (retstr) = (return_str(1, $return)); } probe syscall.set_mempolicy = __syscall.set_mempolicy?, kernel.function("compat_sys_set_mempolicy").call?{ (name) = ("set_mempolicy"); (mode) = (__int32($mode)); (mode_str) = (_mempolicy_mode_str(__int32($mode))); (nmask_uaddr) = ($nmask); (maxnode) = ($maxnode); (argstr) = (sprintf("%s, %p, %u", _mempolicy_mode_str(__int32($mode)), $nmask, $maxnode)); } probe __syscall.set_mempolicy = kernel.function("sys_set_mempolicy")?{ } probe syscall.set_mempolicy.return = __syscall.set_mempolicy.return?, kernel.function("compat_sys_set_mempolicy").return?{ (name) = ("set_mempolicy"); (retstr) = (return_str(1, $return)); } probe __syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return?{ } probe syscall.setpgid = kernel.function("sys_setpgid").call{ (name) = ("setpgid"); (pid) = (__int32($pid)); (pgid) = (__int32($pgid)); (argstr) = (sprintf("%d, %d", __int32($pid), __int32($pgid))); } probe syscall.setpgid.return = kernel.function("sys_setpgid").return{ (name) = ("setpgid"); (retstr) = (return_str(1, $return)); } probe syscall.setpriority = kernel.function("sys_setpriority").call{ (name) = ("setpriority"); (which) = (__int32($which)); (which_str) = (_priority_which_str(__int32($which))); (who) = (__int32($who)); (prio) = (__int32($niceval)); (argstr) = (sprintf("%s, %d, %d", which_str, __int32($who), __int32($niceval))); } probe syscall.setpriority.return = kernel.function("sys_setpriority").return{ (name) = ("setpriority"); (retstr) = (return_str(1, $return)); } probe syscall.setregid = kernel.function("sys_setregid").call{ (name) = ("setregid"); (rgid) = (__int32($rgid)); (egid) = (__int32($egid)); (argstr) = (sprintf("%d, %d", rgid, egid)); } probe syscall.setregid.return = kernel.function("sys_setregid").return{ (name) = ("setregid"); (retstr) = (return_str(1, $return)); } probe syscall.setregid16 = kernel.function("sys_setregid16").call?{ (name) = ("setregid"); (rgid) = (__short($rgid)); (egid) = (__short($egid)); (argstr) = (sprintf("%d, %d", rgid, egid)); } probe syscall.setregid16.return = kernel.function("sys_setregid16").return?{ (name) = ("setregid"); (retstr) = (return_str(1, $return)); } probe syscall.setresgid = kernel.function("sys_setresgid").call{ (name) = ("setresgid"); (rgid) = (__int32($rgid)); (egid) = (__int32($egid)); (sgid) = (__int32($sgid)); (argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid)); } probe syscall.setresgid.return = kernel.function("sys_setresgid").return{ (name) = ("setresgid"); (retstr) = (return_str(1, $return)); } probe syscall.setresgid16 = kernel.function("sys_setresgid16").call?{ (name) = ("setresgid"); (rgid) = (__short($rgid)); (egid) = (__short($egid)); (sgid) = (__short($sgid)); (argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid)); } probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return?{ (name) = ("setresgid16"); (retstr) = (return_str(1, $return)); } probe syscall.setresuid = kernel.function("sys_setresuid").call{ (name) = ("setresuid"); (ruid) = (__int32($ruid)); (euid) = (__int32($euid)); (suid) = (__int32($suid)); (argstr) = (sprintf("%d, %d, %d", ruid, euid, suid)); } probe syscall.setresuid.return = kernel.function("sys_setresuid").return{ (name) = ("setresuid"); (retstr) = (return_str(1, $return)); } probe syscall.setresuid16 = kernel.function("sys_setresuid16").call?{ (name) = ("setresuid"); (ruid) = (__short($ruid)); (euid) = (__short($euid)); (suid) = (__short($suid)); (argstr) = (sprintf("%d, %d, %d", ruid, euid, suid)); } probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return?{ (name) = ("setresuid"); (retstr) = (return_str(1, $return)); } probe syscall.setreuid = kernel.function("sys_setreuid").call{ (name) = ("setreuid"); (ruid) = (__int32($ruid)); (euid) = (__int32($euid)); (argstr) = (sprintf("%d, %d", ruid, euid)); } probe syscall.setreuid.return = kernel.function("sys_setreuid").return{ (name) = ("setreuid"); (retstr) = (return_str(1, $return)); } probe syscall.setreuid16 = kernel.function("sys_setreuid16").call?{ (name) = ("setreuid"); (ruid) = (__short($ruid)); (euid) = (__short($euid)); (argstr) = (sprintf("%d, %d", ruid, euid)); } probe syscall.setreuid16.return = kernel.function("sys_setreuid16").return?{ (name) = ("setreuid"); (retstr) = (return_str(1, $return)); } probe syscall.setrlimit = __syscall.setrlimit?, kernel.function("compat_sys_setrlimit").call?{ (name) = ("setrlimit"); (resource) = ($resource); (rlim_uaddr) = ($rlim); (argstr) = (sprintf("%s, %s", _rlimit_resource_str($resource), _struct_rlimit_u($rlim))); } probe __syscall.setrlimit = kernel.function("sys_setrlimit").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setrlimit %})) next ; } } catch { { next; } } ; } probe syscall.setrlimit.return = __syscall.setrlimit.return?, kernel.function("compat_sys_setrlimit").return?{ (name) = ("setrlimit"); (retstr) = (return_str(1, $return)); } probe __syscall.setrlimit.return = kernel.function("sys_setrlimit").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setrlimit %})) next ; } } catch { { next; } } ; } probe syscall.set_robust_list = __syscall.set_robust_list?, kernel.function("compat_sys_set_robust_list")?{ (name) = ("set_robust_list"); (list_head_uaddr) = ($head); (len) = (__ulong($len)); (argstr) = (sprintf("%p, %u", list_head_uaddr, len)); } probe __syscall.set_robust_list = kernel.function("sys_set_robust_list"){ } probe syscall.set_robust_list.return = __syscall.set_robust_list.return?, kernel.function("compat_sys_set_robust_list").return?{ (name) = ("set_robust_list"); (retstr) = (return_str(1, $return)); } probe __syscall.set_robust_list.return = kernel.function("sys_set_robust_list").return{ } probe syscall.setsid = kernel.function("sys_setsid").call{ (name) = ("setsid"); (argstr) = (""); } probe syscall.setsid.return = kernel.function("sys_setsid").return{ (name) = ("setsid"); (retstr) = (return_str(1, $return)); } probe syscall.setsockopt = __syscall.setsockopt?, __syscall.socketcall.setsockopt?, __syscall.compat_socketcall.setsockopt?{ (name) = ("setsockopt"); (level_str) = (_sockopt_level_str(level)); (optname_str) = (_sockopt_optname_str(optname)); (argstr) = (sprintf("%d, %s, %s, %p, %u", fd, level_str, optname_str, optval_uaddr, optlen)); } probe __syscall.setsockopt = kernel.function("sys_setsockopt").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setsockopt %})) next ; } } catch { { next; } } ; (fd) = (__int32($fd)); (level) = (__int32($level)); (optname) = (__int32($optname)); (optval_uaddr) = ($optval); (optlen) = (__uint32($optlen)); } probe __syscall.socketcall.setsockopt = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; (fd) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (level) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); (optname) = (__int32(user_ulong(&@cast($args, "ulong")[2]))); (optval_uaddr) = (user_ulong(&@cast($args, "ulong")[3])); (optlen) = (__uint32(user_ulong(&@cast($args, "ulong")[4]))); } probe __syscall.compat_socketcall.setsockopt = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; (fd) = (user_int(&@cast($args, "unsigned int")[0])); (level) = (user_int(&@cast($args, "unsigned int")[1])); (optname) = (user_int(&@cast($args, "unsigned int")[2])); (optval_uaddr) = (user_uint32(&@cast($args, "unsigned int")[3])); (optlen) = (user_uint32(&@cast($args, "unsigned int")[4])); } probe syscall.setsockopt.return = __syscall.setsockopt.return?, __syscall.socketcall.setsockopt.return?{ (name) = ("setsockopt"); (retstr) = (return_str(1, $return)); } probe __syscall.setsockopt.return = kernel.function("sys_setsockopt").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_setsockopt %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.setsockopt.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SETSOCKOPT %})) next ; } probe syscall.set_tid_address = kernel.function("sys_set_tid_address").call{ (name) = ("set_tid_address"); (tidptr_uaddr) = ($tidptr); (argstr) = (sprintf("%p", tidptr_uaddr)); } probe syscall.set_tid_address.return = kernel.function("sys_set_tid_address").return{ (name) = ("set_tid_address"); (retstr) = (return_str(1, $return)); } probe syscall.settimeofday = kernel.function("sys_settimeofday").call{ (name) = ("settimeofday"); (tv_uaddr) = ($tv); (tz_uaddr) = ($tz); (argstr) = (sprintf("%s, %s", _struct_timeval_u($tv, 1), _struct_timezone_u($tz))); } probe syscall.settimeofday.return = kernel.function("sys_settimeofday").return{ (name) = ("settimeofday"); (retstr) = (return_str(1, $return)); } probe syscall.settimeofday32 = kernel.function("sys32_settimeofday").call?, kernel.function("compat_sys_settimeofday").call?{ (name) = ("settimeofday"); (tv_uaddr) = ($tv); (tz_uaddr) = ($tz); (argstr) = (sprintf("%s, %s", _struct_compat_timeval_u($tv, 1), _struct_timezone_u($tz))); } probe syscall.settimeofday32.return = kernel.function("sys32_settimeofday").return?, kernel.function("compat_sys_settimeofday").return?{ (name) = ("settimeofday"); (retstr) = (return_str(1, $return)); } probe syscall.setuid = kernel.function("sys_setuid16").call?, kernel.function("sys_setuid").call{ (name) = ("setuid"); (uid) = (__int32($uid)); (argstr) = (sprint(uid)); } probe syscall.setuid.return = kernel.function("sys_setuid16").return?, kernel.function("sys_setuid").return{ (name) = ("setuid"); (retstr) = (return_str(1, $return)); } probe syscall.setxattr = kernel.function("sys_setxattr").call{ (name) = ("setxattr"); (path_uaddr) = ((@defined($pathname))?($pathname):($path)); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (name_uaddr) = ($name); (name_str) = (user_string_quoted($name)); (value_uaddr) = ($value); (value_str) = (_stp_xattr_val_str($value, $size)); (size) = (__ulong($size)); (flags) = (__int32($flags)); (flags_str) = (_stp_xattr_flags_str(__int32($flags))); (argstr) = (sprintf("%s, %s, %s, %u, %s", user_string_quoted((@defined($pathname))?($pathname):($path)), user_string_quoted($name), _stp_xattr_val_str($value, $size), __ulong($size), _stp_xattr_flags_str(__int32($flags)))); } probe syscall.setxattr.return = kernel.function("sys_setxattr").return{ (name) = ("setxattr"); (retstr) = (return_str(1, $return)); } probe syscall.sgetmask = kernel.function("sys_sgetmask").call?{ (name) = ("sgetmask"); (argstr) = (""); } probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return?{ (name) = ("sgetmask"); (retstr) = (return_str(1, $return)); } probe syscall.shmat = kernel.function("sys_shmat").call?{ (name) = ("shmat"); (shmid) = ($shmid); (shmaddr_uaddr) = ($shmaddr); (shmflg) = ($shmflg); (argstr) = (sprintf("%d, %p, %s", $shmid, $shmaddr, _shmat_flags_str($shmflg))); } probe syscall.shmat.return = kernel.function("sys_shmat").return?{ (name) = ("shmat"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_shmat = kernel.function("compat_sys_shmat").call?{ (name) = ("shmat"); (shmid) = ((@defined($shmid))?($shmid):($first)); (shmaddr_uaddr) = ((@defined($shmaddr))?($shmaddr):($uptr)); (shmflg) = ((@defined($shmflg))?($shmflg):($second)); (argstr) = (sprintf("%d, %p, %s", shmid, shmaddr_uaddr, _shmat_flags_str(shmflg))); } probe syscall.compat_sys_shmat.return = kernel.function("compat_sys_shmat").return?{ (name) = ("shmat"); (retstr) = (return_str(1, $return)); } probe syscall.shmctl = kernel.function("sys_shmctl").call?{ (name) = ("shmctl"); (shmid) = (__int32($shmid)); (cmd) = (__int32($cmd)); (cmd_str) = (_semctl_cmd(__int32($cmd))); (buf_uaddr) = ($buf); (argstr) = (sprintf("%d, %s, %p", __int32($shmid), _semctl_cmd(__int32($cmd)), $buf)); } probe syscall.shmctl.return = kernel.function("sys_shmctl").return?{ (name) = ("shmctl"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_shmctl = __syscall.compat_shmctl?, __syscall.compat_ipc.shmctl?{ (name) = ("shmctl"); (shmid) = (__int32($first)); (cmd) = (__int32($second)); (cmd_str) = (_semctl_cmd(__int32($second))); (buf_uaddr) = ((@defined($uptr))?($uptr):($ptr)); (argstr) = (sprintf("%d, %s, %p", __int32($first), cmd_str, buf_uaddr)); } probe __syscall.compat_shmctl = kernel.function("compat_sys_shmctl").call?{ } probe __syscall.compat_ipc.shmctl = kernel.function("compat_sys_ipc").call?, kernel.function("sys32_ipc").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SHMCTL %})) next ; } probe syscall.compat_sys_shmctl.return = kernel.function("compat_sys_shmctl").return?, __syscall.compat_ipc.shmctl.return?{ (name) = ("shmctl"); (retstr) = (return_str(1, $return)); } probe __syscall.compat_ipc.shmctl.return = kernel.function("compat_sys_ipc").return?, kernel.function("sys32_ipc").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SHMCTL %})) next ; } probe syscall.shmdt = kernel.function("sys_shmdt").call?{ (name) = ("shmdt"); (shmaddr_uaddr) = ($shmaddr); (argstr) = (sprintf("%p", $shmaddr)); } probe syscall.shmdt.return = kernel.function("sys_shmdt").return?{ (name) = ("shmdt"); (retstr) = (return_str(1, $return)); } probe syscall.shmget = kernel.function("sys_shmget").call?{ (name) = ("shmget"); (key) = (__int32($key)); (size) = (__ulong($size)); (shmflg) = (__int32($shmflg)); (shmflg_str) = (_stp_shmget_flags_str(__int32($shmflg))); (argstr) = (sprintf("%d, %u, %s", __int32($key), __ulong($size), shmflg_str)); } probe syscall.shmget.return = kernel.function("sys_shmget").return?{ (name) = ("shmget"); (retstr) = (return_str(1, $return)); } probe syscall.shutdown = __syscall.shutdown?, __syscall.socketcall.shutdown?, __syscall.compat_socketcall.shutdown?{ (name) = ("shutdown"); (how_str) = (_shutdown_how_str(how)); (argstr) = (sprintf("%d, %s", s, how_str)); } probe __syscall.shutdown = kernel.function("sys_shutdown").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_shutdown %})) next ; } } catch { { next; } } ; (s) = (__int32($fd)); (how) = (__int32($how)); } probe __syscall.socketcall.shutdown = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; (s) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (how) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); } probe __syscall.compat_socketcall.shutdown = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; (s) = (user_int(&@cast($args, "unsigned int")[0])); (how) = (user_int(&@cast($args, "unsigned int")[1])); } probe syscall.shutdown.return = __syscall.shutdown.return?, __syscall.socketcall.shutdown.return?{ (name) = ("shutdown"); (retstr) = (return_str(1, $return)); } probe __syscall.shutdown.return = kernel.function("sys_shutdown").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_shutdown %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.shutdown.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SHUTDOWN %})) next ; } probe syscall.sigaction = kernel.function("sys_sigaction").call?{ (name) = ("sigaction"); (sig) = (__int32($sig)); (act_uaddr) = ($act); (oact_uaddr) = ($oact); (argstr) = (sprintf("%s, {%s}, %p", _signal_name(sig), _struct_sigaction_u(act_uaddr), oact_uaddr)); } probe syscall.sigaction.return = kernel.function("sys_sigaction").return?{ (name) = ("sigaction"); (retstr) = (return_str(1, $return)); } probe syscall.sigaction32 = kernel.function("sys32_sigaction").call?, kernel.function("compat_sys_sigaction").call?{ (name) = ("sigaction"); (sig) = (__int32($sig)); (act_uaddr) = ($act); (oact_uaddr) = ($oact); (argstr) = (sprintf("%s, {%s}, %p", _signal_name(sig), _struct_old_sigaction32_u(act_uaddr), oact_uaddr)); } probe syscall.sigaction32.return = kernel.function("sys32_sigaction").return?, kernel.function("compat_sys_sigaction").return?{ (name) = ("sigaction"); (retstr) = (return_str(1, $return)); } probe syscall.sigaltstack = kernel.function("sys_sigaltstack").call, kernel.function("compat_sys_sigaltstack").call?{ (name) = ("sigaltstack"); (uss_uaddr) = ((@defined($uss))?($uss):($uss_ptr)); (uoss_uaddr) = ((@defined($uoss))?($uoss):($uoss_ptr)); (argstr) = (sprintf("%s, %p", (%{ /* pure */ _stp_is_compat_task() %})?(_stp_compat_sigaltstack_u(uss_uaddr)):(_stp_sigaltstack_u(uss_uaddr)), uoss_uaddr)); } probe syscall.sigaltstack.return = kernel.function("sys_sigaltstack").return, kernel.function("compat_sys_sigaltstack").return?{ (name) = ("sigaltstack"); (retstr) = (return_str(1, $return)); } probe syscall.signal = kernel.function("sys_signal").call?{ (name) = ("signal"); (sig) = (__int32($sig)); (handler) = ($handler); (argstr) = (sprintf("%s, %s", _signal_name(sig), _sighandler_str($handler))); } probe syscall.signal.return = kernel.function("sys_signal").return?{ (name) = ("signal"); (retstr) = (return_str(1, $return)); } probe syscall.signalfd = __syscall.signalfd4!, __syscall.signalfd?{ (flags) = (__int32((@defined($flags))?($flags):(0))); if ((flags) == (0)) { (name) = ("signalfd"); (argstr) = (sprintf("%d, %p, %d", __int32($ufd), $user_mask, $sizemask)); } else { (name) = ("signalfd4"); (argstr) = (sprintf("%d, %p, %d, %s", __int32($ufd), $user_mask, $sizemask, _signalfd4_flags_str(flags))); } ; } probe __syscall.signalfd4 = kernel.function("sys_signalfd4").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd4 %})) next ; } } catch { { next; } } ; } probe __syscall.signalfd = kernel.function("sys_signalfd").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd %})) next ; } } catch { { next; } } ; } probe syscall.signalfd.return = __syscall.signalfd4.return!, __syscall.signalfd.return?{ (retstr) = (return_str(1, $return)); } probe __syscall.signalfd4.return = kernel.function("sys_signalfd4").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd4 %})) next ; } } catch { { next; } } ; (flags) = (__int32($flags)); (name) = (((flags) == (0))?("signalfd"):("signalfd4")); } probe __syscall.signalfd.return = kernel.function("sys_signalfd").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_signalfd %})) next ; } } catch { { next; } } ; (flags) = (0); (name) = ("signalfd"); } probe syscall.compat_signalfd = kernel.function("compat_sys_signalfd4").call!, kernel.function("compat_sys_signalfd").call?{ (flags) = (__int32((@defined($flags))?($flags):(0))); if ((flags) == (0)) { (name) = ("signalfd"); (argstr) = (sprintf("%d, %p, %d", __int32($ufd), $sigmask, $sigsetsize)); } else { (name) = ("signalfd4"); (argstr) = (sprintf("%d, %p, %d, %s", __int32($ufd), $sigmask, $sigsetsize, _signalfd4_flags_str(flags))); } ; } probe syscall.compat_signalfd.return = kernel.function("compat_sys_signalfd4").return!, kernel.function("compat_sys_signalfd").return?{ (flags) = (__int32((@defined($flags))?($flags):(0))); (name) = (((flags) == (0))?("signalfd"):("signalfd4")); (retstr) = (return_str(1, $return)); } probe syscall.sigpending = __syscall.sigpending?, kernel.function("compat_sys_sigpending").call?{ (name) = ("sigpending"); (argstr) = (sprintf("%p", $set)); } probe __syscall.sigpending = kernel.function("sys_sigpending").call?{ } probe syscall.sigpending.return = __syscall.sigpending.return?, kernel.function("compat_sys_sigpending").return?{ (name) = ("sigpending"); (retstr) = (return_str(1, $return)); } probe __syscall.sigpending.return = kernel.function("sys_sigpending").return?{ } probe syscall.sigprocmask = __syscall.sigprocmask?, kernel.function("compat_sys_sigprocmask").call?{ (name) = ("sigprocmask"); (how) = (__int32($how)); (how_str) = (_sigprocmask_how_str(how)); (set_uaddr) = ((@defined($set))?($set):($nset)); (oldset_uaddr) = (__ulong($oset)); (argstr) = (sprintf("%s, %p, %p", how_str, set_uaddr, oldset_uaddr)); } probe __syscall.sigprocmask = kernel.function("sys_sigprocmask").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sigprocmask %})) next ; } } catch { { next; } } ; } probe syscall.sigprocmask.return = __syscall.sigprocmask.return?, kernel.function("compat_sys_sigprocmask").return?{ (name) = ("sigprocmask"); (retstr) = (return_str(1, $return)); } probe __syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_sigprocmask %})) next ; } } catch { { next; } } ; } probe syscall.sigreturn = kernel.function("sys_sigreturn").call?, kernel.function("sys32_sigreturn").call?{ (name) = ("sigreturn"); (argstr) = (""); } probe syscall.sigreturn.return = kernel.function("sys_sigreturn").return?, kernel.function("sys32_sigreturn").return?{ (name) = ("sigreturn"); (retstr) = (return_str(1, $return)); } probe syscall.sigsuspend = kernel.function("sys_sigsuspend").call?, kernel.function("sys32_sigsuspend").call?, kernel.function("compat_sys_sigsuspend").call?{ (name) = ("sigsuspend"); (mask) = (__ulong($mask)); (argstr) = (sprintf("%s", _stp_sigmask_str(mask))); } probe syscall.sigsuspend.return = kernel.function("sys_sigsuspend").return?, kernel.function("sys32_sigsuspend").return?, kernel.function("compat_sys_sigsuspend").return?{ (name) = ("sigsuspend"); (retstr) = (return_str(1, $return)); } probe syscall.socket = __syscall.socket?, __syscall.socketcall.socket?, __syscall.compat_socketcall.socket?{ (name) = ("socket"); (argstr) = (sprintf("%s, %s, %s", _sock_family_str(family), _sock_type_str(type), _sock_protocol_str(family, protocol))); } probe __syscall.socket = kernel.function("sys_socket").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socket %})) next ; } } catch { { next; } } ; (family) = (__int32($family)); (type) = (__int32($type)); (protocol) = (__int32($protocol)); } probe __syscall.socketcall.socket = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; (family) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (type) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); (protocol) = (__int32(user_ulong(&@cast($args, "ulong")[2]))); } probe __syscall.compat_socketcall.socket = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; (family) = (user_int(&@cast($args, "unsigned int")[0])); (type) = (user_int(&@cast($args, "unsigned int")[1])); (protocol) = (user_int(&@cast($args, "unsigned int")[2])); } probe syscall.socket.return = __syscall.return?, __syscall.socketcall.socket.return?{ (name) = ("socket"); (retstr) = (return_str(1, $return)); } probe __syscall.return = kernel.function("sys_socket").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socket %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.socket.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKET %})) next ; } probe syscall.socketpair = __syscall.socketpair?, __syscall.socketcall.socketpair?, __syscall.compat_socketcall.socketpair?{ (name) = ("socketpair"); (argstr) = (sprintf("%s, %s, %s, %p", _sock_family_str(family), _sock_type_str(type), _sock_protocol_str(family, protocol), sv_uaddr)); } probe __syscall.socketpair = kernel.function("sys_socketpair").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socketpair %})) next ; } } catch { { next; } } ; (family) = (__int32($family)); (type) = (__int32($type)); (protocol) = (__int32($protocol)); (sv_uaddr) = ($usockvec); } probe __syscall.socketcall.socketpair = kernel.function("sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; (family) = (__int32(user_ulong(&@cast($args, "ulong")[0]))); (type) = (__int32(user_ulong(&@cast($args, "ulong")[1]))); (protocol) = (__int32(user_ulong(&@cast($args, "ulong")[2]))); (sv_uaddr) = (__uint32(user_ulong(&@cast($args, "ulong")[3]))); } probe __syscall.compat_socketcall.socketpair = kernel.function("compat_sys_socketcall").call?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; (family) = (user_int(&@cast($args, "unsigned int")[0])); (type) = (user_int(&@cast($args, "unsigned int")[1])); (protocol) = (user_int(&@cast($args, "unsigned int")[2])); (sv_uaddr) = (user_uint32(&@cast($args, "unsigned int")[3])); } probe syscall.socketpair.return = __syscall.socketpair.return?, __syscall.socketcall.socketpair.return?{ (name) = ("socketpair"); (retstr) = (return_str(1, $return)); } probe __syscall.socketpair.return = kernel.function("sys_socketpair").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_socketpair %})) next ; } } catch { { next; } } ; } probe __syscall.socketcall.socketpair.return = kernel.function("sys_socketcall").return?, kernel.function("compat_sys_socketcall").return?{ if (($call) != (%{ /* pure */ /* unprivileged */ /* stable */ SYS_SOCKETPAIR %})) next ; } probe syscall.splice = kernel.function("sys_splice").call?{ (name) = ("splice"); (fd_in) = (__int32($fd_in)); (off_in) = ($off_in); (fd_out) = (__int32($fd_out)); (off_out) = ($off_out); (len) = (__ulong($len)); (flags) = ($flags); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %d, %p, %u, %s", fd_in, off_in, fd_out, off_out, len, flags_str)); } probe syscall.splice.return = kernel.function("sys_splice").return?{ (name) = ("splice"); (retstr) = (return_str(1, $return)); } probe syscall.ssetmask = kernel.function("sys_ssetmask").call?{ (name) = ("ssetmask"); (newmask) = (__int32($newmask)); (newmask_str) = (_stp_sigmask_str(__int32($newmask))); (argstr) = (_stp_sigmask_str(__int32($newmask))); } probe syscall.ssetmask.return = kernel.function("sys_ssetmask").return?{ (name) = ("ssetmask"); (retstr) = (return_str(1, $return)); } probe syscall.stat = kernel.function("sys_stat").call?, kernel.function("sys_newstat").call?, kernel.function("sys32_stat64").call?, kernel.function("sys_stat64").call?, kernel.function("sys_oabi_stat64").call?, kernel.function("compat_sys_newstat").call?{ (name) = ("stat"); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (buf_uaddr) = ($statbuf); (argstr) = (sprintf("%s, %p", user_string_quoted($filename), buf_uaddr)); } probe syscall.stat.return = kernel.function("sys_stat").return?, kernel.function("sys_newstat").return?, kernel.function("sys32_stat64").return?, kernel.function("sys_stat64").return?, kernel.function("sys_oabi_stat64").return?, kernel.function("compat_sys_newstat").return?{ (name) = ("stat"); (retstr) = (return_str(1, $return)); } probe syscall.statfs = kernel.function("compat_sys_statfs").call?, kernel.function("sys_statfs").call?{ (name) = ("statfs"); (buf_uaddr) = ($buf); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (argstr) = (sprintf("%s, %p", user_string_quoted((@defined($pathname))?($pathname):($path)), $buf)); } probe syscall.statfs.return = kernel.function("compat_sys_statfs").return?, kernel.function("sys_statfs").return?{ (name) = ("statfs"); (retstr) = (return_str(1, $return)); } probe syscall.statfs64 = kernel.function("sys_statfs64").call?, kernel.function("compat_sys_statfs64").call?{ (name) = ("statfs64"); (path) = (user_string_quoted((@defined($pathname))?($pathname):($path))); (sz) = (__ulong($sz)); (buf_uaddr) = ($buf); (argstr) = (sprintf("%s, %u, %p", user_string_quoted((@defined($pathname))?($pathname):($path)), sz, $buf)); } probe syscall.statfs64.return = kernel.function("sys_statfs64").return?, kernel.function("compat_sys_statfs64").return?{ (name) = ("statfs64"); (retstr) = (return_str(1, $return)); } probe syscall.stime = kernel.function("compat_sys_stime").call?, kernel.function("sys_stime").call?{ (name) = ("stime"); (t_uaddr) = ($tptr); (argstr) = (sprintf("%p", $tptr)); } probe syscall.stime.return = kernel.function("compat_sys_stime").return?, kernel.function("sys_stime").return?{ (name) = ("stime"); (retstr) = (return_str(1, $return)); } probe syscall.swapoff = kernel.function("sys_swapoff").call?{ (name) = ("swapoff"); (path) = (user_string_quoted($specialfile)); (argstr) = (user_string_quoted($specialfile)); } probe syscall.swapoff.return = kernel.function("sys_swapoff").return?{ (name) = ("swapoff"); (retstr) = (return_str(1, $return)); } probe syscall.swapon = kernel.function("sys_swapon").call?{ (name) = ("swapon"); (path) = (user_string_quoted($specialfile)); (swapflags) = (__int32($swap_flags)); (swapflags_str) = (_swapon_flags_str(__int32($swap_flags))); (argstr) = (sprintf("%s, %s", user_string_quoted($specialfile), swapflags_str)); } probe syscall.swapon.return = kernel.function("sys_swapon").return?{ (name) = ("swapon"); (retstr) = (return_str(1, $return)); } probe syscall.symlink = kernel.function("sys_symlink").call{ (name) = ("symlink"); (oldpath) = (user_string_quoted($oldname)); (newpath) = (user_string_quoted($newname)); (argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname))); } probe syscall.symlink.return = kernel.function("sys_symlink").return{ (name) = ("symlink"); (retstr) = (return_str(1, $return)); } probe syscall.symlinkat = kernel.function("sys_symlinkat").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_symlinkat %})) next ; } } catch { { next; } } ; (name) = ("symlinkat"); (oldname) = ($oldname); (oldname_str) = (user_string_quoted($oldname)); (newdfd) = (__int32($newdfd)); (newdfd_str) = (_dfd_str(__int32($newdfd))); (newname) = ($newname); (newname_str) = (user_string_quoted($newname)); (argstr) = (sprintf("%s, %s, %s", user_string_quoted($oldname), newdfd_str, user_string_quoted($newname))); } probe syscall.symlinkat.return = kernel.function("sys_symlinkat").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_symlinkat %})) next ; } } catch { { next; } } ; (name) = ("symlinkat"); (retstr) = (return_str(1, $return)); } probe syscall.sync = kernel.function("sys_sync").call{ (name) = ("sync"); (argstr) = (""); } probe syscall.sync.return = kernel.function("sys_sync").return{ (name) = ("sync"); (retstr) = (return_str(1, $return)); } probe syscall.sync_file_range = kernel.function("sys_sync_file_range").call?{ (name) = ("sync_file_range"); (fd) = (__int32($fd)); (offset) = ($offset); (nbytes) = ($nbytes); (flags) = (__uint32($flags)); (flags_str) = (_sync_file_range_flags_str(flags)); (argstr) = (sprintf("%d, %d, %d, %s", fd, $offset, $nbytes, _sync_file_range_flags_str(flags))); } probe syscall.sync_file_range.return = kernel.function("sys_sync_file_range").return?{ (name) = ("sync_file_range"); (retstr) = (return_str(1, $return)); } probe syscall.syncfs = kernel.function("sys_syncfs").call?{ (name) = ("syncfs"); (fd) = (__int32($fd)); (argstr) = (sprintf("%d", fd)); } probe syscall.syncfs.return = kernel.function("sys_syncfs").return?{ (name) = ("syncfs"); (retstr) = (return_str(1, $return)); } probe syscall.sysctl = kernel.function("compat_sys_sysctl").call?, kernel.function("sys_sysctl").call?{ (name) = ("sysctl"); (argstr) = (sprintf("%p", $args)); } probe syscall.sysctl.return = kernel.function("compat_sys_sysctl").return?, kernel.function("sys_sysctl").return?{ (name) = ("sysctl"); (retstr) = (return_str(1, $return)); } probe syscall.sysfs = kernel.function("sys_sysfs").call{ (name) = ("sysfs"); (option) = (__int32($option)); (arg1) = ($arg1); (arg2) = ($arg2); if ((option) == (1)) (argstr) = (sprintf("%d, %s", __int32($option), user_string_quoted($arg1))) else if ((option) == (2)) (argstr) = (sprintf("%d, %d, %p", __int32($option), $arg1, $arg2)) else if ((option) == (3)) (argstr) = (sprintf("%d", __int32($option))) else (argstr) = (sprintf("%d, 0x%x, 0x%x", __int32($option), $arg1, $arg2)) ; } probe syscall.sysfs.return = kernel.function("sys_sysfs").return{ (name) = ("sysfs"); (retstr) = (return_str(1, $return)); } probe syscall.sysinfo = kernel.function("compat_sys_sysinfo").call?, kernel.function("sys_sysinfo").call{ (name) = ("sysinfo"); (info_uaddr) = ($info); (argstr) = (sprintf("%s", _struct_sysinfo_u(info_uaddr))); } probe syscall.sysinfo.return = kernel.function("compat_sys_sysinfo").return?, kernel.function("sys_sysinfo").return{ (name) = ("sysinfo"); (retstr) = (return_str(1, $return)); } probe syscall.syslog = kernel.function("sys_syslog").call{ (name) = ("syslog"); (type) = (__int32($type)); (bufp_uaddr) = ($buf); (len) = (__int32($len)); (argstr) = (sprintf("%d, %p, %d", __int32($type), $buf, __int32($len))); } probe syscall.syslog.return = kernel.function("sys_syslog").return{ (name) = ("syslog"); (retstr) = (return_str(1, $return)); } probe syscall.tee = kernel.function("sys_tee").call?{ (name) = ("tee"); (fdin) = (__int32($fdin)); (fdout) = (__int32($fdout)); (len) = (__ulong($len)); (flags) = (__uint32($flags)); (argstr) = (sprintf("%d, %d, %u, 0x%x", fdin, fdout, len, flags)); } probe syscall.tee.return = kernel.function("sys_tee").return?{ (name) = ("tee"); (retstr) = (return_str(1, $return)); } probe syscall.tgkill = kernel.function("sys_tgkill").call{ (name) = ("tgkill"); (tgid) = (__int32($tgid)); (pid) = (__int32($pid)); (sig) = (__int32($sig)); (argstr) = (sprintf("%d, %d, %s", __int32($tgid), __int32($pid), _signal_name(__int32($sig)))); } probe syscall.tgkill.return = kernel.function("sys_tgkill").return{ (name) = ("tgkill"); (retstr) = (return_str(1, $return)); } probe syscall.time = kernel.function("sys32_time").call?, kernel.function("sys_time64").call?, kernel.function("compat_sys_time").call?, kernel.function("sys_time").call?{ (name) = ("time"); (t_uaddr) = ($tloc); (argstr) = (sprintf("%p", $tloc)); } probe syscall.time.return = kernel.function("sys32_time").return?, kernel.function("sys_time64").return?, kernel.function("compat_sys_time").return?, kernel.function("sys_time").return?{ (name) = ("time"); (retstr) = (return_str(1, $return)); } probe syscall.timer_create = __syscall.timer_create, kernel.function("compat_sys_timer_create").call?{ (name) = ("timer_create"); (clockid) = (__int32($which_clock)); (clockid_str) = (_get_wc_str(__int32($which_clock))); (evp_uaddr) = ($timer_event_spec); (timerid_uaddr) = ($created_timer_id); (argstr) = (sprintf("%s, %p, %p", clockid_str, $timer_event_spec, $created_timer_id)); } probe __syscall.timer_create = kernel.function("sys_timer_create").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_create %})) next ; } } catch { { next; } } ; } probe syscall.timer_create.return = __syscall.timer_create.return, kernel.function("compat_sys_timer_create").return?{ (name) = ("timer_create"); (retstr) = (return_str(1, $return)); } probe __syscall.timer_create.return = kernel.function("sys_timer_create").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_create %})) next ; } } catch { { next; } } ; } probe syscall.timer_delete = kernel.function("sys_timer_delete").call{ (name) = ("timer_delete"); (timerid) = (__int32($timer_id)); (argstr) = (sprint(__int32($timer_id))); } probe syscall.timer_delete.return = kernel.function("sys_timer_delete").return{ (name) = ("timer_delete"); (retstr) = (return_str(1, $return)); } probe syscall.timer_getoverrun = kernel.function("sys_timer_getoverrun").call{ (name) = ("timer_getoverrun"); (timerid) = (__int32($timer_id)); (argstr) = (sprint(__int32($timer_id))); } probe syscall.timer_getoverrun.return = kernel.function("sys_timer_getoverrun").return{ (name) = ("timer_getoverrun"); (retstr) = (return_str(1, $return)); } probe syscall.timer_gettime = __syscall.timer_gettime, kernel.function("compat_sys_timer_gettime").call?{ (name) = ("timer_gettime"); (timerid) = (__int32($timer_id)); (value_uaddr) = ($setting); (argstr) = (sprintf("%d, %p", __int32($timer_id), $setting)); } probe __syscall.timer_gettime = kernel.function("sys_timer_gettime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_gettime %})) next ; } } catch { { next; } } ; } probe syscall.timer_gettime.return = __syscall.timer_gettime.return, kernel.function("compat_sys_timer_gettime").return?{ (name) = ("timer_gettime"); (retstr) = (return_str(1, $return)); } probe __syscall.timer_gettime.return = kernel.function("sys_timer_gettime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_gettime %})) next ; } } catch { { next; } } ; } probe syscall.timer_settime = __syscall.timer_settime, kernel.function("compat_sys_timer_settime").call?{ (name) = ("timer_settime"); (timerid) = (__int32($timer_id)); (flags) = (__int32($flags)); (value_uaddr) = ((@defined($new))?($new):($new_setting)); (ovalue_uaddr) = ((@defined($old))?($old):($old_setting)); (argstr) = (sprintf("%d, %d, %s, %p", __int32($timer_id), __int32($flags), _struct_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe __syscall.timer_settime = kernel.function("sys_timer_settime").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_settime %})) next ; } } catch { { next; } } ; } probe syscall.timer_settime.return = __syscall.timer_settime.return, kernel.function("compat_sys_timer_settime").return?{ (name) = ("timer_settime"); (retstr) = (return_str(1, $return)); } probe __syscall.timer_settime.return = kernel.function("sys_timer_settime").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_timer_settime %})) next ; } } catch { { next; } } ; } probe syscall.timerfd = kernel.function("sys_timerfd").call?, kernel.function("compat_sys_timerfd").call?{ (name) = ("timerfd"); (argstr) = (sprintf("%d, %d, 0x%x", $ufd, $clockid, $flags)); } probe syscall.timerfd.return = kernel.function("sys_timerfd").return?, kernel.function("compat_sys_timerfd").return?{ (name) = ("timerfd"); (retstr) = (return_str(1, $return)); } probe syscall.timerfd_create = kernel.function("sys_timerfd_create").call?{ (name) = ("timerfd_create"); (clockid) = (__int32($clockid)); (clockid_str) = (_get_wc_str(clockid)); (flags) = (__int32($flags)); (flags_str) = (_stp_timerfd_flags_str(flags)); (argstr) = (sprintf("%s, %s", clockid_str, flags_str)); } probe syscall.timerfd_create.return = kernel.function("sys_timerfd_create").return?{ (name) = ("timerfd_create"); (retstr) = (return_str(1, $return)); } probe syscall.timerfd_gettime = __syscall.timerfd_gettime?, kernel.function("compat_sys_timerfd_gettime").call?{ (name) = ("timerfd_gettime"); (fd) = (__int32($ufd)); (value_uaddr) = ($otmr); (argstr) = (sprintf("%d, %p", fd, value_uaddr)); } probe __syscall.timerfd_gettime = kernel.function("sys_timerfd_gettime").call?{ } probe syscall.timerfd_gettime.return = __syscall.timerfd_gettime.return?, kernel.function("compat_sys_timerfd_gettime").return?{ (name) = ("timerfd_gettime"); (retstr) = (return_str(1, $return)); } probe __syscall.timerfd_gettime.return = kernel.function("sys_timerfd_gettime").return?{ } probe syscall.timerfd_settime = __syscall.timerfd_settime?, kernel.function("compat_sys_timerfd_settime").call?{ (name) = ("timerfd_settime"); (fd) = (__int32($ufd)); (flags) = (__int32($flags)); (flags_str) = (_stp_timerfd_flags_str(flags)); (value_uaddr) = ($utmr); (ovalue_uaddr) = ($otmr); (argstr) = (sprintf("%d, %s, %s, %p", fd, flags_str, _struct_itimerspec_u(value_uaddr), ovalue_uaddr)); } probe __syscall.timerfd_settime = kernel.function("sys_timerfd_settime").call?{ } probe syscall.timerfd_settime.return = __syscall.timerfd_settime.return?, kernel.function("compat_sys_timerfd_settime").return?{ (name) = ("timerfd_settime"); (retstr) = (return_str(1, $return)); } probe __syscall.timerfd_settime.return = kernel.function("sys_timerfd_settime").return?{ } probe syscall.times = kernel.function("compat_sys_times").call?, kernel.function("sys_times").call?{ (name) = ("times"); (buf_uaddr) = ($tbuf); (argstr) = (sprintf("%s", _struct_tms_u(buf_uaddr))); } probe syscall.times.return = kernel.function("compat_sys_times").return?, kernel.function("sys_times").return?{ (name) = ("times"); (retstr) = (return_str(1, $return)); } probe syscall.tkill = kernel.function("sys_tkill").call{ (name) = ("tkill"); (pid) = (__int32($pid)); (sig) = (__int32($sig)); (argstr) = (sprintf("%d, %s", __int32($pid), _signal_name(__int32($sig)))); } probe syscall.tkill.return = kernel.function("sys_tkill").return{ (name) = ("tkill"); (retstr) = (return_str(1, $return)); } probe syscall.truncate = __syscall.truncate?, __syscall.truncate64?, __syscall.compat_truncate?{ (name) = ("truncate"); (path_uaddr) = ($path); (path) = (user_string_quoted(path_uaddr)); (argstr) = (sprintf("%s, %d", user_string_quoted(path_uaddr), length)); } probe __syscall.truncate = kernel.function("sys_truncate").call?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_truncate %})) next ; } } catch { { next; } } ; (length) = (__long($length)); } probe __syscall.truncate64 = kernel.function("sys_truncate64").call?{ (length) = ($length); } probe __syscall.compat_truncate = kernel.function("compat_sys_truncate").call?{ (length) = (__int32($length)); } probe syscall.truncate.return = __syscall.truncate.return?, kernel.function("sys_truncate64").return?, kernel.function("compat_sys_truncate").return?{ (name) = ("truncate"); (retstr) = (return_str(1, $return)); } probe __syscall.truncate.return = kernel.function("sys_truncate").return?{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_truncate %})) next ; } } catch { { next; } } ; } probe syscall.tux = kernel.function("sys_tux").call?{ (name) = ("tux"); (action) = ($action); (u_info_uaddr) = ($u_info); (argstr) = (sprintf("%d, %p", $action, $u_info)); } probe syscall.tux.return = kernel.function("sys_tux").return?{ (name) = ("tux"); (retstr) = (return_str(1, $return)); } probe syscall.umask = kernel.function("sys_umask").call{ (name) = ("umask"); (mask) = (__uint32($mask)); (argstr) = (sprintf("%#o", __uint32($mask))); } probe syscall.umask.return = kernel.function("sys_umask").return{ (name) = ("umask"); (retstr) = (return_str(3, $return)); } probe syscall.umount = __syscall.umount, __syscall.oldumount?{ (name) = ("umount"); } probe __syscall.umount = kernel.function("sys_umount").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_umount2 %})) next ; } } catch { { next; } } ; (target) = (user_string_quoted($name)); (flags) = ($flags); (flags_str) = (_umountflags_str($flags)); (argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str)); } probe __syscall.oldumount = kernel.function("sys_oldumount").call?{ (target) = (user_string_quoted($name)); (flags) = (0); (flags_str) = (_umountflags_str(0)); (argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str)); } probe syscall.umount.return = __syscall.umount.return, kernel.function("sys_oldumount").return?{ (name) = ("umount"); (retstr) = (return_str(1, $return)); } probe __syscall.umount.return = kernel.function("sys_umount").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_umount2 %})) next ; } } catch { { next; } } ; } probe syscall.uname = kernel.function("sys_uname").call?, kernel.function("sys_olduname").call?, kernel.function("sys32_olduname").call?, kernel.function("sys32_uname").call?, kernel.function("sys_newuname").call?{ (name) = ("uname"); (argstr) = (sprintf("%p", $name)); } probe syscall.uname.return = kernel.function("sys_uname").return?, kernel.function("sys_olduname").return?, kernel.function("sys32_olduname").return?, kernel.function("sys32_uname").return?, kernel.function("sys_newuname").return?{ (name) = ("uname"); (retstr) = (return_str(1, $return)); } probe syscall.unlink = kernel.function("sys_unlink").call{ (name) = ("unlink"); (pathname_uaddr) = ($pathname); (pathname) = (user_string_quoted($pathname)); (argstr) = (user_string_quoted($pathname)); } probe syscall.unlink.return = kernel.function("sys_unlink").return{ (name) = ("unlink"); (retstr) = (return_str(1, $return)); } probe syscall.unlinkat = kernel.function("sys_unlinkat").call?{ (name) = ("unlinkat"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(__int32($dfd))); (pathname) = ($pathname); (pathname_str) = (user_string_quoted($pathname)); (flag) = (__uint32($flag)); (flag_str) = (_at_flag_str(__uint32($flag))); (argstr) = (sprintf("%s, %s, %s", dfd_str, user_string_quoted($pathname), flag_str)); } probe syscall.unlinkat.return = kernel.function("sys_unlinkat").return?{ (name) = ("unlinkat"); (retstr) = (return_str(1, $return)); } probe syscall.unshare = kernel.function("sys_unshare").call?{ (name) = ("unshare"); (unshare_flags) = ($unshare_flags); (argstr) = (__fork_flags(unshare_flags)); } probe syscall.unshare.return = kernel.function("sys_unshare").return?{ (name) = ("unshare"); (retstr) = (return_str(1, $return)); } probe syscall.uselib = kernel.function("sys_uselib").call?{ (name) = ("uselib"); (library_uaddr) = ($library); (library) = (user_string_quoted($library)); (argstr) = (user_string_quoted($library)); } probe syscall.uselib.return = kernel.function("sys_uselib").return?{ (name) = ("uselib"); (retstr) = (return_str(1, $return)); } probe syscall.userfaultfd = kernel.function("sys_userfaultfd").call?{ (name) = ("userfaultfd"); (flags) = (__int32($flags)); (flags_str) = (_userfaultfd_flags_str(flags)); (argstr) = (sprintf("%s", _userfaultfd_flags_str(flags))); } probe syscall.userfaultfd.return = kernel.function("sys_userfaultfd").return?{ (name) = ("userfaultfd"); (retstr) = (return_str(1, $return)); } probe syscall.ustat = kernel.function("sys_ustat").call{ (name) = ("ustat"); (dev) = (__uint32($dev)); (ubuf_uaddr) = ($ubuf); (argstr) = (sprintf("%u, %p", __uint32($dev), $ubuf)); } probe syscall.ustat32 = kernel.function("compat_sys_ustat").call?, kernel.function("sys32_ustat").call?{ (name) = ("ustat"); (dev) = (__uint32($dev)); (ubuf_uaddr) = ((@defined($u))?($u):($u32p)); (argstr) = (sprintf("%u, %p", __uint32($dev), (@defined($u))?($u):($u32p))); } probe syscall.ustat.return = kernel.function("sys_ustat").return?{ (name) = ("ustat"); (retstr) = (return_str(1, $return)); } probe syscall.ustat32.return = kernel.function("sys32_ustat").return?, kernel.function("compat_sys_ustat").return?{ (name) = ("ustat"); (retstr) = (return_str(1, $return)); } probe syscall.utime = kernel.function("sys_utime").call?{ (name) = ("utime"); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (buf_uaddr) = ($times); (actime) = (user_long(&@cast($times, "utimbuf")->actime)); (modtime) = (user_long(&@cast($times, "utimbuf")->modtime)); (argstr) = (sprintf("%s, [%s, %s]", user_string_quoted($filename), ctime(actime), ctime(modtime))); } probe syscall.utime.return = kernel.function("sys_utime").return?{ (name) = ("utime"); (retstr) = (return_str(1, $return)); } probe syscall.compat_utime = kernel.function("compat_sys_utime").call?{ (name) = ("utime"); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (buf_uaddr) = ($t); (actime) = (_struct_compat_utimbuf_actime(buf_uaddr)); (modtime) = (_struct_compat_utimbuf_modtime(buf_uaddr)); (argstr) = (sprintf("%s, [%s, %s]", user_string_quoted($filename), ctime(actime), ctime(modtime))); } probe syscall.compat_utime.return = kernel.function("compat_sys_utime").return?{ (name) = ("utime"); (retstr) = (return_str(1, $return)); } probe syscall.utimes = kernel.function("sys_utimes").call{ (name) = ("utimes"); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (tvp_uaddr) = ($utimes); (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_timeval_u($utimes, 2))); } probe syscall.utimes.return = kernel.function("sys_utimes").return{ (name) = ("utimes"); (retstr) = (return_str(1, $return)); } probe syscall.compat_sys_utimes = kernel.function("compat_sys_utimes").call?{ (name) = ("utimes"); (filename) = (user_string_quoted($filename)); (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_compat_timeval_u($t, 2))); } probe syscall.compat_sys_utimes.return = kernel.function("compat_sys_utimes").return?{ (name) = ("utimes"); (retstr) = (return_str(1, $return)); } probe syscall.utimensat = kernel.function("sys_utimensat").call?{ (name) = ("utimensat"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(__int32($dfd))); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (tsp_uaddr) = ($utimes); (flags) = (__int32($flags)); (flags_str) = (_at_flag_str(__int32($flags))); (argstr) = (sprintf("%s, %s, %s, %s", _dfd_str(__int32($dfd)), user_string_quoted($filename), _struct_timespec_u($utimes, 2), _at_flag_str(__int32($flags)))); } probe syscall.compat_utimensat = kernel.function("compat_sys_utimensat").call?{ (name) = ("utimensat"); (dfd) = (__int32($dfd)); (dfd_str) = (_dfd_str(__int32($dfd))); (filename_uaddr) = ($filename); (filename) = (user_string_quoted($filename)); (tsp_uaddr) = ($t); (flags) = (__int32($flags)); (flags_str) = (_at_flag_str(__int32($flags))); (argstr) = (sprintf("%s, %s, %s, %s", _dfd_str(__int32($dfd)), user_string_quoted($filename), _struct_compat_timespec_u($t, 2), _at_flag_str(__int32($flags)))); } probe syscall.utimensat.return = kernel.function("sys_utimensat").return?{ (name) = ("utimensat"); (retstr) = (return_str(1, $return)); } probe syscall.compat_utimensat.return = kernel.function("compat_sys_utimensat").return?{ (name) = ("utimensat"); (retstr) = (return_str(1, $return)); } probe syscall.vfork = kernel.function("sys_vfork").call?{ (name) = ("vfork"); (argstr) = (""); } probe syscall.vfork.return = kernel.function("sys_vfork").return?{ (name) = ("vfork"); (retstr) = (return_str(1, $return)); } probe syscall.vhangup = kernel.function("sys_vhangup").call{ (name) = ("vhangup"); (argstr) = (""); } probe syscall.vhangup.return = kernel.function("sys_vhangup").return{ (name) = ("vhangup"); (retstr) = (return_str(1, $return)); } probe syscall.vmsplice = kernel.function("sys_vmsplice").call?{ (name) = ("vmsplice"); (fd) = (__int32($fd)); (iov) = ($iov); (nr_segs) = (__ulong($nr_segs)); (flags) = ($flags); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", fd, iov, nr_segs, flags_str)); } probe syscall.compat_vmsplice = kernel.function("compat_sys_vmsplice").call?{ (name) = ("vmsplice"); (fd) = (__int32($fd)); (iov) = ($iov32); (nr_segs) = (__uint32($nr_segs)); (flags) = ($flags); (flags_str) = (_stp_splice_flags_str(flags)); (argstr) = (sprintf("%d, %p, %u, %s", fd, iov, nr_segs, flags_str)); } probe syscall.vmsplice.return = kernel.function("sys_vmsplice").return?{ (name) = ("vmsplice"); (retstr) = (return_str(1, $return)); } probe syscall.compat_vmsplice.return = kernel.function("compat_sys_vmsplice").return?{ (name) = ("vmsplice"); (retstr) = (return_str(1, $return)); } probe syscall.wait4 = __syscall.wait4, __syscall.compat_wait4?{ (name) = ("wait4"); (pid) = (__int32((@defined($upid))?($upid):($pid))); (status_uaddr) = ($stat_addr); (options) = (__int32($options)); (options_str) = (_wait4_opt_str(options)); (rusage_uaddr) = ($ru); (argstr) = (sprintf("%d, %p, %s, %p", pid, status_uaddr, options_str, rusage_uaddr)); } probe __syscall.wait4 = kernel.function("sys_wait4").call{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_wait4 %})) next ; } } catch { { next; } } ; } probe __syscall.compat_wait4 = kernel.function("compat_sys_wait4").call?{ } probe syscall.wait4.return = __syscall.wait4.return, __syscall.compat_wait4.return?{ (name) = ("wait4"); if ((returnval()) <= (0)) (status_str) = ("N/A") else if (($stat_addr) == (0)) (status_str) = ("NULL") else (status_str) = (_wait_status_str(user_int($stat_addr))) ; (retstr) = (return_str(1, $return)); } probe __syscall.wait4.return = kernel.function("sys_wait4").return{ try { { if ((_stp_syscall_nr()) != (%{ /* pure */ /* unprivileged */ /* stable */ __NR_wait4 %})) next ; } } catch { { next; } } ; } probe __syscall.compat_wait4.return = kernel.function("compat_sys_wait4").return?{ } probe syscall.waitid = __syscall.waitid, kernel.function("compat_sys_waitid").call?{ (name) = ("waitid"); (which) = (__int32($which)); (which_str) = (_waitid_which_str(__int32($which))); (pid) = (__int32((@defined($upid))?($upid):($pid))); (infop_uaddr) = ((@defined($infop))?($infop):($uinfo)); (options) = ($options); (options_str) = (_wait4_opt_str($options)); (rusage_uaddr) = ((@defined($ru))?($ru):($uru)); (argstr) = (sprintf("%s, %d, %p, %s, %p", _waitid_which_str(__int32($which)), __int32((@defined($upid))?($upid):($pid)), infop_uaddr, _wait4_opt_str($options), (@defined($ru))?($ru):($uru))); } probe __syscall.waitid = kernel.function("sys_waitid").call{ } probe syscall.waitid.return = __syscall.waitid.return, kernel.function("compat_sys_waitid").return?{ (name) = ("waitid"); (retstr) = (return_str(1, $return)); } probe __syscall.waitid.return = kernel.function("sys_waitid").return{ } probe syscall.waitpid = kernel.function("sys_waitpid").call?, kernel.function("sys32_waitpid").call?{ (name) = ("waitpid"); (pid) = (__int32($pid)); (status_uaddr) = ($stat_addr); (options) = (__int32($options)); (options_str) = (_wait4_opt_str(options)); (argstr) = (sprintf("%d, %p, %s", __int32($pid), $stat_addr, options_str)); } probe syscall.waitpid.return = kernel.function("sys_waitpid").return?, kernel.function("sys32_waitpid").return?{ (name) = ("waitpid"); (retstr) = (return_str(1, $return)); } probe syscall.write = __syscall.write{ (name) = ("write"); (fd) = (__int32($fd)); (buf_uaddr) = ($buf); (count) = (__ulong($count)); (argstr) = (sprintf("%d, %s, %u", __int32($fd), user_buffer_quoted($buf, $count, syscall_string_trunc), __ulong($count))); } probe __syscall.write = kernel.function("sys_write").call{ } probe syscall.write.return = __syscall.write.return{ (name) = ("write"); (retstr) = (return_str(1, $return)); } probe __syscall.write.return = kernel.function("sys_write").return{ } probe syscall.writev = kernel.function("compat_sys_writev").call?, kernel.function("sys_writev").call{ (name) = ("writev"); (vector_uaddr) = ($vec); (count) = (__int32($vlen)); (fd) = (__int32($fd)); (argstr) = (sprintf("%d, %p, %d", __int32($fd), $vec, __int32($vlen))); } probe syscall.writev.return = kernel.function("compat_sys_writev").return?, kernel.function("sys_writev").return{ (name) = ("writev"); (retstr) = (return_str(1, $return)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls_cfg_trunc.stp global syscall_string_trunc = 50 # file /root/systemtap_write/install/share/systemtap/tapset/linux/target_set.stp global _target_set probe init{ if (target()) (_target_set[target()]) = (stp_pid()) ; } probe process.begin!,nd_syscall.fork.return?,nd_syscall.vfork.return?,nd_syscall.clone.return!,syscall.fork.return,syscall.vfork.return,syscall.clone.return{ if (is_return()) { (pid) = ((@defined($return))?($return):(returnval())); (ppid) = (pid()); } else { (pid) = (pid()); (ppid) = (ppid()); } ; if (((pid) == (target())) || ([ppid] in _target_set)) (_target_set[pid]) = (ppid) ; } probe process.end!,nd_syscall.exit!,syscall.exit{ delete _target_set[pid()]; } function target_set_pid (pid) { return [pid] in _target_set; } function target_set_report () { printf("target set:\\n"); foreach ([pid] in _target_set+) printf("%d begat %d\\n", _target_set[pid], pid); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %}function task_current () { return &@cast(%{ /* pure */ (unsigned long)current %}, "task_struct", "kernel"); } function _task_rlimit_cur (task, nd_limit) { if (((nd_limit) < (0)) || ((nd_limit) >= (%{ /* pure */ /* unprivileged */ /* stable */ RLIM_NLIMITS %}))) { return -(1); } ; (sig) = (@cast(task, "task_struct", "kernel")->signal); return (sig)->rlim[nd_limit]->rlim_cur; } function task_rlimit (task, lim_str) { (lim) = (rlimit_from_str(lim_str)); if ((lim) == (-(1))) { return -(1); } ; return _task_rlimit_cur(task, lim); } function task_rlimit_cpu (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_CPU %}); } function task_rlimit_fsize (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_FSIZE %}); } function task_rlimit_data (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_DATA %}); } function task_rlimit_stack (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_STACK %}); } function task_rlimit_core (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_CORE %}); } function task_rlimit_rss (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_RSS %}); } function task_rlimit_nproc (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_NPROC %}); } function task_rlimit_nofile (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_NOFILE %}); } function task_rlimit_memlock (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_MEMLOCK %}); } function task_rlimit_as (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_AS %}); } function task_rlimit_locks (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_LOCKS %}); } function task_rlimit_sigpending (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_SIGPENDING %}); } function task_rlimit_msgqueue (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_MSGQUEUE %}); } function task_rlimit_nice (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_NICE %}); } function task_rlimit_rtprio (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_RTPRIO %}); } function task_rlimit_rttime (task) { return _task_rlimit_cur(task, %{ /* pure */ /* unprivileged */ /* stable */ RLIMIT_RTTIME %}); } function task_parent (task) { return (@defined(@cast(task, "task_struct", "kernel")->real_parent))?(@cast(task, "task_struct", "kernel")->real_parent):(@cast(task, "task_struct", "kernel")->parent); } function task_state (task) { return @cast(task, "task_struct", "kernel")->state; } function task_execname (task) { return kernel_string(@cast(task, "task_struct", "kernel")->comm); } function task_pid (task) { return @cast(task, "task_struct", "kernel")->tgid; } function task_ns_pid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_pid_ns(t, PID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function pid2task (pid) { return &@cast(%{ /* pure */ ({ struct task_struct *t = NULL; pid_t t_pid = (pid_t)(long)STAP_ARG_pid; #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) struct pid *p_pid = find_get_pid(t_pid); rcu_read_lock(); t = pid_task(p_pid, PIDTYPE_PID); put_pid(p_pid); #else rcu_read_lock(); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) t = find_task_by_vpid (t_pid); #else t = find_task_by_pid (t_pid); #endif /* 2.6.24 */ #endif /* 2.6.31 */ rcu_read_unlock(); (unsigned long)t; }) %}, "task_struct", "kernel"); } function pid2execname (pid) { (tsk) = (pid2task(pid)); if (tsk) return task_execname(tsk) ; return ""; } function task_tid (task) { return @cast(task, "task_struct", "kernel")->pid; } function task_ns_tid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_pid_ns(t, TID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function task_gid (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; #ifdef STAPCONF_TASK_UID STAP_RETVALUE = kread(&(t->gid)); #else #ifdef STAPCONF_FROM_KUID_MUNGED struct user_namespace *user_ns; #endif /* We can't easily kread the task_struct's rcu-protected * credential fields. So, let's just make sure the entire * task_struct is valid to read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); /* If task_gid() isn't defined, make our own. */ #if !defined(task_gid) && defined(task_cred_xxx) #define task_gid(task) (task_cred_xxx((task), gid)) #endif #ifdef STAPCONF_FROM_KUID_MUNGED /* We also need to validate the namespace structure. */ user_ns = task_cred_xxx(t, user_ns); (void)kderef_buffer(NULL, user_ns, sizeof(struct user_namespace)); STAP_RETVALUE = from_kgid_munged(user_ns, task_gid(t)); #else STAP_RETVALUE = task_gid (t); #endif #endif CATCH_DEREF_FAULT(); %} function task_ns_gid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_user_ns(t, GID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function task_egid (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; #ifdef STAPCONF_TASK_UID STAP_RETVALUE = kread(&(t->egid)); #else #ifdef STAPCONF_FROM_KUID_MUNGED struct user_namespace *user_ns; #endif /* We can't easily kread the task_struct's rcu-protected * credential fields. So, let's just make sure the entire * task_struct is valid to read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); /* If task_egid() isn't defined, make our own. */ #if !defined(task_egid) && defined(task_cred_xxx) #define task_egid(task) (task_cred_xxx((task), egid)) #endif #ifdef STAPCONF_FROM_KUID_MUNGED /* We also need to validate the namespace structure. */ user_ns = task_cred_xxx(t, user_ns); (void)kderef_buffer(NULL, user_ns, sizeof(struct user_namespace)); STAP_RETVALUE = from_kgid_munged(user_ns, task_egid(t)); #else STAP_RETVALUE = task_egid (t); #endif #endif CATCH_DEREF_FAULT(); %} function task_ns_egid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_user_ns(current, EGID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function task_uid (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; #ifdef STAPCONF_TASK_UID STAP_RETVALUE = kread(&(t->uid)); #else #ifdef STAPCONF_FROM_KUID_MUNGED struct user_namespace *user_ns; #endif /* We can't easily kread the task_struct's rcu-protected * credential fields. So, let's just make sure the entire * task_struct is valid to read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); #ifdef STAPCONF_FROM_KUID_MUNGED /* We also need to validate the namespace structure. */ user_ns = task_cred_xxx(t, user_ns); (void)kderef_buffer(NULL, user_ns, sizeof(struct user_namespace)); STAP_RETVALUE = from_kuid_munged(user_ns, task_uid(t)); #else STAP_RETVALUE = task_uid (t); #endif #endif CATCH_DEREF_FAULT(); %} function task_ns_uid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_user_ns(current, UID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function task_euid (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; #ifdef STAPCONF_TASK_UID STAP_RETVALUE = kread(&(t->euid)); #else #ifdef STAPCONF_FROM_KUID_MUNGED struct user_namespace *user_ns; #endif /* We can't easily kread the task_struct's rcu-protected * credential fields. So, let's just make sure the entire * task_struct is valid to read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); #ifdef STAPCONF_FROM_KUID_MUNGED /* We also need to validate the namespace structure. */ user_ns = task_cred_xxx(t, user_ns); (void)kderef_buffer(NULL, user_ns, sizeof(struct user_namespace)); STAP_RETVALUE = from_kuid_munged(user_ns, task_euid(t)); #else STAP_RETVALUE = task_euid (t); #endif #endif CATCH_DEREF_FAULT(); %} function task_ns_euid (task) %{ /* pure */ /* guru */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; int64_t rc; /* Before using the task_struct pointer, make sure it is valid to * read. */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); rc = from_target_user_ns(current, EUID); if (rc < 0) STAP_ERROR ("cannot resolve id in namespace"); else STAP_RETURN (rc); CATCH_DEREF_FAULT(); %} function task_prio (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; STAP_RETVALUE = kread(&(t->prio)) - MAX_RT_PRIO; CATCH_DEREF_FAULT(); %} function task_nice (task) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; STAP_RETVALUE = kread(&(t->static_prio)) - MAX_RT_PRIO - 20; CATCH_DEREF_FAULT(); %} function task_cpu (task) { (ti) = ((@defined(@cast(task, "task_struct", "kernel")->stack))?(@cast(task, "task_struct", "kernel")->stack):(@cast(task, "task_struct", "kernel")->thread_info)); return @cast(ti, "thread_info", "kernel")->cpu; } function task_open_file_handles (task) %{ /* pure */ int locked = 0; unsigned int count=0, fd, max; struct task_struct *t; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) /* Older kernels */ struct files_struct *f; #else struct files_struct *fs; struct fdtable *f; #endif t = (struct task_struct *)(long)STAP_ARG_task; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) /* Older kernels */ f = kread(&(t->files)); #else fs = kread(&(t->files)); f = kread(&(fs->fdt)); #endif rcu_read_lock(); locked = 1; max = kread(&(f->max_fds)); for (fd = 0; fd < max; fd++) { if ( kread(&(f->fd[fd])) != NULL) count ++; } STAP_RETVALUE = count; CATCH_DEREF_FAULT(); if (locked) rcu_read_unlock(); %} function task_max_file_handles (task) %{ /* pure */ int locked = 0; struct task_struct *t; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) struct files_struct *f; #else struct files_struct *fs; struct fdtable *f; #endif t = (struct task_struct *)(long)STAP_ARG_task; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) f = kread(&(t->files)); #else fs = kread (&(t->files)); f = kread(&(fs->fdt)); #endif rcu_read_lock(); locked = 1; STAP_RETVALUE = kread(&(f->max_fds)); CATCH_DEREF_FAULT(); if (locked) rcu_read_unlock(); %} function task_fd_lookup (task, fd) %{ /* pure */ struct task_struct *t = (struct task_struct *)(long)STAP_ARG_task; struct files_struct *files = NULL; unsigned int fd = (unsigned int)(unsigned long)STAP_ARG_fd; struct file *file = NULL; /* Before using the task_struct pointer, make sure it is valid * to read. * * Note that originally we called * get_task_struct()/put_task_struct() here. However, just * because the task_struct memory is valid to read, doesn't * mean it is valid to *write* to this memory, which * get_task_struct() does. So, we won't bother with * get_task_struct()/put_task_struct(). */ (void)kderef_buffer(NULL, t, sizeof(struct task_struct)); // We should be calling get_files_struct() here, but it isn't // exported. This means that we can't lock the // files_struct. files = t->files; if (files) { /* Before using the files_struct pointer, make sure it is * valid to read. */ (void)kderef_buffer(NULL, files, sizeof(struct files_struct)); spin_lock(&files->file_lock); file = fcheck_files(files, fd); spin_unlock(&files->file_lock); } if (file) { // Note that we're returning a pointer which isn't // locked or has had its usage count increased. There // is nothing keeping this pointer valid until we use // it. So, before using it, it must be validated by // callers. STAP_RETURN((unsigned long)file); } else { STAP_ERROR ("cannot find file in task"); } CATCH_DEREF_FAULT(); %} function task_cwd_path (task) %{ /* pure */ struct task_struct *task = (struct task_struct *)(unsigned long)STAP_ARG_task; int put_task_struct_needed = 0; // Before using the task_struct pointer, make sure it is valid // to read. (void)kderef_buffer(NULL, task, sizeof(struct task_struct)); // OK, we now know it is valid to read. But, is it really a // task struct? if (!_stp_task_struct_valid(task)) { STAP_ERROR ("invalid task struct pointer"); } get_task_struct(task); put_task_struct_needed = 1; // The kernel calls get_fs_pwd() here, which is an inlined // function in include/linux/fs_struct.h. This function // doesn't return a path pointer, but assumes the caller has // allocated storage for the struct path. Instead, we're going // to return a pointer to task->fs->pwd. if (task->fs) { // Sigh. On kernels before 2.6.25, the task->fs->pwd // structure exists, but isn't a 'path' // structure. Instead it is a 'dentry' structure. The // 'pwd' and 'pwdmnt' (which is a 'vfsmount' // structure) variables would both be needed to get a // pathname. However, this function can't return 2 // items or really declare a static 'path' structure // to put the 2 pointers in. // // So, on those RHEL5-era kernels, we'll just return // NULL here. #ifdef STAPCONF_DPATH_PATH // Before using the task->fs pointer, let's be // paranoid and make sure it is valid to read. (void)kderef_buffer(NULL, task->fs, sizeof(struct fs_struct)); STAP_RETURN((unsigned long)&task->fs->pwd); #endif } CATCH_DEREF_FAULT(); if (put_task_struct_needed) put_task_struct(task); %} function task_exe_file (task) %{ /* pure */ struct task_struct *task = (struct task_struct *)(unsigned long)STAP_ARG_task; struct mm_struct *mm = NULL; struct file *exe_file = NULL; // Before using the task_struct pointer, make sure it is valid // to read. (void)kderef_buffer(NULL, task, sizeof(struct task_struct)); // OK, we now know it is valid to read. But, is it really a // task struct? if (!_stp_task_struct_valid(task)) { STAP_ERROR ("invalid task struct pointer"); } // We'd like to call get_task_mm()/mmput() here, but they can // sleep. So, let's hope incrementing the task's usage (by // calling get_task_struct) is enough to keep the mm around. get_task_struct(task); mm = task->mm; if (mm) exe_file = stap_find_exe_file(mm); put_task_struct(task); if (exe_file) { STAP_RETURN((unsigned long)exe_file); fput(exe_file); } CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/task_ancestry.stp global __task_ancestry_memo global __task_ancestry_times function task_ancestry (task, with_time) { (stime) = (task_start_time(task_pid(task))); if (((__task_ancestry_memo[task]) == ("")) || ((__task_ancestry_times[task]) != (stime))) { (ptask) = (task_parent(task)); (name) = (task_execname(task)); (__task_ancestry_times[task]) = (stime); if (with_time) (stamp) = (sprintf("(%s)", nsecs_to_string(stime))) ; if ((ptask) == (task)) (__task_ancestry_memo[task]) = (sprintf("%s%s", name, stamp)) else (__task_ancestry_memo[task]) = (((task_ancestry(ptask, with_time)) . ("=>")) . (sprintf("%s%s", name, stamp))) ; } ; return __task_ancestry_memo[task]; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/task_time.stp %{ #include /* includes asm/cputime.h */ #include /* Kernels since 2.6.37 generally have cputime_to_usecs, but not msecs. * (ref: kernel commit d57af9b2142f31a39dcfdeb30776baadfc802827) * Yet note some kernels (RHEL6) may already have both... */ #if defined(cputime_to_usecs) #if !defined(cputime_to_msecs) /* On some kernels (android 3.0 kernels), the cputime_to_usecs() macro * definition inadvertently had a semicolon on the end. The following * should handle versions of that macro with and without the extra * semi-colon. */ #define cputime_to_msecs(__ct) \ _stp_div64(NULL, ({cputime_to_usecs(__ct);}), 1000ULL) #endif /* Kernels before 2.6.37 have cputime_to_msecs, but not usecs. */ #elif defined(cputime_to_msecs) #define cputime_to_usecs(__ct) (cputime_to_msecs(__ct) * 1000ULL) /* RHEL4 (2.6.9) kernels have neither, but it's just jiffies anyway. */ #else #define cputime_to_msecs(__ct) jiffies_to_msecs(__ct) #define cputime_to_usecs(__ct) jiffies_to_usecs(__ct) #endif %}function task_utime () { return %{ /* pure */ /* unprivileged */ /* stable */ current->utime %}; } function task_utime (tid) { (task) = (pid2task(tid)); if ((task) != (0)) return (task)->utime else return 0 ; } function task_stime () { return %{ /* pure */ /* unprivileged */ /* stable */ current->stime %}; } function task_stime (tid) { (task) = (pid2task(tid)); if ((task) != (0)) return (task)->stime else return 0 ; } function task_start_time (tid) { (task) = (pid2task(tid)); if ((task) != (0)) { if (@defined(@cast(0, "task_struct", "kernel")->real_start_time->tv_sec)) { (time_sec) = ((task)->real_start_time->tv_sec); (time_nsec) = ((task)->real_start_time->tv_nsec); return ((time_sec) * (1000000000)) + (time_nsec); } else { return (task)->real_start_time; } ; } else return 0 ; } function cputime_to_msecs (cputime) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = cputime_to_msecs (STAP_ARG_cputime); %} function cputime_to_usecs (cputime) %{ /* pure */ /* unprivileged */ STAP_RETVALUE = cputime_to_usecs (STAP_ARG_cputime); %} function msecs_to_string (msecs) { (ms) = ((msecs) % (1000)); (secs) = ((msecs) / (1000)); (mins) = ((secs) / (60)); (secs) = ((secs) % (60)); return sprintf("%dm%d.%.3ds", mins, secs, ms); } function usecs_to_string (usecs) { (us) = ((usecs) % (1000000)); (secs) = ((usecs) / (1000000)); (mins) = ((secs) / (60)); (secs) = ((secs) % (60)); return sprintf("%dm%d.%.6ds", mins, secs, us); } function nsecs_to_string (nsecs) { (ns) = ((nsecs) % (1000000000)); (secs) = ((nsecs) / (1000000000)); (mins) = ((secs) / (60)); (secs) = ((secs) % (60)); return sprintf("%dm%d.%.9ds", mins, secs, ns); } function cputime_to_string (cputime) { return msecs_to_string(cputime_to_msecs(cputime)); } function task_time_string () { return sprintf("usr: %s, sys: %s", cputime_to_string(task_utime()), cputime_to_string(task_stime())); } function task_time_string_tid (tid) { return sprintf("usr: %s, sys: %s", cputime_to_string(task_utime(tid)), cputime_to_string(task_stime(tid))); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp %{ #include #include #include #include #include %}%{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %}%{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %}global sockstate[12] global __sockopt[18] global __ipv6_sockopt[55] probe tcp.sendmsg = kernel.function("tcp_sendmsg"){ (name) = ("tcp.sendmsg"); (sock) = ((@defined($sock))?($sock->sk):($sk)); (family) = (__ip_sock_family((@defined($sock))?($sock->sk):($sk))); (size) = ($size); } probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return{ (name) = ("tcp.sendmsg"); (size) = ($return); } probe tcp.recvmsg = kernel.function("tcp_recvmsg"){ (name) = ("tcp.recvmsg"); (sock) = ($sk); (size) = ($len); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__tcp_sock_sport($sk)); (dport) = (__tcp_sock_dport($sk)); } probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return{ (name) = ("tcp.recvmsg"); (size) = ($return); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__tcp_sock_sport($sk)); (dport) = (__tcp_sock_dport($sk)); } probe tcp.disconnect = kernel.function("tcp_disconnect"){ (name) = ("tcp.disconnect"); (sock) = ($sk); (family) = (__ip_sock_family($sk)); (flags) = ($flags); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__tcp_sock_sport($sk)); (dport) = (__tcp_sock_dport($sk)); } probe tcp.disconnect.return = kernel.function("tcp_disconnect").return{ (name) = ("tcp.disconnect"); (ret) = ($return); } probe tcp.setsockopt = tcp.ipv4.setsockopt, tcp.ipv6.setsockopt{ } probe tcp.ipv4.setsockopt = kernel.function("tcp_setsockopt"){ (name) = ("tcp.ipv4.setsockopt"); (sock) = ($sk); (family) = (__ip_sock_family($sk)); (level) = ($level); (optname) = ($optname); (optstr) = (tcp_sockopt_str($optname)); (optlen) = ($optlen); } probe tcp.ipv6.setsockopt = kernel.function("ipv6_setsockopt")!, module("ipv6").function("ipv6_setsockopt"){ (name) = ("tcp.ipv6.setsockopt"); (sock) = ($sk); (family) = (__ip_sock_family($sk)); (level) = ($level); (optname) = ($optname); (optstr) = (tcp_ipv6_sockopt_str($optname)); (optlen) = ($optlen); } probe tcp.setsockopt.return = tcp.ipv4.setsockopt.return, tcp.ipv6.setsockopt.return{ } probe tcp.ipv4.setsockopt.return = kernel.function("tcp_setsockopt").return{ (name) = ("tcp.ipv4.setsockopt"); (ret) = ($return); } probe tcp.ipv6.setsockopt.return = kernel.function("ipv6_setsockopt").return!, module("ipv6").function("ipv6_setsockopt").return{ (name) = ("tcp.ipv6.setsockopt"); (ret) = ($return); } probe tcp.receive = tcp.ipv4.receive, tcp.ipv6.receive{ } probe tcp.ipv4.receive = kernel.function("tcp_v4_rcv"){ (name) = ("tcp.ipv4.receive"); (iphdr) = (__get_skb_iphdr($skb)); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET %}); (saddr) = (format_ipaddr(__ip_skb_saddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (daddr) = (format_ipaddr(__ip_skb_daddr(iphdr), %{ /* pure */ /* unprivileged */ /* stable */ AF_INET %})); (protocol) = (__ip_skb_proto(iphdr)); (tcphdr) = (__get_skb_tcphdr($skb)); (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } probe tcp.ipv6.receive = kernel.function("tcp_v6_rcv")!, module("ipv6").function("tcp_v6_rcv"){ (name) = ("tcp.ipv6.receive"); (iphdr) = (__get_skb_iphdr((@defined($skb))?($skb):(kernel_pointer($pskb)))); (family) = (%{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %}); (saddr) = (format_ipaddr(&@cast(iphdr, "ipv6hdr", "kernel")->saddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (daddr) = (format_ipaddr(&@cast(iphdr, "ipv6hdr", "kernel")->daddr, %{ /* pure */ /* unprivileged */ /* stable */ AF_INET6 %})); (protocol) = (%{ /* pure */ /* unprivileged */ /* stable */ IPPROTO_TCP %}); (tcphdr) = (__get_skb_tcphdr((@defined($skb))?($skb):(kernel_pointer($pskb)))); (dport) = (__tcp_skb_dport(tcphdr)); (sport) = (__tcp_skb_sport(tcphdr)); (urg) = (__tcp_skb_urg(tcphdr)); (ack) = (__tcp_skb_ack(tcphdr)); (psh) = (__tcp_skb_psh(tcphdr)); (rst) = (__tcp_skb_rst(tcphdr)); (syn) = (__tcp_skb_syn(tcphdr)); (fin) = (__tcp_skb_fin(tcphdr)); } probe init{ (sockstate[1]) = ("TCP_ESTABLISHED"); (sockstate[2]) = ("TCP_SYN_SENT"); (sockstate[3]) = ("TCP_SYN_RECV"); (sockstate[4]) = ("TCP_FIN_WAIT1"); (sockstate[5]) = ("TCP_FIN_WAIT2"); (sockstate[6]) = ("TCP_TIME_WAIT"); (sockstate[7]) = ("TCP_CLOSE"); (sockstate[8]) = ("TCP_CLOSE_WAIT"); (sockstate[9]) = ("TCP_LAST_ACK"); (sockstate[10]) = ("TCP_LISTEN"); (sockstate[11]) = ("TCP_CLOSING"); (sockstate[12]) = ("TCP_MAX_STATES"); } probe init{ (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_NODELAY %}]) = ("TCP_NODELAY"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_MAXSEG %}]) = ("TCP_MAXSEG"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_CORK %}]) = ("TCP_CORK"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_KEEPIDLE %}]) = ("TCP_KEEPIDLE"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_KEEPINTVL %}]) = ("TCP_KEEPINTVL"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_KEEPCNT %}]) = ("TCP_KEEPCNT"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_SYNCNT %}]) = ("TCP_SYNCNT"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_LINGER2 %}]) = ("TCP_LINGER2"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_DEFER_ACCEPT %}]) = ("TCP_DEFER_ACCEPT"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_WINDOW_CLAMP %}]) = ("TCP_WINDOW_CLAMP"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_INFO %}]) = ("TCP_INFO"); (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_QUICKACK %}]) = ("TCP_QUICKACK"); if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_CONGESTION %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_CONGESTION %}]) = ("TCP_CONGESTION") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_MD5SIG %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_MD5SIG %}]) = ("TCP_MD5SIG") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_COOKIE_TRANSACTIONS %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_COOKIE_TRANSACTIONS %}]) = ("TCP_COOKIE_TRANSACTIONS") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_THIN_LINEAR_TIMEOUTS %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_THIN_LINEAR_TIMEOUTS %}]) = ("TCP_THIN_LINEAR_TIMEOUTS") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_THIN_DUPACK %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_THIN_DUPACK %}]) = ("TCP_THIN_DUPACK") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ TCP_USER_TIMEOUT %}) > (0)) (__sockopt[%{ /* pure */ /* unprivileged */ /* stable */ TCP_USER_TIMEOUT %}]) = ("TCP_USER_TIMEOUT") ; } probe init{ (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_ADDRFORM %}]) = ("IPV6_ADDRFORM"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292PKTINFO %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292PKTINFO %}]) = ("IPV6_2292PKTINFO") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292HOPOPTS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292HOPOPTS %}]) = ("IPV6_2292HOPOPTS") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292DSTOPTS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292DSTOPTS %}]) = ("IPV6_2292DSTOPTS") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292RTHDR %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292RTHDR %}]) = ("IPV6_2292RTHDR") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292PKTOPTIONS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292PKTOPTIONS %}]) = ("IPV6_2292PKTOPTIONS") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_CHECKSUM %}]) = ("IPV6_CHECKSUM"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292HOPLIMIT %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_2292HOPLIMIT %}]) = ("IPV6_2292HOPLIMIT") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_NEXTHOP %}]) = ("IPV6_NEXTHOP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_AUTHHDR %}]) = ("IPV6_AUTHHDR"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_FLOWINFO %}]) = ("IPV6_FLOWINFO"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_UNICAST_HOPS %}]) = ("IPV6_UNICAST_HOPS"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MULTICAST_IF %}]) = ("IPV6_MULTICAST_IF"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MULTICAST_HOPS %}]) = ("IPV6_MULTICAST_HOPS"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MULTICAST_LOOP %}]) = ("IPV6_MULTICAST_LOOP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_ADD_MEMBERSHIP %}]) = ("IPV6_ADD_MEMBERSHIP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_DROP_MEMBERSHIP %}]) = ("IPV6_DROP_MEMBERSHIP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_ROUTER_ALERT %}]) = ("IPV6_ROUTER_ALERT"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MTU_DISCOVER %}]) = ("IPV6_MTU_DISCOVER"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MTU %}]) = ("IPV6_MTU"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVERR %}]) = ("IPV6_RECVERR"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_V6ONLY %}]) = ("IPV6_V6ONLY"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_JOIN_ANYCAST %}]) = ("IPV6_JOIN_ANYCAST"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_LEAVE_ANYCAST %}]) = ("IPV6_LEAVE_ANYCAST"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_FLOWLABEL_MGR %}]) = ("IPV6_FLOWLABEL_MGR"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_FLOWINFO_SEND %}]) = ("IPV6_FLOWINFO_SEND"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_IPSEC_POLICY %}]) = ("IPV6_IPSEC_POLICY"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_XFRM_POLICY %}]) = ("IPV6_XFRM_POLICY"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_JOIN_GROUP %}]) = ("MCAST_JOIN_GROUP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_BLOCK_SOURCE %}]) = ("MCAST_BLOCK_SOURCE"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_UNBLOCK_SOURCE %}]) = ("MCAST_UNBLOCK_SOURCE"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_LEAVE_GROUP %}]) = ("MCAST_LEAVE_GROUP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_JOIN_SOURCE_GROUP %}]) = ("MCAST_JOIN_SOURCE_GROUP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_LEAVE_SOURCE_GROUP %}]) = ("MCAST_LEAVE_SOURCE_GROUP"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ MCAST_MSFILTER %}]) = ("MCAST_MSFILTER"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVPKTINFO %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVPKTINFO %}]) = ("IPV6_RECVPKTINFO") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_PKTINFO %}]) = ("IPV6_PKTINFO"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVHOPLIMIT %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVHOPLIMIT %}]) = ("IPV6_RECVHOPLIMIT") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_HOPLIMIT %}]) = ("IPV6_HOPLIMIT"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVHOPOPTS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVHOPOPTS %}]) = ("IPV6_RECVHOPOPTS") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_HOPOPTS %}]) = ("IPV6_HOPOPTS"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RTHDRDSTOPTS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RTHDRDSTOPTS %}]) = ("IPV6_RTHDRDSTOPTS") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVRTHDR %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVRTHDR %}]) = ("IPV6_RECVRTHDR") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RTHDR %}]) = ("IPV6_RTHDR"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVDSTOPTS %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVDSTOPTS %}]) = ("IPV6_RECVDSTOPTS") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_DSTOPTS %}]) = ("IPV6_DSTOPTS"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVPATHMTU %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVPATHMTU %}]) = ("IPV6_RECVPATHMTU") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_PATHMTU %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_PATHMTU %}]) = ("IPV6_PATHMTU") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_DONTFRAG %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_DONTFRAG %}]) = ("IPV6_DONTFRAG") ; (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVTCLASS %}]) = ("IPV6_RECVTCLASS"); (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_TCLASS %}]) = ("IPV6_TCLASS"); if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_ADDR_PREFERENCES %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_ADDR_PREFERENCES %}]) = ("IPV6_ADDR_PREFERENCES") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MINHOPCOUNT %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_MINHOPCOUNT %}]) = ("IPV6_MINHOPCOUNT") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVORIGDSTADDR %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_RECVORIGDSTADDR %}]) = ("IPV6_RECVORIGDSTADDR") ; if ((%{ /* pure */ /* unprivileged */ /* stable */ IPV6_TRANSPARENT %}) > (0)) (__ipv6_sockopt[%{ /* pure */ /* unprivileged */ /* stable */ IPV6_TRANSPARENT %}]) = ("IPV6_TRANSPARENT") ; } function tcp_get_info_rto (sock) %{ /* pure */ struct sock *sk = (struct sock *)(long) STAP_ARG_sock; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) struct tcp_opt *tp = tcp_sk(sk); STAP_RETVALUE = (int64_t) jiffies_to_usecs(kread(&(tp->rto))); #else const struct inet_connection_sock *icsk = inet_csk(sk); STAP_RETVALUE = (int64_t) jiffies_to_usecs(kread(&(icsk->icsk_rto))); #endif CATCH_DEREF_FAULT(); %} function tcp_get_info_snd_cwnd (sock) %{ /* pure */ struct sock *sk = (struct sock *)(long) STAP_ARG_sock; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) struct tcp_opt *tp = tcp_sk(sk); #else struct tcp_sock *tp = tcp_sk(sk); #endif STAP_RETVALUE = (int64_t) kread(&(tp->snd_cwnd)); CATCH_DEREF_FAULT(); %} function tcp_ts_get_info_state (sock) %{ /* pure */ struct sock *sk = (struct sock *)(long) STAP_ARG_sock; STAP_RETVALUE = (int64_t) kread(&(sk->sk_state)); CATCH_DEREF_FAULT(); %} function __tcp_sock_dport (sock) { (port) = ((@defined(@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_dport))?(@cast(sock, "inet_sock", "kernel")->sk->__sk_common->skc_dport):((@defined(@cast(sock, "inet_sock")->inet_dport))?(@cast(sock, "inet_sock")->inet_dport):((@defined(@cast(sock, "inet_sock", "kernel")->dport))?(@cast(sock, "inet_sock", "kernel")->dport):(@cast(sock, "inet_sock", "kernel")->inet->dport)))); return ntohs(port); } function __get_skb_tcphdr_new (skb) %{ /* pure */ struct sk_buff *skb; skb = (struct sk_buff *)(long)STAP_ARG_skb; /* as done by skb_transport_header() */ #ifdef NET_SKBUFF_DATA_USES_OFFSET STAP_RETVALUE = (long)(kread(&(skb->head)) + kread(&(skb->transport_header))); #else STAP_RETVALUE = (long)kread(&(skb->transport_header)); #endif CATCH_DEREF_FAULT(); %} function __get_skb_tcphdr (skb) { return __get_skb_tcphdr_new(skb); } function __tcp_skb_urg (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->urg; } function __tcp_skb_ack (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->ack; } function __tcp_skb_psh (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->psh; } function __tcp_skb_rst (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->rst; } function __tcp_skb_syn (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->syn; } function __tcp_skb_fin (tcphdr) { return @cast(tcphdr, "tcphdr", "kernel")->fin; } function __tcp_skb_sport (tcphdr) { return ntohs(@cast(tcphdr, "tcphdr", "kernel")->source); } function __tcp_skb_dport (tcphdr) { return ntohs(@cast(tcphdr, "tcphdr", "kernel")->dest); } function __tcp_sock_sport (sock) { (port) = ((@defined(@cast(sock, "inet_sock")->inet_sport))?(@cast(sock, "inet_sock")->inet_sport):((@defined(@cast(sock, "inet_sock", "kernel")->sport))?(@cast(sock, "inet_sock", "kernel")->sport):(@cast(sock, "inet_sock", "kernel")->inet->sport))); return ntohs(port); } function tcp_sockstate_str (state) { return ([state] in sockstate)?(sockstate[state]):("UNDEF"); } function tcp_ts_get_info_snd_ssthresh (sock) %{ /* pure */ struct sock *sk = (struct sock *)(long) STAP_ARG_sock; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) struct tcp_opt *tp = tcp_sk(sk); #else struct tcp_sock *tp = tcp_sk(sk); #endif STAP_RETVALUE = (int64_t) kread(&(tp->snd_ssthresh)); CATCH_DEREF_FAULT(); %} function tcp_ts_get_info_rcv_mss (sock) %{ /* pure */ struct sock *sk = (struct sock *)(long) STAP_ARG_sock; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) struct tcp_opt *tp = tcp_sk(sk); STAP_RETVALUE = (int64_t) kread(&(tp->ack.rcv_mss)); #else const struct inet_connection_sock *icsk = inet_csk(sk); STAP_RETVALUE = (int64_t) kread(&(icsk->icsk_ack.rcv_mss)); #endif CATCH_DEREF_FAULT(); %} function tcp_sockopt_str (optname) { return ([optname] in __sockopt)?(__sockopt[optname]):(sprintf("UNDEF_SOCKOPT(%d)", optname)); } function tcp_ipv6_sockopt_str (optname) { return ([optname] in __ipv6_sockopt)?(__ipv6_sockopt[optname]):(sprintf("UNDEF_SOCKOPT(%d)", optname)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib-filter-default.stp function tcpmib_filter_key (sk, op) { if (!(sk)) return 0 ; return 1; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/tcpmib.stp %{ #include #include #include #include %}global ActiveOpens global AttemptFails global CurrEstab global EstabResets global InSegs global OutRsts global OutSegs global PassiveOpens global RetransSegs probe tcpmib.ActiveOpens = kernel.function("tcp_connect").return{ (sk) = ($sk); (op) = (1); if ($return) next ; (key) = (tcpmib_filter_key($sk, op)); if (key) (ActiveOpens[key]) += (op) ; } probe tcpmib.AttemptFails = kernel.function("tcp_done").call?{ (sk) = ($sk); (state) = (tcpmib_get_state($sk)); (op) = (1); (TCP_SYN_SENT) = (2); (TCP_SYN_RECV) = (3); if (((state) == (TCP_SYN_SENT)) || ((state) == (TCP_SYN_RECV))) { (key) = (tcpmib_filter_key($sk, op)); if (key) (AttemptFails[key]) += (op) ; } ; } probe tcpmib.CurrEstab = kernel.function("tcp_set_state").call?{ (sk) = ($sk); (state) = ($state); (oldstate) = (tcpmib_get_state($sk)); (TCP_ESTABLISHED) = (1); if ((oldstate) == (TCP_ESTABLISHED)) { (op) = (-(1)); (key) = (tcpmib_filter_key($sk, op)); if (key) (CurrEstab[key]) += (op) ; } else { if ((state) == (TCP_ESTABLISHED)) { (op) = (1); (key) = (tcpmib_filter_key($sk, op)); if (key) (CurrEstab[key]) += (op) ; } ; } ; } probe tcpmib.EstabResets = kernel.function("tcp_set_state").call?{ (sk) = ($sk); (state) = ($state); (oldstate) = (tcpmib_get_state($sk)); (op) = (1); (TCP_CLOSE) = (7); (TCP_CLOSE_WAIT) = (8); (TCP_ESTABLISHED) = (1); if (((state) == (TCP_CLOSE)) && (((oldstate) == (TCP_CLOSE_WAIT)) || ((oldstate) == (TCP_ESTABLISHED)))) { (key) = (tcpmib_filter_key($sk, op)); if (key) (EstabResets[key]) += (op) ; } ; } probe tcpmib.InSegs = kernel.function("__inet_lookup_established").return!, kernel.function("tcp_v4_rcv"){ if (@defined($return)) { (sk) = ($return); (key) = (tcpmib_filter_key($return, op)); } else { (sk) = (0); (key) = (ipmib_filter_key($skb, op, 0)); } ; (op) = (1); if (key) (InSegs[key]) += (op) ; } probe tcpmib.OutRsts = __tcpmib.OutRsts.*{ } probe __tcpmib.OutRsts.tcp_v4_send_reset = kernel.function("tcp_v4_send_reset"){ (sk) = ((@defined($sk))?($sk):(0)); (op) = (1); if (_is_reset($skb)) next ; if ((_tcpmib_input_route_type($skb)) != (_rtn_local())) next ; (key) = ((@defined($sk))?(tcpmib_filter_key(sk, op)):(ipmib_filter_key($skb, op, 1))); if (key) (OutRsts[key]) += (op) ; } probe __tcpmib.OutRsts.tcp_send_active_reset = kernel.function("tcp_send_active_reset"){ (sk) = ($sk); (op) = (1); (key) = (tcpmib_filter_key($sk, op)); if (key) (OutRsts[key]) += (op) ; } probe tcpmib.OutSegs = kernel.function("ip_queue_xmit").return{ if (($return) < (0)) next ; (sk) = ($skb->sk); (op) = (1); (iphdr) = (__get_skb_iphdr($skb)); if (!((__ip_skb_proto(iphdr)) == (6))) next ; (key) = (tcpmib_filter_key(sk, op)); if (key) (OutSegs[key]) += (op) ; } probe tcpmib.PassiveOpens = kernel.function("tcp_v4_syn_recv_sock").return{ (sk) = ($return); (op) = (1); if (!(sk)) next ; (key) = (tcpmib_filter_key(sk, op)); if (key) (PassiveOpens[key]) += (op) ; } probe tcpmib.RetransSegs = kernel.function("tcp_retransmit_skb").return{ (sk) = ($sk); (op) = (1); if ($return) next ; (key) = (tcpmib_filter_key($sk, op)); if (key) (RetransSegs[key]) += (op) ; } function tcpmib_get_state (sk) { return @cast(sk, "sock", "kernel")->__sk_common->skc_state; } function tcpmib_local_addr (sk) { return ntohl(__ip_sock_saddr(sk)); } function tcpmib_remote_addr (sk) { return ntohl(__ip_sock_daddr(sk)); } function tcpmib_local_port (sk) { return __tcp_sock_sport(sk); } function tcpmib_remote_port (sk) { return __tcp_sock_dport(sk); } function _rtn_local () %{ STAP_RETVALUE = RTN_LOCAL; %} function _is_reset (skb) %{ /* pure */ struct tcphdr *th; struct sk_buff *skb = (struct sk_buff *)(long)STAP_ARG_skb; struct tcphdr th_copy; #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,21) th = (struct tcphdr *)kread(&(skb->h.th)); #else #ifdef NET_SKBUFF_DATA_USES_OFFSET th = (struct tcphdr *)(kread(&(skb->network_header)) + kread(&(skb->head))); #else th = (struct tcphdr *)kread(&(skb->network_header)); #endif #endif // We'd like to kread the 'rst' field here. But, it is a // bitfield (and you can't take the address of a // bitfield). So, let's kread the entire tcphdr, then grab the // 'rst' field out of the copy. Luckily, the tcphdr is only 20 // bytes long. memset (((void*)&th_copy), 0, sizeof(th_copy)); kderef_buffer(((void *)&th_copy), th, sizeof(struct tcphdr)); STAP_RETVALUE = th_copy.rst; CATCH_DEREF_FAULT(); %} function _tcpmib_input_route_type (skb) %{ /* pure */ struct rtable *rt; struct sk_buff *skb = (struct sk_buff *)(long)STAP_ARG_skb; #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) rt = (struct rtable *)kread(&(skb->_skb_refdst)); #else #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) rt = (struct rtable *)kread(&(skb->_skb_dst)); #else #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) rt = (struct rtable *)kread(&(skb->dst)); #else rt = (struct rtable *)kread(&(skb->rtable)); #endif #endif #endif if ( rt ) STAP_RETVALUE = kread(&(rt->rt_type)); else STAP_RETVALUE = RTN_UNSPEC; CATCH_DEREF_FAULT(); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/timestamp.stp function get_cycles () %{ /* pure */ /* unprivileged */ cycles_t c = get_cycles(); STAP_RETVALUE = (int64_t) c; %} function jiffies () %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (int64_t) jiffies; %} function HZ () %{ /* pure */ /* unprivileged */ STAP_RETVALUE = (int64_t) HZ; %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_gtod.stp %{ #define STAP_NEED_GETTIMEOFDAY 1 %}function gettimeofday_ns () %{ /* pure */ /* unprivileged */ /* NOTE: we can't use do_gettimeofday because we could be called from a * context where xtime_lock is already held. See bug #2525. */ STAP_RETVALUE = _stp_gettimeofday_ns(); if (STAP_RETVALUE < 0) CONTEXT->last_error = "gettimeofday not initialized"; %} function gettimeofday_us () { return (gettimeofday_ns()) / (1000); } function gettimeofday_ms () { return (gettimeofday_ns()) / (1000000); } function gettimeofday_s () { return (gettimeofday_ns()) / (1000000000); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/timestamp_monotonic.stp %{ // Since scripts can run from quite arbitrary contexts, we can only use // cpu_clock once it was made NMI safe. This was in commit def0a9b2 for // HAVE_UNSTABLE_SCHED_CLOCK archs (included in 2.6.32), and commit b9f8fcd5 // for the rest (included in 2.6.33). So before that, we'll just pretend that // cpu_clock and local_clock don't exist. #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) \ || (!defined (CONFIG_HAVE_UNSTABLE_SCHED_CLOCK) \ && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))) #undef STAPCONF_CPU_CLOCK #undef STAPCONF_LOCAL_CLOCK #endif // If we're falling back on gettimeofday, that machinery needs to be started. #if !defined (STAPCONF_CPU_CLOCK) #define STAP_NEED_GETTIMEOFDAY 1 #endif %}function cpu_clock_ns (cpu) %{ /* pure */ /* unprivileged */ #if defined (STAPCONF_CPU_CLOCK) if (likely(STAP_ARG_cpu >= 0 && STAP_ARG_cpu < NR_CPUS && cpu_online(STAP_ARG_cpu))) STAP_RETVALUE = cpu_clock(STAP_ARG_cpu); else { snprintf(CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "cpu %lld is not online", STAP_ARG_cpu); CONTEXT->last_error = CONTEXT->error_buffer; } #else /* NOTE: we can't use do_gettimeofday because we could be called from a * context where xtime_lock is already held. See bug #2525. */ STAP_RETVALUE = _stp_gettimeofday_ns(); if (STAP_RETVALUE < 0) CONTEXT->last_error = "gettimeofday not initialized"; #endif %} function cpu_clock_us (cpu) { return (cpu_clock_ns(cpu)) / (1000); } function cpu_clock_ms (cpu) { return (cpu_clock_ns(cpu)) / (1000000); } function cpu_clock_s (cpu) { return (cpu_clock_ns(cpu)) / (1000000000); } function local_clock_ns () %{ /* pure */ /* unprivileged */ #if defined (STAPCONF_LOCAL_CLOCK) STAP_RETVALUE = local_clock(); #elif defined (STAPCONF_CPU_CLOCK) STAP_RETVALUE = cpu_clock(smp_processor_id()); #else /* NOTE: we can't use do_gettimeofday because we could be called from a * context where xtime_lock is already held. See bug #2525. */ STAP_RETVALUE = _stp_gettimeofday_ns(); if (STAP_RETVALUE < 0) CONTEXT->last_error = "gettimeofday not initialized"; #endif %} function local_clock_us () { return (local_clock_ns()) / (1000); } function local_clock_ms () { return (local_clock_ns()) / (1000000); } function local_clock_s () { return (local_clock_ns()) / (1000000000); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/tty.stp probe tty.open = kernel.function("tty_open"){ (inode_number) = ($inode->i_ino); (inode_state) = ($inode->i_state); (inode_flags) = ($inode->i_flags); (file_name) = (d_name((@defined($filp->f_path->dentry))?($filp->f_path->dentry):($filp->f_dentry))); (file_mode) = ($filp->f_mode); (file_flags) = ($filp->f_flags); } probe tty.release = kernel.function("tty_release"){ if (@defined($inode)) { (inode_number) = ($inode->i_ino); (inode_state) = ($inode->i_state); (inode_flags) = ($inode->i_flags); } else { (inode_number) = (-(1)); (inode_state) = (-(1)); (inode_flags) = (-(1)); } ; (file_name) = (d_name((@defined($filp->f_path->dentry))?($filp->f_path->dentry):($filp->f_dentry))); (file_mode) = ($filp->f_mode); (file_flags) = ($filp->f_flags); } probe tty.resize = kernel.function("tiocswinsz"){ (name) = (kernel_string_quoted($tty->name)); (old_row) = ($tty->winsize->ws_row); (old_col) = ($tty->winsize->ws_col); (old_ypixel) = ($tty->winsize->ws_ypixel); (old_xpixel) = ($tty->winsize->ws_xpixel); if (@defined($arg)) { (new_row) = (user_ushort($arg->ws_row)); (new_col) = (user_ushort($arg->ws_col)); (new_ypixel) = (user_ushort($arg->ws_ypixel)); (new_xpixel) = (user_ushort($arg->ws_xpixel)); } else { (new_row) = (-(1)); (new_col) = (-(1)); (new_ypixel) = (-(1)); (new_xpixel) = (-(1)); } ; } probe tty.ioctl = kernel.function("tty_ioctl"){ (name) = (kernel_string_quoted((@defined($file->f_path->dentry->d_iname))?($file->f_path->dentry->d_iname):($file->f_dentry->d_iname))); (cmd) = ($cmd); (arg) = ($arg); } probe tty.init = kernel.function("tty_init_dev")!, kernel.function("init_dev"){ (driver_name) = (kernel_string_quoted($driver->driver_name)); (name) = (kernel_string_quoted($driver->name)); (module) = (kernel_string_quoted($driver->owner->name)); } probe tty.register = kernel.function("tty_register_device"){ (driver_name) = (kernel_string_quoted($driver->driver_name)); (name) = (kernel_string_quoted($driver->name)); (module) = (kernel_string_quoted($driver->owner->name)); (index) = ($index); } probe tty.unregister = kernel.function("tty_unregister_device"){ (driver_name) = (kernel_string_quoted($driver->driver_name)); (name) = (kernel_string_quoted($driver->name)); (module) = (kernel_string_quoted($driver->owner->name)); (index) = ($index); } probe tty.poll = kernel.function("tty_poll"){ (file_name) = (d_name((@defined($filp->f_path->dentry))?($filp->f_path->dentry):($filp->f_dentry))); (wait_key) = ((@defined($wait->key))?(($wait)?($wait->key):(0)):(0)); } probe tty.receive = kernel.function("n_tty_receive_buf"){ (cp) = (kernel_string_quoted($cp)); (fp) = (kernel_string_quoted($fp)); (count) = ($count); (driver_name) = (kernel_string_quoted($tty->driver->driver_name)); (name) = (kernel_string_quoted($tty->driver->name)); (index) = ($tty->index); (id) = ($tty->magic); } probe tty.write = kernel.function("n_tty_write")!, kernel.function("write_chan"){ (buffer) = (kernel_buffer_quoted($buf, $nr, 0)); (nr) = ($nr); (file_name) = (d_name((@defined($file->f_path->dentry))?($file->f_path->dentry):($file->f_dentry))); (driver_name) = (kernel_string_quoted($tty->driver->driver_name)); } probe tty.read = kernel.function("n_tty_read")!, kernel.function("read_chan"){ (buffer) = (kernel_buffer_quoted($buf, $nr, 0)); (nr) = ($nr); (file_name) = (d_name((@defined($file->f_path->dentry))?($file->f_path->dentry):($file->f_dentry))); (driver_name) = (kernel_string_quoted($tty->driver->driver_name)); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/tzinfo.stp function tz_gmtoff () { return %{ /* pure */ /* unprivileged */ tz_gmtoff %}; } function tz_name () { return %{ /* pure */ /* unprivileged */ /* string */ tz_name %}; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-symbols.stp function __ustack_raw (n) %{ /* pragma:unwind */ /* pure */ /* myproc-unprivileged */ /* pragma:uprobes */ /* basic sanity check for bounds: */ if (unlikely(STAP_ARG_n < 0 || STAP_ARG_n >= MAXBACKTRACE)) STAP_RETVALUE = 0; else STAP_RETVALUE = _stp_stack_user_get (CONTEXT, (unsigned)STAP_ARG_n); %} function ustack (n) { (__r) = (__ustack_raw(n)); if ((__r) != (0)) return __r ; (__b) = (ubacktrace()); (__orig_n) = (n); (__sym) = (tokenize(__b, " ")); if ((__sym) == ("")) error(sprint("reached end of stack before unwinding to level ", __orig_n)) ; for (; (__n) > (0); ) { (__sym) = (tokenize("", " ")); if ((__sym) == ("")) error(sprint("reached end of stack before unwinding to level ", __orig_n)) ; (__n)--; }; return strtol(__sym, 16); } function usymname (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:vma */ /* pragma:symbols */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_SYMBOL, current); %} function usymdata (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:vma */ /* pragma:symbols */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_DATA, current); %} function print_ustack (stk) { print_usyms(stk); } function print_usyms (callers) { (__sym) = (tokenize(callers, " ")); for (; (__sym) != (""); ) { printf(" %s : %s\\n", __sym, usymdata(strtol(__sym, 16))); (__sym) = (tokenize("", " ")); }; } function sprint_ustack (stk) { sprint_usyms(stk); } function sprint_usyms (callers) { (__sym) = (tokenize(callers, " ")); (__foo) = (""); (__l) = (0); for (; (__sym) != (""); ) { (__line) = (sprintf(" %s : %s\\n", __sym, usymdata(strtol(__sym, 16)))); (__l) += (strlen(__line)); if ((__l) > (%{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %})) break ; (__foo) .= (__line); (__sym) = (tokenize("", " ")); }; return __foo; } function usymfileline (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:symbols */ /* pragma:vma */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_LINENUMBER + _STP_SYM_FILENAME, current); %} function usymfile (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:symbols */ /* pragma:vma */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_FILENAME, current); %} function usymline (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:symbols */ /* pragma:vma */ /* pragma:lines */ _stp_snprint_addr(STAP_RETVALUE, MAXSTRINGLEN, STAP_ARG_addr, _STP_SYM_LINENUMBER, current); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/ucontext-unwind.stp function print_ubacktrace () %{ /* pragma:unwind */ /* pragma:symbols */ /* myproc-unprivileged */ /* pragma:uprobes */ /* pragma:vma */ _stp_stack_user_print(CONTEXT, _STP_SYM_FULL); %} function sprint_ubacktrace () %{ /* pragma:unwind */ /* pragma:symbols */ /* pure */ /* stable */ /* myproc-unprivileged */ /* pragma:uprobes */ /* pragma:vma */ _stp_stack_user_sprint (STAP_RETVALUE, MAXSTRINGLEN, CONTEXT, _STP_SYM_SIMPLE); %} function print_ubacktrace_brief () %{ /* pragma:unwind */ /* pragma:symbols */ /* myproc-unprivileged */ /* pragma:uprobes */ /* pragma:vma */ _stp_stack_user_print(CONTEXT, _STP_SYM_BRIEF); %} function ubacktrace () %{ /* pragma:unwind */ /* pure */ /* stable */ /* myproc-unprivileged */ /* pragma:uprobes */ /* pragma:vma */ _stp_stack_user_sprint (STAP_RETVALUE, MAXSTRINGLEN, CONTEXT, _STP_SYM_NONE); %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/ucontext.stp function umodname (addr) %{ /* pure */ /* myproc-unprivileged */ /* pragma:vma */ const char *name = NULL; _stp_umod_lookup(STAP_ARG_addr, current, &name, NULL, NULL); if (!name) { name = ""; #if STAP_COMPAT_VERSION >= STAP_VERSION(2,3) // PR15044 CONTEXT->last_error = "module cannot be found"; #endif } strlcpy (STAP_RETVALUE, name, MAXSTRINGLEN); %} function ucallers (n) { (__str) = (""); (__l) = (0); for ((__i) = (0); ((__i) <= (n)) || ((n) == (-(1))); (__i)++) { (__foo) = (((__i) > (0))?(" "):("")); try { { (__foo) .= (sprintf("0x%x", ustack(__i))); } } catch { { if ((n) == (-(1))) break ; error(sprint("reached end of stack before unwinding to level ", n)); } } ; (__l) += (strlen(__foo)); if ((__l) > (%{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %})) break ; (__str) .= (__foo); }; return __str; } # file /root/systemtap_write/install/share/systemtap/tapset/linux/udp.stp probe udp.sendmsg = kernel.function("udp_sendmsg"){ (name) = ("udp.sendmsg"); (sock) = ($sk); (size) = ($len); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } probe udp.sendmsg.return = kernel.function("udp_sendmsg").return{ (name) = ("udp.sendmsg"); (size) = ($return); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } probe udp.recvmsg = kernel.function("udp_recvmsg"){ (name) = ("udp.recvmsg"); (sock) = ($sk); (size) = ($len); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } probe udp.recvmsg.return = kernel.function("udp_recvmsg").return{ (name) = ("udp.recvmsg"); (size) = ($return); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } probe udp.disconnect = kernel.function("udp_disconnect"){ (name) = ("udp.disconnect"); (sock) = ($sk); (flags) = ($flags); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } probe udp.disconnect.return = kernel.function("udp_disconnect").return{ (name) = ("udp.disconnect"); (ret) = ($return); (family) = (__ip_sock_family($sk)); (saddr) = (format_ipaddr(__ip_sock_saddr($sk), __ip_sock_family($sk))); (daddr) = (format_ipaddr(__ip_sock_daddr($sk), __ip_sock_family($sk))); (sport) = (__udp_sock_sport($sk)); (dport) = (__udp_sock_dport($sk)); } function __get_skb_udphdr (skb) { return __get_skb_tcphdr(skb); } function __udp_sock_sport (sock) { return __tcp_sock_sport(sock); } function __udp_sock_dport (sock) { return __tcp_sock_dport(sock); } function __udp_skb_dport (udphdr) { return ntohs(@cast(udphdr, "udphdr")->dest); } function __udp_skb_sport (udphdr) { return ntohs(@cast(udphdr, "udphdr")->source); } # file /root/systemtap_write/install/share/systemtap/tapset/linux/utrace.stp %{ #include "syscall.h" %}function _utrace_syscall_nr () %{ /* pure */ /* stable */ /* myproc-unprivileged */ if (! CONTEXT->uregs || ! CONTEXT->user_mode_p) { CONTEXT->last_error = "invalid call without context registers"; } else { STAP_RETVALUE = _stp_syscall_get_nr(current, CONTEXT->uregs); } %} function _utrace_syscall_arg (n) %{ /* pure */ /* myproc-unprivileged */ unsigned long arg = 0; if (! CONTEXT->uregs || ! CONTEXT->user_mode_p) { CONTEXT->last_error = "invalid call without context registers"; } else { syscall_get_arguments(current, CONTEXT->uregs, (int)STAP_ARG_n, 1, &arg); } STAP_RETVALUE = arg; %} function _utrace_syscall_return () %{ /* pure */ /* stable */ /* myproc-unprivileged */ /* * Here's the reason for the "unsigned long" cast. Since all * values inside systemtap are 64-bit numbers, return values were * getting sign extended. This caused return values to not match * up with the same values passes as arguments. */ if (! CONTEXT->uregs || ! CONTEXT->user_mode_p) { CONTEXT->last_error = "invalid call without context registers"; } else { STAP_RETVALUE = (unsigned long)syscall_get_return_value(current, CONTEXT->uregs); } %} # file /root/systemtap_write/install/share/systemtap/tapset/linux/vfs.stp %{ #include /* For VERIFY_READ/VERIFY_WRITE */ #include /* For ITER_IOVEC */ /* Define our own page size macro. */ #ifdef PAGE_CACHE_SIZE #define _STP_PAGE_SIZE PAGE_CACHE_SIZE #else #define _STP_PAGE_SIZE PAGE_SIZE #endif %}probe generic.fop.llseek = kernel.function("generic_file_llseek"){ (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (offset) = ($offset); (whence) = ((@defined($whence))?($whence):($origin)); (whence_str) = (_seek_whence_str((@defined($whence))?($whence):($origin))); (maxbyte) = (__file_maxbytes($file)); (name) = ("generic_file_llseek"); (argstr) = (sprintf("%d, %d", $offset, (@defined($whence))?($whence):($origin))); } probe generic.fop.llseek.return = kernel.function("generic_file_llseek").return{ (name) = ("generic_file_llseek"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (offset) = ($offset); (whence) = ((@defined($whence))?($whence):($origin)); (whence_str) = (_seek_whence_str((@defined($whence))?($whence):($origin))); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe generic.fop.aio_read = kernel.function("__generic_file_aio_read")!, kernel.function("generic_file_aio_read")?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (dev) = (__file_dev($iocb->ki_filp)); (devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp))); (ino) = (__file_ino($iocb->ki_filp)); (pos) = ((@defined($pos))?($pos):(kernel_pointer($ppos))); (buf) = ($iov->iov_base); (count) = (__iov_length($iov, $nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_WRITE %})); (name) = ("generic_file_aio_read"); (argstr) = (sprintf("%d, %d, %p", count, pos, buf)); (size) = (count); (units) = ("bytes"); } probe generic.fop.aio_read.return = kernel.function("__generic_file_aio_read").return!, kernel.function("generic_file_aio_read").return?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (nr_segs) = ($nr_segs); (name) = ("generic_file_aio_read"); (retstr) = (sprintf("%d", $return)); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.read_iter = kernel.function("generic_file_read_iter")?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (dev) = (__file_dev($iocb->ki_filp)); (devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp))); (ino) = (__file_ino($iocb->ki_filp)); (pos) = ($iter->iov_offset); if (($iter->type) & (%{ /* pure */ /* unprivileged */ /* stable */ ITER_IOVEC %})) { (buf) = ($iter->iov->iov_base); (count) = (__iov_length($iter->iov, $iter->nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_WRITE %})); } else { (buf) = (0); (count) = (0); } ; (name) = ("generic_file_read_iter"); (argstr) = (sprintf("%d, %d, %p", count, pos, buf)); (size) = (count); (units) = ("bytes"); } probe generic.fop.read_iter.return = kernel.function("generic_file_read_iter").return?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (nr_segs) = ($iter->nr_segs); (name) = ("generic_file_read_iter"); (retstr) = (sprintf("%d", $return)); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.aio_write = kernel.function("generic_file_aio_write")?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (dev) = (__file_dev($iocb->ki_filp)); (devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp))); (ino) = (__file_ino($iocb->ki_filp)); (pos) = ($pos); (count) = ((@defined($iov))?(__iov_length($iov, $nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_READ %})):($count)); (buf) = ((@defined($iov->iov_base))?($iov->iov_base):($buf)); (name) = ("generic_file_aio_write"); (argstr) = (sprintf("%d, %d, %p", count, pos, buf)); (size) = (count); (units) = ("bytes"); } probe generic.fop.aio_write.return = kernel.function("generic_file_aio_write").return?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (name) = ("generic_file_aio_write"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.write_iter = kernel.function("generic_file_write_iter")?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (dev) = (__file_dev($iocb->ki_filp)); (devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp))); (ino) = (__file_ino($iocb->ki_filp)); (pos) = ($from->iov_offset); if (($from->type) & (%{ /* pure */ /* unprivileged */ /* stable */ ITER_IOVEC %})) { (buf) = ($from->iov->iov_base); (count) = (__iov_length($from->iov, $from->nr_segs, 1, %{ /* pure */ /* unprivileged */ /* stable */ VERIFY_READ %})); } else { (buf) = (0); (count) = (0); } ; (name) = ("generic_file_write_iter"); (argstr) = (sprintf("%d, %d, %p", count, pos, buf)); (size) = (count); (units) = ("bytes"); } probe generic.fop.write_iter.return = kernel.function("generic_file_write_iter").return?{ (file) = ($iocb->ki_filp); (pathname) = (fullpath_struct_file(task_current(), $iocb->ki_filp)); (name) = ("generic_file_write_iter"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.readv = kernel.function("generic_file_readv")?{ (dev) = (__file_dev($filp)); (devname) = (__find_bdevname(dev, __file_bdev($filp))); (ino) = (__file_ino($filp)); (file) = ($filp); (pathname) = (fullpath_struct_file(task_current(), $filp)); (nr_segs) = ($nr_segs); (pos) = (kernel_pointer($ppos)); (name) = ("generic_file_readv"); (argstr) = (sprintf("%d, %d", $nr_segs, pos)); (size) = (nr_segs); (units) = ("segs"); } probe generic.fop.readv.return = kernel.function("generic_file_readv").return?{ (file) = ($filp); (pathname) = (fullpath_struct_file(task_current(), $filp)); (name) = ("generic_file_readv"); (retstr) = (sprintf("%d", $return)); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.writev = kernel.function("generic_file_writev")?{ (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (nr_segs) = ($nr_segs); (pos) = (kernel_pointer($ppos)); (name) = ("generic_file_writev"); (argstr) = (sprintf("%d, %d", $nr_segs, pos)); (size) = (nr_segs); (units) = ("segs"); } probe generic.fop.writev.return = kernel.function("generic_file_writev").return?{ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (name) = ("generic_file_writev"); (retstr) = (sprintf("%d", $return)); (bytes_written) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.mmap = kernel.function("generic_file_mmap"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (vm_start) = ($vma->vm_start); (vm_end) = ($vma->vm_end); (vm_flags) = ($vma->vm_flags); (name) = ("generic_file_mmap"); (argstr) = (sprintf("0x%x, 0x%x, 0x%x", $vma->vm_start, $vma->vm_end, $vma->vm_flags)); } probe generic.fop.mmap.return = kernel.function("generic_file_mmap").return{ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (name) = ("generic_file_mmap"); (retstr) = (sprintf("%d", $return)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe generic.fop.open = kernel.function("generic_file_open"){ (dev) = (__file_dev($filp)); (devname) = (__find_bdevname(dev, __file_bdev($filp))); (ino) = ($inode->i_ino); (file) = ($filp); (filename) = (__file_filename($filp)); (pathname) = (fullpath_struct_file(task_current(), $filp)); (flag) = ($filp->f_flags); (size) = ($inode->i_size); (name) = ("generic_file_open"); (argstr) = (sprintf("%d, %d, %s", $inode->i_ino, $filp->f_flags, filename)); } probe generic.fop.open.return = kernel.function("generic_file_open").return{ (name) = ("generic_file_open"); (retstr) = (sprintf("%d", $return)); } probe generic.fop.sendfile = kernel.function("generic_file_sendfile")?{ (dev) = (__file_dev($in_file)); (devname) = (__find_bdevname($in_file, __file_bdev($in_file))); (ino) = (__file_ino($in_file)); (file) = ($in_file); (pathname) = (fullpath_struct_file(task_current(), $in_file)); (count) = ($count); (ppos) = ($ppos); (name) = ("generic_file_sendfile"); (argstr) = (sprintf("%d", $count)); (size) = ($count); (units) = ("bytes"); } probe generic.fop.sendfile.return = kernel.function("generic_file_sendfile").return?{ (name) = ("generic_file_sendfile"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.splice_read = kernel.function("generic_file_splice_read")?{ (dev) = (__file_dev($in)); (devname) = (__find_bdevname(dev, __file_bdev($in))); (ino) = (__file_ino($in)); (file) = ($in); (pathname) = (fullpath_struct_file(task_current(), $in)); (dev_major) = (MAJOR(dev)); (dev_minor) = (MINOR(dev)); (len) = ($len); (flags) = ($flags); (name) = ("generic_file_splice_read"); (argstr) = (sprintf("%d, %x", $len, $flags)); (size) = ($len); (units) = ("bytes"); } probe generic.fop.splice_read.return = kernel.function("generic_file_splice_read").return?{ (name) = ("generic_file_splice_read"); (retstr) = (sprintf("%d", $return)); (file) = ($in); (pathname) = (fullpath_struct_file(task_current(), $in)); (ino) = (__file_ino($in)); (dev) = (__file_dev($in)); (dev_major) = (MAJOR(dev)); (dev_minor) = (MINOR(dev)); (ret) = ($return); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.splice_write = kernel.function("generic_file_splice_write")?{ (dev) = (__file_dev($out)); (devname) = (__find_bdevname(dev, __file_bdev($out))); (ino) = (__file_ino($out)); (file) = ($out); (pathname) = (fullpath_struct_file(task_current(), $out)); (len) = ($len); (flags) = ($flags); (name) = ("generic_file_splice_write"); (argstr) = (sprintf("%d, %x", $len, $flags)); (size) = ($len); (units) = ("bytes"); } probe generic.fop.splice_write.return = kernel.function("generic_file_splice_write").return?{ (name) = ("generic_file_splice_write"); (retstr) = (sprintf("%d", $return)); (file) = ($out); (pathname) = (fullpath_struct_file(task_current(), $out)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (error) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.read = kernel.function("generic_file_read")?{ (dev) = (__file_dev($filp)); (devname) = (__find_bdevname(dev, __file_bdev($filp))); (ino) = (__file_ino($filp)); (file) = ($filp); (pathname) = (fullpath_struct_file(task_current(), $filp)); (count) = ($count); (name) = ("generic_file_read"); (argstr) = (sprintf("%d", $count)); (size) = ($count); (units) = ("bytes"); } probe generic.fop.read.return = kernel.function("generic_file_read").return?{ (name) = ("generic_file_read"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.fop.write = kernel.function("generic_file_write")?{ (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (count) = ($count); (name) = ("generic_file_write"); (argstr) = (sprintf("%d", $count)); (size) = ($count); (units) = ("bytes"); } probe generic.fop.write.return = kernel.function("generic_file_write").return?{ (name) = ("generic_file_write"); (retstr) = (sprintf("%d", $return)); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe generic.aop.writepages = kernel.function("mpage_writepages"){ (dev) = ($mapping->host->i_sb->s_dev); (devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev)); (ino) = ($mapping->host->i_ino); (nr_to_write) = ($wbc->nr_to_write); (name) = ("generic_writepages"); (argstr) = (sprintf("%d", $wbc->nr_to_write)); (size) = ($wbc->nr_to_write); (units) = ("pages"); } probe generic.aop.writepages.return = kernel.function("mpage_writepages").return{ (name) = ("generic_writepages"); (retstr) = (sprintf("%d", $return)); } probe vfs.do_sync_read = kernel.function("do_sync_read")!, __vfs.__vfs_read{ (dev) = (__file_dev((@defined($filp))?($filp):($file))); (devname) = (__find_bdevname(dev, __file_bdev((@defined($filp))?($filp):($file)))); (ino) = (__file_ino((@defined($filp))?($filp):($file))); (file) = ((@defined($filp))?($filp):($file)); (pathname) = ((@defined($filp))?(fullpath_struct_file(task_current(), $filp)):(fullpath_struct_file(task_current(), $file))); (len) = ((@defined($len))?($len):($count)); (pos) = (kernel_pointer((@defined($ppos))?($ppos):($pos))); (buf) = ($buf); (name) = ("do_sync_read"); (argstr) = (sprintf("%d, %d, %p", (@defined($len))?($len):($count), pos, $buf)); (size) = ((@defined($len))?($len):($count)); (units) = ("bytes"); (bytes_to_read) = ((@defined($len))?($len):($count)); } probe __vfs.__vfs_read = kernel.function("__vfs_read"){ if (($file->f_op->read) || (!($file->f_op->read_iter))) next ; } probe vfs.do_sync_read.return = kernel.function("do_sync_read").return!, __vfs.__vfs_read.return{ (name) = ("do_sync_read"); (retstr) = (sprintf("%d", $return)); (bytes_to_read) = ((@defined($len))?($len):($count)); (ret) = ($return); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (($return) > (0)) { (size) = ($return); (units) = ("bytes"); } ; } probe __vfs.__vfs_read.return = kernel.function("__vfs_read").return{ if (($file->f_op->read) || (!($file->f_op->read_iter))) next ; } probe vfs.do_sync_write = kernel.function("do_sync_write")!, __vfs.__vfs_write{ (dev) = (__file_dev((@defined($filp))?($filp):($file))); (devname) = (__find_bdevname(dev, __file_bdev((@defined($filp))?($filp):($file)))); (ino) = (__file_ino((@defined($filp))?($filp):($file))); (file) = ((@defined($filp))?($filp):($file)); (pathname) = ((@defined($filp))?(fullpath_struct_file(task_current(), $filp)):(fullpath_struct_file(task_current(), $file))); (len) = ((@defined($len))?($len):($count)); (pos) = (kernel_pointer((@defined($ppos))?($ppos):($pos))); (buf) = ((@defined($buf))?($buf):($p)); (bytes_to_write) = ((@defined($len))?($len):($count)); (name) = ("do_sync_write"); (argstr) = (sprintf("%d, %d , %p", (@defined($len))?($len):($count), pos, (@defined($buf))?($buf):($p))); (size) = ((@defined($len))?($len):($count)); (units) = ("bytes"); } probe __vfs.__vfs_write = kernel.function("__vfs_write"){ if (($file->f_op->write) || (!($file->f_op->write_iter))) next ; } probe vfs.do_sync_write.return = kernel.function("do_sync_write").return!, __vfs.__vfs_write.return{ (name) = ("do_sync_write"); (retstr) = (sprintf("%d", $return)); (bytes_to_write) = ((@defined($len))?($len):($count)); (pos) = (kernel_pointer((@defined($ppos))?($ppos):($pos))); (ret) = ($return); (bytes_written) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); if (error) { (size) = ($return); (units) = ("bytes"); } ; } probe __vfs.__vfs_write.return = kernel.function("__vfs_write").return{ if (($file->f_op->write) || (!($file->f_op->write_iter))) next ; } probe vfs.block_sync_page = kernel.function("block_sync_page")?{ (dev) = (__page_dev($page)); (devname) = (__find_bdevname(dev, __page_bdev($page))); (ino) = (__page_ino($page)); (index) = (__page_index($page)); (name) = ("block_sync_page"); (argstr) = (sprintf("%d", index)); (size) = (1); (units) = ("pages"); } probe vfs.block_sync_page.return = kernel.function("block_sync_page").return?{ (name) = ("block_sync_page"); (retstr) = (sprintf("N/A")); } probe vfs.buffer_migrate_page = kernel.function("buffer_migrate_page")?{ (dev) = (__page_dev($page)); (ino) = (__page_ino($page)); (devname) = (__find_bdevname(dev, __page_bdev($page))); (index) = (__page_index($page)); (name) = ("buffer_migrate_page"); (argstr) = (sprintf("%d", index)); (size) = (1); (units) = ("pages"); } probe vfs.buffer_migrate_page.return = kernel.function("buffer_migrate_page").return?{ (name) = ("buffer_migrate_page"); (retstr) = (sprintf("%d", $return)); if (($return) == (0)) { (size) = (1); (units) = ("pages"); } ; } probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers"){ (dev) = (__page_dev($page)); (devname) = (__find_bdevname(dev, __page_bdev($page))); (ino) = (__page_ino($page)); (index) = (__page_index($page)); (name) = ("__set_page_dirty_buffers"); (argstr) = (sprintf("%d", index)); (size) = (1); (units) = ("pages"); } probe vfs.__set_page_dirty_buffers.return = kernel.function("__set_page_dirty_buffers").return{ (name) = ("__set_page_dirty_buffers"); (retstr) = (sprintf("%d", $return)); if (($return) == (1)) { (size) = (1); (units) = ("pages"); } ; } probe vfs.do_mpage_readpage = kernel.function("do_mpage_readpage"){ (dev) = (__page_dev($page)); (devname) = (__find_bdevname(dev, __page_bdev($page))); (ino) = (__page_ino($page)); (index) = (__page_index($page)); (name) = ("do_mpage_readpage"); (argstr) = (sprintf("%d", index)); (size) = (1); (units) = ("pages"); } probe vfs.do_mpage_readpage.return = kernel.function("do_mpage_readpage").return{ (name) = ("do_mpage_readpage"); (retstr) = (sprintf("0x%x", $return)); (size) = (1); (units) = ("pages"); } probe vfs.add_to_page_cache = kernel.function("add_to_page_cache_locked")!, kernel.function("add_to_page_cache"){ (dev) = ($mapping->host->i_sb->s_dev); (devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev)); (ino) = ($mapping->host->i_ino); (index) = ($offset); (nrpages) = ($mapping->nrpages); (size) = ($mapping->nrpages); (units) = ("pages"); (name) = ("vfs.add_to_page_cache"); (argstr) = (sprintf("%d, %d", ino, $offset)); } probe vfs.add_to_page_cache.return = kernel.function("add_to_page_cache_locked").return!, kernel.function("add_to_page_cache").return{ (name) = ("vfs.add_to_page_cache"); (retstr) = (sprintf("%d", $return)); if (($return) == (0)) { (size) = (1); (units) = ("pages"); } ; } probe vfs.remove_from_page_cache = kernel.function("__delete_from_page_cache")!, kernel.function("__remove_from_page_cache"){ (dev) = (__page_dev($page)); (devname) = (__find_bdevname(dev, __page_bdev($page))); (ino) = (__page_ino($page)); (index) = (__page_index($page)); (name) = ("vfs.remove_from_page_cache"); (argstr) = (sprintf("%d", ino)); } probe vfs.remove_from_page_cache.return = kernel.function("__delete_from_page_cache").return!, kernel.function("__remove_from_page_cache").return{ (name) = ("vfs.remove_from_page_cache"); (retstr) = (sprintf("N/A")); } probe vfs.read = kernel.function("vfs_read"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (buf) = ($buf); (bytes_to_read) = ($count); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (name) = ("vfs.read"); (argstr) = (sprintf("%d, %d, %p", $count, $pos, $buf)); } probe vfs.read.return = kernel.function("vfs_read").return{ (name) = ("vfs.read"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (buf) = ($buf); (bytes_to_read) = ($count); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (ret) = ($return); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe vfs.readv = kernel.function("vfs_readv"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (pos) = ($pos); (vec) = ($vec); (vlen) = ($vlen); (bytes_to_read) = (_get_fopv_size($vec, $vlen)); (name) = ("vfs.readv"); (argstr) = (sprintf("%d, %d, %p", bytes_to_read, $pos, $vec)); } probe vfs.readv.return = kernel.function("vfs_readv").return{ (name) = ("vfs.readv"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (pos) = ($pos); (vec) = ($vec); (vlen) = ($vlen); (bytes_to_read) = (_get_fopv_size($vec, $vlen)); (ret) = ($return); (bytes_read) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe vfs.write = kernel.function("vfs_write"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (buf) = ($buf); (bytes_to_write) = ($count); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (name) = ("vfs.write"); (argstr) = (sprintf("%d, %d, %p", $count, $pos, $buf)); } probe vfs.write.return = kernel.function("vfs_write").return{ (name) = ("vfs.write"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (buf) = ($buf); (bytes_to_write) = ($count); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (ret) = ($return); (bytes_written) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe vfs.writev = kernel.function("vfs_writev"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (pos) = ($pos); (vlen) = ($vlen); (vec) = ($vec); (bytes_to_write) = (_get_fopv_size($vec, $vlen)); (name) = ("vfs.writev"); (argstr) = (sprintf("%d, %d, %p", bytes_to_write, $pos, $vec)); } probe vfs.writev.return = kernel.function("vfs_writev").return{ (name) = ("vfs.writev"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (dev) = (__file_dev($file)); (devname) = (__find_bdevname(dev, __file_bdev($file))); (ino) = (__file_ino($file)); (pos) = ($pos); (vlen) = ($vlen); (vec) = ($vec); (bytes_to_write) = (_get_fopv_size($vec, $vlen)); (ret) = ($return); (bytes_written) = ((($return) > (0))?($return):(0)); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe _vfs.generic_file_readonly_mmap = kernel.function("generic_file_readonly_mmap"){ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (vma) = ($vma); (name) = ("_vfs.generic_file_readonly_mmap"); (argstr) = (sprintf("%p, %p", $file, $vma)); } probe _vfs.generic_file_readonly_mmap.return = kernel.function("generic_file_readonly_mmap").return{ (name) = ("_vfs.generic_file_readonly_mmap"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (vma) = ($vma); (ret) = ($return); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe _vfs.generic_block_bmap = kernel.function("generic_block_bmap"){ (mapping) = ($mapping); (block) = ($block); (get_block) = ($get_block); (name) = ("_vfs.generic_block_bmap"); (argstr) = (sprintf("%p, %p, %p", $mapping, $block, $get_block)); } probe _vfs.generic_commit_write = kernel.function("generic_commit_write")?{ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (page) = ($page); (from) = ($from); (to) = ($to); (name) = ("_vfs.generic_commit_write"); (argstr) = (sprintf("%p, %p, %d, %d", $file, $page, $from, $to)); } probe _vfs.block_prepare_write = kernel.function("__block_write_begin")!, kernel.function("__block_prepare_write"){ (page) = ($page); if (@defined($pos)) { (_inode) = (__page_ino($page)); (from) = (($pos) & ((%{ /* pure */ /* unprivileged */ /* stable */ _STP_PAGE_SIZE %}) - (1))); (to) = ((from) + ($len)); } else { (_inode) = ($inode); (from) = ($from); (to) = ($to); } ; (name) = ("_vfs.generic_commit_write"); (argstr) = (sprintf("%p, %d, %d", $page, from, to)); } probe _vfs.block_prepare_write.return = kernel.function("__block_write_begin").return!, kernel.function("__block_prepare_write").return{ (name) = ("_vfs.block_prepare_write"); (retstr) = (sprintf("%d", $return)); (page) = ($page); if (@defined($pos)) { (_inode) = (__page_ino($page)); (from) = (($pos) & ((%{ /* pure */ /* unprivileged */ /* stable */ _STP_PAGE_SIZE %}) - (1))); (to) = ((from) + ($len)); } else { (_inode) = ($inode); (from) = ($from); (to) = ($to); } ; (page) = ($page); (ret) = ($return); (error) = (((ret) < (0))?(ret):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe _vfs.block_write_begin = kernel.function("block_write_begin")?{ (file) = ((@defined($file))?($file):(0)); (pathname) = ((@defined($file))?(fullpath_struct_file(task_current(), $file)):("")); (pos) = ($pos); (len) = ($len); (flags) = ($flags); (_inode) = (__address_inode($mapping)); (name) = ("_vfs.block_write_begin"); (argstr) = (sprintf("%p, %d, %d, %x", file, $pos, $len, $flags)); } probe _vfs.block_write_begin.return = kernel.function("block_write_begin").return?{ (name) = ("_vfs.block_write_begin"); (retstr) = (sprintf("%d", $return)); (file) = ((@defined($file))?($file):(0)); (pathname) = ((@defined($file))?(fullpath_struct_file(task_current(), $file)):("")); (pos) = ($pos); (len) = ($len); (flags) = ($flags); (_inode) = (__address_inode($mapping)); (ret) = ($return); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); } probe _vfs.block_write_end = kernel.function("block_write_end")?{ (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (len) = ($len); (page) = ($page); (_inode) = (__address_inode($mapping)); (name) = ("_vfs.block_write_end"); (argstr) = (sprintf("%p, %d, %d, %p", $file, $pos, $len, $page)); } probe _vfs.block_write_end.return = kernel.function("block_write_end").return?{ (name) = ("_vfs.block_write_end"); (retstr) = (sprintf("%d", $return)); (file) = ($file); (pathname) = (fullpath_struct_file(task_current(), $file)); (pos) = ($pos); (len) = ($len); (page) = ($page); (_inode) = (__address_inode($mapping)); (ret) = ($return); } probe vfs.open = kernel.function("vfs_open")?{ (name) = ("vfs.open"); (path) = ($path); (cred) = ($cred); (pathname) = (fullpath_struct_path($path)); (argstr) = (sprintf("%s, %p", pathname, $cred)); } probe vfs.open.return = kernel.function("vfs_open").return?{ (name) = ("vfs.open"); (retstr) = (sprintf("%d", $return)); (ret) = ($return); (error) = ((($return) < (0))?($return):(0)); (error_str) = ((error)?(errno_str(error)):("")); (path) = ($path); (cred) = ($cred); (pathname) = (fullpath_struct_path($path)); } function __find_bdevname (dev, bdev) { if ((bdev) == (0)) return "N/A" ; return bdevname(bdev); } function __address_inode (page) { (mapping) = ((page)?(@cast(page, "page", "kernel")->mapping):(0)); if ((mapping) == (0)) return -(1) else return @cast(mapping, "address_space", "kernel")->host ; } function __page_ino (page) { (host) = (__address_inode(page)); if ((host) == (-(1))) return -(1) else return @cast(host, "inode", "kernel")->i_ino ; } function __page_dev (page) { (host) = (__address_inode(page)); if ((host) == (-(1))) return -(1) ; return @cast(host, "inode", "kernel")->i_sb->s_dev; } function __page_bdev (page) { (host) = (__address_inode(page)); if ((host) == (-(1))) return 0 ; return @cast(host, "inode", "kernel")->i_sb->s_bdev; } function __page_index (page) { return @cast(page, "page", "kernel")->index; } function __file_dev (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel")->i_sb->s_dev; } function __file_bdev (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel")->i_sb->s_bdev; } function __file_ino (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel")->i_ino; } function __file_maxbytes (file) { (d_inode) = (__file_inode(file)); if ((d_inode) == (0)) return 0 ; return @cast(d_inode, "inode", "kernel")->i_sb->s_maxbytes; } function __file_filename (file) { (dentry) = ((file)?((@defined(@cast(file, "file", "kernel")->f_path->dentry))?(@cast(file, "file", "kernel")->f_path->dentry):(@cast(file, "file", "kernel")->f_dentry)):(0)); (name) = ((dentry)?(@cast(dentry, "dentry", "kernel")->d_name->name):(0)); if ((name) == (0)) return "NULL" else return kernel_string(name) ; } function _get_fopv_size (iovp, nr_segs) { if (iovp) { (val) = (0); for ((i) = (0); (i) < (nr_segs); (i)++) (val) += (@cast(iovp, "iovec")[i]->iov_len); return val; } ; return -(1); } # file /root/systemtap_write/install/share/systemtap/tapset/arm64/registers.stp global _reg_offsets[37] probe init{ (_reg_offsets["x0"]) = (0); (_reg_offsets["x1"]) = (8); (_reg_offsets["x2"]) = (16); (_reg_offsets["x3"]) = (24); (_reg_offsets["x4"]) = (32); (_reg_offsets["x5"]) = (40); (_reg_offsets["x6"]) = (48); (_reg_offsets["x7"]) = (56); (_reg_offsets["x8"]) = (64); (_reg_offsets["x9"]) = (72); (_reg_offsets["x10"]) = (80); (_reg_offsets["x11"]) = (88); (_reg_offsets["x12"]) = (96); (_reg_offsets["x13"]) = (104); (_reg_offsets["x14"]) = (112); (_reg_offsets["x15"]) = (120); (_reg_offsets["x16"]) = (128); (_reg_offsets["x17"]) = (136); (_reg_offsets["x18"]) = (144); (_reg_offsets["x19"]) = (152); (_reg_offsets["x20"]) = (160); (_reg_offsets["x21"]) = (168); (_reg_offsets["x22"]) = (176); (_reg_offsets["x23"]) = (184); (_reg_offsets["x24"]) = (192); (_reg_offsets["x25"]) = (200); (_reg_offsets["x26"]) = (208); (_reg_offsets["x27"]) = (216); (_reg_offsets["x28"]) = (224); (_reg_offsets["x29"]) = (232); (_reg_offsets["fp"]) = (232); (_reg_offsets["x30"]) = (240); (_reg_offsets["lr"]) = (240); (_reg_offsets["sp"]) = (248); (_reg_offsets["pc"]) = (256); (_reg_offsets["pstate"]) = (264); (_reg_offsets["orig_x0"]) = (272); } function probing_32bit_app () %{ /* pure */ STAP_RETVALUE = (CONTEXT->user_mode_p && _stp_is_compat_task()); %} function arch_bytes () %{ /* pure */ STAP_RETVALUE = sizeof(long); %} function uarch_bytes () { assert(user_mode(), "requires user mode"); return (probing_32bit_app())?(4):(8); } function _stp_get_register_by_offset (offset) %{ /* pure */ long value; struct pt_regs *regs; regs = (CONTEXT->user_mode_p ? CONTEXT->uregs : CONTEXT->kregs); if (!regs) { CONTEXT->last_error = "No registers available in this context"; return; } if (STAP_ARG_offset < 0 || STAP_ARG_offset > sizeof(struct pt_regs) - sizeof(long)) { snprintf(CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "Bad register offset: %lld", (long long)STAP_ARG_offset); CONTEXT->last_error = CONTEXT->error_buffer; return; } memcpy(&value, ((char *)regs) + STAP_ARG_offset, sizeof(value)); STAP_RETVALUE = value; %} function _stp_sign_extend32 (value) { if ((value) & (2147483648)) (value) |= ((4294967295) << (32)) ; return value; } function _stp_register (name, sign_extend) { assert(registers_valid(), "cannot access CPU registers in this context"); (offset) = (_reg_offsets[name]); assert(((offset) != (0)) || ([name] in _reg_offsets), ("Unknown register: ") . (name)); (value) = (_stp_get_register_by_offset(offset)); if (probing_32bit_app()) { if (sign_extend) (value) = (_stp_sign_extend32(value)) else (value) &= (4294967295) ; } ; return value; } function register (name) { return _stp_register(name, 1); } function u_register (name) { return _stp_register(name, 0); } function _stp_arg (argnum, sign_extend, truncate) { (val) = (0); assert(!(((argnum) < (1)) || ((argnum) > (8))), sprintf("Cannot access arg(%d)", argnum)); if ((argnum) == (1)) (val) = (u_register("x0")) else if ((argnum) == (2)) (val) = (u_register("x1")) else if ((argnum) == (3)) (val) = (u_register("x2")) else if ((argnum) == (4)) (val) = (u_register("x3")) else if ((argnum) == (5)) (val) = (u_register("x4")) else if ((argnum) == (6)) (val) = (u_register("x5")) else if ((argnum) == (7)) (val) = (u_register("x6")) else if ((argnum) == (8)) (val) = (u_register("x7")) ; if (truncate) { if (sign_extend) (val) = (_stp_sign_extend32(val)) else (val) = ((val) & (4294967295)) ; } ; return val; } function int_arg (argnum) { return _stp_arg(argnum, 1, 1); } function uint_arg (argnum) { return _stp_arg(argnum, 0, 1); } function long_arg (argnum) { return _stp_arg(argnum, 1, 0); } function ulong_arg (argnum) { return _stp_arg(argnum, 0, 0); } function longlong_arg (argnum) { if (probing_32bit_app()) { (lowbits) = (_stp_arg(argnum, 0, 1)); (highbits) = (_stp_arg((argnum) + (1), 0, 1)); return ((highbits) << (32)) | (lowbits); } else return _stp_arg(argnum, 0, 0) ; } function ulonglong_arg (argnum) { return longlong_arg(argnum); } function pointer_arg (argnum) { return _stp_arg(argnum, 0, 0); } function s32_arg (argnum) { return int_arg(argnum); } function u32_arg (argnum) { return uint_arg(argnum); } function s64_arg (argnum) { return longlong_arg(argnum); } function u64_arg (argnum) { return ulonglong_arg(argnum); } function asmlinkage () %{ /* pure */ %} function fastcall () %{ /* pure */ %} function regparm (n) %{ snprintf(CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "regparm is invalid on arm64."); CONTEXT->last_error = CONTEXT->error_buffer; %} # file /root/systemtap_write/install/share/systemtap/tapset/ansi.stp function ansi_clear_screen () { print("\033[1;1H\033[J"); } function ansi_set_color (fg) { printf("\\033[%dm", fg); } function ansi_set_color (fg, bg) { printf("\\033[%d;%dm", bg, fg); } function ansi_set_color (fg, bg, attr) { (attr_str) = ((attr)?(sprintf(";%dm", attr)):("m")); printf("\\033[%d;%d%s", bg, fg, attr_str); } function ansi_reset_color () { ansi_set_color(0, 0, 0); } function ansi_new_line () { printf("\\12"); } function ansi_cursor_move (x, y) { printf("\\033[%d;%dH", y, x); } function ansi_cursor_hide () { print("\033[>5I"); } function ansi_cursor_save () { print("\033[s"); } function ansi_cursor_restore () { print("\033[u"); } function ansi_cursor_show () { print("\033[>5h"); } # file /root/systemtap_write/install/share/systemtap/tapset/argv.stp global argc = 0 global argv[32] global argv_1 = "" global argv_2 = "" global argv_3 = "" global argv_4 = "" global argv_5 = "" global argv_6 = "" global argv_7 = "" global argv_8 = "" global argv_9 = "" global argv_10 = "" global argv_11 = "" global argv_12 = "" global argv_13 = "" global argv_14 = "" global argv_15 = "" global argv_16 = "" global argv_17 = "" global argv_18 = "" global argv_19 = "" global argv_20 = "" global argv_21 = "" global argv_22 = "" global argv_23 = "" global argv_24 = "" global argv_25 = "" global argv_26 = "" global argv_27 = "" global argv_28 = "" global argv_29 = "" global argv_30 = "" global argv_31 = "" global argv_32 = "" probe init{ (argv[1]) = (argv_1); (argv[2]) = (argv_2); (argv[3]) = (argv_3); (argv[4]) = (argv_4); (argv[5]) = (argv_5); (argv[6]) = (argv_6); (argv[7]) = (argv_7); (argv[8]) = (argv_8); (argv[9]) = (argv_9); (argv[10]) = (argv_10); (argv[11]) = (argv_11); (argv[12]) = (argv_12); (argv[13]) = (argv_13); (argv[14]) = (argv_14); (argv[15]) = (argv_15); (argv[16]) = (argv_16); (argv[17]) = (argv_17); (argv[18]) = (argv_18); (argv[19]) = (argv_19); (argv[20]) = (argv_20); (argv[21]) = (argv_21); (argv[22]) = (argv_22); (argv[23]) = (argv_23); (argv[24]) = (argv_24); (argv[25]) = (argv_25); (argv[26]) = (argv_26); (argv[27]) = (argv_27); (argv[28]) = (argv_28); (argv[29]) = (argv_29); (argv[30]) = (argv_30); (argv[31]) = (argv_31); (argv[32]) = (argv_32); } # file /root/systemtap_write/install/share/systemtap/tapset/context.stp function print_regs () %{ if (c->user_mode_p && CONTEXT->uregs) { _stp_print_regs (CONTEXT->uregs); } else if (CONTEXT->kregs) { _stp_print_regs (CONTEXT->kregs); } %} function pp () %{ /* pure */ /* unprivileged */ /* stable */ strlcpy (STAP_RETVALUE, CONTEXT->probe_point, MAXSTRINGLEN); %} function ppfunc () %{ /* pure */ /* unprivileged */ /* stable */ char *ptr, *start; /* This is based on the pre-2.0 behavior of probefunc(), but without * the _stp_snprint_addr fallback, so we're purely pp()-based. * * The obsolete inline("...") syntax is dropped, but in its place we'll * look for function names in statement("...") form. */ STAP_RETVALUE[0] = '\0'; start = strstr(CONTEXT->probe_point, "function(\""); ptr = start + 10; if (!start) { start = strstr(CONTEXT->probe_point, "statement(\""); ptr = start + 11; } if (start) { int len = MAXSTRINGLEN; char *dst = STAP_RETVALUE; while (*ptr != '@' && *ptr != '"' && --len > 0 && *ptr) *dst++ = *ptr++; *dst = 0; } %} function probe_type () %{ /* pure */ /* unprivileged */ /* stable */ switch (CONTEXT->probe_type) { case stp_probe_type_been: strlcpy (STAP_RETVALUE, "begin_end", MAXSTRINGLEN); break; case stp_probe_type_itrace: strlcpy (STAP_RETVALUE, "itrace", MAXSTRINGLEN); break; case stp_probe_type_marker: strlcpy (STAP_RETVALUE, "kernel_marker", MAXSTRINGLEN); break; case stp_probe_type_perf: strlcpy (STAP_RETVALUE, "perf_event", MAXSTRINGLEN); break; case stp_probe_type_procfs: strlcpy (STAP_RETVALUE, "procfs", MAXSTRINGLEN); break; case stp_probe_type_timer: strlcpy (STAP_RETVALUE, "timer", MAXSTRINGLEN); break; case stp_probe_type_hrtimer: strlcpy (STAP_RETVALUE, "hrtimer", MAXSTRINGLEN); break; case stp_probe_type_profile_timer: strlcpy (STAP_RETVALUE, "profile_timer", MAXSTRINGLEN); break; case stp_probe_type_netfilter: strlcpy (STAP_RETVALUE, "netfilter", MAXSTRINGLEN); break; case stp_probe_type_utrace: strlcpy (STAP_RETVALUE, "utrace", MAXSTRINGLEN); break; case stp_probe_type_utrace_syscall: strlcpy (STAP_RETVALUE, "utrace_syscall", MAXSTRINGLEN); break; case stp_probe_type_kprobe: strlcpy (STAP_RETVALUE, "kprobe", MAXSTRINGLEN); break; case stp_probe_type_kretprobe: strlcpy (STAP_RETVALUE, "kretprobe", MAXSTRINGLEN); break; case stp_probe_type_uprobe: strlcpy (STAP_RETVALUE, "uprobe", MAXSTRINGLEN); break; case stp_probe_type_uretprobe: strlcpy (STAP_RETVALUE, "uretprobe", MAXSTRINGLEN); break; case stp_probe_type_hwbkpt: strlcpy (STAP_RETVALUE, "hardware_data_breakpoint", MAXSTRINGLEN); break; case stp_probe_type_tracepoint: strlcpy (STAP_RETVALUE, "kernel_tracepoint", MAXSTRINGLEN); break; default: /* This should never happen. */ snprintf(CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "Unknown probe-type state %d", CONTEXT->probe_type); CONTEXT->last_error = CONTEXT->error_buffer; break; } %} # file /root/systemtap_write/install/share/systemtap/tapset/errno.stp %{ #define N(a) [a]=#a static const char * const errlist[] = { /* from asm-generic/errno-base.h */ [1] = "EPERM", [2] = "ENOENT", [3] = "ESRCH", [4] = "EINTR", [5] = "EIO", [6] = "ENXIO", [7] = "E2BIG", [8] = "ENOEXEC", [9] = "EBADF", [10]= "ECHILD", [11]= "EAGAIN", [12]= "ENOMEM", [13]= "EACCES", [14]= "EFAULT", [15]= "ENOTBLK", [16]= "EBUSY", [17]= "EEXIST", [18]= "EXDEV", [19]= "ENODEV", [20]= "ENOTDIR", [21]= "EISDIR", [22]= "EINVAL", [23]= "ENFILE", [24]= "EMFILE", [25]= "ENOTTY", [26]= "ETXTBSY", [27]= "EFBIG", [28]= "ENOSPC", [29]= "ESPIPE", [30]= "EROFS", [31]= "EMLINK", [32]= "EPIPE", [33]= "EDOM", [34]= "ERANGE", /* end of errno-base.h */ /* The rest of this is arch-dependent */ #ifdef EDEADLK N(EDEADLK), #endif #ifdef ENAMETOOLONG N(ENAMETOOLONG), #endif #ifdef ENOLCK N(ENOLCK), #endif #ifdef ENOSYS N(ENOSYS), #endif #ifdef ENOTEMPTY N(ENOTEMPTY), #endif #ifdef ELOOP N(ELOOP), #endif #ifdef ENOMSG N(ENOMSG), #endif #ifdef EIDRM N(EIDRM), #endif #ifdef ECHRNG N(ECHRNG), #endif #ifdef EL2NSYNC N(EL2NSYNC), #endif #ifdef EL3HLT N(EL3HLT), #endif #ifdef EL3RST N(EL3RST), #endif #ifdef ELNRNG N(ELNRNG), #endif #ifdef EUNATCH N(EUNATCH), #endif #ifdef ENOCSI N(ENOCSI), #endif #ifdef EL2HLT N(EL2HLT), #endif #ifdef EBADE N(EBADE), #endif #ifdef EBADR N(EBADR), #endif #ifdef EXFULL N(EXFULL), #endif #ifdef ENOANO N(ENOANO), #endif #ifdef EBADRQC N(EBADRQC), #endif #ifdef EBADSLT N(EBADSLT), #endif #ifdef EBFONT N(EBFONT), #endif #ifdef ENOSTR N(ENOSTR), #endif #ifdef ENODATA N(ENODATA), #endif #ifdef ETIME N(ETIME), #endif #ifdef ENOSR N(ENOSR), #endif #ifdef ENONET N(ENONET), #endif #ifdef ENOPKG N(ENOPKG), #endif #ifdef EREMOTE N(EREMOTE), #endif #ifdef ENOLINK N(ENOLINK), #endif #ifdef EADV N(EADV), #endif #ifdef ESRMNT N(ESRMNT), #endif #ifdef ECOMM N(ECOMM), #endif #ifdef EPROTO N(EPROTO), #endif #ifdef EMULTIHOP N(EMULTIHOP), #endif #ifdef EDOTDOT N(EDOTDOT), #endif #ifdef EBADMSG N(EBADMSG), #endif #ifdef EOVERFLOW N(EOVERFLOW), #endif #ifdef ENOTUNIQ N(ENOTUNIQ), #endif #ifdef EBADFD N(EBADFD), #endif #ifdef EREMCHG N(EREMCHG), #endif #ifdef ELIBACC N(ELIBACC), #endif #ifdef ELIBBAD N(ELIBBAD), #endif #ifdef ELIBSCN N(ELIBSCN), #endif #ifdef ELIBMAX N(ELIBMAX), #endif #ifdef ELIBEXEC N(ELIBEXEC), #endif #ifdef EILSEQ N(EILSEQ), #endif #ifdef ERESTART N(ERESTART), #endif #ifdef ESTRPIPE N(ESTRPIPE), #endif #ifdef EUSERS N(EUSERS), #endif #ifdef ENOTSOCK N(ENOTSOCK), #endif #ifdef EDESTADDRREQ N(EDESTADDRREQ), #endif #ifdef EMSGSIZE N(EMSGSIZE), #endif #ifdef EPROTOTYPE N(EPROTOTYPE), #endif #ifdef ENOPROTOOPT N(ENOPROTOOPT), #endif #ifdef EPROTONOSUPPORT N(EPROTONOSUPPORT), #endif #ifdef ESOCKTNOSUPPORT N(ESOCKTNOSUPPORT), #endif #ifdef EOPNOTSUPP N(EOPNOTSUPP), #endif #ifdef EPFNOSUPPORT N(EPFNOSUPPORT), #endif #ifdef EAFNOSUPPORT N(EAFNOSUPPORT), #endif #ifdef EADDRINUSE N(EADDRINUSE), #endif #ifdef EADDRNOTAVAIL N(EADDRNOTAVAIL), #endif #ifdef ENETDOWN N(ENETDOWN), #endif #ifdef ENETUNREACH N(ENETUNREACH), #endif #ifdef ENETRESET N(ENETRESET), #endif #ifdef ECONNABORTED N(ECONNABORTED), #endif #ifdef ECONNRESET N(ECONNRESET), #endif #ifdef ENOBUFS N(ENOBUFS), #endif #ifdef EISCONN N(EISCONN), #endif #ifdef ENOTCONN N(ENOTCONN), #endif #ifdef ESHUTDOWN N(ESHUTDOWN), #endif #ifdef ETOOMANYREFS N(ETOOMANYREFS), #endif #ifdef ETIMEDOUT N(ETIMEDOUT), #endif #ifdef ECONNREFUSED N(ECONNREFUSED), #endif #ifdef EHOSTDOWN N(EHOSTDOWN), #endif #ifdef EHOSTUNREACH N(EHOSTUNREACH), #endif #ifdef EALREADY N(EALREADY), #endif #ifdef EINPROGRESS N(EINPROGRESS), #endif #ifdef ESTALE N(ESTALE), #endif #ifdef EUCLEAN N(EUCLEAN), #endif #ifdef ENOTNAM N(ENOTNAM), #endif #ifdef ENAVAIL N(ENAVAIL), #endif #ifdef EISNAM N(EISNAM), #endif #ifdef EREMOTEIO N(EREMOTEIO), #endif #ifdef EDQUOT N(EDQUOT), #endif #ifdef ENOMEDIUM N(ENOMEDIUM), #endif #ifdef EMEDIUMTYPE N(EMEDIUMTYPE), #endif #ifdef ECANCELED N(ECANCELED), #endif #ifdef ENOKEY N(ENOKEY), #endif #ifdef EKEYEXPIRED N(EKEYEXPIRED), #endif #ifdef EKEYREVOKED N(EKEYREVOKED), #endif #ifdef EKEYREJECTED N(EKEYREJECTED), #endif #ifdef EOWNERDEAD N(EOWNERDEAD), #endif #ifdef ENOTRECOVERABLE N(ENOTRECOVERABLE), #endif #if defined (EDEADLOCK) && EDEADLOCK != EDEADLK N(EDEADLOCK), #endif #ifdef E N(EADV), #endif }; #undef N static const int Maxerrno = sizeof(errlist)/sizeof(char *); %}%{ static long _stp_returnval(struct pt_regs *regs) { if (regs) { #if defined (STAPCONF_X86_UNIREGS) && (defined (__x86_64__) || defined (__i386__)) return regs->ax; #elif defined (__i386__) return regs->eax; #elif defined (__x86_64__) // TODO: Handle -m32 apps. return regs->rax; #elif defined (__powerpc__) return regs->gpr[3]; #elif defined (__ia64__) return regs->r8; #elif defined (__sparc64__) return regs->u_regs[UREG_RETPC]; #elif defined (__s390x__) return regs->gprs[2]; #elif defined (__aarch64__) return regs->regs[0]; #elif defined (__arm__) return regs->ARM_r0; #else _stp_error("returnval() not defined for this architecture"); return 0; #endif } else { _stp_error("returnval() not defined in this context"); return 0; } } %}function errno_str (err) %{ /* pure */ long e = STAP_ARG_err; e = (e > 0 ? e : -e); if (e > 0 && e < Maxerrno && errlist[e]) strlcpy (STAP_RETVALUE, errlist[e], MAXSTRINGLEN); %} function errno_p (err) %{ /* pure */ long e = STAP_ARG_err; e = (e > 0 ? e : -e); if (e > 0 && e < Maxerrno && errlist[e]) STAP_RETVALUE = e; else STAP_RETVALUE = 0; %} function returnval () %{ /* pure */ /* stable */ struct pt_regs *regs; regs = (CONTEXT->user_mode_p ? CONTEXT->uregs : CONTEXT->kregs); STAP_RETVALUE = _stp_returnval(regs); %} function returnstr (format) %{ /* pure */ struct pt_regs *regs; regs = (CONTEXT->user_mode_p ? CONTEXT->uregs : CONTEXT->kregs); if (regs) { long ret = _stp_returnval(regs); if (ret < 0 && ret > -Maxerrno && errlist[-ret]) snprintf (STAP_RETVALUE, MAXSTRINGLEN, "%ld (%s)", ret, errlist[-ret]); else if (STAP_ARG_format == 2) snprintf (STAP_RETVALUE, MAXSTRINGLEN, "0x%lx", ret); else if (STAP_ARG_format == 3) snprintf (STAP_RETVALUE, MAXSTRINGLEN, "%#lo", ret); else snprintf (STAP_RETVALUE, MAXSTRINGLEN, "%ld", ret); } else { no_ret: strlcpy(STAP_RETVALUE, "N/A", MAXSTRINGLEN); } %} function return_str (format, ret) { if (((ret) < (0)) && (errno_p(ret))) return sprintf("%d (%s)", ret, errno_str(ret)) ; if ((format) == (2)) return sprintf("0x%x", ret) else if ((format) == (3)) return sprintf("%#o", ret) else return sprintf("%d", ret) ; } # file /root/systemtap_write/install/share/systemtap/tapset/indent-default.stp function __indent_timestamp () { return gettimeofday_us(); } # file /root/systemtap_write/install/share/systemtap/tapset/indent.stp global _indent_counters global _indent_timestamps function _generic_indent_depth (idx, delta) { (x) = ((_indent_counters[idx]) + (((delta) > (0))?(delta):(0))); (_indent_counters[idx]) += (delta); return ((x) > (0))?((x) - (1)):(0); } function _generic_indent (idx, desc, delta) { (ts) = (__indent_timestamp()); if (!(_indent_counters[idx])) (_indent_timestamps[idx]) = (ts) ; (depth) = (_generic_indent_depth(idx, delta)); return sprintf("%6d %s:%-*s", (ts) - (_indent_timestamps[idx]), desc, depth, ""); } function thread_indent (delta) { return _generic_indent(tid(), sprintf("%s(%d)", execname(), tid()), delta); } function thread_indent_depth (delta) { return _generic_indent_depth(tid(), delta); } function indent (delta) { return _generic_indent(-(1), "", delta); } function indent_depth (delta) { return _generic_indent_depth(-(1), delta); } # file /root/systemtap_write/install/share/systemtap/tapset/init.stp probe init = begin(-9223372036854775808){ } # file /root/systemtap_write/install/share/systemtap/tapset/java.stp global java_backtrace_string function sprint_java_backtrace () { foreach ([_tid, __thread_depth+] in java_backtrace_string) { if ((_tid) == (tid())) { (string_return) .= (java_backtrace_string[_tid, __thread_depth]); (string_return) .= ("\n"); } ; }; return string_return; } function print_java_backtrace () { foreach ([_tid, __thread_depth+] in java_backtrace_string) { if ((_tid) == (tid())) { println(java_backtrace_string[_tid, __thread_depth]); } ; }; } function __delete_backtrace () { foreach ([_tid, _depth-] in java_backtrace_string) { if (((_tid) == (tid())) && ((_depth) > (jbs_dup))) { (jbs_dup) = (_depth); } ; }; for ((i) = (0); (i) < (jbs_dup); (i)++) delete java_backtrace_string[_tid, i]; delete jbs_dup; } function __assign_stacktrace (jbts, jstd) { (java_backtrace_string[tid(), jstd]) = (user_string(jbts)); } # file /root/systemtap_write/install/share/systemtap/tapset/logging.stp function log (msg) %{ /* unprivileged */ /* unmodified-fnargs */ STAP_PRINTF ("%s\n", STAP_ARG_msg); %} function warn (msg) %{ /* unprivileged */ /* unmodified-fnargs */ _stp_warn ("%s", STAP_ARG_msg); %} function exit () %{ /* unprivileged */ atomic_set (session_state(), STAP_SESSION_STOPPING); _stp_exit (); %} function error (msg) %{ /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; %} function assert (expression) { if (!(expression)) { error("Assertion failed"); } ; } function assert (expression, msg) { if (!(expression)) { error(msg); } ; } function stp_print_binary (n, arg1, arg2, arg3, arg4) %{ _stp_print_binary (STAP_ARG_n, STAP_ARG_arg1, STAP_ARG_arg2, STAP_ARG_arg3, STAP_ARG_arg4); %} # file /root/systemtap_write/install/share/systemtap/tapset/null.stp global NULL = 0 # file /root/systemtap_write/install/share/systemtap/tapset/oneshot.stp probe oneshot += begin{ exit(); } # file /root/systemtap_write/install/share/systemtap/tapset/pn.stp %{ #ifndef STP_NEED_PROBE_NAME #define STP_NEED_PROBE_NAME 1 #endif %}function pn () %{ /* pure */ /* unprivileged */ /* stable */ const char* name = CONTEXT->probe_name ?: CONTEXT->probe_point; strlcpy (STAP_RETVALUE, name, MAXSTRINGLEN); %} function pnlabel () %{ /* pure */ /* unprivileged */ /* stable */ char *ptr, *start; if (!CONTEXT->probe_name) { STAP_RETURN(""); } /* This function is modelled after ppfunc() */ STAP_RETVALUE[0] = '\0'; start = strstr(CONTEXT->probe_name, "label(\""); /* XXX: could be smarter */ ptr = start + 7; if (start) { int len = MAXSTRINGLEN; char *dst = STAP_RETVALUE; while (*ptr != '"' && --len > 0 && *ptr) *dst++ = *ptr++; *dst = 0; } %} # file /root/systemtap_write/install/share/systemtap/tapset/queue_stats.stp global qs_wtime global qs_wlentime global qs_wcount global qs_rtime global qs_rlentime global qs_rcount global qs_stime global qs_utime global qs_dcount function qs_time () { return gettimeofday_us(); } function _qs_update (qname) { (now) = (qs_time()); (then) = (qs_utime[qname]); if (!(then)) { (then) = (now); } ; (delta) = ((now) - (then)); (qs_wtime[qname]) += ((qs_wcount[qname])?(delta):(0)); (qs_wlentime[qname]) += ((qs_wcount[qname]) * (delta)); (qs_rtime[qname]) += ((qs_rcount[qname])?(delta):(0)); (qs_rlentime[qname]) += ((qs_rcount[qname]) * (delta)); (qs_utime[qname]) = (now); } function qs_wait (qname) { _qs_update(qname); (qs_wcount[qname])++; } function qs_run (qname) { _qs_update(qname); if ((qs_wcount[qname]) > (0)) { (qs_wcount[qname])--; (qs_rcount[qname])++; } ; } function qs_done (qname) { _qs_update(qname); if ((qs_rcount[qname]) > (0)) { (qs_rcount[qname])--; (qs_dcount[qname])++; } ; } function qsq_start (qname) { (qs_rcount[qname]) = (0); delete qs_rtime[qname]; delete qs_rlentime[qname]; (qs_wcount[qname]) = (0); delete qs_wtime[qname]; delete qs_wlentime[qname]; delete qs_dcount[qname]; delete qs_utime[qname]; (qs_stime[qname]) = (qs_time()); } function qsq_utilization (qname, scale) { _qs_update(qname); (elapsed) = ((qs_time()) - (qs_stime[qname])); return ((scale) * (qs_rtime[qname])) / (elapsed); } function qsq_blocked (qname, scale) { _qs_update(qname); (elapsed) = ((qs_time()) - (qs_stime[qname])); return ((scale) * (qs_wtime[qname])) / (elapsed); } function qsq_wait_queue_length (qname, scale) { _qs_update(qname); (elapsed) = ((qs_time()) - (qs_stime[qname])); return ((scale) * (qs_wlentime[qname])) / (elapsed); } function qsq_service_time (qname, scale) { _qs_update(qname); return ((scale) * (qs_rlentime[qname])) / (qs_dcount[qname]); } function qsq_wait_time (qname, scale) { _qs_update(qname); return ((scale) * ((qs_rlentime[qname]) + (qs_wlentime[qname]))) / (qs_dcount[qname]); } function qsq_throughput (qname, scale) { _qs_update(qname); (elapsed) = ((qs_time()) - (qs_stime[qname])); return ((scale) * (qs_dcount[qname])) / (elapsed); } function qsq_print (qname) { (qt) = (qsq_throughput(qname, 1000000000)); (qwl) = (qsq_wait_queue_length(qname, 1000)); printf("%s: %d.%03d ops/s, %d.%03d qlen, %d await, %d svctm, %d%% wait, %d%% util\\n", qname, (qt) / (1000), (qt) % (1000), (qwl) / (1000), (qwl) % (1000), qsq_wait_time(qname, 1), qsq_service_time(qname, 1), qsq_blocked(qname, 100), qsq_utilization(qname, 100)); } # file /root/systemtap_write/install/share/systemtap/tapset/random.stp function randint (n) %{ /* unprivileged */ #define RANDMAX (1024*1024) if (STAP_ARG_n > RANDMAX) CONTEXT->last_error = "range too wide"; else { STAP_RETVALUE = (uint64_t) _stp_random_u((unsigned long) STAP_ARG_n); } #undef RANDMAX %} # file /root/systemtap_write/install/share/systemtap/tapset/registers.stp function __asmlinkage_int_arg (n) { asmlinkage(); return int_arg(n); } # file /root/systemtap_write/install/share/systemtap/tapset/speculative.stp global _spec_id global _spec_counter% global _spec_buff% function speculation () { (_spec_id) += (1); return _spec_id; } function speculate (id, output) { (_spec_counter[id]) += (1); (_spec_buff[id, _spec_counter[id]]) = (output); } function discard (id) { delete _spec_buff[id, *]; } function commit (id) { foreach ([i, counter+] in _spec_buff[id, *]) { printf("%s", _spec_buff[i, counter]); }; delete _spec_buff[id, *]; } # file /root/systemtap_write/install/share/systemtap/tapset/stap_staticmarkers.stp probe stap.pass0 = process("stap").mark("pass0__start"){ (session) = ($arg1); } probe stap.pass0.end = process("stap").mark("pass0__end"){ (session) = ($arg1); } probe stap.pass1a = process("stap").mark("pass1a__start"){ (session) = ($arg1); } probe stap.pass1b = process("stap").mark("pass1b__start"){ (session) = ($arg1); } probe stap.pass1.end = process("stap").mark("pass1__end"){ (session) = ($arg1); } probe stap.pass2 = process("stap").mark("pass2__start"){ (session) = ($arg1); } probe stap.pass2.end = process("stap").mark("pass2__end"){ (session) = ($arg1); } probe stap.pass3 = process("stap").mark("pass3__start"){ (session) = ($arg1); } probe stap.pass3.end = process("stap").mark("pass3__end"){ (session) = ($arg1); } probe stap.pass4 = process("stap").mark("pass4__start"){ (session) = ($arg1); } probe stap.pass4.end = process("stap").mark("pass4__end"){ (session) = ($arg1); } probe stap.pass5 = process("stap").mark("pass5__start"){ (session) = ($arg1); } probe stap.pass5.end = process("stap").mark("pass5__end"){ (session) = ($arg1); } probe stap.pass6 = process("stap").mark("pass6__start"){ (session) = ($arg1); } probe stap.pass6.end = process("stap").mark("pass6__end"){ (session) = ($arg1); } probe stap.cache_clean = process("stap").mark("cache__clean"){ (path) = (user_string_quoted($arg1)); } probe stap.cache_add_mod = process("stap").mark("cache__add__module"){ (source_path) = (user_string_quoted($arg1)); (dest_path) = (user_string_quoted($arg2)); } probe stap.cache_add_src = process("stap").mark("cache__add__source"){ (source_path) = (user_string_quoted($arg1)); (dest_path) = (user_string_quoted($arg2)); } probe stap.cache_add_nss = process("stap").mark("cache__add__nss")?{ (source_path) = (user_string_quoted($arg1)); (dest_path) = (user_string_quoted($arg2)); } probe stap.cache_get = process("stap").mark("cache__get"){ (source_path) = (user_string_quoted($arg1)); (module_path) = (user_string_quoted($arg2)); } probe stap.system = process("stap").mark("stap_system__start"){ (command) = (user_string_quoted($arg1)); } probe stap.system.spawn = process("stap").mark("stap_system__spawn"){ (ret) = ($arg1); (pid) = ($arg2); } probe stap.system.return = process("stap").mark("stap_system__complete"){ (ret) = ($arg1); } probe staprun.insert_module = process("staprun").mark("insert__module"){ (path) = (user_string_quoted($arg1)); } probe staprun.remove_module = process("staprun").mark("remove__module"){ (name) = (user_string_quoted($arg1)); } probe staprun.send_control_message = process("staprun").mark("send__ctlmsg"){ (type) = ($arg1); (data) = ($arg2); (len) = ($arg3); } # file /root/systemtap_write/install/share/systemtap/tapset/stopwatch.stp global _stopwatch_starttime global _stopwatch_acc function delete_stopwatch (name) { delete _stopwatch_starttime[name]; delete _stopwatch_acc[name]; } function start_stopwatch (name) { (stime) = (_stopwatch_starttime[name]); if ((stime) == (0)) (_stopwatch_starttime[name]) = (gettimeofday_ns()) ; (_stopwatch_acc[name]) = (_stopwatch_acc[name]); } function stop_stopwatch (name) { (stime) = (_stopwatch_starttime[name]); if ((stime) != (0)) (delta) = ((gettimeofday_ns()) - (stime)) else (delta) = (0) ; (_stopwatch_starttime[name]) = (0); (_stopwatch_acc[name]) = ((_stopwatch_acc[name]) + (delta)); } function read_stopwatch_ns (name) { (stime) = (_stopwatch_starttime[name]); if ((stime) != (0)) (delta) = ((gettimeofday_ns()) - (stime)) else (delta) = (0) ; (_stopwatch_acc[name]) = (_stopwatch_acc[name]); return (_stopwatch_acc[name]) + (delta); } function read_stopwatch_us (name) { return (read_stopwatch_ns(name)) / (1000); } function read_stopwatch_ms (name) { return (read_stopwatch_ns(name)) / (1000000); } function read_stopwatch_s (name) { return (read_stopwatch_ns(name)) / (1000000000); } # file /root/systemtap_write/install/share/systemtap/tapset/string.stp function strlen (s) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ STAP_RETURN(strlen(STAP_ARG_s)); %} function substr (str, start, length) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ int64_t length = clamp_t(int64_t, STAP_ARG_length + 1, 0, MAXSTRINGLEN); if (STAP_ARG_start >= 0 && STAP_ARG_start < strlen(STAP_ARG_str)) strlcpy(STAP_RETVALUE, STAP_ARG_str + STAP_ARG_start, length); %} function stringat (str, pos) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ if (STAP_ARG_pos >= 0 && STAP_ARG_pos < strlen(STAP_ARG_str)) STAP_RETURN(STAP_ARG_str[STAP_ARG_pos]); else { STAP_RETVALUE = 0; #if STAP_COMPAT_VERSION >= STAP_VERSION(2,3) // PR15044 STAP_ERROR("Position out of bounds"); #endif } %} function isinstr (s1, s2) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ STAP_RETURN (strstr(STAP_ARG_s1,STAP_ARG_s2) != NULL); %} function text_str (input) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ if (_stp_text_str(STAP_RETVALUE, STAP_ARG_input, 0, 0, 0, 0, 0) < 0) { STAP_RETVALUE[0] = '\0'; } %} function text_strn (input, len, quoted) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ int64_t len = clamp_t(int64_t, STAP_ARG_len, 0, MAXSTRINGLEN); if (_stp_text_str( STAP_RETVALUE, STAP_ARG_input, 0, len, STAP_ARG_quoted, 0, 0) < 0) { STAP_RETVALUE[0] = '\0'; } %} function str_replace (prnt_str, srch_str, rplc_str) %{ /* pure */ /* unprivileged */ char *ptr = STAP_ARG_prnt_str; char *ptr_base = STAP_ARG_prnt_str; int strlen_srch_str = strlen(STAP_ARG_srch_str); STAP_RETVALUE[0] = '\0'; if(strlen_srch_str == 0) { STAP_RETURN (ptr_base); } while((ptr = strstr(ptr, STAP_ARG_srch_str)) != NULL) { *ptr = '\0'; strlcat(STAP_RETVALUE, ptr_base, MAXSTRINGLEN); strlcat(STAP_RETVALUE, STAP_ARG_rplc_str, MAXSTRINGLEN); ptr = ptr + strlen_srch_str; ptr_base = ptr; } strlcat(STAP_RETVALUE, ptr_base, MAXSTRINGLEN); return; %} function strtol (str, base) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ STAP_RETURN(simple_strtol(STAP_ARG_str, NULL, STAP_ARG_base)); %} function isdigit (str) %{ /* pure */ /* unprivileged */ /* unmodified-fnargs */ STAP_RETURN(isdigit(STAP_ARG_str[0])); %} function string_quoted (str) %{ /* pure */ /* unmodified-fnargs */ /* This can't fail, since the input string is already in stap context space. */ (void) _stp_text_str(STAP_RETVALUE, (char *)(uintptr_t)STAP_ARG_str, MAXSTRINGLEN, MAXSTRINGLEN, 1, 0, 0); %} # file /root/systemtap_write/install/share/systemtap/tapset/switchfile.stp function switch_file () { if ((stp_pid()) != (0)) { system(sprintf("kill -USR2 %d", stp_pid())); } ; } # file /root/systemtap_write/install/share/systemtap/tapset/system.stp function system (cmd) %{ /* unprivileged */ _stp_ctl_send(STP_SYSTEM, STAP_ARG_cmd, strlen(STAP_ARG_cmd)+1); %} # file /root/systemtap_write/install/share/systemtap/tapset/timers.stp probe timer.profile = timer.profile.tick!, perf.sw.cpu_clock.sample(1000000){ } probe timer.profile.freq = perf.sw.cpu_clock{ } # file /root/systemtap_write/install/share/systemtap/tapset/tokenize.stp %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %}function tokenize (delim) { return tokenize("", delim); } function tokenize (input, delim) %{ /* unprivileged */ /* unmodified-fnargs */ char *token = NULL; char *token_end = NULL; if (STAP_ARG_input[0]) { strncpy(CONTEXT->tok_str, STAP_ARG_input, MAXSTRINGLEN); CONTEXT->tok_start = &CONTEXT->tok_str[0]; CONTEXT->tok_end = &CONTEXT->tok_str[0] + strlen(CONTEXT->tok_str); } do { token = strsep(& CONTEXT->tok_start, STAP_ARG_delim); } while (token && !token[0]); if (token) { token_end = (CONTEXT->tok_start ? CONTEXT->tok_start - 1 : CONTEXT->tok_end); memcpy(STAP_RETVALUE, token, token_end - token + 1); } %} # file /root/systemtap_write/install/share/systemtap/tapset/tzinfo.stp function tz_ctime (epochsecs) { return ((ctime((epochsecs) - (tz_gmtoff()))) . (" ")) . (tz_name()); } # file /root/systemtap_write/install/share/systemtap/tapset/uconversions-guru.stp function set_user_string (addr, val) %{ /* guru */ store_uderef_string (STAP_ARG_val, STAP_ARG_addr, MAXSTRINGLEN); if (0) { deref_fault: /* branched to from store_deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_string_n (addr, n, val) %{ /* guru */ int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); store_uderef_string (STAP_ARG_val, STAP_ARG_addr, len); if (0) { deref_fault: /* branched to from store_deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_long (addr, val) %{ /* guru */ uwrite((long *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from uwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user long copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_int (addr, val) %{ /* guru */ uwrite((int *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from uwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user int copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_short (addr, val) %{ /* guru */ uwrite((short *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from uwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user short copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_char (addr, val) %{ /* guru */ uwrite((char *) (intptr_t) STAP_ARG_addr, STAP_ARG_val); if (0) { deref_fault: /* branched to from uwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user char copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} function set_user_pointer (addr, val) %{ /* guru */ uwrite((void **) (uintptr_t) STAP_ARG_addr, (uintptr_t)STAP_ARG_val); if (0) { deref_fault: /* branched to from uwrite() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user pointer copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } %} # file /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %}function user_string (addr) { return user_string_n(addr, %{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %}); } function user_string (addr, err_msg) { return user_string_n(addr, %{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %}, err_msg); } function user_string_warn (addr) { return user_string_warn(addr, ""); } function user_string_warn (addr, warn_msg) { return user_string_n_warn(addr, %{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %}, warn_msg); } function user_string_quoted (addr) { try { { return string_quoted(user_string(addr)); } } catch { { return sprintf("0x%x", addr); } } ; } function user_string_n (addr, n) %{ /* pure */ /* myproc-unprivileged */ long rc; int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); rc = _stp_strncpy_from_user(STAP_RETVALUE, (char __user *) (uintptr_t) STAP_ARG_addr, len); if (rc < 0) { strlcpy(STAP_RETVALUE, "", MAXSTRINGLEN); snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault %ld at %p [man error::fault]", rc, (void *) (uintptr_t) STAP_ARG_addr); CONTEXT->last_error = CONTEXT->error_buffer; } else STAP_RETVALUE[len - 1] = '\0'; %} function user_string_n (addr, n, err_msg) %{ /* pure */ /* myproc-unprivileged */ /* unmodified-fnargs */ int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); if (_stp_strncpy_from_user(STAP_RETVALUE, (char __user *) (uintptr_t) STAP_ARG_addr, len) < 0) strlcpy(STAP_RETVALUE, STAP_ARG_err_msg, MAXSTRINGLEN); else STAP_RETVALUE[len - 1] = '\0'; %} function user_string_n_warn (addr, n) { return user_string_n_warn(addr, n, ""); } function user_string_n_warn (addr, n, warn_msg) %{ /* pure */ /* myproc-unprivileged */ /* unmodified-fnargs */ int64_t len = clamp_t(int64_t, STAP_ARG_n + 1, 1, MAXSTRINGLEN); long rc; rc = _stp_strncpy_from_user(STAP_RETVALUE, (char __user *) (uintptr_t) STAP_ARG_addr, len); if (rc < 0) { // NB: using error_buffer to get local space for the warning, but we're // not aborting, so leave last_error alone. snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault %ld at %p [man error::fault]", rc, (void *) (uintptr_t) STAP_ARG_addr); _stp_warn(CONTEXT->error_buffer); strlcpy (STAP_RETVALUE, STAP_ARG_warn_msg, MAXSTRINGLEN); } else STAP_RETVALUE[len - 1] = '\0'; %} function user_string_n_quoted (addr, n) { return user_string_n_quoted(addr, n, %{ /* pure */ /* unprivileged */ /* stable */ MAXSTRINGLEN %}); } function user_string_n_quoted (addr, inlen, outlen) { try { { (__str) = (string_quoted(user_string_n(addr, inlen))); if ((strlen(__str)) > ((outlen) - (2))) (__str) = ((substr(__str, 0, (outlen) - (4))) . ("\"...")) ; return __str; } } catch { { return sprintf("0x%x", addr); } } ; } function user_string_utf32 (addr) %{ /* pure */ /* myproc-unprivileged */ int rc = 0, len = MAXSTRINGLEN; uint32_t c32, *source = (uint32_t*)(intptr_t)STAP_ARG_addr; char *destination = STAP_RETVALUE; *destination = '\0'; while (len > 1 && (c32 = uread(source))) { if ((rc = _stp_convert_utf32(destination, len, c32)) <= 0) { if (rc < 0) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "invalid UTF-32 character U+%X at 0x%p", c32, source); CONTEXT->last_error = CONTEXT->error_buffer; } break; } ++source; destination += rc; len -= rc; } if (0) { deref_fault: /* branched to from deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault at 0x%p [man error::fault]", source); CONTEXT->last_error = CONTEXT->error_buffer; } %} function user_string_utf32 (addr, err_msg) { try { { return user_string_utf32(addr); } } catch { { return err_msg; } } ; } function user_string_quoted_utf32 (addr) { try { { return string_quoted(user_string_utf32(addr)); } } catch { { return sprintf("0x%x", addr); } } ; } function user_string_utf16 (addr) %{ /* pure */ /* myproc-unprivileged */ int rc = 0, len = MAXSTRINGLEN; uint32_t c32; uint16_t c16low, *source = (uint16_t*)(intptr_t)STAP_ARG_addr; char *destination = STAP_RETVALUE; *destination = '\0'; while (len > 1 && (c32 = uread(source))) { /* Check for a UTF-16 high surrogate, then its low pair, and combine them. * Broken surrogates will just fall through to _stp_convert_utf32 and get * flagged as an error there. (Or even allowed, if we decide to be lax.) */ if (c32 >= 0xD800 && c32 <= 0xDBFF) { ++source; c16low = uread(source); if (c16low >= 0xDC00 && c16low <= 0xDFFF) c32 = 0x10000 + ((c32 & 0x3FF) << 10) + (c16low & 0x3FF); else --source; } if ((rc = _stp_convert_utf32(destination, len, c32)) <= 0) { if (rc < 0) { snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "invalid UTF-16 character U+%X at 0x%p", c32, source); CONTEXT->last_error = CONTEXT->error_buffer; } break; } ++source; destination += rc; len -= rc; } if (0) { deref_fault: /* branched to from deref_string() */ snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer), "user string copy fault at 0x%p [man error::fault]", source); CONTEXT->last_error = CONTEXT->error_buffer; } %} function user_string_utf16 (addr, err_msg) { try { { return user_string_utf16(addr); } } catch { { return err_msg; } } ; } function user_string_quoted_utf16 (addr) { try { { return string_quoted(user_string_utf16(addr)); } } catch { { return sprintf("0x%x", addr); } } ; } function user_char_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(char); CATCH_DEREF_FAULT(); %} function user_char (addr) { try { { return user_char_error(addr); } } catch { { return 0; } } ; } function user_char_warn (addr) { try { { return user_char_error(addr); } } catch { { warn(sprintf("user char copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_short_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(short); CATCH_DEREF_FAULT(); %} function user_short (addr) { try { { return user_short_error(addr); } } catch { { return 0; } } ; } function user_short_warn (addr) { try { { return user_short_error(addr); } } catch { { warn(sprintf("user short copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_ushort_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(unsigned short); CATCH_DEREF_FAULT(); %} function user_ushort (addr) { try { { return user_ushort_error(addr); } } catch { { return 0; } } ; } function user_ushort_warn (addr) { try { { return user_ushort_error(addr); } } catch { { warn(sprintf("user unsigned short copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_int_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(int); CATCH_DEREF_FAULT(); %} function user_int (addr) { try { { return user_int_error(addr); } } catch { { return 0; } } ; } function user_int_warn (addr) { try { { return user_int_error(addr); } } catch { { warn(sprintf("user int copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_long_error (addr) %{ /* pure */ /* myproc-unprivileged */ #ifdef CONFIG_COMPAT if (_stp_is_compat_task()) STP_GET_USER(compat_long_t); else #endif STP_GET_USER(long); CATCH_DEREF_FAULT(); %} function user_long (addr) { try { { return user_long_error(addr); } } catch { { return 0; } } ; } function user_long_warn (addr) { try { { return user_long_error(addr); } } catch { { warn(sprintf("user long copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_ulong_error (addr) %{ /* pure */ /* myproc-unprivileged */ #ifdef CONFIG_COMPAT if (_stp_is_compat_task()) STP_GET_USER(compat_ulong_t); else #endif STP_GET_USER(unsigned long); CATCH_DEREF_FAULT(); %} function user_ulong (addr) { try { { return user_ulong_error(addr); } } catch { { return 0; } } ; } function user_ulong_warn (addr) { try { { return user_ulong_error(addr); } } catch { { warn(sprintf("user unsigned long copy fault %p [man error::fault]", addr)); return 0; } } ; } function user_int8_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(int8_t); CATCH_DEREF_FAULT(); %} function user_int8 (addr) { try { { return user_int8_error(addr); } } catch { { return 0; } } ; } function user_uint8_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(uint8_t); CATCH_DEREF_FAULT(); %} function user_uint8 (addr) { try { { return user_uint8_error(addr); } } catch { { return 0; } } ; } function user_int16_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(int16_t); CATCH_DEREF_FAULT(); %} function user_int16 (addr) { try { { return user_int16_error(addr); } } catch { { return 0; } } ; } function user_uint16_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(uint16_t); CATCH_DEREF_FAULT(); %} function user_uint16 (addr) { try { { return user_uint16_error(addr); } } catch { { return 0; } } ; } function user_int32_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(int32_t); CATCH_DEREF_FAULT(); %} function user_int32 (addr) { try { { return user_int32_error(addr); } } catch { { return 0; } } ; } function user_uint32_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(uint32_t); CATCH_DEREF_FAULT(); %} function user_uint32 (addr) { try { { return user_uint32_error(addr); } } catch { { return 0; } } ; } function user_int64_error (addr) %{ /* pure */ /* myproc-unprivileged */ STP_GET_USER(int64_t); CATCH_DEREF_FAULT(); %} function user_int64 (addr) { try { { return user_int64_error(addr); } } catch { { return 0; } } ; } function user_uint64_error (addr) { return user_int64_error(addr); } function user_uint64 (addr) { return user_int64(addr); } function user_buffer_quoted (addr, inlen, outlen) %{ if ( _stp_text_str(STAP_RETVALUE, (char *)(uintptr_t)STAP_ARG_addr, STAP_ARG_inlen, STAP_ARG_outlen, 1, 1, 1) < 0) snprintf(STAP_RETVALUE, STAP_ARG_outlen, "0x%x",(unsigned int) STAP_ARG_addr); %} function user_buffer_quoted_error (addr, inlen, outlen) %{ if (_stp_text_str(STAP_RETVALUE, (char *) (uintptr_t) STAP_ARG_addr, STAP_ARG_inlen, STAP_ARG_outlen, 1, 1, 1) < 0) STAP_ERROR("Unable to access user space data"); %} Pass 1: parsed user script and 115 library scripts using 54016virt/44928res/5888shr/37568data kb, in 0usr/700sys/894real ms. wait results: 10684 exp36 0 0 PASS: parseok/cmdline02.stp Running /root/systemtap_write/systemtap/testsuite/parseok/cmdline03.stp starting /root/systemtap_write/systemtap/testsuite/parseok/cmdline03.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/cmdline03.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/cmdline03.stp # parse tree dump # file probe never{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe never{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe never{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe never{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10690 exp36 0 0 PASS: parseok/cmdline03.stp Running /root/systemtap_write/systemtap/testsuite/parseok/compatible.stp starting /root/systemtap_write/systemtap/testsuite/parseok/compatible.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/compatible.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/compatible.stp # parse tree dump # file probe begin{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10702 exp36 0 0 PASS: parseok/compatible.stp Running /root/systemtap_write/systemtap/testsuite/parseok/eight.stp starting /root/systemtap_write/systemtap/testsuite/parseok/eight.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eight.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eight.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/eight.stp probe all{ ["1"] in a1; ["1", 2] in a2; [a] in a3; [("1") . ("2"), ("1") . ("2")] in a4; (a) = ([akbar(("foo") . ("bar"))] in it_s_a_trap); foreach ([a, b] in a4) { foreach ([c, d] in a2) ;; }; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10708 exp36 0 0 PASS: parseok/eight.stp Running /root/systemtap_write/systemtap/testsuite/parseok/eighteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/eighteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eighteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eighteen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/eighteen.stp global c global a = 1 global b = "hello" global d probe begin{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10713 exp36 0 0 PASS: parseok/eighteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/eleven.stp starting /root/systemtap_write/systemtap/testsuite/parseok/eleven.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eleven.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/eleven.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/eleven.stp probe two{ (a) = (b); (a) <<< (b); (a) += (b); (a) -= (b); (a) *= (b); (a) /= (b); (a) %= (b); (a) <<= (b); (a) >>= (b); (a) &= (b); (a) ^= (b); (a) |= (b); (a)?(b):(c); (a) || (b); (a) && (b); (a) | (b); (a) & (b); (a) ^ (b); (a) < (b); (a) > (b); (a) == (b); (a) != (b); (a) <= (b); (a) >= (b); (a) << (b); (a) >> (b); (a) . (b); (a) + (b); (a) - (b); (a) * (b); (a) / (b); (a) % (b); (a)++; (a)--; --(a); ++(a); ~(a); !(a); +(a); -(a); (a) % (b); --(a); ++(a); (a)++; (a)--; +(+(a)); +(-(a)); +(!(a)); +(~(a)); -(+(a)); -(-(a)); -(!(a)); -(~(a)); !(+(a)); !(-(a)); !(!(a)); !(~(a)); ~(+(a)); ~(-(a)); ~(!(a)); ~(~(a)); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10718 exp36 0 0 PASS: parseok/eleven.stp Running /root/systemtap_write/systemtap/testsuite/parseok/end_string.stp starting /root/systemtap_write/systemtap/testsuite/parseok/end_string.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/end_string.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/end_string.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/end_string.stp global last_var_is_last_string = "HelloWorld" probe begin{ log(last_var_is_last_string); exit(); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10723 exp36 0 0 PASS: parseok/end_string.stp Running /root/systemtap_write/systemtap/testsuite/parseok/expansion.stp starting /root/systemtap_write/systemtap/testsuite/parseok/expansion.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/expansion.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/expansion.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/expansion.stp probe a.c.f!,a.d.f!,a.e.f!,b.c.f!,b.d.f!,b.e.f!{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10728 exp36 0 0 PASS: parseok/expansion.stp Running /root/systemtap_write/systemtap/testsuite/parseok/fifteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/fifteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/fifteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/fifteen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/fifteen.stp probe syscall.read += kernel.function("sys_read"){ (fildes) = ($fd); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10733 exp36 0 0 PASS: parseok/fifteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/five.stp starting /root/systemtap_write/systemtap/testsuite/parseok/five.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/five.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/five.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/five.stp probe lkst("process_contextswitch"){ } probe syscall("name").return{ } probe syscall("*"){ } probe kernel.function("wait_for_godot"){ } probe kernel.function("name").line(10){ } probe kernel.source("mempool.c").line(5004){ } probe kernel.address(3735928559){ } probe kernel.module("driver.ko").function("name").return{ } probe kernel.module("cpqarray.ko").jumptable("ida_fops"){ } probe kernel.watch("datasymbol").write{ } probe user("fche").inode("/bin/vi").function("refresh"){ } probe user.inode("/lib/libc.so.6").function("malloc").return{ } probe time.real.hz(500){ } probe time.virtual.jiffies(100){ } probe perfcounter("tlbmiss").count(4000){ } probe resource.freemembelow(50){ } probe begin{ } probe something?,or?,nothing?{ } probe something!,or,nothing!,and?,zoo{ } probe something? if (ture),or,nothing! if (false),then* if (0){ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10738 exp36 0 0 PASS: parseok/five.stp Running /root/systemtap_write/systemtap/testsuite/parseok/foreachstmt01.stp starting /root/systemtap_write/systemtap/testsuite/parseok/foreachstmt01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/foreachstmt01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/foreachstmt01.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/foreachstmt01.stp probe one{ foreach ([x+, y] in a limit 5) ;; (n) = (5); foreach ([x, y-] in a limit n) ;; foreach ([x, y] in a+ limit (n) + (2)) ;; foreach ([x, y] in a+ limit ++(n)) ;; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10743 exp36 0 0 PASS: parseok/foreachstmt01.stp Running /root/systemtap_write/systemtap/testsuite/parseok/four.stp starting /root/systemtap_write/systemtap/testsuite/parseok/four.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/four.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/four.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/four.stp probe syscall("foo").foo.bar,syscall("bar"),syscall("*").return{ ($a) = ((a$a) = ((a$a$) = (0))); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10748 exp36 0 0 PASS: parseok/four.stp Running /root/systemtap_write/systemtap/testsuite/parseok/fourteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/fourteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/fourteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/fourteen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/fourteen.stp global PASS global other global PASS2 global kernel global not_guru_mode # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10753 exp36 0 0 PASS: parseok/fourteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/kconfig.stp starting /root/systemtap_write/systemtap/testsuite/parseok/kconfig.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/kconfig.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/kconfig.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/kconfig.stp probe never{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10758 exp36 0 0 PASS: parseok/kconfig.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros01.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros01.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros01.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros01.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros01.stp probe begin{ print("Hello, World!"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10763 exp36 0 0 PASS: parseok/macros01.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros02.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros02.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros02.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros02.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros02.stp probe begin{ print("Hello, World!"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10768 exp36 0 0 PASS: parseok/macros02.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros03.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros03.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros03.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros03.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros03.stp probe begin{ print("Hello, World!"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10773 exp36 0 0 PASS: parseok/macros03.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros04.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros04.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros04.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros04.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros04.stp probe begin{ print("Hello, World!"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10778 exp36 0 0 PASS: parseok/macros04.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros05.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros05.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/macros05.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/macros05.stp # parse tree dump # file probe begin{ printf("Hello, World %s!", "5"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10783 exp36 0 0 PASS: parseok/macros05.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros06.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros06.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros06.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros06.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros06.stp probe begin{ print(42); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10789 exp36 0 0 PASS: parseok/macros06.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp WARNING: macro redefines built-in operator '@min': identifier 'min' at /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp:4:9 source: @define min(a) %( @a %) ^ # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/macros07.stp probe begin{ print("Hello, World!\n"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10794 exp36 0 0 PASS: parseok/macros07.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros08.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros08.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/macros08.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/macros08.stp # parse tree dump # file probe begin{ printf("Hello, World %s!", ""); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10799 exp36 0 0 PASS: parseok/macros08.stp Running /root/systemtap_write/systemtap/testsuite/parseok/macros09.stp starting /root/systemtap_write/systemtap/testsuite/parseok/macros09.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/macros09.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/macros09.stp # parse tree dump # file probe begin{ println(7); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe begin{ println(7); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } parse error: unknown operator @__testmacroB saw: operator '@__testmacroB' at :1:23 source: probe begin { println(@__testmacroB) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: unknown operator @__testmacroC saw: operator '@__testmacroC' at :1:23 source: probe begin { println(@__testmacroC) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] # parse tree dump # file probe begin{ println(7); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe begin{ println(7); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe begin{ println(9); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } # parse tree dump # file probe begin{ println(7); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } parse error: unknown operator @__testmacroH saw: operator '@__testmacroH' at :1:23 source: probe begin { println(@__testmacroH) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: unknown operator @__testmacroI saw: operator '@__testmacroI' at :1:23 source: probe begin { println(@__testmacroI) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] parse error: incomplete conditional at end of file at: operator '%(' at /tmp/tmp.leGgfB4HsC/PR18462.stpm:1:1 source: %( 1 == 1 %? ^ WARNING: macro tapset "/tmp/tmp.leGgfB4HsC/PR18462.stpm" has errors, and will be skipped. parse error: unknown operator @__testmacroJ saw: operator '@__testmacroJ' at :1:23 source: probe begin { println(@__testmacroJ) } ^ 1 parse error. Pass 1: parse failed. [man error::pass1] wait results: 10805 exp36 0 0 PASS: parseok/macros09.stp Running /root/systemtap_write/systemtap/testsuite/parseok/nine.stp starting /root/systemtap_write/systemtap/testsuite/parseok/nine.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/nine.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/nine.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/nine.stp probe one{ if (a) if (b) d else e ; } probe two{ (a) = (b); (c) = (d); (_e) = ($f); (_g) = (h_); ;; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10840 exp36 0 0 PASS: parseok/nine.stp Running /root/systemtap_write/systemtap/testsuite/parseok/nineteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/nineteen.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/nineteen.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/nineteen.stp # parse tree dump # file probe foo{ log(("probe foo") . ("\013\014")); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10845 exp36 0 0 PASS: parseok/nineteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/one.stp starting /root/systemtap_write/systemtap/testsuite/parseok/one.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/one.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/one.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/one.stp function k () { } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10851 exp36 0 0 PASS: parseok/one.stp Running /root/systemtap_write/systemtap/testsuite/parseok/preprocess-wildcard.stp starting /root/systemtap_write/systemtap/testsuite/parseok/preprocess-wildcard.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/preprocess-wildcard.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/preprocess-wildcard.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/preprocess-wildcard.stp probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } probe ab,*b,a*b,a*,*{ f((((x) * (x)) * (y)) * (y)); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10856 exp36 0 0 PASS: parseok/preprocess-wildcard.stp Running /root/systemtap_write/systemtap/testsuite/parseok/seven.stp starting /root/systemtap_write/systemtap/testsuite/parseok/seven.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/seven.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/seven.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/seven.stp probe one{ if (1) { } ; } probe two{ if (2) { ;; } ; } probe three{ if (3) ; ; } probe four{ if (4) { } else ; ; } probe five{ if (5) ; else { } ; } probe six{ if (6) { } else { ;; } ; } probe seven{ ;; } probe eight{ { }; } probe nine{ { ;; }; } probe ten{ (a) = (1); } probe all{ if (1) { } ; ;; if (2) { ;; } ; ;; if (3) ; ; ;; if (4) { } else ; ; ;; if (5) ; else { } ; ;; if (6) { } else { ;; } ; ;; ;; ;; { }; ;; { ;; }; ;; (a) = (1); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10861 exp36 0 0 PASS: parseok/seven.stp Running /root/systemtap_write/systemtap/testsuite/parseok/seventeen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/seventeen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/seventeen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/seventeen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/seventeen.stp probe kernel.function("add_timer_on"){ printf("%x\\n", $timer->function); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10866 exp36 0 0 PASS: parseok/seventeen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/six.stp starting /root/systemtap_write/systemtap/testsuite/parseok/six.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/six.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/six.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/six.stp probe nothing{ (a) = ((((((1) + (1)) + (1)) - (1)) - (1)) - (1)); (long_max) = (2147483647); (ulong_max) = (4294967295); (long_min) = ((-(2147483647)) - (1)); (llong_max) = (9223372036854775807); (ullong_max) = (-1); (llong_min) = ((-(9223372036854775807)) - (1)); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10871 exp36 0 0 PASS: parseok/six.stp Running /root/systemtap_write/systemtap/testsuite/parseok/sixteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/sixteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/sixteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/sixteen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/sixteen.stp probe abcX{ } probe *abc*{ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10876 exp36 0 0 PASS: parseok/sixteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/strconcat.stp starting /root/systemtap_write/systemtap/testsuite/parseok/strconcat.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/strconcat.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/strconcat.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/strconcat.stp probe begin{ (s) = ("foo bar\n"); printf("%s", s); printf("foo bar\\n"); printf("foo bar\\n"); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10881 exp36 0 0 PASS: parseok/strconcat.stp Running /root/systemtap_write/systemtap/testsuite/parseok/ten.stp starting /root/systemtap_write/systemtap/testsuite/parseok/ten.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/ten.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/ten.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/ten.stp probe two{ for (; 1; ) ;; for ((a) = (0); 1; ) { (a) + (4); break; }; for (; (a) > (0); ) { (a) ^ (5); continue; }; for (; 1; (a)++) { (a) | (5); }; for ((a) = (0); (a) > (0); ) { (a) << (4); }; for (; (a) > (0); ++(a)) { (a) >> (5); }; for ((a) = (0); 1; (a)--) { (a) & ((5) * (b)); }; for ((a) = (0); ((a) <= (4)) && ((b) >= (5)); --(a)) ;; for ((a) = (0); ((a) == (4)) || ((b) != (5)); (a)++) { (b) = (a); }; next; for (; 99; ) ;; for (; 99; ) { break; continue; }; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10886 exp36 0 0 PASS: parseok/ten.stp Running /root/systemtap_write/systemtap/testsuite/parseok/thirteen.stp starting /root/systemtap_write/systemtap/testsuite/parseok/thirteen.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/thirteen.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/thirteen.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/thirteen.stp probe one{ foreach ([x+, y] in a) ;; foreach ([x, y-] in a) ;; foreach ([x, y] in a+) ;; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10891 exp36 0 0 PASS: parseok/thirteen.stp Running /root/systemtap_write/systemtap/testsuite/parseok/three.stp starting /root/systemtap_write/systemtap/testsuite/parseok/three.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/three.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/three.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/three.stp probe syscall("foo"){ ($a) = ((a$a) = ((a$a$) = (0))); (str) = ((("a") . ($a)) . ("b")); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10896 exp36 0 0 PASS: parseok/three.stp Running /root/systemtap_write/systemtap/testsuite/parseok/twelve.stp starting /root/systemtap_write/systemtap/testsuite/parseok/twelve.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/twelve.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/twelve.stp # parse tree dump # file %{ /* hello world */ %}function foo (p1, p2, p3) %{ /* goodbye world */ %} # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10901 exp36 0 0 PASS: parseok/twelve.stp Running /root/systemtap_write/systemtap/testsuite/parseok/twenty.stp starting /root/systemtap_write/systemtap/testsuite/parseok/twenty.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/twenty.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/twenty.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/twenty.stp global PASS global other global PASS2 global PASS3 # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10907 exp36 0 0 PASS: parseok/twenty.stp Running /root/systemtap_write/systemtap/testsuite/parseok/twentyone.stp starting /root/systemtap_write/systemtap/testsuite/parseok/twentyone.stp spawn1 stap -gp1 /root/systemtap_write/systemtap/testsuite/parseok/twentyone.stp spawn stap -gp1 /root/systemtap_write/systemtap/testsuite/parseok/twentyone.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/twentyone.stp probe one{ println(%{ 1 %}); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10912 exp36 0 0 PASS: parseok/twentyone.stp Running /root/systemtap_write/systemtap/testsuite/parseok/twentytwo.stp starting /root/systemtap_write/systemtap/testsuite/parseok/twentytwo.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/twentytwo.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/twentytwo.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/twentytwo.stp probe kernel.function("sys_open"){ } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10917 exp36 0 0 PASS: parseok/twentytwo.stp Running /root/systemtap_write/systemtap/testsuite/parseok/two.stp starting /root/systemtap_write/systemtap/testsuite/parseok/two.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/two.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/two.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/two.stp probe syscall(231){ (array[idx]) <<< (value); if ((gbl) > (5)) { (gbl)--; } else ; ; } probe end{ foo("value", (4) + (8)); } function foo () { delete array[4]; return 0; } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10922 exp36 0 0 PASS: parseok/two.stp Running /root/systemtap_write/systemtap/testsuite/parseok/unfour.stp starting /root/systemtap_write/systemtap/testsuite/parseok/unfour.stp spawn1 stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/unfour.stp spawn stap -p1 /root/systemtap_write/systemtap/testsuite/parseok/unfour.stp # parse tree dump # file /root/systemtap_write/systemtap/testsuite/parseok/unfour.stp probe foo{ ((somethinglovely)->foo) = (1); } # file probe timer.s(900){ error("probe timeout after 15 minutes"); } wait results: 10927 exp36 0 0 PASS: parseok/unfour.stp Running /root/systemtap_write/systemtap/testsuite/parseok/unparser.stp starting /root/systemtap_write/systemtap/testsuite/parseok/unparser.stp spawn2 /root/systemtap_write/systemtap/testsuite/parseok/unparser.stp spawn /root/systemtap_write/systemtap/testsuite/parseok/unparser.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/array_slicing.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/autocast02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/autocast03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/eight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/eighteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/eleven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/end_string.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/expansion.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/fifteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/five.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/foreachstmt01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/four.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/fourteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/kconfig.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros07.stp WARNING: macro redefines built-in operator '@min': identifier 'min' at /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/macros07.stp:4:9 source: @define min(a) %( @a %) ^ /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/nine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/one.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/preprocess-wildcard.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/seven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/seventeen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/six.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/sixteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/strconcat.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/ten.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/thirteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/three.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/twenty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/twentyone.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/twentytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/two.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/parseok/unfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/_start.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/array_slicing.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast08.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast09.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast11.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast12.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast13.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/autocast14.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/beginend.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/binexpr_infer_type.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/bz10475.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/cast.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/config_config.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/config_number.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/config_wildcard.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/context-globals.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/doubleglob.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/eighteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/eleven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/entry01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/entry02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/entry03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/entry04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/fifteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/five.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/four.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/fourteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/gurufunc.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/kretprobe-data.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/mangled.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/map_wrap_good.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/netfilter01.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/nineteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/one.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/optimize.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/plt1.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/pretty-uprobes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/pretty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/pretty2.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/seven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/seventeen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/six.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/sixteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/sizeof.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/target_addr.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/ten.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtyfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtynine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtysix-utrace.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtythree.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/thirtytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/three.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twelve.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentyfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentynine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentythree.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/twentytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/two.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/umask07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/utrace01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semok/utrace14.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/_start.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes08.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/alias_suffixes09.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/array_slicing06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast07.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast08.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast09.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast11.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast12.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast13.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/autocast14.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/badregex01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/binexpr_infer_type.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/binexpr_infer_type2.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/binexpr_infer_type3.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/binexpr_infer_type4.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/doubleglob.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/eight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/eighteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/eleven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/entry01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/entry02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/entry03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/entry04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fifteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fiftyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/five.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/foreachstmt01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/foreachstmt02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/foreachstmt03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/foreachstmt04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/forty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortyfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortynine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortythree.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fortytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/four.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/fourteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/global_access.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/gurufunc.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/inb_blacklisted.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/local_array.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/local_stat.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/logging-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/map_wrap_bad.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/maxactive06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter08.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter09.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter10.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/netfilter11.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/nine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/nofunc.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/one.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/overload.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/perf_sample.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/plt1.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs08.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs09.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs10.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs11.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs12.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs13.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs14.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/procfs15.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/return01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/return02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/seven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/seventeen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/six.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/sixteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/source_context.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/target_addr1.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/target_addr2.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/target_addr3.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/task_ns.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/ten.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtyfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtynine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtyseven.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtythree.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/thirtytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/three.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/timer_hz_randomize.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twelve.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twenty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentyfour.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentynine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentythree.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twentytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/two.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/twotwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/typemismatch1.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/typemismatch2.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/typemismatch3.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/typemismatch4.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/typemismatch5.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace07.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace15.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace16.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace17.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace18.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace19.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace20.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace21.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/utrace22.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/var_definition.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/semko/zero.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/direct_rec_func.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/eight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/five.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/four.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/one.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/seven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/six.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/ten.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/three.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/two.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transok/varargs.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transko/perf01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transko/two.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/transko/varargs.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes03.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes05.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/alias_suffixes06.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/arch_bytes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/array_size.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/atomic.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/aux_syscalls-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/context-embedded-ns.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/context-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/context-symbols-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/context-unwind-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/conversions-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/conversions-guru-embedded.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/conversions.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ctime-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/delete.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/dentry-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/dev-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/dw_op_rot.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/eight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/eighteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/eleven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/endian-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/errno-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fifteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/five.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortyeight.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortynine.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fortysix.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/four.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fourteen-plus.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/fourteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/globals.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/gtod_init.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/gtod_noinit.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/guru.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/histogram_operator_in.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/hwbkpt.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/indent.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/inet-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/inet_sock-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioblock-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioblock-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioblock-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioscheduler-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioscheduler-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ioscheduler-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ip-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ipmib-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ipmib-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ipmib-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/irq-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/irq-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/iterate_histogram_buckets.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/json-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/kprocess-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/kprocess-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/kprocess-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/linuxmib-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/linuxmib-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/logging-embedded.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/map_probe_cond.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/maxactive01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory-mmap.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory-write_shared_copy.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/memory.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nd_syscalls-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nd_syscalls-arch-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nd_syscalls-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nd_syscalls2-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/netfilter-glob.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/netfilter01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/netfilter02.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/netfilter03.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/netfilter04.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/networking-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/networking-change_rx_flag.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/networking-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/networking-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/newlocals01.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs-fop.check_flags.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs_proc-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfs_proc-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfsd-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfsd-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfsd-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nfsderrno-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nine.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/nineteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/null.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/oldlocals02.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/one.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/per-process-syscall.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/pmap_foreach.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/pr10678.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/pr13284.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/pretty-uprobes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/pretty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/print_histogram_entry.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/print_histograms.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/printf.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/proc_mem-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/process_test.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/procfs01.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/profiletimer.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/queue_stats-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/random-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/rcu.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/rpc-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/rpc-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/rpc-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-cpu_off.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-cpu_on.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-ctxswitch.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scheduler-migrate.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scsi-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/scsi-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/semicolon.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/seven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/seventeen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/signal-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/signal-check_ignored.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/signal-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/signal-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/signal-handle.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/six.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/sixteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/socket-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/socket-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/socket-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/stap_staticmarkers-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/stat_extract.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/stat_insert.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/stopwatches.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/string-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/syscall.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/syscalls-arch-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/syscalls-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/syscalls2-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/system-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/systemtap_privilege.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/task-embedded.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/task_ns.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/task_rlimit_test.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/task_test.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/task_time-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcp-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcp-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcp-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcp_test.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcpmib-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcpmib-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tcpmib-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ten.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/thirteen.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/thirty.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/thirtyfour.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/thirtyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/three.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/timestamp-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/timestamp_gtod-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/timestamp_monotonic-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tty-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/tty-resize.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twelve.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twenty.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyeight.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyeightprime.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyfive.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyfour.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentynine.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyone.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentyseven.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentythree.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/twentytwo.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ucontext-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ucontext-symbols-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/ucontext-unwind-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/udp-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/udp-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/udp_test.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/utrace.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/vfs-all-probes.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/vfs-detailed.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/vfs-embedded.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildok/xtime.stp /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/global_access.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/three.stp -g /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp wait results: 10932 exp36 0 0 PASS: parseok/unparser.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/parseok.exp completed in 381 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/runok.exp ... Running /root/systemtap_write/systemtap/testsuite/runok/regex.stp starting /root/systemtap_write/systemtap/testsuite/runok/regex.stp spawn1 stap -p5 /root/systemtap_write/systemtap/testsuite/runok/regex.stp spawn stap -p5 /root/systemtap_write/systemtap/testsuite/runok/regex.stp regex PASS: #1: \\ =~ \ regex PASS: #2: abc =~ xabcy regex PASS: #3: ab*bc =~ abbbbc regex PASS: #4: ab?bc =~ abbc regex PASS: #5: ^abc$ !~ abcc regex PASS: #6: a[b-d]e !~ abd regex PASS: #7: a[b-d]e =~ ace regex PASS: #8: a\(*b =~ ab regex PASS: #9: a\(*b =~ a((b regex PASS: #10: (a+|b)* =~ ab regex PASS: #11: (a+|b)+ =~ ab regex PASS: #12: ([abc])*d =~ abbbcd regex PASS: #13: ^(ab|cd)e !~ abcde regex PASS: #14: [A-Za-z_][A-Za-z0-9_]* =~ alpha regex PASS: #15: (bc+d$|ef*g.|h?i(j|k)) =~ ij regex PASS: #16: (bc+d$|ef*g.|h?i(j|k)) !~ effg regex PASS: #17: (((((((((a))))))))) =~ a regex PASS: #18: \((.*), !~ (.*)\) regex PASS: #19: [k] !~ ab regex PASS: #20: abcd =~ abcd regex PASS: #21: a(bc)d =~ abcd regex PASS: #22: =~ regex PASS: #23: s* =~ ssss regex PASS: #24: abc !~ zb regex PASS: #25: abc !~ ab regex PASS: #26: =~ regex PASS: #27: =~ abc regex PASS: #28: ^abc =~ abc regex PASS: #29: ^ =~ abc regex PASS: #30: a^ !~ abc regex PASS: #31: ^abc !~ zabc regex PASS: #32: ab^c !~ abc regex PASS: #33: a*^b =~ b regex PASS: #34: abc =~ zabc regex PASS: #35: .* =~ stuffs regex PASS: #36: $^ !~ regex PASS: #37: $.* =~ regex PASS: #38: $a^ !~ a regex PASS: #39: $.* =~ a regex PASS: #40: $.+ !~ a regex PASS: #41: .*^ =~ regex PASS: #42: .*^ =~ a regex PASS: #43: .+^ !~ a regex PASS: #44: a^b !~ regex PASS: #45: a^b !~ ab regex PASS: #46: a^b !~ a regex PASS: #47: e$f !~ regex PASS: #48: e$f !~ ef regex PASS: #49: e$f !~ e regex PASS: #50: [^ab] =~ c regex PASS: #51: [^ab]* =~ regex PASS: #52: [ab]* =~ ababab regex PASS: #53: h$ =~ abh regex PASS: #54: .h$ =~ abh regex PASS: #55: a|.h$ =~ abh regex PASS: #56: ^a|.h$ =~ abh regex PASS: #57: ^ag|.h$ =~ abh regex PASS: #58: ^a(bc+)g|.h$ =~ abh regex PASS: #59: a(bc+|b[eh])g|.h$ =~ abh regex PASS: #60: ^a(bc)g|.h =~ abh regex PASS: #61: ^a(bc+)g|.h =~ abh regex PASS: #62: ^(a)|.h$ =~ abh regex PASS: #63: ^ag|.h$ =~ agh regex PASS: #64: ^a(bc)g|.h$ =~ abh regex PASS: #65: ^a(b[eh])g|.h$ =~ abh regex PASS: #66: ^a(bc+|b[eh])g|.h$ =~ abh regex PASS: #67: ^a(bc|be)g|.h$ =~ abh regex PASS: #68: ^a(bc+|b[eh])g|h$ =~ abh regex PASS: #69: ^|$ =~ regex PASS: #70: a|$ =~ regex PASS: #71: ^a|$ =~ regex PASS: #72: ^a|h$ =~ h regex PASS: #73: ^ag|h$ =~ h regex PASS: #74: ^acg|.h$ =~ ah regex PASS: #75: ^ab|.h$ =~ ah regex PASS: #76: ^acg|.h$ =~ abh regex PASS: #77: ^[[:cntrl:]]$ !~ q regex PASS: #78: ^[[:graph:]]+$ =~ excibitobabble regex PASS: #79: ^[[:graph:]]+$ !~ many works many words regex PASS: #80: ^[[:print:]]+$ =~ excibitobabble regex PASS: #81: ^[[:print:]]+$ =~ many works many words regex PASS: #82: [\^a] =~ a regex PASS: #83: [\^a] !~ b regex PASS: #84: [\[:alpha:]] =~ :] regex PASS: #85: [\[:alpha:]] !~ : regex PASS: #86: [\[:alpha:] =~ : regex PASS: #87: [\[\:alpha:] =~ : regex PASS: #88: ^ =~ regex PASS: #89: $ =~ regex PASS: #90: ^$ =~ regex PASS: #91: ^a$ =~ a regex PASS: #92: abc =~ abc regex PASS: #93: abc !~ xbc regex PASS: #94: abc !~ axc regex PASS: #95: abc !~ abx regex PASS: #96: abc =~ xabcy regex PASS: #97: abc =~ ababc regex PASS: #98: ab*c =~ abc regex PASS: #99: ab*bc =~ abc regex PASS: #100: ab*bc =~ abbc regex PASS: #101: ab*bc =~ abbbbc regex PASS: #102: ab+bc =~ abbc regex PASS: #103: ab+bc !~ abc regex PASS: #104: ab+bc !~ abq regex PASS: #105: ab+bc =~ abbbbc regex PASS: #106: ab?bc =~ abbc regex PASS: #107: ab?bc =~ abc regex PASS: #108: ab?bc !~ abbbbc regex PASS: #109: ab?c =~ abc regex PASS: #110: ^abc$ =~ abc regex PASS: #111: ^abc$ !~ abcc regex PASS: #112: ^abc =~ abcc regex PASS: #113: ^abc$ !~ aabc regex PASS: #114: abc$ =~ aabc regex PASS: #115: ^ =~ abc regex PASS: #116: $ =~ abc regex PASS: #117: a.c =~ abc regex PASS: #118: a.c =~ axc regex PASS: #119: a.*c =~ axyzc regex PASS: #120: a.*c !~ axyzd regex PASS: #121: a[bc]d !~ abc regex PASS: #122: a[bc]d =~ abd regex PASS: #123: a[b-d]e !~ abd regex PASS: #124: a[b-d]e =~ ace regex PASS: #125: a[b-d] =~ aac regex PASS: #126: a[-b] =~ a- regex PASS: #127: a[b-] =~ a- regex PASS: #128: a] =~ a] regex PASS: #129: a[]]b =~ a]b regex PASS: #130: a[^bc]d =~ aed regex PASS: #131: a[^bc]d !~ abd regex PASS: #132: a[^-b]c =~ adc regex PASS: #133: a[^-b]c !~ a-c regex PASS: #134: a[^]b]c !~ a]c regex PASS: #135: a[^]b]c =~ adc regex PASS: #136: ab|cd =~ abc regex PASS: #137: ab|cd =~ abcd regex PASS: #138: ()ef =~ def regex PASS: #139: ()* =~ - regex PASS: #140: $b !~ b regex PASS: #141: a\(b =~ a(b regex PASS: #142: a\(*b =~ ab regex PASS: #143: a\(*b =~ a((b regex PASS: #144: a\x !~ a\x regex PASS: #145: abc) !~ - regex PASS: #146: ((a)) =~ abc regex PASS: #147: (a)b(c) =~ abc regex PASS: #148: a+b+c =~ aabbabc regex PASS: #149: a** =~ - regex PASS: #150: a*? =~ - regex PASS: #151: (a*)* =~ - regex PASS: #152: (a*)+ =~ - regex PASS: #153: (a|)* =~ - regex PASS: #154: (a*|b)* =~ - regex PASS: #155: (a+|b)* =~ ab regex PASS: #156: (a+|b)+ =~ ab regex PASS: #157: (a+|b)? =~ ab regex PASS: #158: [^ab]* =~ cde regex PASS: #159: (^)* =~ - regex PASS: #160: (ab|)* =~ - regex PASS: #161: abc !~ regex PASS: #162: abc !~ regex PASS: #163: a* =~ regex PASS: #164: ([abc])*d =~ abbbcd regex PASS: #165: ([abc])*bcd =~ abcd regex PASS: #166: a|b|c|d|e =~ e regex PASS: #167: (a|b|c|d|e)f =~ ef regex PASS: #168: ((a*|b))* =~ - regex PASS: #169: abcd*efg =~ abcdefg regex PASS: #170: ab* =~ xabyabbbz regex PASS: #171: ab* =~ xayabbbz regex PASS: #172: (ab|cd)e =~ abcde regex PASS: #173: [abhgefdc]ij =~ hij regex PASS: #174: ^(ab|cd)e !~ abcde regex PASS: #175: (abc|)ef =~ abcdef regex PASS: #176: (a|b)c*d =~ abcd regex PASS: #177: (ab|ab*)bc =~ abc regex PASS: #178: a([bc]*)c* =~ abc regex PASS: #179: a([bc]*)(c*d) =~ abcd regex PASS: #180: a([bc]+)(c*d) =~ abcd regex PASS: #181: a([bc]*)(c+d) =~ abcd regex PASS: #182: a[bcd]*dcdcde =~ adcdcde regex PASS: #183: a[bcd]+dcdcde !~ adcdcde regex PASS: #184: (ab|a)b*c =~ abc regex PASS: #185: ((a)(b)c)(d) =~ abcd regex PASS: #186: [A-Za-z_][A-Za-z0-9_]* =~ alpha regex PASS: #187: ^a(bc+|b[eh])g|.h$ =~ abh regex PASS: #188: (bc+d$|ef*g.|h?i(j|k)) =~ effgz regex PASS: #189: (bc+d$|ef*g.|h?i(j|k)) =~ ij regex PASS: #190: (bc+d$|ef*g.|h?i(j|k)) !~ effg regex PASS: #191: (bc+d$|ef*g.|h?i(j|k)) !~ bcdd regex PASS: #192: (bc+d$|ef*g.|h?i(j|k)) =~ reffgz regex PASS: #193: ((((((((((a)))))))))) !~ - regex PASS: #194: (((((((((a))))))))) =~ a regex PASS: #195: multiple words of text !~ uh-uh regex PASS: #196: multiple words =~ multiple words, yeah regex PASS: #197: (.*)c(.*) =~ abcde regex PASS: #198: \((.*), !~ (.*)\) regex PASS: #199: [k] !~ ab regex PASS: #200: abcd =~ abcd regex PASS: #201: a(bc)d =~ abcd regex PASS: #202: a[-]?c =~ ac regex PASS: #203: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Qaddafi regex PASS: #204: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mo'ammar Gadhafi regex PASS: #205: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Kaddafi regex PASS: #206: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Qadhafi regex PASS: #207: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moammar El Kadhafi regex PASS: #208: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Gadafi regex PASS: #209: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar al-Qadafi regex PASS: #210: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moamer El Kazzafi regex PASS: #211: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moamar al-Gaddafi regex PASS: #212: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar Al Qathafi regex PASS: #213: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Al Qathafi regex PASS: #214: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mo'ammar el-Gadhafi regex PASS: #215: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moamar El Kadhafi regex PASS: #216: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar al-Qadhafi regex PASS: #217: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar al-Qadhdhafi regex PASS: #218: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar Qadafi regex PASS: #219: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moamar Gaddafi regex PASS: #220: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar Qadhdhafi regex PASS: #221: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Khaddafi regex PASS: #222: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar al-Khaddafi regex PASS: #223: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'amar al-Kadafi regex PASS: #224: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Ghaddafy regex PASS: #225: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Ghadafi regex PASS: #226: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Ghaddafi regex PASS: #227: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muamar Kaddafi regex PASS: #228: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Quathafi regex PASS: #229: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muammar Gheddafi regex PASS: #230: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Muamar Al-Kaddafi regex PASS: #231: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moammar Khadafy regex PASS: #232: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Moammar Qudhafi regex PASS: #233: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mu'ammar al-Qaddafi regex PASS: #234: M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] =~ Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi regex PASS: #235: [[:digit:]]+ =~ 01234 regex PASS: #236: [[:alpha:]]+ !~ 01234 regex PASS: #237: ^[[:digit:]]*$ =~ 01234 regex PASS: #238: ^[[:digit:]]*$ !~ 01234a regex PASS: #239: ^[[:alnum:]]*$ =~ 01234a regex PASS: #240: ^[[:xdigit:]]*$ =~ 01234a regex PASS: #241: ^[[:xdigit:]]*$ !~ 01234g regex PASS: #242: ^[[:alnum:][:space:]]*$ =~ Hello world regex total PASS: 242, FAIL: 0 wait results: 15125 exp36 0 0 PASS: runok/regex.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/runok.exp completed in 12 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/semko.exp ... Running /root/systemtap_write/systemtap/testsuite/semko/_start.stp starting /root/systemtap_write/systemtap/testsuite/semko/_start.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/_start.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/_start.stp WARNING: function _start return probe is blacklisted: keyword at /root/systemtap_write/systemtap/testsuite/semko/_start.stp:8:1 source: probe process("stap").function("_start").return ^ semantic error: while resolving probe point: identifier 'process' at :8:7 source: probe process("stap").function("_start").return ^ semantic error: no match (similar functions: _start, start, stat, fstat, at) Pass 2: analysis failed. [man error::pass2] wait results: 15377 exp36 0 1 XFAIL: semko/_start.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp semantic error: while resolving probe point: identifier 'b' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes01.stp:11:7 source: probe b.d { print("Hello, World!\n") end() } ^ semantic error: probe point mismatch (similar: b, e): identifier 'd' at :11:9 source: probe b.d { print("Hello, World!\n") end() } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15382 exp36 0 1 XFAIL: semko/alias_suffixes01.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp semantic error: while resolving probe point: identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes02.stp:8:7 source: probe a.maxactive(10) { printf("%s\n", pn()) } ^ semantic error: no match (similar functions: do_open, fb_open, md_open, no_open, sd_open): identifier 'maxactive' at :8:9 source: probe a.maxactive(10) { printf("%s\n", pn()) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15389 exp36 0 1 XFAIL: semko/alias_suffixes02.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp semantic error: while resolving probe point: identifier 'c' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes03.stp:10:7 source: probe c.maxactive(10) { printf("%s\n", pn()) } ^ semantic error: no match (similar functions: do_open, fb_open, md_open, no_open, sd_open): identifier 'maxactive' at :10:9 source: probe c.maxactive(10) { printf("%s\n", pn()) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15395 exp36 0 1 XFAIL: semko/alias_suffixes03.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes04.stp:5:7 source: probe kernel.nonexistentbananas { } ^ semantic error: probe point mismatch (similar: data, mark, statement, trace, function): identifier 'nonexistentbananas' at :5:14 source: probe kernel.nonexistentbananas { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15400 exp36 0 1 XFAIL: semko/alias_suffixes04.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp semantic error: while resolving probe point: identifier 'syscall' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes05.stp:5:7 source: probe syscall.open.return.maxactive(1).* { } ^ semantic error: probe point mismatch: identifier 'maxactive' at :5:27 source: probe syscall.open.return.maxactive(1).* { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15405 exp36 0 1 XFAIL: semko/alias_suffixes05.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp semantic error: while resolving probe point: identifier 'r' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp:7:13 source: probe q.c = r.c.c { } ^ semantic error: recursive loop in alias expansion of q.c.c at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes06.stp:8:13: identifier 'c' at :7:15 source: probe q.c = r.c.c { } ^ semantic error: while resolving probe point: identifier 'a' at :9:7 source: probe a.b.c { print("what?") } ^ semantic error: no match: identifier 'c' at :9:11 source: probe a.b.c { print("what?") } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15410 exp36 0 1 XFAIL: semko/alias_suffixes06.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp semantic error: while resolving probe point: identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes07.stp:7:7 source: probe a.maxactive(10) { printf("%s\n", pn()) } ^ semantic error: no match (similar functions: do_open, fb_open, md_open, no_open, sd_open): identifier 'maxactive' at :7:9 source: probe a.maxactive(10) { printf("%s\n", pn()) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15415 exp36 0 1 XFAIL: semko/alias_suffixes07.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp semantic error: while resolving probe point: identifier 'r' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp:7:13 source: probe q.c = r.c.c { } ^ semantic error: recursive loop in alias expansion of q.c.c at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes08.stp:8:13: identifier 'c' at :7:15 source: probe q.c = r.c.c { } ^ semantic error: while resolving probe point: identifier 'a' at :13:7 source: probe a.b.c { print("what?") } ^ semantic error: no match: identifier 'c' at :13:11 source: probe a.b.c { print("what?") } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15420 exp36 0 1 XFAIL: semko/alias_suffixes08.stp Running /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp starting /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp semantic error: while resolving probe point: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp:10:16 source: probe makery = foo.whoosh { } ^ semantic error: recursive loop in alias expansion of foo.whoosh.whoosh at /root/systemtap_write/systemtap/testsuite/semko/alias_suffixes09.stp:10:16: identifier 'whoosh' at :10:20 source: probe makery = foo.whoosh { } ^ semantic error: while resolving probe point: identifier 'makery' at :11:15 source: probe a.b.c = makery { } ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 15425 exp36 0 1 XFAIL: semko/alias_suffixes09.stp Running /root/systemtap_write/systemtap/testsuite/semko/array01.stp starting /root/systemtap_write/systemtap/testsuite/semko/array01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array01.stp semantic error: inconsistent arity: identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/array01.stp:4:8 source: global a[10] ^ Pass 2: analysis failed. [man error::pass2] wait results: 15430 exp36 0 1 XFAIL: semko/array01.stp Running /root/systemtap_write/systemtap/testsuite/semko/array02.stp starting /root/systemtap_write/systemtap/testsuite/semko/array02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array02.stp semantic error: unresolved arity-2 global array array, missing global declaration?: identifier 'array' at /root/systemtap_write/systemtap/testsuite/semko/array02.stp:6:3 source: array[1,2] = 5 ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 15435 exp36 0 1 XFAIL: semko/array02.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp semantic error: unresolved arity-6 global array __global_val, missing global declaration?: identifier 'val' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing01.stp:7:25 source: foreach ([a, b, c] in val[*,*,*,*,*,*]) {exit();} ^ Pass 2: analysis failed. [man error::pass2] wait results: 15440 exp36 0 1 XFAIL: semko/array_slicing01.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp semantic error: index 0 type mismatch (string): string 'hello' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing02.stp:7:29 source: foreach ([a, b, c] in val["hello", *, *]){exit();} ^ semantic error: type of index 0 was first inferred here (long): number '1' at :4:8 source: val [1, 2, 3] = 4 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15445 exp36 0 1 XFAIL: semko/array_slicing02.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp semantic error: index 0 type mismatch (string): string 'abcd' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing03.stp:7:15 source: delete val ["abcd", *, *] ^ semantic error: type of index 0 was first inferred here (long): number '1' at :4:8 source: val [1, 2, 3] = 4 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15450 exp36 0 1 XFAIL: semko/array_slicing03.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp semantic error: index 2 type mismatch (string): string 'asdf' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing04.stp:7:14 source: if ([*, *, "asdf"] in val) {exit()} ^ semantic error: type of index 2 was first inferred here (long): number '3' at :4:14 source: val [1, 2, 3] = 4 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15455 exp36 0 1 XFAIL: semko/array_slicing04.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp semantic error: inconsistent arity (3 vs 4): identifier 'val' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing05.stp:7:10 source: delete val[*,*,*,*] ^ semantic error: arity 3 first inferred here: identifier 'val' at :4:3 source: val [1, 2, 3] = 4 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15460 exp36 0 1 XFAIL: semko/array_slicing05.stp Running /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp starting /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp semantic error: inconsistent arity (3 vs 2): identifier 'val' at /root/systemtap_write/systemtap/testsuite/semko/array_slicing06.stp:7:16 source: if ([*,*] in val) {exit();} ^ semantic error: arity 3 first inferred here: identifier 'val' at :4:3 source: val [1, 2, 3] = 4 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15465 exp36 0 1 XFAIL: semko/array_slicing06.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp semantic error: inconsistent arity (0 vs 1): identifier 'sun_path' at /root/systemtap_write/systemtap/testsuite/semko/autocast01.stp:11:13 source: println(sun_path[0]) ^ semantic error: arity 0 first inferred here: identifier 'sun_path' at :5:5 source: sun_path = @cast(0, "sockaddr_un", "")->sun_path; ^ Pass 2: analysis failed. [man error::pass2] wait results: 15470 exp36 0 1 XFAIL: semko/autocast01.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp semantic error: while processing probe begin semantic error: unable to find member 'no_such_field' for struct sockaddr_un (alternatives: sun_family, sun_path): operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast02.stp:7:56 source: println( (& @cast(0, "sockaddr_un", "")) -> no_such_field ) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15480 exp36 0 1 XFAIL: semko/autocast02.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast03.stp:10:19 source: ) -> sun_family ) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15485 exp36 0 1 XFAIL: semko/autocast03.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp semantic error: while processing probe begin semantic error: unable to find member 'no_such_field' for struct sockaddr_un (alternatives: sun_family, sun_path): operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast04.stp:6:59 source: bad = (sun = & @cast(0, "sockaddr_un", "")) -> no_such_field; ^ Pass 2: analysis failed. [man error::pass2] wait results: 15495 exp36 0 1 XFAIL: semko/autocast04.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast05.stp:8:16 source: println(sun->sun_family) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15500 exp36 0 1 XFAIL: semko/autocast05.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast06.stp:13:16 source: println(sun->sun_family) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15505 exp36 0 1 XFAIL: semko/autocast06.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp semantic error: while processing probe begin semantic error: cannot write to pretty-printed variable: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast07.stp:7:8 source: sun->sun_path$ = 0 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15510 exp36 0 1 XFAIL: semko/autocast07.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp semantic error: while processing probe begin semantic error: write not permitted; need stap -g: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast08.stp:7:8 source: sun->sun_path[0] = 0 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15515 exp36 0 1 XFAIL: semko/autocast08.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast09.stp:6:8 source: foo->has->no->type ^ Pass 2: analysis failed. [man error::pass2] wait results: 15520 exp36 0 1 XFAIL: semko/autocast09.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast10.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast10.stp spawn2 /root/systemtap_write/systemtap/testsuite/semko/autocast10.stp spawn /root/systemtap_write/systemtap/testsuite/semko/autocast10.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast10.stp:18:16 source: println(sun->sun_family) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15525 exp36 0 1 XFAIL: semko/autocast10.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp semantic error: while processing probe kernel.function("schedule_tail@kernel/sched/core.c:2800").return from: kernel.function("schedule_tail").return semantic error: unable to find member 'no_such_member' for struct mm_struct (alternatives: brk, owner, mm_rb, mmap, mm_users, pgd, mmlist, context, env_end, exec_vm, flags, mmap_sem, nr_ptes, stack_vm, arg_end, binfmt, end_code, exe_file, core_state, data_vm, ioctx_table, locked_vm, mm_count, mmap_base, pinned_vm, start_brk, start_code, task_size, arg_start, def_flags, end_data, env_start, hiwater_vm, map_count, rss_stat, total_vm, vmacache_seqnum, async_put_work, ioctx_lock, saved_auxv, start_data, start_stack, tlb_flush_pending, cpu_vm_mask_var, highest_vm_end, hiwater_rss, hugetlb_usage, mmu_notifier_mm, uprobes_state, mmap_legacy_base, get_unmapped_area, page_table_lock, cpumask_allocation): operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast11.stp:8:15 source: println(mm->no_such_member) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15541 exp36 0 1 XFAIL: semko/autocast11.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp semantic error: while processing probe begin semantic error: unable to find member 'no_such_field' for struct sockaddr_un (alternatives: sun_family, sun_path): operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast12.stp:12:29 source: println( sockaddr_un(0) -> no_such_field ) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15546 exp36 0 1 XFAIL: semko/autocast12.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast13.stp:17:29 source: println( sockaddr_un(0) -> sun_family ) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15551 exp36 0 1 XFAIL: semko/autocast13.stp Running /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp starting /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp semantic error: while processing probe begin semantic error: unknown type in dereference: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/autocast14.stp:9:20 source: println(sun->sun_family) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15556 exp36 0 1 XFAIL: semko/autocast14.stp Running /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp starting /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp semantic error: regex compilation error (at position 6): unclosed character class: string 'a[b-d}+' at /root/systemtap_write/systemtap/testsuite/semko/badregex01.stp:13:22 source: print("abc" =~ "a[b-d}+") ^ Pass 2: analysis failed. [man error::pass2] wait results: 15561 exp36 0 1 XFAIL: semko/badregex01.stp Running /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp starting /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp semantic error: type mismatch (long): identifier 'i' at /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type.stp:5:11 source: println(i*0); ^ semantic error: type was first inferred here (string): identifier 'i' at :4:3 source: i = "asdf" // obviously a string ^ Pass 2: analysis failed. [man error::pass2] wait results: 15566 exp36 0 1 XFAIL: semko/binexpr_infer_type.stp Running /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp starting /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp semantic error: type mismatch (long): identifier 'i' at /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type2.stp:5:13 source: println(0+i); ^ semantic error: type was first inferred here (string): identifier 'i' at :4:3 source: i = "asdf" // obviously a string ^ Pass 2: analysis failed. [man error::pass2] wait results: 15571 exp36 0 1 XFAIL: semko/binexpr_infer_type2.stp Running /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp starting /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp semantic error: type mismatch: expected long but found string: string 'foo' at /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type3.stp:4:11 source: println("foo"*0); ^ Pass 2: analysis failed. [man error::pass2] wait results: 15576 exp36 0 1 XFAIL: semko/binexpr_infer_type3.stp Running /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp starting /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp semantic error: type mismatch: expected long but found string: string 'foo' at /root/systemtap_write/systemtap/testsuite/semko/binexpr_infer_type4.stp:4:13 source: println(0+"foo"); ^ Pass 2: analysis failed. [man error::pass2] wait results: 15581 exp36 0 1 XFAIL: semko/binexpr_infer_type4.stp Running /root/systemtap_write/systemtap/testsuite/semko/deprecated01.stp starting /root/systemtap_write/systemtap/testsuite/semko/deprecated01.stp spawn2 /root/systemtap_write/systemtap/testsuite/semko/deprecated01.stp spawn /root/systemtap_write/systemtap/testsuite/semko/deprecated01.stp WARNING: This global uses tapset constructs that are dependent on systemtap version: identifier '_reg_offsets' at /root/systemtap_write/install/share/systemtap/tapset/arm64/registers.stp:4:21 source: @__private30 global _reg_offsets[37] ^ WARNING: This function uses tapset constructs that are dependent on systemtap version: identifier 'WCOREDUMP' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:1500:23 source: @__private30 function WCOREDUMP(f) { ^ WARNING: This alias uses tapset constructs that are dependent on systemtap version: keyword at /root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp:38:1 source: probe nd_syscall.accept = __nd_syscall.accept ?, ^ Pass 2: analysis failed. [man error::pass2] Number of similar warning messages suppressed: 31. Rerun with -v to see them. wait results: 15586 exp36 0 1 XFAIL: semko/deprecated01.stp Running /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp starting /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp semantic error: while resolving probe point: identifier 'foo**bar' at /root/systemtap_write/systemtap/testsuite/semko/doubleglob.stp:3:7 source: probe foo**bar {} ^ semantic error: probe point mismatch: didn't find any wildcard matches (similar: nfs, nfsd, vfs, vm, _nfs): identifier 'foo**bar' at :3:7 source: probe foo**bar {} ^ Pass 2: analysis failed. [man error::pass2] wait results: 15592 exp36 0 1 XFAIL: semko/doubleglob.stp Running /root/systemtap_write/systemtap/testsuite/semko/eight.stp starting /root/systemtap_write/systemtap/testsuite/semko/eight.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/eight.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/eight.stp semantic error: type mismatch: expected long but found string: string 'string' at /root/systemtap_write/systemtap/testsuite/semko/eight.stp:5:13 source: stats <<< "string" # stats only collect numbers ^ Pass 2: analysis failed. [man error::pass2] wait results: 15597 exp36 0 1 XFAIL: semko/eight.stp Running /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp starting /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp semantic error: while processing probe kernel.function("schedule@kernel/sched/core.c:3379") from: kernel.function("schedule") semantic error: unable to find local 'no_such_variable_anywhere', [man error::dwarf] dieoffset 0x7fa9cf in kernel, near pc 0xfffffc0008900dd0 in schedule kernel/sched/core.c (alternatives: $tsk)): identifier '$no_such_variable_anywhere' at /root/systemtap_write/systemtap/testsuite/semko/eighteen.stp:4:8 source: log ($no_such_variable_anywhere) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15602 exp36 0 1 XFAIL: semko/eighteen.stp Running /root/systemtap_write/systemtap/testsuite/semko/eleven.stp starting /root/systemtap_write/systemtap/testsuite/semko/eleven.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/eleven.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/eleven.stp semantic error: type mismatch (string): identifier 'k' at /root/systemtap_write/systemtap/testsuite/semko/eleven.stp:11:21 source: if (k in arr) { s=k.""; i=arr[k]+0 } ^ semantic error: type was first inferred here (long): identifier 'k' at :11:7 source: if (k in arr) { s=k.""; i=arr[k]+0 } ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 7. Rerun with -v to see them. wait results: 15607 exp36 0 1 XFAIL: semko/eleven.stp Running /root/systemtap_write/systemtap/testsuite/semko/entry01.stp starting /root/systemtap_write/systemtap/testsuite/semko/entry01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry01.stp semantic error: while processing probe kernel.function("do_filp_open@fs/namei.c:3524").call from: kernel.function("do_filp_open").call semantic error: @entry is only valid in .return probes: operator '@entry' at /root/systemtap_write/systemtap/testsuite/semko/entry01.stp:7:29 source: stat <<< get_cycles() - @entry(get_cycles()) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15612 exp36 0 1 XFAIL: semko/entry01.stp Running /root/systemtap_write/systemtap/testsuite/semko/entry02.stp starting /root/systemtap_write/systemtap/testsuite/semko/entry02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry02.stp semantic error: while processing probe begin semantic error: @entry is only valid in .return probes: operator '@entry' at /root/systemtap_write/systemtap/testsuite/semko/entry02.stp:7:29 source: stat <<< get_cycles() - @entry(get_cycles()) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15617 exp36 0 1 XFAIL: semko/entry02.stp Running /root/systemtap_write/systemtap/testsuite/semko/entry03.stp starting /root/systemtap_write/systemtap/testsuite/semko/entry03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry03.stp semantic error: type mismatch (long): identifier 'execname' at /root/systemtap_write/systemtap/testsuite/semko/entry03.stp:7:36 source: stat <<< get_cycles() - @entry(execname()) ^ semantic error: type was first inferred here (string): identifier 'execname' at :7:36 source: stat <<< get_cycles() - @entry(execname()) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15622 exp36 0 1 XFAIL: semko/entry03.stp Running /root/systemtap_write/systemtap/testsuite/semko/entry04.stp starting /root/systemtap_write/systemtap/testsuite/semko/entry04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/entry04.stp semantic error: while processing probe kprobe.function("do_filp_open") semantic error: @entry is only valid in .return probes: operator '@entry' at /root/systemtap_write/systemtap/testsuite/semko/entry04.stp:7:29 source: stat <<< get_cycles() - @entry(get_cycles()) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15627 exp36 0 1 XFAIL: semko/entry04.stp Running /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp starting /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp semantic error: variable 'tangle' modified during 'foreach' iteration: identifier 'tangle' at /root/systemtap_write/systemtap/testsuite/semko/fifteen.stp:9:11 source: state = tangle[state]++ ^ Pass 2: analysis failed. [man error::pass2] wait results: 15632 exp36 0 1 XFAIL: semko/fifteen.stp Running /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp starting /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp spawn1 stap -wp2 /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp spawn stap -wp2 /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/semko/fiftyone.stp:3:7 source: probe process("stap").function("_start").return { } ^ semantic error: no match (similar functions: _start, start, stat, fstat, at) Pass 2: analysis failed. [man error::pass2] wait results: 15637 exp36 0 1 XFAIL: semko/fiftyone.stp Running /root/systemtap_write/systemtap/testsuite/semko/five.stp starting /root/systemtap_write/systemtap/testsuite/semko/five.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/five.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/five.stp semantic error: arity mismatch found (function 'bar' takes 0 args): identifier 'bar' at /root/systemtap_write/systemtap/testsuite/semko/five.stp:9:3 source: bar (1, 2) # arg count mismatch ^ identifier 'bar' at :3:10 source: function bar () ^ Pass 2: analysis failed. [man error::pass2] wait results: 15642 exp36 0 1 XFAIL: semko/five.stp Running /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp starting /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp semantic error: type mismatch: expected long but found string: string 'hi' at /root/systemtap_write/systemtap/testsuite/semko/foreachstmt01.stp:10:33 source: foreach (key in array limit "hi") ^ Pass 2: analysis failed. [man error::pass2] wait results: 15647 exp36 0 1 XFAIL: semko/foreachstmt01.stp Running /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp starting /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp semantic error: type mismatch (long): identifier 'str_ret_type' at /root/systemtap_write/systemtap/testsuite/semko/foreachstmt02.stp:15:33 source: foreach (key in array limit str_ret_type()) ^ semantic error: type was first inferred here (string): string 'hi' at :9:12 source: return "hi" ^ Pass 2: analysis failed. [man error::pass2] wait results: 15652 exp36 0 1 XFAIL: semko/foreachstmt02.stp Running /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp starting /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp semantic error: invalid type stats: identifier 'val' at /root/systemtap_write/systemtap/testsuite/semko/foreachstmt03.stp:10:14 source: foreach (val = key in array) ^ semantic error: stat locals not supported, missing global declaration? : identifier 'val' at :10:14 source: foreach (val = key in array) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15657 exp36 0 1 XFAIL: semko/foreachstmt03.stp Running /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp starting /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp semantic error: invalid type long: identifier 'array' at /root/systemtap_write/systemtap/testsuite/semko/foreachstmt04.stp:8:21 source: foreach (key in array @sum +) printf("%d",key); ^ Pass 2: analysis failed. [man error::pass2] wait results: 15662 exp36 0 1 XFAIL: semko/foreachstmt04.stp Running /root/systemtap_write/systemtap/testsuite/semko/forty.stp starting /root/systemtap_write/systemtap/testsuite/semko/forty.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/forty.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/forty.stp semantic error: probe condition must not modify any variables: operator '=' at /root/systemtap_write/systemtap/testsuite/semko/forty.stp:4:44 source: probe kernel.function("do_sys_open") if (x = 1) { } # bad side-effect ^ Pass 2: analysis failed. [man error::pass2] wait results: 15667 exp36 0 1 XFAIL: semko/forty.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp WARNING: Eliding unused variable 'foo': identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/fortyeight.stp:5:8 source: global foo # evokes warning ^ Pass 2: analysis failed. [man error::pass2] wait results: 15672 exp36 0 1 XFAIL: semko/fortyeight.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp WARNING: function register_jprobe is in blacklisted file: keyword at /root/systemtap_write/systemtap/testsuite/semko/fortyfive.stp:3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function register_jprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function register_kretprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function register_kretprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function arch_check_ftrace_location is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function within_kprobe_blacklist is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function arch_within_kprobe_blacklist is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __get_insn_slot is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_jprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function write_enabled_file_bool is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __free_insn_slot is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function disable_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __disable_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function show_kprobe_addr is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_blacklist_seq_start is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function arch_deref_entry_point is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_blacklist_seq_next is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_blacklist_seq_show is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function pre_handler_kretprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function arm_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __unregister_kprobe_bottom is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobes_module_callback is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function aggr_pre_handler is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function read_enabled_file_bool is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function collect_one_slot is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function register_kprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function get_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function debugfs_kprobe_init is in blacklisted section: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function init_kprobes is in blacklisted section: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobes_inc_nmissed_count is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_seq_next is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function collect_garbage_slots is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __unregister_kprobe_top is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobes_open is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_blacklist_open is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function aggr_break_handler is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function report_probe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function recycle_rp_inst is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kretprobe_table_unlock is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function disarm_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function __get_valid_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function register_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_kretprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_seq_stop is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_kprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function aggr_post_handler is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_jprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_seq_start is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function alloc_insn_page is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function unregister_kretprobes is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kretprobe_table_lock is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kretprobe_hash_unlock is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function enable_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function aggr_fault_handler is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function free_insn_page is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kretprobe_hash_lock is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function kprobe_flush_task is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function cleanup_rp_inst is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ WARNING: function dump_kprobe is in blacklisted file: keyword at :3:1 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ semantic error: while resolving probe point: identifier 'kernel' at :3:7 source: probe kernel.function("*@kernel/kprobes.c").call {} // blacklisted ^ semantic error: no match (similar functions: f, lf, up, cmp, die) Pass 2: analysis failed. [man error::pass2] Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 15677 exp36 0 1 XFAIL: semko/fortyfive.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp semantic error: while resolving probe point: identifier 'bar' at /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp:3:13 source: probe foo = bar {} ^ semantic error: recursive loop in alias expansion of bar at /root/systemtap_write/systemtap/testsuite/semko/fortyfour.stp:3:13 semantic error: while resolving probe point: identifier 'foo' at :4:13 source: probe bar = foo {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 2. Rerun with -v to see them. wait results: 15682 exp36 0 1 XFAIL: semko/fortyfour.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp semantic error: type mismatch (long): identifier 'er' at /root/systemtap_write/systemtap/testsuite/semko/fortynine.stp:3:42 source: probe begin { try {} catch (er) {println(er+2)} } ^ semantic error: type was first inferred here (string): identifier 'er' at :3:29 source: probe begin { try {} catch (er) {println(er+2)} } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15687 exp36 0 1 XFAIL: semko/fortynine.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp semantic error: probe condition must not reference undeclared global: identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/fortyone.stp:3:39 source: probe kernel.function("vfs_read") if (x > 1) { } # not a global ^ Pass 2: analysis failed. [man error::pass2] wait results: 15692 exp36 0 1 XFAIL: semko/fortyone.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/fortyseven.stp:5:7 source: probe kernel.function("*@ket.c") {} # must not match "....packet.c" ^ semantic error: no match (similar functions: f, lf, up, cmp, die) Pass 2: analysis failed. [man error::pass2] wait results: 15697 exp36 0 1 XFAIL: semko/fortyseven.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp semantic error: type mismatch: expected string but found long: identifier 'NULL' at /root/systemtap_write/systemtap/testsuite/semko/fortysix.stp:3:28 source: probe begin { if ("foo" == NULL) log ("boo") } # check NULL as integral global ^ Pass 2: analysis failed. [man error::pass2] wait results: 15702 exp36 0 1 XFAIL: semko/fortysix.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp semantic error: while resolving probe point: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/fortythree.stp:3:17 source: probe foo.bar = foo.* { } ^ semantic error: probe point mismatch: didn't find any wildcard matches (similar: bar): operator '*' at :3:21 source: probe foo.bar = foo.* { } ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 2. Rerun with -v to see them. wait results: 15707 exp36 0 1 XFAIL: semko/fortythree.stp Running /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp starting /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp semantic error: probe condition must not reference function: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/fortytwo.stp:3:39 source: probe kernel.function("vfs_read") if (foo(2)) { } # must not call functions ^ Pass 2: analysis failed. [man error::pass2] wait results: 15712 exp36 0 1 XFAIL: semko/fortytwo.stp Running /root/systemtap_write/systemtap/testsuite/semko/four.stp starting /root/systemtap_write/systemtap/testsuite/semko/four.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/four.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/four.stp WARNING: Eliding unused function 'bar': identifier 'bar' at /root/systemtap_write/systemtap/testsuite/semko/four.stp:5:10 source: function bar () ^ WARNING: never-assigned global variable 'b' (similar: b, a): identifier 'b' at :3:11 source: global a, b # types unknown ^ semantic error: unresolved type : identifier 'a' at :11:3 source: a = b; ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. wait results: 15717 exp36 0 1 XFAIL: semko/four.stp Running /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp starting /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp WARNING: Eliding assignment to 'a': operator '=' at /root/systemtap_write/systemtap/testsuite/semko/fourteen.stp:7:4 source: a = foo["hello"]++ ^ semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at :15:3 source: bar() ^ Pass 2: analysis failed. [man error::pass2] wait results: 15722 exp36 0 1 XFAIL: semko/fourteen.stp Running /root/systemtap_write/systemtap/testsuite/semko/global_access.stp starting /root/systemtap_write/systemtap/testsuite/semko/global_access.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/global_access.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/global_access.stp semantic error: Aggregates not available in embedded-C: embedded-code at /root/systemtap_write/systemtap/testsuite/semko/global_access.stp:8:11 source: println(%{ /* pragma:read:var */ STAP_GLOBAL_GET_var() %}) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15727 exp36 0 1 XFAIL: semko/global_access.stp Running /root/systemtap_write/systemtap/testsuite/semko/gurufunc.stp starting /root/systemtap_write/systemtap/testsuite/semko/gurufunc.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/gurufunc.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/gurufunc.stp semantic error: function may not be used unless -g is specified: identifier 'set_kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:58:10 source: function set_kernel_long (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] wait results: 15732 exp36 0 1 XFAIL: semko/gurufunc.stp Running /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp starting /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp WARNING: function inb is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/semko/inb_blacklisted.stp:5:1 source: probe kernel.function("inb@*.h") ^ # functions error:unknown (msg:string) log:unknown (msg:string) # probes kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f680 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f6a4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f6d4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f6f0 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f81c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f998 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f9b4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x12f9d4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x48e980 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x49a0d8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x49a21c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x49ac34 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x51fff4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5202d4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x522280 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5222b4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5234e8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x52493c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x525df4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x526718 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x52679c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x526f4c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x526f74 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x526fc4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x526fec */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x52703c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x527064 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x527090 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5270e8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x527110 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x528368 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x528394 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5283d4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5346ec */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5c84d0 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5c84fc */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e3584 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e35c4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e3654 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e3694 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e36bc */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e3fc8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4020 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4114 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4134 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4154 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4174 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4194 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e423c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e427c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e445c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4498 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e44e0 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4504 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4528 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e454c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4570 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4594 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e45b8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e45dc */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4e2c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4e4c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4e68 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x5e4e88 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x60f6dc */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x60f714 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x625e9c */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x6bb4c4 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x6bb570 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ kernel.function("inb@./include/asm-generic/io.h:362") /* pc=_stext+0x6bb5f8 */ /* <- kernel.function("inb@./include/asm-generic/io.h:362") */ timer.s(900) /* <- timer.s(900) */ wait results: 15737 exp36 0 0 XPASS: semko/inb_blacklisted.stp Running /root/systemtap_write/systemtap/testsuite/semko/local_array.stp starting /root/systemtap_write/systemtap/testsuite/semko/local_array.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/local_array.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/local_array.stp semantic error: unresolved arity-1 global array a, missing global declaration?: identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/local_array.stp:6:5 source: a[1] = 1 ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 15742 exp36 0 1 XFAIL: semko/local_array.stp Running /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp starting /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp semantic error: stat locals not supported, missing global declaration? : identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/local_stat.stp:6:5 source: a <<< 1 ^ Pass 2: analysis failed. [man error::pass2] wait results: 15747 exp36 0 1 XFAIL: semko/local_stat.stp Running /root/systemtap_write/systemtap/testsuite/semko/logging-embedded.stp starting /root/systemtap_write/systemtap/testsuite/semko/logging-embedded.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/logging-embedded.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/logging-embedded.stp semantic error: function may not be used unless -g is specified: identifier 'printk' at /root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp:44:10 source: function printk (level:long,msg:string) %{ /* guru */ /* unmodified-fnargs */ ^ Pass 2: analysis failed. [man error::pass2] wait results: 15752 exp36 0 1 XFAIL: semko/logging-embedded.stp Running /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp starting /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp semantic error: wrapping not supported for scalars: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/map_wrap_bad.stp:3:8 source: global foo% ^ Pass 2: analysis failed. [man error::pass2] wait results: 15757 exp36 0 1 XFAIL: semko/map_wrap_bad.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/maxactive01.stp:5:7 source: probe kernel.function("*").maxactive(3) ^ semantic error: invalid suffix for probe: identifier 'maxactive' at :5:28 source: probe kernel.function("*").maxactive(3) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15762 exp36 0 1 XFAIL: semko/maxactive01.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/maxactive02.stp:5:7 source: probe kernel.function("*").return.maxactive("hi") ^ semantic error: invalid suffix for probe: identifier 'maxactive' at :5:35 source: probe kernel.function("*").return.maxactive("hi") ^ Pass 2: analysis failed. [man error::pass2] wait results: 15767 exp36 0 1 XFAIL: semko/maxactive02.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp semantic error: while resolving probe point: identifier 'timer' at /root/systemtap_write/systemtap/testsuite/semko/maxactive03.stp:5:7 source: probe timer.sec(100).maxactive(3) ^ semantic error: invalid suffix for probe: identifier 'maxactive' at :5:22 source: probe timer.sec(100).maxactive(3) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15772 exp36 0 1 XFAIL: semko/maxactive03.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp semantic error: maxactive value out of range [0,32767]: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/maxactive04.stp:3:7 source: probe kernel.function("vfs_read").return.maxactive(-4) ^ semantic error: while resolving probe point: identifier 'kernel' at :3:7 source: probe kernel.function("vfs_read").return.maxactive(-4) ^ semantic error: no match (similar functions: vfs_read, __vfs_read, vcs_read, vfs_readv, fb_read) Pass 2: analysis failed. [man error::pass2] wait results: 15777 exp36 0 1 XFAIL: semko/maxactive04.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp semantic error: maxactive value out of range [0,32767]: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/maxactive05.stp:3:7 source: probe kernel.function("vfs_read").return.maxactive(99999999) ^ semantic error: while resolving probe point: identifier 'kernel' at :3:7 source: probe kernel.function("vfs_read").return.maxactive(99999999) ^ semantic error: no match (similar functions: vfs_read, __vfs_read, vcs_read, vfs_readv, fb_read) Pass 2: analysis failed. [man error::pass2] wait results: 15782 exp36 0 1 XFAIL: semko/maxactive05.stp Running /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp starting /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp semantic error: while resolving probe point: identifier 'begin' at /root/systemtap_write/systemtap/testsuite/semko/maxactive06.stp:5:7 source: probe begin.maxactive(3) ^ semantic error: invalid suffix for probe: identifier 'maxactive' at :5:13 source: probe begin.maxactive(3) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15787 exp36 0 1 XFAIL: semko/maxactive06.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter01.stp:3:7 source: probe netfilter { } ^ semantic error: probe point truncated (follow: arp bridge hook(string) ip ipv4 ipv6 pf(string)): identifier 'netfilter' at :3:7 source: probe netfilter { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15792 exp36 0 1 XFAIL: semko/netfilter01.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter02.stp:3:7 source: probe netfilter.hook { } ^ semantic error: probe point mismatch (similar: hook, ip, pf, arp, ipv4): identifier 'hook' at :3:17 source: probe netfilter.hook { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15797 exp36 0 1 XFAIL: semko/netfilter02.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter03.stp:3:7 source: probe netfilter.hook("NF_INET_NONEXISTENT_HOOK") { } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :3:17 source: probe netfilter.hook("NF_INET_NONEXISTENT_HOOK") { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15802 exp36 0 1 XFAIL: semko/netfilter03.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter04.stp:3:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { printf("%d\n", $verdict) } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :3:17 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { printf("%d\n", $verdict) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15807 exp36 0 1 XFAIL: semko/netfilter04.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter05.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority(2) { } ^ semantic error: probe point mismatch (similar: pf): identifier 'priority' at :4:45 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority(2) { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15812 exp36 0 1 XFAIL: semko/netfilter05.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter06.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority { $verdict = "DROP" } ^ semantic error: probe point mismatch (similar: pf): identifier 'priority' at :4:45 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority { $verdict = "DROP" } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15817 exp36 0 1 XFAIL: semko/netfilter06.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter07.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { $verdict = NF_DROP } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :4:17 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { $verdict = NF_DROP } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15822 exp36 0 1 XFAIL: semko/netfilter07.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter08.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING").pf("INTERGALACTIC_IPV3000") { } ^ semantic error: unsupported netfilter protocol family "INTERGALACTIC_IPV3000"; need stap -g Pass 2: analysis failed. [man error::pass2] wait results: 15827 exp36 0 1 XFAIL: semko/netfilter08.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter09.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority("-1") { printf("a") } ^ semantic error: probe point mismatch (similar: pf): identifier 'priority' at :4:45 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority("-1") { printf("a") } ^ semantic error: while resolving probe point: identifier 'netfilter' at :5:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { printf("b") } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :5:17 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { printf("b") } ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 15832 exp36 0 1 XFAIL: semko/netfilter09.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter10.stp:4:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority("1") { } ^ semantic error: probe point mismatch (similar: pf): identifier 'priority' at :4:45 source: probe netfilter.hook("NF_INET_PRE_ROUTING").priority("1") { } ^ semantic error: while resolving probe point: identifier 'netfilter' at :5:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :5:17 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15837 exp36 0 1 XFAIL: semko/netfilter10.stp Running /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp starting /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp semantic error: while resolving probe point: identifier 'netfilter' at /root/systemtap_write/systemtap/testsuite/semko/netfilter11.stp:3:7 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { $verdict = NF_DROP } ^ semantic error: probe point truncated (follow: pf(string)): identifier 'hook' at :3:17 source: probe netfilter.hook("NF_INET_PRE_ROUTING") { $verdict = NF_DROP } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15842 exp36 0 1 XFAIL: semko/netfilter11.stp Running /root/systemtap_write/systemtap/testsuite/semko/nine.stp starting /root/systemtap_write/systemtap/testsuite/semko/nine.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/nine.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/nine.stp semantic error: inconsistent arity (1 vs 0): identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/nine.stp:7:3 source: a = 2; ^ semantic error: arity 1 first inferred here: identifier 'a' at :6:3 source: a[4] = 1; ^ Pass 2: analysis failed. [man error::pass2] wait results: 15847 exp36 0 1 XFAIL: semko/nine.stp Running /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp starting /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp semantic error: unresolved function (similar: log, HZ, pn, pp, cpu): identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/nofunc.stp:4:3 source: foo () # function is MIA ^ Pass 2: analysis failed. [man error::pass2] wait results: 15852 exp36 0 1 XFAIL: semko/nofunc.stp Running /root/systemtap_write/systemtap/testsuite/semko/one.stp starting /root/systemtap_write/systemtap/testsuite/semko/one.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/one.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/one.stp semantic error: unresolved type : identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/one.stp:8:15 source: probe begin { a = stamp ("read"); } ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 15857 exp36 0 1 XFAIL: semko/one.stp Running /root/systemtap_write/systemtap/testsuite/semko/overload.stp starting /root/systemtap_write/systemtap/testsuite/semko/overload.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semko/overload.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semko/overload.stp WARNING: instance of overloaded function will never be reached: identifier 'f' at /root/systemtap_write/systemtap/testsuite/semko/overload.stp:8:10 source: function f() { ^ Pass 2: analysis failed. [man error::pass2] wait results: 15862 exp36 0 1 XFAIL: semko/overload.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf02.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf02.stp semantic error: while resolving probe point: identifier 'perf' at /root/systemtap_write/systemtap/testsuite/semko/perf02.stp:5:7 source: probe perf.hw.cpu_cycles.process("/bin/ls").counter("") {} ^ semantic error: missing perf probe counter component name: identifier 'process' at :5:26 source: probe perf.hw.cpu_cycles.process("/bin/ls").counter("") {} ^ Pass 2: analysis failed. [man error::pass2] wait results: 15867 exp36 0 1 XFAIL: semko/perf02.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf03.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf03.stp semantic error: type mismatch: expected string but found long: operator '@perf' at /root/systemtap_write/systemtap/testsuite/semko/perf03.stp:10:15 source: x = "b" . @perf("a") ^ Pass 2: analysis failed. [man error::pass2] wait results: 15873 exp36 0 1 XFAIL: semko/perf03.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf04.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf04.stp semantic error: perf counter 'b' not defined semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/semko/perf04.stp:7:7 source: probe process("stap").function("main") ^ semantic error: no match (similar functions: main, fail, id, isDomain, map) Pass 2: analysis failed. [man error::pass2] wait results: 15878 exp36 0 1 XFAIL: semko/perf04.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf05.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf05.stp semantic error: perf counter 'b' not defined semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/semko/perf05.stp:7:7 source: probe process("stap").function("main") ^ semantic error: no match (similar functions: main, fail, id, isDomain, map) Pass 2: analysis failed. [man error::pass2] wait results: 15883 exp36 0 1 XFAIL: semko/perf05.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf06.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf06.stp semantic error: while resolving probe point: identifier 'perf' at /root/systemtap_write/systemtap/testsuite/semko/perf06.stp:6:7 source: probe perf.hw.cpu_cycles.process ^ semantic error: unspecified process probe is invalid without a -c COMMAND [man stapprobes]: identifier 'process' at :6:26 source: probe perf.hw.cpu_cycles.process ^ Pass 2: analysis failed. [man error::pass2] wait results: 15888 exp36 0 1 XFAIL: semko/perf06.stp Running /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp starting /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp semantic error: while resolving probe point: identifier 'perf' at /root/systemtap_write/systemtap/testsuite/semko/perf_sample.stp:3:7 source: probe perf.type(0).config(0).sample(100).hz(100) { ^ semantic error: invalid suffix for probe: identifier 'hz' at :3:42 source: probe perf.type(0).config(0).sample(100).hz(100) { ^ Pass 2: analysis failed. [man error::pass2] wait results: 15893 exp36 0 1 XFAIL: semko/perf_sample.stp Running /root/systemtap_write/systemtap/testsuite/semko/plt1.stp starting /root/systemtap_write/systemtap/testsuite/semko/plt1.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/plt1.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/plt1.stp semantic error: while processing probe process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) from: process("/root/systemtap_write/install/bin/stap").plt("_Znam").statement(0x40cd30) from: process("/root/systemtap_write/install/bin/stap").plt("_Znam") from: process("stap").plt semantic error: unable to find plt variable '$no_such_var' (alternatives: $$name): identifier '$no_such_var' at /root/systemtap_write/systemtap/testsuite/semko/plt1.stp:4:13 source: println($no_such_var) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15898 exp36 0 1 XFAIL: semko/plt1.stp Running /root/systemtap_write/systemtap/testsuite/semko/plt2.stp starting /root/systemtap_write/systemtap/testsuite/semko/plt2.stp spawn2 /root/systemtap_write/systemtap/testsuite/semko/plt2.stp spawn /root/systemtap_write/systemtap/testsuite/semko/plt2.stp semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.plt { exit() } ^ semantic error: unspecified process probe is invalid without a -c COMMAND or -x PID [man stapprobes] Pass 2: analysis failed. [man error::pass2] wait results: 15903 exp36 0 1 XFAIL: semko/plt2.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs01.stp:3:7 source: probe procfs { } ^ semantic error: probe point truncated (follow: read umask(number) write): identifier 'procfs' at :3:7 source: probe procfs { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15909 exp36 0 1 XFAIL: semko/procfs01.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs02.stp:3:7 source: probe procfs("foo").rread { } ^ semantic error: probe point mismatch (similar: read, write, umask): identifier 'rread' at :3:21 source: probe procfs("foo").rread { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15914 exp36 0 1 XFAIL: semko/procfs02.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs03.stp:3:7 source: probe procfs.read.write { } ^ semantic error: invalid suffix for probe: identifier 'write' at :3:19 source: probe procfs.read.write { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15919 exp36 0 1 XFAIL: semko/procfs03.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp semantic error: while processing probe procfs.write semantic error: procfs $value variable is read-only in a procfs write probe: identifier '$value' at /root/systemtap_write/systemtap/testsuite/semko/procfs04.stp:5:7 source: $value = "hi" ^ Pass 2: analysis failed. [man error::pass2] wait results: 15924 exp36 0 1 XFAIL: semko/procfs04.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp semantic error: while processing probe procfs.read semantic error: procfs $value variable cannot be read in a procfs read probe: identifier '$value' at /root/systemtap_write/systemtap/testsuite/semko/procfs05.stp:5:11 source: x = $value ^ Pass 2: analysis failed. [man error::pass2] wait results: 15929 exp36 0 1 XFAIL: semko/procfs05.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs06.stp:4:7 source: probe procfs("/foo").read { } ^ semantic error: procfs path cannot start with a '/': identifier 'procfs' at :4:7 source: probe procfs("/foo").read { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15934 exp36 0 1 XFAIL: semko/procfs06.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs07.stp:4:7 source: probe procfs("foo/").read { } ^ semantic error: procfs path cannot end with a '/': identifier 'procfs' at :4:7 source: probe procfs("foo/").read { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15939 exp36 0 1 XFAIL: semko/procfs07.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs08.stp:4:7 source: probe procfs("foo/../bar").read { } ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :4:7 source: probe procfs("foo/../bar").read { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15944 exp36 0 1 XFAIL: semko/procfs08.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs09.stp:4:7 source: probe procfs("foo/.").read { } ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :4:7 source: probe procfs("foo/.").read { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15949 exp36 0 1 XFAIL: semko/procfs09.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs10.stp:4:7 source: probe procfs("a//c").read { } ^ semantic error: procfs path component cannot be empty: identifier 'procfs' at :4:7 source: probe procfs("a//c").read { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15954 exp36 0 1 XFAIL: semko/procfs10.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp semantic error: while processing probe procfs.write semantic error: procfs variable '$value' may not be used as a structure: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/procfs11.stp:4:34 source: probe procfs.write { print($value->foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15959 exp36 0 1 XFAIL: semko/procfs11.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp semantic error: while processing probe procfs.write semantic error: procfs variable '$value' may not be used as array: operator '[' at /root/systemtap_write/systemtap/testsuite/semko/procfs12.stp:4:34 source: probe procfs.write { print($value[0]) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15964 exp36 0 1 XFAIL: semko/procfs12.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs13.stp:4:7 source: probe procfs.read.maxsize { $value = "foo" } ^ semantic error: invalid suffix for probe: identifier 'maxsize' at :4:19 source: probe procfs.read.maxsize { $value = "foo" } ^ Pass 2: analysis failed. [man error::pass2] wait results: 15969 exp36 0 1 XFAIL: semko/procfs13.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs14.stp:4:7 source: probe procfs.read.maxsize(-1) { $value = "foo" } ^ semantic error: maxsize must be greater than 0 Pass 2: analysis failed. [man error::pass2] wait results: 15974 exp36 0 1 XFAIL: semko/procfs14.stp Running /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp starting /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp semantic error: while resolving probe point: identifier 'procfs' at /root/systemtap_write/systemtap/testsuite/semko/procfs15.stp:4:7 source: probe procfs("foo").read.maxsize(-1) { $value = "foo" } ^ semantic error: maxsize must be greater than 0 Pass 2: analysis failed. [man error::pass2] wait results: 15979 exp36 0 1 XFAIL: semko/procfs15.stp Running /root/systemtap_write/systemtap/testsuite/semko/return01.stp starting /root/systemtap_write/systemtap/testsuite/semko/return01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/return01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/return01.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/return01.stp:3:7 source: probe kernel.function("get_page_state").return ^ semantic error: no match (similar functions: get_target_state, get_task_state, page_hstate, zone_page_state, set_page_attr) Pass 2: analysis failed. [man error::pass2] wait results: 15984 exp36 0 1 XFAIL: semko/return01.stp Running /root/systemtap_write/systemtap/testsuite/semko/return02.stp starting /root/systemtap_write/systemtap/testsuite/semko/return02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/return02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/return02.stp semantic error: while processing probe kernel.function("vfs_read@fs/read_write.c:460") from: kernel.function("vfs_read") semantic error: unable to find local 'return', [man error::dwarf] dieoffset 0x178f4c3 in kernel, near pc 0xfffffc00082a1788 in vfs_read fs/read_write.c (alternatives: $ret, $buf, $count, $pos, $file)): identifier '$return' at /root/systemtap_write/systemtap/testsuite/semko/return02.stp:6:43 source: printf("in sys_read - return = %d\n", $return) ^ Pass 2: analysis failed. [man error::pass2] wait results: 15989 exp36 0 1 XFAIL: semko/return02.stp Running /root/systemtap_write/systemtap/testsuite/semko/seven.stp starting /root/systemtap_write/systemtap/testsuite/semko/seven.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/seven.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/seven.stp semantic error: index 0 type mismatch (string): string '1' at /root/systemtap_write/systemtap/testsuite/semko/seven.stp:6:7 source: baz["1"] = 5; # inconsistent index types ^ semantic error: type of index 0 was first inferred here (long): number '1' at :5:7 source: baz[1] = 4; ^ Pass 2: analysis failed. [man error::pass2] wait results: 15994 exp36 0 1 XFAIL: semko/seven.stp Running /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp starting /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp semantic error: while resolving probe point: identifier 'module' at /root/systemtap_write/systemtap/testsuite/semko/seventeen.stp:3:7 source: probe module("no_such_module").function("*") { } ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] wait results: 15999 exp36 0 1 XFAIL: semko/seventeen.stp Running /root/systemtap_write/systemtap/testsuite/semko/six.stp starting /root/systemtap_write/systemtap/testsuite/semko/six.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/six.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/six.stp semantic error: inconsistent arity (1 vs 2): identifier 'bar' at /root/systemtap_write/systemtap/testsuite/semko/six.stp:6:3 source: bar[1, 2] = 3; # inconsistent array dimensions ^ semantic error: arity 1 first inferred here: identifier 'bar' at :5:3 source: bar[1] = 2; ^ Pass 2: analysis failed. [man error::pass2] wait results: 16004 exp36 0 1 XFAIL: semko/six.stp Running /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp starting /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/sixteen.stp:3:7 source: probe kernel.function("no_such_function_anywhere_guaranteed") { } ^ semantic error: no match (similar functions: __seed, arp_send, beep, ec_guard, function_trace_start) Pass 2: analysis failed. [man error::pass2] wait results: 16009 exp36 0 1 XFAIL: semko/sixteen.stp Running /root/systemtap_write/systemtap/testsuite/semko/source_context.stp starting /root/systemtap_write/systemtap/testsuite/semko/source_context.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/source_context.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/source_context.stp semantic error: unresolved function (similar: exit, egid, euid, gid, pid): identifier 'eeexit' at /root/systemtap_write/systemtap/testsuite/semko/source_context.stp:6:8 source: eeexit () ^ Pass 2: analysis failed. [man error::pass2] wait results: 16014 exp36 0 1 XFAIL: semko/source_context.stp Running /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp starting /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp semantic error: while processing probe kernel.function("release_task@kernel/exit.c:168") from: kernel.function("release_task") semantic error: unable to find member 'did_exec' for struct task_struct (alternatives: in_execve, se, cred, dl, fs, ioac, mm, rcu, rt, files, pid, bio_list, comm, delays, gtime, min_flt, pi_lock, pids, plug, prio, stack, state, stime, tgid, trace, usage, utime, blocked, cg_list, children, exit_code, flags, irq_events, nr_dirtied, nvcsw, on_cpu, on_rq, parent, policy, ptrace, ptraced, real_cred, self_exec_id, sysvsem, tasks, thread, utask, wake_q, active_mm, jobctl, maj_flt, nivcsw, nsproxy, rss_stat, sched_info, sibling, sighand, signal, acct_timexpd, btrace_seq, cgroups, exit_state, held_locks, in_iowait, io_context, last_wakee, nameidata, parent_exec_id, pending, seccomp, static_prio, sysvshm, task_frag, thread_node, vmacache, wake_cpu, wake_entry, alloc_lock, audit_context, blocked_on, cpu_timers, group_leader, lockdep_depth, loginuid, make_it_fail, pi_waiters, sas_ss_sp, sched_class, splice_pipe, start_time, vfork_done, atomic_flags, cputime_expires, curr_chain_key, exit_signal, memcg_in_oom, normal_prio, ptrace_entry, real_parent, robust_list, sas_ss_size, sessionid, set_child_tid, stimescaled, task_works, thread_group, utimescaled, acct_vm_mem1, cpus_allowed, journal_info, mems_allowed, real_blocked, reclaim_state, restart_block, rt_priority, sched_migrated, wakee_flips, acct_rss_mem1, clear_child_tid, dirty_paused_when, hardirq_context, hardirqs_enabled, last_siginfo, mems_allowed_seq, personality, pi_blocked_on, pi_state_list, prev_cputime, sas_ss_flags, backing_dev_info, latency_record, memcg_may_oom, memcg_oom_order, nr_dirtied_pause, pagefault_disabled, saved_sigmask, sequential_io, softirq_context, hardirq_enable_ip, nr_cpus_allowed, oom_reaper_list, pdeath_signal, perf_event_ctxp, perf_event_list, perf_event_mutex, pi_state_cache, ptrace_message, pushable_tasks, rcu_tasks_idle_cpu, real_start_time, softirqs_enabled, vmacache_seqnum, hardirq_disable_ip, preempt_notifiers, rcu_tasks_nvcsw, sequential_io_avg, softirq_disable_ip, timer_slack_ns, hardirq_enable_event, pushable_dl_tasks, sched_task_group, softirq_enable_event, softirq_enable_ip, trace_recursion, hardirq_disable_event, last_switch_count, lockdep_reclaim_gfp, lockdep_recursion, memcg_oom_gfp_mask, softirq_disable_event, task_state_change, latency_record_count, rcu_tasks_holdout, sched_remote_wakeup, sched_reset_on_fork, wakee_flip_decay_ts, pi_waiters_leftmost, rcu_tasks_holdout_list, cpuset_mem_spread_rotor, cpuset_slab_spread_rotor, default_timer_slack_ns, memcg_kmem_skip_account, memcg_nr_pages_over_high, sched_contributes_to_load): operator '->' at /root/systemtap_write/systemtap/testsuite/semko/target_addr1.stp:5:17 source: println(& $p->did_exec) // unsigned:1 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16019 exp36 0 1 XFAIL: semko/target_addr1.stp Running /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp starting /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp semantic error: while processing probe kernel.function("do_sys_open@fs/open.c:1021") from: kernel.function("do_sys_open") semantic error: cannot take address of object in register: identifier '$dfd' at /root/systemtap_write/systemtap/testsuite/semko/target_addr2.stp:5:15 dieoffset: 0x177ec29 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: do_sys_open at fs/open.c:1022 source: println(& $dfd) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16024 exp36 0 1 XFAIL: semko/target_addr2.stp Running /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp starting /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp semantic error: while processing probe kernel.function("do_sys_open@fs/open.c:1021").return from: kernel.function("do_sys_open").return semantic error: cannot take address of object in register: identifier '$return' at /root/systemtap_write/systemtap/testsuite/semko/target_addr3.stp:5:15 dieoffset: 0x177ec07 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: do_sys_open at fs/open.c:1022 source: println(& $return) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16029 exp36 0 1 XFAIL: semko/target_addr3.stp Running /root/systemtap_write/systemtap/testsuite/semko/target_lvalue.stp starting /root/systemtap_write/systemtap/testsuite/semko/target_lvalue.stp spawn2 /root/systemtap_write/systemtap/testsuite/semko/target_lvalue.stp spawn /root/systemtap_write/systemtap/testsuite/semko/target_lvalue.stp semantic error: Only the following assign operator is implemented on target variables: =: operator '++' at :1:22 source: probe syscall.read { ++$fd } ^ semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp:1116:24 source: probe __syscall.read = kernel.function("sys_read").call ^ semantic error: no match (similar functions: sys_read, SyS_read, sys_readv, SyS_readv, sens_read) semantic error: while resolving probe point: identifier '__syscall' at :1107:2 source: __syscall.read ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. semantic error: Only the following assign operator is implemented on target variables: =: operator '++' at :1:25 source: probe syscall.read { $fd++ } ^ semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp:1116:24 source: probe __syscall.read = kernel.function("sys_read").call ^ semantic error: no match (similar functions: sys_read, SyS_read, sys_readv, SyS_readv, sens_read) semantic error: while resolving probe point: identifier '__syscall' at :1107:2 source: __syscall.read ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. semantic error: Only the following assign operator is implemented on target variables: =: keyword at :1:22 source: probe syscall.read { delete $fd } ^ semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp:1116:24 source: probe __syscall.read = kernel.function("sys_read").call ^ semantic error: no match (similar functions: sys_read, SyS_read, sys_readv, SyS_readv, sens_read) semantic error: while resolving probe point: identifier '__syscall' at :1107:2 source: __syscall.read ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. semantic error: Only the following assign operator is implemented on target variables: =: operator '++' at :1:22 source: probe syscall.read { ++$fd = 42 } ^ semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/install/share/systemtap/tapset/linux/syscalls2.stp:1116:24 source: probe __syscall.read = kernel.function("sys_read").call ^ semantic error: no match (similar functions: sys_read, SyS_read, sys_readv, SyS_readv, sens_read) semantic error: while resolving probe point: identifier '__syscall' at :1107:2 source: __syscall.read ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 16034 exp36 0 1 XFAIL: semko/target_lvalue.stp Running /root/systemtap_write/systemtap/testsuite/semko/task_ns.stp starting /root/systemtap_write/systemtap/testsuite/semko/task_ns.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/task_ns.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/task_ns.stp semantic error: function may not be used unless -g is specified: identifier 'task_ns_pid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:224:10 source: function task_ns_pid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] wait results: 16046 exp36 0 1 XFAIL: semko/task_ns.stp Running /root/systemtap_write/systemtap/testsuite/semko/ten.stp starting /root/systemtap_write/systemtap/testsuite/semko/ten.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/ten.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/ten.stp semantic error: inconsistent arity (0 vs 1): identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/ten.stp:5:22 source: probe end { if (4 in foo) { } } ^ semantic error: arity 0 first inferred here: identifier 'foo' at :4:15 source: probe begin { foo = 1 } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16051 exp36 0 1 XFAIL: semko/ten.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at /root/systemtap_write/systemtap/testsuite/semko/thirteen.stp:15:3 source: bar() ^ Pass 2: analysis failed. [man error::pass2] wait results: 16056 exp36 0 1 XFAIL: semko/thirteen.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirty.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirty.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/thirty.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/thirty.stp semantic error: type mismatch (long): identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/thirty.stp:10:2 source: x = 10 ^ semantic error: type was first inferred here (stats): identifier 'x' at :9:2 source: x <<< 1 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16061 exp36 0 1 XFAIL: semko/thirty.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/thirtyeight.stp:3:7 source: probe kernel.statement(0).absolute {} /* needs guru mode */ ^ semantic error: absolute statement probe in unprivileged script; need stap -g: keyword at :3:1 source: probe kernel.statement(0).absolute {} /* needs guru mode */ ^ Pass 2: analysis failed. [man error::pass2] wait results: 16066 exp36 0 1 XFAIL: semko/thirtyeight.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp semantic error: while resolving probe point: identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/thirtyfive.stp:4:7 source: probe foo.* { } ^ semantic error: probe point mismatch: didn't find any wildcard matches (similar: a): operator '*' at :4:11 source: probe foo.* { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16071 exp36 0 1 XFAIL: semko/thirtyfive.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/thirtyfour.stp:5:7 source: probe kernel.function("fget_light").return ^ semantic error: no match (similar functions: __fget_light, fput_light, perf_fget_light, get_link, get_links) Pass 2: analysis failed. [man error::pass2] wait results: 16076 exp36 0 1 XFAIL: semko/thirtyfour.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/thirtynine.stp:3:7 source: probe kernel.function("sys_open").if(1) {} /* if statement doesn't need '.'*/ ^ semantic error: invalid suffix for probe: keyword at :3:35 source: probe kernel.function("sys_open").if(1) {} /* if statement doesn't need '.'*/ ^ Pass 2: analysis failed. [man error::pass2] wait results: 16081 exp36 0 1 XFAIL: semko/thirtynine.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp semantic error: type mismatch (long): identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/thirtyone.stp:10:2 source: x[10] = 10 ^ semantic error: type was first inferred here (stats): identifier 'x' at :9:2 source: x[10] <<< 1 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16086 exp36 0 1 XFAIL: semko/thirtyone.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp semantic error: while processing probe kernel.statement(0).absolute semantic error: unresolved target-symbol expression: identifier '$any_variable' at /root/systemtap_write/systemtap/testsuite/semko/thirtyseven.stp:3:45 source: probe kernel.statement(0).absolute { print ($any_variable) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16091 exp36 0 1 XFAIL: semko/thirtyseven.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp semantic error: while processing probe kernel.function("kmem_cache_alloc@mm/slub.c:2704") from: kernel.function("kmem_cache_alloc") semantic error: unable to find local 'cachep', [man error::dwarf] dieoffset 0x164dfea in kernel, near pc 0xfffffc000827f4c0 in kmem_cache_alloc mm/slub.c (alternatives: $ret, $s, $gfpflags)): identifier '$cachep' at /root/systemtap_write/systemtap/testsuite/semko/thirtysix.stp:4:10 source: print ($cachep->no_such_field) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16096 exp36 0 1 XFAIL: semko/thirtysix.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/thirtythree.stp:4:7 source: probe kernel.function("do_IRQ") {} ^ semantic error: no match (similar functions: do_brk, do_SAK, do_bad, do_dh, do_tee) WARNING: kprobes function trampoline_probe_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function setjmp_pre_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_breakpoint_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_single_step_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function jprobe_return is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function longjmp_break_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_prepare_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arch_init_kprobes is in blacklisted section: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_fault_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_trampoline_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function post_kprobe_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function setup_singlestep is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_arm_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_disarm_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_remove_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_prepare_kretprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_exceptions_notify is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function restore_previous_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobes_restore_local_irqflag is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobes_save_local_irqflag is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function spsr_set_debug_flag is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function save_previous_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_prepare_simulate is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function set_ss_context is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_ss_hit is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function clear_ss_context is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function reenter_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function set_current_kprobe is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function patch_text is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function kprobe_handler is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_simulate_insn is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: kprobes function arch_prepare_ss_slot is blacklisted: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_jprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_jprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_kretprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_kretprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arch_check_ftrace_location is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function within_kprobe_blacklist is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arch_within_kprobe_blacklist is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __get_insn_slot is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_jprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function write_enabled_file_bool is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __free_insn_slot is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function disable_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __disable_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function show_kprobe_addr is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_blacklist_seq_start is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arch_deref_entry_point is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_blacklist_seq_next is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_blacklist_seq_show is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function pre_handler_kretprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arm_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __unregister_kprobe_bottom is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobes_module_callback is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function aggr_pre_handler is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function read_enabled_file_bool is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function collect_one_slot is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_kprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function get_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function debugfs_kprobe_init is in blacklisted section: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function init_kprobes is in blacklisted section: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobes_inc_nmissed_count is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_seq_next is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function collect_garbage_slots is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __unregister_kprobe_top is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobes_open is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_blacklist_open is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function aggr_break_handler is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function report_probe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function recycle_rp_inst is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kretprobe_table_unlock is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function disarm_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function __get_valid_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_kretprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_seq_stop is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_kprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function aggr_post_handler is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_jprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_seq_start is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function alloc_insn_page is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function unregister_kretprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kretprobe_table_lock is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kretprobe_hash_unlock is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function enable_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function aggr_fault_handler is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function free_insn_page is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kretprobe_hash_lock is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_flush_task is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function cleanup_rp_inst is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function dump_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_addr is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kill_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function disarm_all_kprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function free_rp_inst is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function check_kprobe_rereg is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function alloc_aggr_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function register_aggr_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function copy_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function slots_per_page is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function init_aggr_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function set_kprobe_instance is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function arm_all_kprobes is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function reuse_unused_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function kprobe_unused is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function free_aggr_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function add_new_kprobe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function reset_kprobe_instance is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function populate_kprobe_blacklist is in blacklisted section: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function check_kprobe_address_safe is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ WARNING: function aggr_kprobe_disabled is in blacklisted file: keyword at :5:1 source: probe kernel.function("*@*/kprobes.c") {} ^ Pass 2: analysis failed. [man error::pass2] Number of similar warning messages suppressed: 34. Rerun with -v to see them. wait results: 16101 exp36 0 1 XFAIL: semko/thirtythree.stp Running /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp starting /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp WARNING: function init_setup is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/semko/thirtytwo.stp:4:1 source: probe kernel.function("init_setup") { } ^ semantic error: while resolving probe point: identifier 'kernel' at :4:7 source: probe kernel.function("init_setup") { } ^ semantic error: no match (similar functions: init_setup, rdinit_setup, aio_setup, fc_setup, init_menu) Pass 2: analysis failed. [man error::pass2] wait results: 16106 exp36 0 1 XFAIL: semko/thirtytwo.stp Running /root/systemtap_write/systemtap/testsuite/semko/three.stp starting /root/systemtap_write/systemtap/testsuite/semko/three.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/three.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/three.stp semantic error: invalid type stats: identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/three.stp:6:5 source: b[a] = 4; # must not index with stats variable ^ semantic error: stat locals not supported, missing global declaration? : identifier 'a' at :5:3 source: a <<< 2; ^ Pass 2: analysis failed. [man error::pass2] wait results: 16111 exp36 0 1 XFAIL: semko/three.stp Running /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp starting /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp semantic error: while resolving probe point: identifier 'timer' at /root/systemtap_write/systemtap/testsuite/semko/timer_hz_randomize.stp:3:7 source: probe timer.hz(1000).randomize(500) { ^ semantic error: invalid suffix for probe: identifier 'randomize' at :3:22 source: probe timer.hz(1000).randomize(500) { ^ Pass 2: analysis failed. [man error::pass2] wait results: 16116 exp36 0 1 XFAIL: semko/timer_hz_randomize.stp Running /root/systemtap_write/systemtap/testsuite/semko/twelve.stp starting /root/systemtap_write/systemtap/testsuite/semko/twelve.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twelve.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twelve.stp WARNING: Eliding assignment to 'a': operator '=' at /root/systemtap_write/systemtap/testsuite/semko/twelve.stp:4:9 source: for (a=0; "hello";) {println("hello")} ^ semantic error: type mismatch: expected long but found string: string 'hello' at :4:13 source: for (a=0; "hello";) {println("hello")} ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 16121 exp36 0 1 XFAIL: semko/twelve.stp Running /root/systemtap_write/systemtap/testsuite/semko/twenty.stp starting /root/systemtap_write/systemtap/testsuite/semko/twenty.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twenty.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twenty.stp WARNING: side-effect-free function 'a': identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/twenty.stp:3:10 source: function a:string () { } ^ semantic error: type mismatch: expected long but found string: identifier 'a' at :6:10 source: print (a() + 1) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16126 exp36 0 1 XFAIL: semko/twenty.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp semantic error: type mismatch (long): identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/twentyeight.stp:10:2 source: x++ ^ semantic error: type was first inferred here (stats): identifier 'x' at :9:2 source: x <<< 10 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16131 exp36 0 1 XFAIL: semko/twentyeight.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp semantic error: unresolved type : identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/twentyfive.stp:10:2 source: x = y[10] ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. wait results: 16136 exp36 0 1 XFAIL: semko/twentyfive.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp semantic error: unresolved type : identifier 'y' at /root/systemtap_write/systemtap/testsuite/semko/twentyfour.stp:10:2 source: y = x ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. wait results: 16141 exp36 0 1 XFAIL: semko/twentyfour.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp semantic error: type mismatch: expected stats but found long: number '10' at /root/systemtap_write/systemtap/testsuite/semko/twentynine.stp:9:8 source: x <<< 10 <<< 11 # but see PR 1922 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16146 exp36 0 1 XFAIL: semko/twentynine.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/twentyone.stp:6:7 source: probe kernel.function("context_switch").call { ^ semantic error: no match (similar functions: context_switch, nr_context_switches, context_init, context_write, ocontext_write) Pass 2: analysis failed. [man error::pass2] wait results: 16151 exp36 0 1 XFAIL: semko/twentyone.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp semantic error: type mismatch (stats): identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/twentyseven.stp:14:2 source: x <<< 10 ^ semantic error: type was first inferred here (long): identifier 'x' at :9:10 source: bar <<< x ^ semantic error: invalid type stats: identifier 'bar' at :7:14 source: function foo(bar) ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 16156 exp36 0 1 XFAIL: semko/twentyseven.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp semantic error: type mismatch (long): identifier 'x' at /root/systemtap_write/systemtap/testsuite/semko/twentysix.stp:11:2 source: x[10] = 10 ^ semantic error: type was first inferred here (stats): identifier 'x' at :10:2 source: x[10] <<< 1 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16161 exp36 0 1 XFAIL: semko/twentysix.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp semantic error: while registering probe alias: keyword at /root/systemtap_write/systemtap/testsuite/semko/twentythree.stp:3:1 source: probe badalias.* = begin { } ^ semantic error: invalid use of wildcard probe point component Pass 2: analysis failed. [man error::pass2] wait results: 16166 exp36 0 1 XFAIL: semko/twentythree.stp Running /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp starting /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp semantic error: while resolving probe point: identifier 'kernel' at /root/systemtap_write/systemtap/testsuite/semko/twentytwo.stp:6:7 source: probe kernel.function("vfs_read").inline { ^ semantic error: no match (similar functions: vfs_read, __vfs_read, vcs_read, vfs_readv, fb_read) Pass 2: analysis failed. [man error::pass2] wait results: 16174 exp36 0 1 XFAIL: semko/twentytwo.stp Running /root/systemtap_write/systemtap/testsuite/semko/two.stp starting /root/systemtap_write/systemtap/testsuite/semko/two.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/two.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/two.stp semantic error: type mismatch: expected long but found string: string 'string' at /root/systemtap_write/systemtap/testsuite/semko/two.stp:4:13 source: bar = 2 + "string"; # mixing integer+string arithmetic ^ Pass 2: analysis failed. [man error::pass2] wait results: 16179 exp36 0 1 XFAIL: semko/two.stp Running /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp starting /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp spawn1 stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp spawn stap -up2 /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp semantic error: invalid type stats: identifier 'car' at /root/systemtap_write/systemtap/testsuite/semko/twotwo.stp:7:8 source: zoo (car) ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. wait results: 16184 exp36 0 1 XFAIL: semko/twotwo.stp Running /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp starting /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp semantic error: type mismatch (string): identifier 'noo' at /root/systemtap_write/systemtap/testsuite/semko/typemismatch1.stp:8:13 source: probe end { noo = "zoo" } ^ semantic error: type was first inferred here (long): identifier 'noo' at :6:15 source: probe begin { noo = 4 } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16189 exp36 0 1 XFAIL: semko/typemismatch1.stp Running /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp starting /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp semantic error: type mismatch (string): identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/typemismatch2.stp:4:25 source: probe begin { foo = 1 ; foo = "bar" ; print(foo) } ^ semantic error: type was first inferred here (long): identifier 'foo' at :4:15 source: probe begin { foo = 1 ; foo = "bar" ; print(foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16194 exp36 0 1 XFAIL: semko/typemismatch2.stp Running /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp starting /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp semantic error: type mismatch (stats): identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/typemismatch3.stp:3:29 source: probe begin { foo = "zoo" ; foo <<< 2 ; print(foo) } ^ semantic error: type was first inferred here (string): identifier 'foo' at :3:15 source: probe begin { foo = "zoo" ; foo <<< 2 ; print(foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16199 exp36 0 1 XFAIL: semko/typemismatch3.stp Running /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp starting /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp semantic error: type mismatch (long): identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semko/typemismatch4.stp:3:29 source: probe begin { foo = "bar" ; foo = 1 ; print(foo) } ^ semantic error: type was first inferred here (string): identifier 'foo' at :3:15 source: probe begin { foo = "bar" ; foo = 1 ; print(foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16204 exp36 0 1 XFAIL: semko/typemismatch4.stp Running /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp starting /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp semantic error: type mismatch (string): identifier 'array' at /root/systemtap_write/systemtap/testsuite/semko/typemismatch5.stp:8:2 source: array[5] = "2015" ^ semantic error: type was first inferred here (long): identifier 'array' at :7:2 source: array[3] = 2015 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16209 exp36 0 1 XFAIL: semko/typemismatch5.stp UNTESTED: semko/utrace.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp semantic error: while resolving probe point: identifier 'process' at /root/systemtap_write/systemtap/testsuite/semko/utrace03.stp:4:7 source: probe process("/bin/cat").end.return { } ^ semantic error: invalid suffix for probe: keyword at :4:31 source: probe process("/bin/cat").end.return { } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16230 exp36 0 1 XFAIL: semko/utrace03.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp semantic error: while processing probe process("/bin/cat").end semantic error: only "process(PATH_OR_PID).syscall" and "process(PATH_OR_PID).syscall.return" probes support target symbols: identifier '$syscall' at /root/systemtap_write/systemtap/testsuite/semko/utrace04.stp:4:39 source: probe process("/bin/cat").end { print($syscall) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16235 exp36 0 1 XFAIL: semko/utrace04.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace '$syscall' variable is read-only: identifier '$syscall' at /root/systemtap_write/systemtap/testsuite/semko/utrace05.stp:4:37 source: probe process("/bin/cat").syscall { $syscall = 1 } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16240 exp36 0 1 XFAIL: semko/utrace05.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace variable '$syscall' may not be used as a structure: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/utrace06.stp:4:51 source: probe process("/bin/cat").syscall { print($syscall->foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16245 exp36 0 1 XFAIL: semko/utrace06.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace variable '$syscall' may not be used as array: operator '[' at /root/systemtap_write/systemtap/testsuite/semko/utrace07.stp:4:51 source: probe process("/bin/cat").syscall { print($syscall[0]) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16250 exp36 0 1 XFAIL: semko/utrace07.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace '$argN' variable is read-only: identifier '$arg1' at /root/systemtap_write/systemtap/testsuite/semko/utrace15.stp:4:37 source: probe process("/bin/cat").syscall { $arg1 = 1 } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16255 exp36 0 1 XFAIL: semko/utrace15.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace variable '$arg1' may not be used as a structure: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/utrace16.stp:4:48 source: probe process("/bin/cat").syscall { print($arg1->foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16260 exp36 0 1 XFAIL: semko/utrace16.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace variable '$arg1' may not be used as array: operator '[' at /root/systemtap_write/systemtap/testsuite/semko/utrace17.stp:4:48 source: probe process("/bin/cat").syscall { print($arg1[0]) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16265 exp36 0 1 XFAIL: semko/utrace17.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp semantic error: while processing probe process("/bin/cat").syscall.return semantic error: utrace '$return' variable is read-only: identifier '$return' at /root/systemtap_write/systemtap/testsuite/semko/utrace18.stp:4:44 source: probe process("/bin/cat").syscall.return { $return = 1 } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16270 exp36 0 1 XFAIL: semko/utrace18.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: only "process(PATH_OR_PID).syscall.return" support $return.: identifier '$return' at /root/systemtap_write/systemtap/testsuite/semko/utrace19.stp:4:43 source: probe process("/bin/cat").syscall { print($return) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16275 exp36 0 1 XFAIL: semko/utrace19.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp semantic error: while processing probe process("/bin/cat").syscall semantic error: utrace variable '$return' may not be used as array: operator '[' at /root/systemtap_write/systemtap/testsuite/semko/utrace20.stp:4:50 source: probe process("/bin/cat").syscall { print($return[0]) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16280 exp36 0 1 XFAIL: semko/utrace20.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp semantic error: while processing probe process("/bin/cat").syscall.return semantic error: utrace variable '$return' may not be used as a structure: operator '->' at /root/systemtap_write/systemtap/testsuite/semko/utrace21.stp:4:57 source: probe process("/bin/cat").syscall.return { print($return->foo) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16285 exp36 0 1 XFAIL: semko/utrace21.stp Running /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp starting /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp semantic error: while processing probe process("/bin/cat").syscall.return semantic error: only "process(PATH_OR_PID).syscall" support $argN or $$parms.: identifier '$arg1' at /root/systemtap_write/systemtap/testsuite/semko/utrace22.stp:4:50 source: probe process("/bin/cat").syscall.return { print($arg1) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16290 exp36 0 1 XFAIL: semko/utrace22.stp Running /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp starting /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp semantic error: while processing probe begin semantic error: unresolved target-symbol expression: identifier '$var' at /root/systemtap_write/systemtap/testsuite/semko/var_definition.stp:6:2 source: $var=2015 ^ Pass 2: analysis failed. [man error::pass2] wait results: 16295 exp36 0 1 XFAIL: semko/var_definition.stp Running /root/systemtap_write/systemtap/testsuite/semko/zero.stp starting /root/systemtap_write/systemtap/testsuite/semko/zero.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semko/zero.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semko/zero.stp WARNING: never-assigned local variable 'a': identifier 'a' at /root/systemtap_write/systemtap/testsuite/semko/zero.stp:4:14 source: print (1 = a) ^ semantic error: Expecting lvalue expression: number '1' at :4:10 source: print (1 = a) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16300 exp36 0 1 XFAIL: semko/zero.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/semko.exp completed in 173 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/semok.exp ... Running /root/systemtap_write/systemtap/testsuite/semok/_start.stp starting /root/systemtap_write/systemtap/testsuite/semok/_start.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/_start.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/_start.stp # functions error:unknown (msg:string) pp:string () # probes process("/root/systemtap_write/install/bin/stap").function("_start") /* pc=.absolute+0x13ad0 */ /* <- process("/root/systemtap_write/install/bin/stap").function("_start") */ # locals __stable___global_pp__overload_0_value:string timer.s(900) /* <- timer.s(900) */ wait results: 16345 exp36 0 0 PASS: semok/_start.stp Running /root/systemtap_write/systemtap/testsuite/semok/args.stp starting /root/systemtap_write/systemtap/testsuite/semok/args.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/args.stp spawn /root/systemtap_write/systemtap/testsuite/semok/args.stp # functions error:unknown (msg:string) log:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16350 exp36 0 0 PASS: semok/args.stp Running /root/systemtap_write/systemtap/testsuite/semok/array_slicing.stp starting /root/systemtap_write/systemtap/testsuite/semok/array_slicing.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/array_slicing.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/array_slicing.stp # globals val:long [long, long, string, string] stats:stats [long, long] # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ # locals r:long s:long t:string u:string a:long b:long timer.s(900) /* <- timer.s(900) */ wait results: 16356 exp36 0 0 PASS: semok/array_slicing.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast01.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast01.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_autocast01_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast01_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun_path:long timer.s(900) /* <- timer.s(900) */ wait results: 16361 exp36 0 0 PASS: semok/autocast01.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast02.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast02.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_autocast02_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast02_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16366 exp36 0 0 PASS: semok/autocast02.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast03.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast03.stp # functions error:unknown (msg:string) randint:long (n:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast03_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast03_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16371 exp36 0 0 PASS: semok/autocast03.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast04.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast04.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_autocast04_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast04_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun_family:long sun:long timer.s(900) /* <- timer.s(900) */ wait results: 16376 exp36 0 0 PASS: semok/autocast04.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast05.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast05.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_autocast05_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast05_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun:long timer.s(900) /* <- timer.s(900) */ wait results: 16381 exp36 0 0 PASS: semok/autocast05.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast06.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast06.stp # functions error:unknown (msg:string) randint:long (n:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast06_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast06_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun:long sun2:long timer.s(900) /* <- timer.s(900) */ wait results: 16386 exp36 0 0 PASS: semok/autocast06.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast07.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast07.stp # functions error:unknown (msg:string) string_quoted:string (str:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) user_string_quoted:string (addr:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast07_stp__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast07_stp__dwarf_pretty_print_0:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast07_stp__dwarf_pretty_print_deref_0:long (:long) # probes begin /* <- begin */ # locals sun:long timer.s(900) /* <- timer.s(900) */ wait results: 16391 exp36 0 0 PASS: semok/autocast07.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast08.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast08.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semok/autocast08.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semok/autocast08.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_autocast08_stp__dwarf_autocast_set_0:long (:long, :long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast08_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun:long timer.s(900) /* <- timer.s(900) */ wait results: 16396 exp36 0 0 PASS: semok/autocast08.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast09.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast09.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast09.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast09.stp WARNING: never-assigned local variable 'foo': identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semok/autocast09.stp:6:5 source: foo->has->no->type ^ WARNING: Eliding side-effect-free expression : identifier 'foo' at :6:5 source: foo->has->no->type ^ WARNING: side-effect-free probe 'probe_2760': keyword at :3:1 source: probe begin ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16401 exp36 0 0 PASS: semok/autocast09.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast10.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast10.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/autocast10.stp spawn /root/systemtap_write/systemtap/testsuite/semok/autocast10.stp # functions error:unknown (msg:string) randint:long (n:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast10_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast10_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ # locals sun:long timer.s(900) /* <- timer.s(900) */ wait results: 16406 exp36 0 0 PASS: semok/autocast10.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast11.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast11.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast11.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast11.stp # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals :long [long, long] :long [long] # functions _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) tid:long () __private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_autocast_get_1:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_tvar_get_argv_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_tvar_get_prev_0:long () # probes kernel.function("schedule_tail@kernel/sched/core.c:2800").call? /* pc=_stext+0x823a4 */ /* <- kernel.function("schedule_tail@kernel/sched/core.c:2800").return? */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_tvar_get_prev_0_value:long kernel.function("schedule_tail@kernel/sched/core.c:2800").return? /* pc=_stext+0x823a4 */ /* <- kernel.function("schedule_tail@kernel/sched/core.c:2800").return? */ # locals mm:long process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").call? /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? */ # locals _entry_tvar_tid:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_autocast11_stp__dwarf_tvar_get_argv_1_value:long process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_argv_0_tmp:long a:long timer.s(900) /* <- timer.s(900) */ wait results: 16417 exp36 0 0 PASS: semok/autocast11.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast12.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast12.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast12.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast12.stp # functions error:unknown (msg:string) sockaddr_un:long (ptr:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast12_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast12_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16422 exp36 0 0 PASS: semok/autocast12.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast13.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast13.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast13.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast13.stp # functions error:unknown (msg:string) randint:long (n:long) sockaddr_un:long (ptr:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast13_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast13_stp__dwarf_cast_get_cast_0:long (:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16427 exp36 0 0 PASS: semok/autocast13.stp Running /root/systemtap_write/systemtap/testsuite/semok/autocast14.stp starting /root/systemtap_write/systemtap/testsuite/semok/autocast14.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast14.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/autocast14.stp # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () foo:unknown () # locals mm1:long mm2:long mm3:long mm4:long mm5:long task_current:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_2:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast14_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_autocast14_stp__dwarf_autocast_get_13:long (:long) # probes begin /* <- oneshot += begin <- oneshot */ # locals mm1:long mm2:long mm3:long mm4:long mm5:long timer.s(900) /* <- timer.s(900) */ wait results: 16432 exp36 0 0 KPASS: semok/autocast14.stp (PRMS 18079) Running /root/systemtap_write/systemtap/testsuite/semok/badvar.stp starting /root/systemtap_write/systemtap/testsuite/semok/badvar.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/badvar.stp spawn /root/systemtap_write/systemtap/testsuite/semok/badvar.stp WARNING: Bad $context variable being substituted with literal 0: identifier '$foo' at :3:7 source: if ($foo == 0) ^ # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) exit:unknown () # probes kernel.function("SyS_read@fs/read_write.c:584").call /* pc=_stext+0x221818 */ /* <- kernel.function("SyS_read@fs/read_write.c:584").call */ timer.s(900) /* <- timer.s(900) */ wait results: 16437 exp36 0 0 PASS: semok/badvar.stp Running /root/systemtap_write/systemtap/testsuite/semok/badvar_undefined.stp starting /root/systemtap_write/systemtap/testsuite/semok/badvar_undefined.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/badvar_undefined.stp spawn /root/systemtap_write/systemtap/testsuite/semok/badvar_undefined.stp # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} # functions error:unknown (msg:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) __private__input___dwarf_tvar_get_pathname_1:long () # probes kernel.function("SyS_getxattr@fs/xattr.c:471") /* pc=_stext+0x24dad8 */ /* <- kernel.function("SyS_getxattr@fs/xattr.c:471") */ # locals __stable___private__input___dwarf_tvar_get_pathname_1_value:long timer.s(900) /* <- timer.s(900) */ wait results: 16443 exp36 0 0 PASS: semok/badvar_undefined.stp Running /root/systemtap_write/systemtap/testsuite/semok/beginend.stp starting /root/systemtap_write/systemtap/testsuite/semok/beginend.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/beginend.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/beginend.stp WARNING: side-effect-free probe 'probe_2767': keyword at /root/systemtap_write/systemtap/testsuite/semok/beginend.stp:3:1 source: probe begin {} ^ WARNING: side-effect-free probe 'probe_2768': keyword at :4:1 source: probe begin(0) {} ^ WARNING: side-effect-free probe 'probe_2769': keyword at :5:1 source: probe begin(9223372036854775807) {} ^ WARNING: side-effect-free probe 'probe_2770': keyword at :6:1 source: probe begin(-9223372036854775808) {} ^ WARNING: side-effect-free probe 'probe_2771': keyword at :8:1 source: probe end {} ^ WARNING: side-effect-free probe 'probe_2772': keyword at :9:1 source: probe end(0) {} ^ WARNING: side-effect-free probe 'probe_2773': keyword at :10:1 source: probe end(9223372036854775807) {} ^ WARNING: side-effect-free probe 'probe_2774': keyword at :11:1 source: probe end(-9223372036854775808) {} ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ begin(0) /* <- begin(0) */ begin(9223372036854775807) /* <- begin(9223372036854775807) */ begin(-9223372036854775808) /* <- begin(-9223372036854775808) */ end /* <- end */ end(0) /* <- end(0) */ end(9223372036854775807) /* <- end(9223372036854775807) */ end(-9223372036854775808) /* <- end(-9223372036854775808) */ timer.s(900) /* <- timer.s(900) */ wait results: 16449 exp36 0 0 PASS: semok/beginend.stp Running /root/systemtap_write/systemtap/testsuite/semok/binexpr_infer_type.stp starting /root/systemtap_write/systemtap/testsuite/semok/binexpr_infer_type.stp spawn1 stap -uwp2 /root/systemtap_write/systemtap/testsuite/semok/binexpr_infer_type.stp spawn stap -uwp2 /root/systemtap_write/systemtap/testsuite/semok/binexpr_infer_type.stp # functions assert:unknown (expression:long) assert:unknown (expression:long, msg:string) error:unknown (msg:string) exit:unknown () log:unknown (msg:string) stp_print_binary:unknown (n:long, arg1:long, arg2:long, arg3:long, arg4:long) warn:unknown (msg:string) # probes begin /* <- begin */ # locals h:long i:long j:long k:long timer.s(900) /* <- timer.s(900) */ wait results: 16454 exp36 0 0 PASS: semok/binexpr_infer_type.stp Running /root/systemtap_write/systemtap/testsuite/semok/bz10475.stp starting /root/systemtap_write/systemtap/testsuite/semok/bz10475.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/bz10475.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/bz10475.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_bz10475_stp__dwarf_tvar_get_filename_0:long () # probes kernel.function("filp_open@fs/open.c:977") /* pc=_stext+0x21f270 */ /* <- kernel.function("filp_open@fs/open.c:977") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_bz10475_stp__dwarf_tvar_get_filename_0_value:long timer.s(900) /* <- timer.s(900) */ wait results: 16459 exp36 0 0 PASS: semok/bz10475.stp Running /root/systemtap_write/systemtap/testsuite/semok/bz11911.stp starting /root/systemtap_write/systemtap/testsuite/semok/bz11911.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/bz11911.stp spawn /root/systemtap_write/systemtap/testsuite/semok/bz11911.stp process("/tmp/tmp.XzwZyMjtRP").function("foo@/root/systemtap_write/systemtap/testsuite/:5") $p:struct point $i:int wait results: 16464 exp36 0 0 PASS: semok/bz11911.stp Running /root/systemtap_write/systemtap/testsuite/semok/cast.stp starting /root/systemtap_write/systemtap/testsuite/semok/cast.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/cast.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/cast.stp WARNING: Eliding side-effect-free expression : operator '@cast' at /root/systemtap_write/systemtap/testsuite/semok/cast.stp:22:5 source: @cast(0, "task_struct")->no_such_field ^ # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_cast_stp__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_cast_stp__dwarf_cast_get_cast_4:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_cast_stp__dwarf_cast_get_cast_5:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_cast_stp__dwarf_cast_get_cast_6:long (:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 16479 exp36 0 0 PASS: semok/cast.stp Running /root/systemtap_write/systemtap/testsuite/semok/config_config.stp starting /root/systemtap_write/systemtap/testsuite/semok/config_config.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_config.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_config.stp # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16704 exp36 0 0 PASS: semok/config_config.stp Running /root/systemtap_write/systemtap/testsuite/semok/config_number.stp starting /root/systemtap_write/systemtap/testsuite/semok/config_number.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_number.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_number.stp # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16709 exp36 0 0 PASS: semok/config_number.stp Running /root/systemtap_write/systemtap/testsuite/semok/config_wildcard.stp starting /root/systemtap_write/systemtap/testsuite/semok/config_wildcard.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_wildcard.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/config_wildcard.stp # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16714 exp36 0 0 PASS: semok/config_wildcard.stp Running /root/systemtap_write/systemtap/testsuite/semok/context-globals.stp starting /root/systemtap_write/systemtap/testsuite/semok/context-globals.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/context-globals.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/context-globals.stp # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include %} # globals n[1]:long [long] r[1]:long [long] b[1]:long [long] orig_n[1]:long [long] sym[1]:long [long] foo[1]:long [long] l[1]:long [long] line[1]:long [long] i[1]:long [long] str[1]:long [long] args[1]:long [long] mm[1]:long [long] arg_start[1]:long [long] arg_end[1]:long [long] nr[1]:long [long] len[1]:long [long] arg[1]:long [long] # functions backtrace:string () cmdline_args:string (n:long, m:long, delim:string) # locals __args:string __mm:long __arg_start:long __arg_end:long __nr:long __arg:string error:unknown (msg:string) print_syms:unknown (callers:string) # locals __sym:string print_usyms:unknown (callers:string) # locals __sym:string sprint_syms:string (callers:string) # locals __sym:string __foo:string __l:long __line:string sprint_usyms:string (callers:string) # locals __sym:string __foo:string __l:long __line:string stack:long (n:long) # locals __r:long __b:string __orig_n:long __n:long __sym:string __stable___global_backtrace__overload_0_value:string strlen:long (s:string) strtol:long (str:string, base:long) symdata:string (addr:long) task_current:long () tokenize:string (input:string, delim:string) ubacktrace:string () ucallers:string (n:long) # locals __str:string __l:long __i:long __foo:string user_string:string (addr:long, err_msg:string) user_string_n:string (addr:long, n:long, err_msg:string) ustack:long (n:long) # locals __r:long __b:string __orig_n:long __sym:string __n:long __stable___global_ubacktrace__overload_0_value:string usymdata:string (addr:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_context_stp__dwarf_autocast_get_0:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_context_stp__dwarf_autocast_get_1:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_context_stp__dwarf_autocast_get_2:long (:long) __stack_raw:long (n:long) __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_0:long (:long) __ustack_raw:long (n:long) # probes begin /* <- begin */ end /* <- end */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long wait results: 16719 exp36 0 0 PASS: semok/context-globals.stp Running /root/systemtap_write/systemtap/testsuite/semok/defined_list_vars.stp starting /root/systemtap_write/systemtap/testsuite/semok/defined_list_vars.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/defined_list_vars.stp spawn /root/systemtap_write/systemtap/testsuite/semok/defined_list_vars.stp my_syscall.poll timeout:long $ufds:long int $nfds:long int $timeout_msecs:long int wait results: 16724 exp36 0 0 PASS: semok/defined_list_vars.stp Running /root/systemtap_write/systemtap/testsuite/semok/deprecated01.stp starting /root/systemtap_write/systemtap/testsuite/semok/deprecated01.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/deprecated01.stp spawn /root/systemtap_write/systemtap/testsuite/semok/deprecated01.stp WARNING: This global uses tapset constructs that are dependent on systemtap version: identifier '_reg_offsets' at /root/systemtap_write/install/share/systemtap/tapset/arm64/registers.stp:4:21 source: @__private30 global _reg_offsets[37] ^ WARNING: This function uses tapset constructs that are dependent on systemtap version: identifier 'WCOREDUMP' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:1500:23 source: @__private30 function WCOREDUMP(f) { ^ WARNING: This alias uses tapset constructs that are dependent on systemtap version: keyword at /root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp:38:1 source: probe nd_syscall.accept = __nd_syscall.accept ?, ^ # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # globals _reg_offsets[37]:long [string] # functions _stp_arg:long (argnum:long, sign_extend:long, truncate:long) # locals val:long _stp_get_register_by_offset:long (offset:long) _stp_register:long (name:string, sign_extend:long) # locals offset:long value:long __stable___global_registers_valid__overload_0_value:long _stp_sign_extend32:long (value:long) _stp_syscall_nr:long () assert:unknown (expression:long, msg:string) error:unknown (msg:string) int_arg:long (argnum:long) pointer_arg:long (argnum:long) probing_32bit_app:long () registers_valid:long () u_register:long (name:string) # probes kprobe.function("sys_accept").call /* name = sys_accept*/ /* <- __nd_syscall.accept = kprobe.function("sys_accept").call <- nd_syscall.accept = __nd_syscall.accept?, __nd_syscall.socketcall.accept?, __nd_syscall.compat_socketcall.accept? <- nd_syscall.accept */ # locals flag_str:long timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ Number of similar warning messages suppressed: 31. Rerun with -v to see them. wait results: 16731 exp36 0 0 PASS: semok/deprecated01.stp Running /root/systemtap_write/systemtap/testsuite/semok/doubleglob.stp starting /root/systemtap_write/systemtap/testsuite/semok/doubleglob.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/doubleglob.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/doubleglob.stp semantic error: while resolving probe point: identifier 'kprobe' at /root/systemtap_write/install/share/systemtap/tapset/linux/nd_syscalls.stp:4274:37 source: probe __nd_syscall.compat_mq_open = kprobe.function("compat_sys_mq_open") ^ semantic error: no match (similar functions: sys_mq_open, SyS_mq_open, md_open, seq_open, shm_open) Pass 2: analysis failed. [man error::pass2] wait results: 16737 exp36 0 1 FAIL: semok/doubleglob.stp Running /root/systemtap_write/systemtap/testsuite/semok/eight.stp starting /root/systemtap_write/systemtap/testsuite/semok/eight.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/eight.stp spawn /root/systemtap_write/systemtap/testsuite/semok/eight.stp WARNING: Eliding assignment to 'a': operator '=' at :1:17 source: probe begin { a = f1 (); } ^ WARNING: Eliding side-effect-free expression : identifier 'a' at :1:15 source: probe begin { a = f1 (); } ^ WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe begin { a = f1 (); } ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16742 exp36 0 0 PASS: semok/eight.stp Running /root/systemtap_write/systemtap/testsuite/semok/eighteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/eighteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/eighteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/eighteen.stp WARNING: Eliding side-effect-free expression : identifier 'f' at /root/systemtap_write/systemtap/testsuite/semok/eighteen.stp:7:3 source: f(); g(1) ^ WARNING: side-effect-free probe 'probe_2760': keyword at :6:1 source: probe begin { ^ WARNING: side-effect-free function 'f': identifier 'f' at :3:10 source: function f () { } ^ WARNING: side-effect-free function 'g': identifier 'g' at :4:10 source: function g (arg) { } ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 1. Rerun with -v to see them. wait results: 16748 exp36 0 0 PASS: semok/eighteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/eleven.stp starting /root/systemtap_write/systemtap/testsuite/semok/eleven.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/eleven.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/eleven.stp WARNING: never-assigned local variable 'timestamp' (similar: tid, read_times, entry_time, my_fd, retvalue): identifier 'timestamp' at /root/systemtap_write/systemtap/testsuite/semok/eleven.stp:27:16 source: += timestamp - entry_time[tid] ^ WARNING: Eliding side-effect-free expression : identifier 'trace' at :17:7 source: trace ("my_count = " . sprint(my_count[tid]) . ^ WARNING: side-effect-free probe 'probe_2764': keyword at :34:1 source: probe end { ^ # globals entry_time:long [long] my_count:long [long] my_fd:long [long] read_times:long [string] tid:long # functions error:unknown (msg:string) # probes begin /* <- begin */ # locals count:long timestamp:long fd:long end /* <- end */ # locals syscall_name:string timestamp:long end /* <- end */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:string __val:long Number of similar warning messages suppressed: 2. Rerun with -v to see them. wait results: 16753 exp36 0 0 PASS: semok/eleven.stp Running /root/systemtap_write/systemtap/testsuite/semok/entry01.stp starting /root/systemtap_write/systemtap/testsuite/semok/entry01.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry01.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry01.stp # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals stat:stats [string] :long [long, long] :long [long] :long [long, long] :long [long] :long [long, long] :long [long] # functions error:unknown (msg:string) get_cycles:long () pp:string () tid:long () # probes kernel.function("do_filp_open@fs/namei.c:3524").call? /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return? */ # locals _entry_tvar_tid:long kernel.function("do_filp_open@fs/namei.c:3524").return? /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_0_tmp:long __stable___global_pp__overload_0_value:string kernel.function("filp_open@fs/open.c:977").call? /* pc=_stext+0x21f270 */ /* <- kernel.function("filp_open@fs/open.c:977").return? */ # locals _entry_tvar_tid:long kernel.function("filp_open@fs/open.c:977").return? /* pc=_stext+0x21f270 */ /* <- kernel.function("filp_open@fs/open.c:977").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_1_tmp:long __stable___global_pp__overload_0_value:string process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").call? /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? */ # locals _entry_tvar_tid:long process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_2_tmp:long __stable___global_pp__overload_0_value:string timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:string wait results: 16758 exp36 0 0 PASS: semok/entry01.stp Running /root/systemtap_write/systemtap/testsuite/semok/entry02.stp starting /root/systemtap_write/systemtap/testsuite/semok/entry02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/entry02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/entry02.stp WARNING: Eliding side-effect-free expression : operator '-' at /root/systemtap_write/systemtap/testsuite/semok/entry02.stp:8:5 source: - @entry(get_cycles()) ^ # globals stat:stats # functions error:unknown (msg:string) exit:unknown () get_cycles:long () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ wait results: 16763 exp36 0 0 PASS: semok/entry02.stp Running /root/systemtap_write/systemtap/testsuite/semok/entry03.stp starting /root/systemtap_write/systemtap/testsuite/semok/entry03.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry03.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry03.stp # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals :long [long, long] :long [long] :long [long, long] :long [long] # functions _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) get_cycles:long () kernel_string:string (addr:long) tid:long () __private__root_systemtap_write_systemtap_testsuite_semok_entry03_stp__dwarf_tvar_get_pathname_1:long () # probes kernel.function("do_filp_open@fs/namei.c:3524").call! /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return! */ # locals _entry_tvar_tid:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_entry03_stp__dwarf_tvar_get_pathname_1_value:long kernel.function("do_filp_open@fs/namei.c:3524").return! /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return! */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_0_tmp:long kernel.function("do_filp_open@fs/namei.c:3524").call! /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return! */ # locals _entry_tvar_tid:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_entry03_stp__dwarf_tvar_get_pathname_1_value:long kernel.function("do_filp_open@fs/namei.c:3524").return! /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524").return! */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_1_tmp:long timer.s(900) /* <- timer.s(900) */ wait results: 16768 exp36 0 0 PASS: semok/entry03.stp Running /root/systemtap_write/systemtap/testsuite/semok/entry04.stp starting /root/systemtap_write/systemtap/testsuite/semok/entry04.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry04.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/entry04.stp # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals stat:stats [string] :long [long, long] :long [long] :long [long, long] :long [long] # functions error:unknown (msg:string) get_cycles:long () pp:string () tid:long () # probes kprobe.function("do_filp_open").call? /* name = do_filp_open*/ /* <- kprobe.function("do_filp_open").return?,kprobe.function("filp_open").return? */ # locals _entry_tvar_tid:long kprobe.function("do_filp_open").return? /* name = do_filp_open*/ /* <- kprobe.function("do_filp_open").return?,kprobe.function("filp_open").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_0_tmp:long __stable___global_pp__overload_0_value:string kprobe.function("filp_open").call? /* name = filp_open*/ /* <- kprobe.function("do_filp_open").return?,kprobe.function("filp_open").return? */ # locals _entry_tvar_tid:long kprobe.function("filp_open").return? /* name = filp_open*/ /* <- kprobe.function("do_filp_open").return?,kprobe.function("filp_open").return? */ # locals _entry_tvar_tid:long __global_entry_tvar_entry_1_tmp:long __stable___global_pp__overload_0_value:string timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:string wait results: 16773 exp36 0 0 PASS: semok/entry04.stp Running /root/systemtap_write/systemtap/testsuite/semok/fifteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/fifteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/fifteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/fifteen.stp WARNING: Eliding side-effect-free expression : identifier 'trace' at /root/systemtap_write/systemtap/testsuite/semok/fifteen.stp:11:2 source: trace(base_num) ^ # functions error:unknown (msg:string) # probes begin /* <- begin,begin,begin */ begin /* <- begin,begin,begin */ begin /* <- begin,begin,begin */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 2. Rerun with -v to see them. wait results: 16778 exp36 0 0 PASS: semok/fifteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/five.stp starting /root/systemtap_write/systemtap/testsuite/semok/five.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/five.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/five.stp WARNING: Eliding assignment to 'value': operator '<<<' at /root/systemtap_write/systemtap/testsuite/semok/five.stp:7:21 source: statvar <<< value <<< 4; ^ WARNING: Eliding assignment to 'statvar': operator '<<<' at :7:11 source: statvar <<< value <<< 4; ^ WARNING: Eliding side-effect-free expression : identifier 'statvar' at :7:3 source: statvar <<< value <<< 4; ^ # globals array:long [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long wait results: 16783 exp36 0 0 PASS: semok/five.stp Running /root/systemtap_write/systemtap/testsuite/semok/four.stp starting /root/systemtap_write/systemtap/testsuite/semok/four.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/four.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/four.stp WARNING: never-assigned global variable 'kernel_jiffies' (similar: kernel_jiffies, kernel_current_comm): identifier 'kernel_jiffies' at /root/systemtap_write/systemtap/testsuite/semok/four.stp:5:8 source: global kernel_jiffies, kernel_current_comm ^ WARNING: never-assigned global variable 'kernel_current_comm' (similar: kernel_current_comm, kernel_jiffies): identifier 'kernel_current_comm' at :5:24 source: global kernel_jiffies, kernel_current_comm ^ WARNING: Eliding side-effect-free expression : identifier 'stamp' at :22:3 source: stamp ("read"); ^ WARNING: side-effect-free probe 'probe_2760': keyword at :20:1 source: probe begin /* syscall ("read") */ ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16788 exp36 0 0 PASS: semok/four.stp Running /root/systemtap_write/systemtap/testsuite/semok/fourteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/fourteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/fourteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/fourteen.stp WARNING: Eliding assignment to 'z': operator '=' at /root/systemtap_write/systemtap/testsuite/semok/fourteen.stp:24:4 source: z = x + y ^ WARNING: Eliding side-effect-free expression : identifier 'trace' at :9:2 source: trace("hello") ^ WARNING: side-effect-free probe 'probe_2769': keyword at :27:1 source: probe quux, end ^ # functions error:unknown (msg:string) # probes begin /* <- foo = begin <- bar = foo <- baz = bar <- quux = baz <- quux,end */ end /* <- quux,end */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 16793 exp36 0 0 PASS: semok/fourteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/gurufunc.stp starting /root/systemtap_write/systemtap/testsuite/semok/gurufunc.stp spawn1 stap -gup2 /root/systemtap_write/systemtap/testsuite/semok/gurufunc.stp spawn stap -gup2 /root/systemtap_write/systemtap/testsuite/semok/gurufunc.stp # functions assert:unknown (expression:long) assert:unknown (expression:long, msg:string) error:unknown (msg:string) exit:unknown () log:unknown (msg:string) set_kernel_char:unknown (addr:long, val:long) set_kernel_int:unknown (addr:long, val:long) set_kernel_long:unknown (addr:long, val:long) set_kernel_pointer:unknown (addr:long, val:long) set_kernel_short:unknown (addr:long, val:long) set_kernel_string:unknown (addr:long, val:string) set_kernel_string_n:unknown (addr:long, n:long, val:string) stp_print_binary:unknown (n:long, arg1:long, arg2:long, arg3:long, arg4:long) warn:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16798 exp36 0 0 PASS: semok/gurufunc.stp Running /root/systemtap_write/systemtap/testsuite/semok/kretprobe-data.stp starting /root/systemtap_write/systemtap/testsuite/semok/kretprobe-data.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/kretprobe-data.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/kretprobe-data.stp # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _get_kretprobe_long:long (i:long) _get_kretprobe_string:string (i:long) _set_kretprobe_long:unknown (i:long, value:long) _set_kretprobe_string:unknown (i:long, value:string) error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_pretty_print_0:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_pretty_print_deref_0_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_pretty_print_deref_1_value:long __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_pretty_print_deref_0:long () __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_pretty_print_deref_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_dfd_3:long () __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_lookup_flags_6:long () __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_path_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_pathname_4:long () # probes kernel.function("kern_path_create@fs/namei.c:3641").call! /* pc=_stext+0x23161c */ /* <- kernel.function("kern_path_create@fs/namei.c:3641").return! */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_path_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_dfd_3_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_pathname_4_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_kretprobe_data_stp__dwarf_tvar_get_lookup_flags_6_value:long kernel.function("kern_path_create@fs/namei.c:3641").return! /* pc=_stext+0x23161c */ /* <- kernel.function("kern_path_create@fs/namei.c:3641").return! */ timer.s(900) /* <- timer.s(900) */ wait results: 16803 exp36 0 0 PASS: semok/kretprobe-data.stp Running /root/systemtap_write/systemtap/testsuite/semok/mangled.stp starting /root/systemtap_write/systemtap/testsuite/semok/mangled.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/mangled.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/mangled.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_0:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_0_value:long __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_1:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_2_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_3_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_4_value:long __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_0:long () __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_2:long () __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_3:long () __private__root_systemtap_write_systemtap_testsuite_semok_mangled_stp__dwarf_pretty_print_deref_4:long () # probes process("/root/systemtap_write/install/bin/stap").function("_ZN6dwflpp9getscopesEm@/root/systemtap_write/systemtap/dwflpp.cxx:753") /* pc=.absolute+0x1a4b08 */ /* <- process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:753") */ process("/root/systemtap_write/install/bin/stap").function("_ZN6dwflpp9getscopesEP9Dwarf_Die@/root/systemtap_write/systemtap/dwflpp.cxx:709") /* pc=.absolute+0x1b1168 */ /* <- process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:709") */ process("/root/systemtap_write/install/bin/stap").function("_ZN6dwflpp9getscopesEP9Dwarf_Die@/root/systemtap_write/systemtap/dwflpp.cxx:709") /* pc=.absolute+0x1b1168 */ /* <- process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:709") */ process("/root/systemtap_write/install/bin/stap").function("_ZN6dwflpp9getscopesEm@/root/systemtap_write/systemtap/dwflpp.cxx:753") /* pc=.absolute+0x1a4b08 */ /* <- process("/root/systemtap_write/install/bin/stap").function("getscopes@/root/systemtap_write/systemtap/dwflpp.cxx:753") */ timer.s(900) /* <- timer.s(900) */ wait results: 16810 exp36 0 0 PASS: semok/mangled.stp Running /root/systemtap_write/systemtap/testsuite/semok/map_wrap_good.stp starting /root/systemtap_write/systemtap/testsuite/semok/map_wrap_good.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/map_wrap_good.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/map_wrap_good.stp # globals foo%[5]:long [long] bar%[5]:stats [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ # locals i:long timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long wait results: 16815 exp36 0 0 PASS: semok/map_wrap_good.stp Running /root/systemtap_write/systemtap/testsuite/semok/netfilter01.stp starting /root/systemtap_write/systemtap/testsuite/semok/netfilter01.stp spawn1 stap -gp2 /root/systemtap_write/systemtap/testsuite/semok/netfilter01.stp spawn stap -gp2 /root/systemtap_write/systemtap/testsuite/semok/netfilter01.stp WARNING: side-effect-free probe 'probe_2760': keyword at /root/systemtap_write/systemtap/testsuite/semok/netfilter01.stp:4:1 source: probe netfilter.hook("NF_INET_WARP_10").pf("INTERGALACTIC_IPV3000") { } ^ # functions error:unknown (msg:string) # probes netfilter.hook("NF_INET_WARP_10").pf("INTERGALACTIC_IPV3000") /* <- netfilter.hook("NF_INET_WARP_10").pf("INTERGALACTIC_IPV3000") */ timer.s(900) /* <- timer.s(900) */ wait results: 16820 exp36 0 0 PASS: semok/netfilter01.stp Running /root/systemtap_write/systemtap/testsuite/semok/nine.stp starting /root/systemtap_write/systemtap/testsuite/semok/nine.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/nine.stp spawn /root/systemtap_write/systemtap/testsuite/semok/nine.stp # globals g2:long [long] # functions error:unknown (msg:string) f1:long () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin /* <- begin */ wait results: 16825 exp36 0 0 PASS: semok/nine.stp Running /root/systemtap_write/systemtap/testsuite/semok/nineteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/nineteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/nineteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/nineteen.stp WARNING: Eliding side-effect-free expression : string 'begin' at /root/systemtap_write/systemtap/testsuite/semok/nineteen.stp:5:23 source: probe bar.a = begin { "begin" } ^ WARNING: side-effect-free probe 'probe_2769': identifier 'bar' at :3:15 source: probe foo.a = bar.a { "alias a" } ^ WARNING: side-effect-free probe 'probe_2772': identifier 'bar' at :4:15 source: probe foo.b = bar.b { "alias b" } ^ WARNING: side-effect-free probe 'probe_2774': identifier 'bar' at :9:7 source: probe bar.* { "bar" } # refers to multiple probes ^ WARNING: side-effect-free probe 'probe_2776': identifier 'bar' at :9:7 source: probe bar.* { "bar" } # refers to multiple probes ^ WARNING: side-effect-free probe 'probe_2779': identifier 'bar' at :7:13 source: probe baz = bar.* { "wild aliases" } # baz expands to multiple aliases ^ WARNING: side-effect-free probe 'probe_2781': identifier 'bar' at :7:13 source: probe baz = bar.* { "wild aliases" } # baz expands to multiple aliases ^ # functions error:unknown (msg:string) # probes begin /* <- bar.a = begin <- foo.a = bar.a <- foo.* */ end /* <- bar.b = end <- foo.b = bar.b <- foo.* */ begin /* <- bar.a = begin <- bar.* */ end /* <- bar.b = end <- bar.* */ begin /* <- bar.a = begin <- baz = bar.* <- baz */ end /* <- bar.b = end <- baz = bar.* <- baz */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 15. Rerun with -v to see them. wait results: 16831 exp36 0 0 PASS: semok/nineteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/nullpc.stp starting /root/systemtap_write/systemtap/testsuite/semok/nullpc.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/nullpc.stp spawn /root/systemtap_write/systemtap/testsuite/semok/nullpc.stp wait results: 16836 exp36 0 0 PASS: semok/nullpc.stp Running /root/systemtap_write/systemtap/testsuite/semok/one.stp starting /root/systemtap_write/systemtap/testsuite/semok/one.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/one.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/one.stp WARNING: never-assigned global variable 'kernel_jiffies' (similar: kernel_jiffies, kernel_current_comm): identifier 'kernel_jiffies' at /root/systemtap_write/systemtap/testsuite/semok/one.stp:5:8 source: global kernel_jiffies, kernel_current_comm ^ WARNING: never-assigned global variable 'kernel_current_comm' (similar: kernel_current_comm, kernel_jiffies): identifier 'kernel_current_comm' at :5:24 source: global kernel_jiffies, kernel_current_comm ^ WARNING: Eliding side-effect-free expression : identifier 'stamp' at :24:3 source: stamp ("read"); ^ WARNING: side-effect-free probe 'probe_2760': keyword at :22:1 source: probe begin /* syscall ("read") */ ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 1. Rerun with -v to see them. wait results: 16843 exp36 0 0 PASS: semok/one.stp Running /root/systemtap_write/systemtap/testsuite/semok/optimize.stp starting /root/systemtap_write/systemtap/testsuite/semok/optimize.stp spawn1 stap -wp2 /root/systemtap_write/systemtap/testsuite/semok/optimize.stp spawn stap -wp2 /root/systemtap_write/systemtap/testsuite/semok/optimize.stp # globals b:string ii:long # functions error:unknown (msg:string) useful:long () # probes begin /* <- begin */ begin /* <- begin */ # locals i:long begin /* <- begin */ # locals i:long begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ # locals j:long begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ wait results: 16848 exp36 0 0 PASS: semok/optimize.stp Running /root/systemtap_write/systemtap/testsuite/semok/plt1.stp starting /root/systemtap_write/systemtap/testsuite/semok/plt1.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/plt1.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/plt1.stp # functions error:unknown (msg:string) # probes process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) /* pc=.absolute+0xcd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) /* pc=.absolute+0xcd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) /* pc=.absolute+0xcd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) /* pc=.absolute+0xcd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) /* pc=.absolute+0xcd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) /* pc=.absolute+0xcd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) /* pc=.absolute+0xcd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) /* pc=.absolute+0xcda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) /* pc=.absolute+0xcdb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) /* pc=.absolute+0xcdc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) /* pc=.absolute+0xcdd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) /* pc=.absolute+0xcde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) /* pc=.absolute+0xcdf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) /* pc=.absolute+0xce00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) /* pc=.absolute+0xce10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) /* pc=.absolute+0xce20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) /* pc=.absolute+0xce30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) /* pc=.absolute+0xce40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) /* pc=.absolute+0xce50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) /* pc=.absolute+0xce60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) /* pc=.absolute+0xce70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) /* pc=.absolute+0xce80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) /* pc=.absolute+0xce90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) /* pc=.absolute+0xcea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) /* pc=.absolute+0xceb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) /* pc=.absolute+0xcec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) /* pc=.absolute+0xced0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) /* pc=.absolute+0xcee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) /* pc=.absolute+0xcef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) /* pc=.absolute+0xcf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) /* pc=.absolute+0xcf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) /* pc=.absolute+0xcf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) /* pc=.absolute+0xcf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) /* pc=.absolute+0xcf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) /* pc=.absolute+0xcf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) /* pc=.absolute+0xcf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) /* pc=.absolute+0xcf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) /* pc=.absolute+0xcf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) /* pc=.absolute+0xcf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) /* pc=.absolute+0xcfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) /* pc=.absolute+0xcfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) /* pc=.absolute+0xcfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) /* pc=.absolute+0xcfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) /* pc=.absolute+0xcfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) /* pc=.absolute+0xcff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d000) /* pc=.absolute+0xd000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d010) /* pc=.absolute+0xd010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d020) /* pc=.absolute+0xd020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d030) /* pc=.absolute+0xd030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d040) /* pc=.absolute+0xd040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d050) /* pc=.absolute+0xd050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d060) /* pc=.absolute+0xd060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d070) /* pc=.absolute+0xd070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d080) /* pc=.absolute+0xd080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d090) /* pc=.absolute+0xd090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) /* pc=.absolute+0xd0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) /* pc=.absolute+0xd0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) /* pc=.absolute+0xd0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) /* pc=.absolute+0xd0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) /* pc=.absolute+0xd0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) /* pc=.absolute+0xd0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d100) /* pc=.absolute+0xd100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d110) /* pc=.absolute+0xd110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d120) /* pc=.absolute+0xd120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d130) /* pc=.absolute+0xd130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d140) /* pc=.absolute+0xd140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d150) /* pc=.absolute+0xd150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d160) /* pc=.absolute+0xd160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d170) /* pc=.absolute+0xd170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d180) /* pc=.absolute+0xd180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d190) /* pc=.absolute+0xd190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) /* pc=.absolute+0xd1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) /* pc=.absolute+0xd1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) /* pc=.absolute+0xd1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) /* pc=.absolute+0xd1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) /* pc=.absolute+0xd1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) /* pc=.absolute+0xd1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d200) /* pc=.absolute+0xd200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d210) /* pc=.absolute+0xd210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d220) /* pc=.absolute+0xd220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d230) /* pc=.absolute+0xd230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d240) /* pc=.absolute+0xd240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d250) /* pc=.absolute+0xd250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d260) /* pc=.absolute+0xd260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d270) /* pc=.absolute+0xd270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d280) /* pc=.absolute+0xd280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d290) /* pc=.absolute+0xd290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) /* pc=.absolute+0xd2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) /* pc=.absolute+0xd2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) /* pc=.absolute+0xd2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) /* pc=.absolute+0xd2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) /* pc=.absolute+0xd2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) /* pc=.absolute+0xd2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d300) /* pc=.absolute+0xd300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d310) /* pc=.absolute+0xd310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d320) /* pc=.absolute+0xd320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d330) /* pc=.absolute+0xd330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d340) /* pc=.absolute+0xd340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d350) /* pc=.absolute+0xd350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d360) /* pc=.absolute+0xd360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d370) /* pc=.absolute+0xd370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d380) /* pc=.absolute+0xd380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d390) /* pc=.absolute+0xd390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) /* pc=.absolute+0xd3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) /* pc=.absolute+0xd3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) /* pc=.absolute+0xd3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) /* pc=.absolute+0xd3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) /* pc=.absolute+0xd3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) /* pc=.absolute+0xd3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d400) /* pc=.absolute+0xd400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d410) /* pc=.absolute+0xd410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d420) /* pc=.absolute+0xd420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d430) /* pc=.absolute+0xd430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d440) /* pc=.absolute+0xd440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d450) /* pc=.absolute+0xd450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d460) /* pc=.absolute+0xd460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d470) /* pc=.absolute+0xd470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d480) /* pc=.absolute+0xd480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d490) /* pc=.absolute+0xd490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) /* pc=.absolute+0xd4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) /* pc=.absolute+0xd4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) /* pc=.absolute+0xd4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) /* pc=.absolute+0xd4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) /* pc=.absolute+0xd4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) /* pc=.absolute+0xd4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d500) /* pc=.absolute+0xd500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d510) /* pc=.absolute+0xd510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d520) /* pc=.absolute+0xd520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d530) /* pc=.absolute+0xd530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d540) /* pc=.absolute+0xd540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d550) /* pc=.absolute+0xd550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d560) /* pc=.absolute+0xd560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d570) /* pc=.absolute+0xd570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d580) /* pc=.absolute+0xd580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d590) /* pc=.absolute+0xd590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) /* pc=.absolute+0xd5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) /* pc=.absolute+0xd5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) /* pc=.absolute+0xd5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) /* pc=.absolute+0xd5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) /* pc=.absolute+0xd5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) /* pc=.absolute+0xd5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d600) /* pc=.absolute+0xd600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d610) /* pc=.absolute+0xd610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d620) /* pc=.absolute+0xd620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d630) /* pc=.absolute+0xd630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d640) /* pc=.absolute+0xd640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d650) /* pc=.absolute+0xd650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d660) /* pc=.absolute+0xd660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d670) /* pc=.absolute+0xd670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d680) /* pc=.absolute+0xd680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d690) /* pc=.absolute+0xd690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) /* pc=.absolute+0xd6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) /* pc=.absolute+0xd6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) /* pc=.absolute+0xd6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) /* pc=.absolute+0xd6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) /* pc=.absolute+0xd6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) /* pc=.absolute+0xd6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d700) /* pc=.absolute+0xd700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d710) /* pc=.absolute+0xd710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d720) /* pc=.absolute+0xd720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d730) /* pc=.absolute+0xd730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d740) /* pc=.absolute+0xd740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d750) /* pc=.absolute+0xd750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d760) /* pc=.absolute+0xd760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d770) /* pc=.absolute+0xd770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d780) /* pc=.absolute+0xd780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d790) /* pc=.absolute+0xd790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) /* pc=.absolute+0xd7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) /* pc=.absolute+0xd7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) /* pc=.absolute+0xd7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) /* pc=.absolute+0xd7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) /* pc=.absolute+0xd7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) /* pc=.absolute+0xd7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d800) /* pc=.absolute+0xd800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d810) /* pc=.absolute+0xd810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d820) /* pc=.absolute+0xd820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d830) /* pc=.absolute+0xd830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d840) /* pc=.absolute+0xd840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d850) /* pc=.absolute+0xd850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d860) /* pc=.absolute+0xd860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d870) /* pc=.absolute+0xd870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d880) /* pc=.absolute+0xd880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d890) /* pc=.absolute+0xd890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) /* pc=.absolute+0xd8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) /* pc=.absolute+0xd8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) /* pc=.absolute+0xd8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) /* pc=.absolute+0xd8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) /* pc=.absolute+0xd8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) /* pc=.absolute+0xd8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d900) /* pc=.absolute+0xd900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d910) /* pc=.absolute+0xd910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d920) /* pc=.absolute+0xd920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d930) /* pc=.absolute+0xd930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d940) /* pc=.absolute+0xd940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d950) /* pc=.absolute+0xd950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d960) /* pc=.absolute+0xd960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d970) /* pc=.absolute+0xd970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d980) /* pc=.absolute+0xd980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d990) /* pc=.absolute+0xd990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) /* pc=.absolute+0xd9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) /* pc=.absolute+0xd9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) /* pc=.absolute+0xd9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) /* pc=.absolute+0xd9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) /* pc=.absolute+0xd9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) /* pc=.absolute+0xd9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da00) /* pc=.absolute+0xda00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da10) /* pc=.absolute+0xda10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da20) /* pc=.absolute+0xda20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da30) /* pc=.absolute+0xda30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da40) /* pc=.absolute+0xda40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da50) /* pc=.absolute+0xda50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da60) /* pc=.absolute+0xda60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da70) /* pc=.absolute+0xda70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da80) /* pc=.absolute+0xda80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da90) /* pc=.absolute+0xda90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) /* pc=.absolute+0xdaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) /* pc=.absolute+0xdab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) /* pc=.absolute+0xdac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) /* pc=.absolute+0xdad0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) /* pc=.absolute+0xdae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) /* pc=.absolute+0xdaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db00) /* pc=.absolute+0xdb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db10) /* pc=.absolute+0xdb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db20) /* pc=.absolute+0xdb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db30) /* pc=.absolute+0xdb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db40) /* pc=.absolute+0xdb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db50) /* pc=.absolute+0xdb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db60) /* pc=.absolute+0xdb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db70) /* pc=.absolute+0xdb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db80) /* pc=.absolute+0xdb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db90) /* pc=.absolute+0xdb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) /* pc=.absolute+0xdba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) /* pc=.absolute+0xdbb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) /* pc=.absolute+0xdbc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) /* pc=.absolute+0xdbd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) /* pc=.absolute+0xdbe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) /* pc=.absolute+0xdbf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) /* pc=.absolute+0xdc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) /* pc=.absolute+0xdc10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) /* pc=.absolute+0xdc20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) /* pc=.absolute+0xdc30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) /* pc=.absolute+0xdc40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) /* pc=.absolute+0xdc50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) /* pc=.absolute+0xdc60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) /* pc=.absolute+0xdc70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) /* pc=.absolute+0xdc80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) /* pc=.absolute+0xdc90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) /* pc=.absolute+0xdca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) /* pc=.absolute+0xdcb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) /* pc=.absolute+0xdcc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) /* pc=.absolute+0xdcd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) /* pc=.absolute+0xdce0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) /* pc=.absolute+0xdcf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) /* pc=.absolute+0xdd00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) /* pc=.absolute+0xdd10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) /* pc=.absolute+0xdd20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) /* pc=.absolute+0xdd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) /* pc=.absolute+0xdd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) /* pc=.absolute+0xdd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) /* pc=.absolute+0xdd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) /* pc=.absolute+0xdd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) /* pc=.absolute+0xdd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) /* pc=.absolute+0xdd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) /* pc=.absolute+0xdda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) /* pc=.absolute+0xddb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) /* pc=.absolute+0xddc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) /* pc=.absolute+0xddd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) /* pc=.absolute+0xdde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) /* pc=.absolute+0xddf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de00) /* pc=.absolute+0xde00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de10) /* pc=.absolute+0xde10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de20) /* pc=.absolute+0xde20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de30) /* pc=.absolute+0xde30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de40) /* pc=.absolute+0xde40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de50) /* pc=.absolute+0xde50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de60) /* pc=.absolute+0xde60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de70) /* pc=.absolute+0xde70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de80) /* pc=.absolute+0xde80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de90) /* pc=.absolute+0xde90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) /* pc=.absolute+0xdea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) /* pc=.absolute+0xdeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) /* pc=.absolute+0xdec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) /* pc=.absolute+0xded0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) /* pc=.absolute+0xdee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40def0) /* pc=.absolute+0xdef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40def0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df00) /* pc=.absolute+0xdf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df10) /* pc=.absolute+0xdf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df20) /* pc=.absolute+0xdf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df30) /* pc=.absolute+0xdf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df40) /* pc=.absolute+0xdf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df50) /* pc=.absolute+0xdf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df60) /* pc=.absolute+0xdf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df70) /* pc=.absolute+0xdf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df80) /* pc=.absolute+0xdf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df90) /* pc=.absolute+0xdf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) /* pc=.absolute+0xdfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) /* pc=.absolute+0xdfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) /* pc=.absolute+0xdfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) /* pc=.absolute+0xdfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) /* pc=.absolute+0xdfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) /* pc=.absolute+0xdff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e000) /* pc=.absolute+0xe000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e010) /* pc=.absolute+0xe010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e020) /* pc=.absolute+0xe020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e030) /* pc=.absolute+0xe030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e040) /* pc=.absolute+0xe040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e050) /* pc=.absolute+0xe050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e060) /* pc=.absolute+0xe060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e070) /* pc=.absolute+0xe070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e080) /* pc=.absolute+0xe080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e090) /* pc=.absolute+0xe090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) /* pc=.absolute+0xe0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) /* pc=.absolute+0xe0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) /* pc=.absolute+0xe0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) /* pc=.absolute+0xe0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) /* pc=.absolute+0xe0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) /* pc=.absolute+0xe0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e100) /* pc=.absolute+0xe100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e110) /* pc=.absolute+0xe110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e120) /* pc=.absolute+0xe120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e130) /* pc=.absolute+0xe130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e140) /* pc=.absolute+0xe140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e150) /* pc=.absolute+0xe150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e160) /* pc=.absolute+0xe160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e170) /* pc=.absolute+0xe170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e180) /* pc=.absolute+0xe180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e190) /* pc=.absolute+0xe190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) /* pc=.absolute+0xe1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) /* pc=.absolute+0xe1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) /* pc=.absolute+0xe1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) /* pc=.absolute+0xe1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) /* pc=.absolute+0xe1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) /* pc=.absolute+0xe1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e200) /* pc=.absolute+0xe200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e210) /* pc=.absolute+0xe210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e220) /* pc=.absolute+0xe220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e230) /* pc=.absolute+0xe230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e240) /* pc=.absolute+0xe240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e250) /* pc=.absolute+0xe250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e260) /* pc=.absolute+0xe260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e270) /* pc=.absolute+0xe270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e280) /* pc=.absolute+0xe280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e290) /* pc=.absolute+0xe290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) /* pc=.absolute+0xe2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) /* pc=.absolute+0xe2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) /* pc=.absolute+0xe2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) /* pc=.absolute+0xe2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) /* pc=.absolute+0xe2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) /* pc=.absolute+0xe2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e300) /* pc=.absolute+0xe300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e310) /* pc=.absolute+0xe310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e320) /* pc=.absolute+0xe320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e330) /* pc=.absolute+0xe330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e340) /* pc=.absolute+0xe340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e350) /* pc=.absolute+0xe350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e360) /* pc=.absolute+0xe360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e370) /* pc=.absolute+0xe370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e380) /* pc=.absolute+0xe380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e390) /* pc=.absolute+0xe390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) /* pc=.absolute+0xe3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) /* pc=.absolute+0xe3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) /* pc=.absolute+0xe3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) /* pc=.absolute+0xe3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) /* pc=.absolute+0xe3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) /* pc=.absolute+0xe3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e400) /* pc=.absolute+0xe400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e410) /* pc=.absolute+0xe410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e420) /* pc=.absolute+0xe420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e430) /* pc=.absolute+0xe430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e440) /* pc=.absolute+0xe440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e450) /* pc=.absolute+0xe450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e460) /* pc=.absolute+0xe460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e470) /* pc=.absolute+0xe470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e480) /* pc=.absolute+0xe480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e490) /* pc=.absolute+0xe490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) /* pc=.absolute+0xe4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) /* pc=.absolute+0xe4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) /* pc=.absolute+0xe4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) /* pc=.absolute+0xe4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) /* pc=.absolute+0xe4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) /* pc=.absolute+0xe4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e500) /* pc=.absolute+0xe500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e510) /* pc=.absolute+0xe510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e520) /* pc=.absolute+0xe520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e530) /* pc=.absolute+0xe530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e540) /* pc=.absolute+0xe540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e550) /* pc=.absolute+0xe550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e560) /* pc=.absolute+0xe560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e570) /* pc=.absolute+0xe570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e580) /* pc=.absolute+0xe580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e590) /* pc=.absolute+0xe590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) /* pc=.absolute+0xe5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) /* pc=.absolute+0xe5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) /* pc=.absolute+0xe5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) /* pc=.absolute+0xe5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) /* pc=.absolute+0xe5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) /* pc=.absolute+0xe5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e600) /* pc=.absolute+0xe600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e610) /* pc=.absolute+0xe610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e620) /* pc=.absolute+0xe620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e630) /* pc=.absolute+0xe630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e640) /* pc=.absolute+0xe640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e650) /* pc=.absolute+0xe650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e660) /* pc=.absolute+0xe660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e670) /* pc=.absolute+0xe670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e680) /* pc=.absolute+0xe680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e690) /* pc=.absolute+0xe690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) /* pc=.absolute+0xe6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) /* pc=.absolute+0xe6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) /* pc=.absolute+0xe6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) /* pc=.absolute+0xe6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) /* pc=.absolute+0xe6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) /* pc=.absolute+0xe6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e700) /* pc=.absolute+0xe700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e710) /* pc=.absolute+0xe710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e720) /* pc=.absolute+0xe720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e730) /* pc=.absolute+0xe730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e740) /* pc=.absolute+0xe740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e750) /* pc=.absolute+0xe750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e760) /* pc=.absolute+0xe760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e770) /* pc=.absolute+0xe770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e780) /* pc=.absolute+0xe780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e790) /* pc=.absolute+0xe790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) /* pc=.absolute+0xe7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) /* pc=.absolute+0xe7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) /* pc=.absolute+0xe7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) /* pc=.absolute+0xe7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) /* pc=.absolute+0xe7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) /* pc=.absolute+0xe7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e800) /* pc=.absolute+0xe800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e810) /* pc=.absolute+0xe810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e820) /* pc=.absolute+0xe820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e830) /* pc=.absolute+0xe830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e840) /* pc=.absolute+0xe840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e850) /* pc=.absolute+0xe850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e860) /* pc=.absolute+0xe860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e870) /* pc=.absolute+0xe870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e880) /* pc=.absolute+0xe880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e890) /* pc=.absolute+0xe890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) /* pc=.absolute+0xe8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) /* pc=.absolute+0xe8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) /* pc=.absolute+0xe8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) /* pc=.absolute+0xe8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) /* pc=.absolute+0xe8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) /* pc=.absolute+0xe8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e900) /* pc=.absolute+0xe900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e910) /* pc=.absolute+0xe910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e920) /* pc=.absolute+0xe920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e930) /* pc=.absolute+0xe930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e940) /* pc=.absolute+0xe940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e950) /* pc=.absolute+0xe950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e960) /* pc=.absolute+0xe960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e970) /* pc=.absolute+0xe970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e980) /* pc=.absolute+0xe980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e990) /* pc=.absolute+0xe990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) /* pc=.absolute+0xe9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) /* pc=.absolute+0xe9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) /* pc=.absolute+0xe9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) /* pc=.absolute+0xe9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) /* pc=.absolute+0xe9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) /* pc=.absolute+0xe9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) /* pc=.absolute+0xea00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) /* pc=.absolute+0xea10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) /* pc=.absolute+0xea20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) /* pc=.absolute+0xea30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) /* pc=.absolute+0xea40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) /* pc=.absolute+0xea50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) /* pc=.absolute+0xea60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) /* pc=.absolute+0xea70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) /* pc=.absolute+0xea80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) /* pc=.absolute+0xea90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) /* pc=.absolute+0xeaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) /* pc=.absolute+0xeab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) /* pc=.absolute+0xeac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) /* pc=.absolute+0xead0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) /* pc=.absolute+0xeae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) /* pc=.absolute+0xeaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) /* pc=.absolute+0xeb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) /* pc=.absolute+0xeb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) /* pc=.absolute+0xeb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) /* pc=.absolute+0xeb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) /* pc=.absolute+0xeb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) /* pc=.absolute+0xeb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) /* pc=.absolute+0xeb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) /* pc=.absolute+0xeb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) /* pc=.absolute+0xeb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) /* pc=.absolute+0xeb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) /* pc=.absolute+0xeba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) /* pc=.absolute+0xebb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) /* pc=.absolute+0xebc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) /* pc=.absolute+0xebd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) /* pc=.absolute+0xebe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) /* pc=.absolute+0xebf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) /* pc=.absolute+0xec00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) /* pc=.absolute+0xec10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) /* pc=.absolute+0xec20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) /* pc=.absolute+0xec30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) /* pc=.absolute+0xec40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) /* pc=.absolute+0xec50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) /* pc=.absolute+0xec60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) /* pc=.absolute+0xec70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) /* pc=.absolute+0xec80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) /* pc=.absolute+0xec90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) /* pc=.absolute+0xeca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) /* pc=.absolute+0xecb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) /* pc=.absolute+0xecc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) /* pc=.absolute+0xecd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) /* pc=.absolute+0xece0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) /* pc=.absolute+0xecf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) /* pc=.absolute+0xed00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) /* pc=.absolute+0xed10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) /* pc=.absolute+0xed20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) /* pc=.absolute+0xed30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) /* pc=.absolute+0xed40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) /* pc=.absolute+0xed50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) /* pc=.absolute+0xed60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) /* pc=.absolute+0xed70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) /* pc=.absolute+0xed80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) /* pc=.absolute+0xed90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) /* pc=.absolute+0xeda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) /* pc=.absolute+0xedb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) /* pc=.absolute+0xedc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) /* pc=.absolute+0xedd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) /* pc=.absolute+0xede0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) /* pc=.absolute+0xedf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) /* pc=.absolute+0xee00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) /* pc=.absolute+0xee10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) /* pc=.absolute+0xee20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) /* pc=.absolute+0xee30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) /* pc=.absolute+0xee40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) /* pc=.absolute+0xee50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) /* pc=.absolute+0xee60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) /* pc=.absolute+0xee70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) /* pc=.absolute+0xee80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) /* pc=.absolute+0xee90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) /* pc=.absolute+0xeea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) /* pc=.absolute+0xeeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) /* pc=.absolute+0xeec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) /* pc=.absolute+0xeed0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) /* pc=.absolute+0xeee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) /* pc=.absolute+0xeef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) /* pc=.absolute+0xef00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) /* pc=.absolute+0xef10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) /* pc=.absolute+0xef20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) /* pc=.absolute+0xef30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) /* pc=.absolute+0xef40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) /* pc=.absolute+0xef50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) /* pc=.absolute+0xef60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) /* pc=.absolute+0xef70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) /* pc=.absolute+0xef80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) /* pc=.absolute+0xef90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) /* pc=.absolute+0xefa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) /* pc=.absolute+0xefb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) /* pc=.absolute+0xefc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) /* pc=.absolute+0xefd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) /* pc=.absolute+0xefe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) /* pc=.absolute+0xeff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f000) /* pc=.absolute+0xf000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f010) /* pc=.absolute+0xf010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f020) /* pc=.absolute+0xf020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f030) /* pc=.absolute+0xf030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f040) /* pc=.absolute+0xf040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f050) /* pc=.absolute+0xf050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f060) /* pc=.absolute+0xf060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f070) /* pc=.absolute+0xf070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f080) /* pc=.absolute+0xf080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f090) /* pc=.absolute+0xf090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) /* pc=.absolute+0xf0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) /* pc=.absolute+0xf0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) /* pc=.absolute+0xf0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) /* pc=.absolute+0xf0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) /* pc=.absolute+0xf0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) /* pc=.absolute+0xf0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f100) /* pc=.absolute+0xf100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f110) /* pc=.absolute+0xf110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f120) /* pc=.absolute+0xf120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f130) /* pc=.absolute+0xf130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f140) /* pc=.absolute+0xf140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f150) /* pc=.absolute+0xf150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f160) /* pc=.absolute+0xf160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f170) /* pc=.absolute+0xf170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f170) */ timer.s(900) /* <- timer.s(900) */ wait results: 16853 exp36 0 0 PASS: semok/plt1.stp Running /root/systemtap_write/systemtap/testsuite/semok/plt2.stp starting /root/systemtap_write/systemtap/testsuite/semok/plt2.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/plt2.stp spawn /root/systemtap_write/systemtap/testsuite/semok/plt2.stp # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) /* pc=.absolute+0xcd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) /* pc=.absolute+0xcd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) /* pc=.absolute+0xcd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) /* pc=.absolute+0xcd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) /* pc=.absolute+0xcd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) /* pc=.absolute+0xcd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) /* pc=.absolute+0xcd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) /* pc=.absolute+0xcda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) /* pc=.absolute+0xcdb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) /* pc=.absolute+0xcdc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) /* pc=.absolute+0xcdd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) /* pc=.absolute+0xcde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) /* pc=.absolute+0xcdf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cdf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) /* pc=.absolute+0xce00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) /* pc=.absolute+0xce10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) /* pc=.absolute+0xce20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) /* pc=.absolute+0xce30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) /* pc=.absolute+0xce40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) /* pc=.absolute+0xce50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) /* pc=.absolute+0xce60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) /* pc=.absolute+0xce70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) /* pc=.absolute+0xce80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) /* pc=.absolute+0xce90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ce90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) /* pc=.absolute+0xcea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) /* pc=.absolute+0xceb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ceb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) /* pc=.absolute+0xcec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) /* pc=.absolute+0xced0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ced0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) /* pc=.absolute+0xcee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) /* pc=.absolute+0xcef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) /* pc=.absolute+0xcf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) /* pc=.absolute+0xcf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) /* pc=.absolute+0xcf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) /* pc=.absolute+0xcf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) /* pc=.absolute+0xcf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) /* pc=.absolute+0xcf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) /* pc=.absolute+0xcf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) /* pc=.absolute+0xcf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) /* pc=.absolute+0xcf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) /* pc=.absolute+0xcf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cf90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) /* pc=.absolute+0xcfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) /* pc=.absolute+0xcfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) /* pc=.absolute+0xcfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) /* pc=.absolute+0xcfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) /* pc=.absolute+0xcfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) /* pc=.absolute+0xcff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40cff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d000) /* pc=.absolute+0xd000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d010) /* pc=.absolute+0xd010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d020) /* pc=.absolute+0xd020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d030) /* pc=.absolute+0xd030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d040) /* pc=.absolute+0xd040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d050) /* pc=.absolute+0xd050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d060) /* pc=.absolute+0xd060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d070) /* pc=.absolute+0xd070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d080) /* pc=.absolute+0xd080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d090) /* pc=.absolute+0xd090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) /* pc=.absolute+0xd0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) /* pc=.absolute+0xd0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) /* pc=.absolute+0xd0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) /* pc=.absolute+0xd0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) /* pc=.absolute+0xd0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) /* pc=.absolute+0xd0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d100) /* pc=.absolute+0xd100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d110) /* pc=.absolute+0xd110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d120) /* pc=.absolute+0xd120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d130) /* pc=.absolute+0xd130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d140) /* pc=.absolute+0xd140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d150) /* pc=.absolute+0xd150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d160) /* pc=.absolute+0xd160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d170) /* pc=.absolute+0xd170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d180) /* pc=.absolute+0xd180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d190) /* pc=.absolute+0xd190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) /* pc=.absolute+0xd1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) /* pc=.absolute+0xd1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) /* pc=.absolute+0xd1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) /* pc=.absolute+0xd1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) /* pc=.absolute+0xd1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) /* pc=.absolute+0xd1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d200) /* pc=.absolute+0xd200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d210) /* pc=.absolute+0xd210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d220) /* pc=.absolute+0xd220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d230) /* pc=.absolute+0xd230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d240) /* pc=.absolute+0xd240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d250) /* pc=.absolute+0xd250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d260) /* pc=.absolute+0xd260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d270) /* pc=.absolute+0xd270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d280) /* pc=.absolute+0xd280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d290) /* pc=.absolute+0xd290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) /* pc=.absolute+0xd2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) /* pc=.absolute+0xd2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) /* pc=.absolute+0xd2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) /* pc=.absolute+0xd2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) /* pc=.absolute+0xd2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) /* pc=.absolute+0xd2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d300) /* pc=.absolute+0xd300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d310) /* pc=.absolute+0xd310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d320) /* pc=.absolute+0xd320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d330) /* pc=.absolute+0xd330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d340) /* pc=.absolute+0xd340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d350) /* pc=.absolute+0xd350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d360) /* pc=.absolute+0xd360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d370) /* pc=.absolute+0xd370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d380) /* pc=.absolute+0xd380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d390) /* pc=.absolute+0xd390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) /* pc=.absolute+0xd3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) /* pc=.absolute+0xd3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) /* pc=.absolute+0xd3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) /* pc=.absolute+0xd3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) /* pc=.absolute+0xd3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) /* pc=.absolute+0xd3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d400) /* pc=.absolute+0xd400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d410) /* pc=.absolute+0xd410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d420) /* pc=.absolute+0xd420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d430) /* pc=.absolute+0xd430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d440) /* pc=.absolute+0xd440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d450) /* pc=.absolute+0xd450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d460) /* pc=.absolute+0xd460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d470) /* pc=.absolute+0xd470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d480) /* pc=.absolute+0xd480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d490) /* pc=.absolute+0xd490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) /* pc=.absolute+0xd4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) /* pc=.absolute+0xd4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) /* pc=.absolute+0xd4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) /* pc=.absolute+0xd4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) /* pc=.absolute+0xd4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) /* pc=.absolute+0xd4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d500) /* pc=.absolute+0xd500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d510) /* pc=.absolute+0xd510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d520) /* pc=.absolute+0xd520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d530) /* pc=.absolute+0xd530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d540) /* pc=.absolute+0xd540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d550) /* pc=.absolute+0xd550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d560) /* pc=.absolute+0xd560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d570) /* pc=.absolute+0xd570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d580) /* pc=.absolute+0xd580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d590) /* pc=.absolute+0xd590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) /* pc=.absolute+0xd5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) /* pc=.absolute+0xd5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) /* pc=.absolute+0xd5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) /* pc=.absolute+0xd5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) /* pc=.absolute+0xd5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) /* pc=.absolute+0xd5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d600) /* pc=.absolute+0xd600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d610) /* pc=.absolute+0xd610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d620) /* pc=.absolute+0xd620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d630) /* pc=.absolute+0xd630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d640) /* pc=.absolute+0xd640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d650) /* pc=.absolute+0xd650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d660) /* pc=.absolute+0xd660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d670) /* pc=.absolute+0xd670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d680) /* pc=.absolute+0xd680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d690) /* pc=.absolute+0xd690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) /* pc=.absolute+0xd6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) /* pc=.absolute+0xd6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) /* pc=.absolute+0xd6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) /* pc=.absolute+0xd6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) /* pc=.absolute+0xd6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) /* pc=.absolute+0xd6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d700) /* pc=.absolute+0xd700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d710) /* pc=.absolute+0xd710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d720) /* pc=.absolute+0xd720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d730) /* pc=.absolute+0xd730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d740) /* pc=.absolute+0xd740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d750) /* pc=.absolute+0xd750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d760) /* pc=.absolute+0xd760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d770) /* pc=.absolute+0xd770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d780) /* pc=.absolute+0xd780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d790) /* pc=.absolute+0xd790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) /* pc=.absolute+0xd7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) /* pc=.absolute+0xd7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) /* pc=.absolute+0xd7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) /* pc=.absolute+0xd7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) /* pc=.absolute+0xd7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) /* pc=.absolute+0xd7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d800) /* pc=.absolute+0xd800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d810) /* pc=.absolute+0xd810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d820) /* pc=.absolute+0xd820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d830) /* pc=.absolute+0xd830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d840) /* pc=.absolute+0xd840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d850) /* pc=.absolute+0xd850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d860) /* pc=.absolute+0xd860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d870) /* pc=.absolute+0xd870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d880) /* pc=.absolute+0xd880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d890) /* pc=.absolute+0xd890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) /* pc=.absolute+0xd8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) /* pc=.absolute+0xd8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) /* pc=.absolute+0xd8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) /* pc=.absolute+0xd8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) /* pc=.absolute+0xd8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) /* pc=.absolute+0xd8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d900) /* pc=.absolute+0xd900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d910) /* pc=.absolute+0xd910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d920) /* pc=.absolute+0xd920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d930) /* pc=.absolute+0xd930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d940) /* pc=.absolute+0xd940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d950) /* pc=.absolute+0xd950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d960) /* pc=.absolute+0xd960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d970) /* pc=.absolute+0xd970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d980) /* pc=.absolute+0xd980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d990) /* pc=.absolute+0xd990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) /* pc=.absolute+0xd9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) /* pc=.absolute+0xd9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) /* pc=.absolute+0xd9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) /* pc=.absolute+0xd9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) /* pc=.absolute+0xd9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) /* pc=.absolute+0xd9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40d9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da00) /* pc=.absolute+0xda00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da10) /* pc=.absolute+0xda10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da20) /* pc=.absolute+0xda20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da30) /* pc=.absolute+0xda30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da40) /* pc=.absolute+0xda40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da50) /* pc=.absolute+0xda50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da60) /* pc=.absolute+0xda60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da70) /* pc=.absolute+0xda70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da80) /* pc=.absolute+0xda80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40da90) /* pc=.absolute+0xda90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40da90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) /* pc=.absolute+0xdaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) /* pc=.absolute+0xdab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) /* pc=.absolute+0xdac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) /* pc=.absolute+0xdad0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dad0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) /* pc=.absolute+0xdae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) /* pc=.absolute+0xdaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40daf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db00) /* pc=.absolute+0xdb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db10) /* pc=.absolute+0xdb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db20) /* pc=.absolute+0xdb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db30) /* pc=.absolute+0xdb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db40) /* pc=.absolute+0xdb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db50) /* pc=.absolute+0xdb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db60) /* pc=.absolute+0xdb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db70) /* pc=.absolute+0xdb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db80) /* pc=.absolute+0xdb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40db90) /* pc=.absolute+0xdb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40db90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) /* pc=.absolute+0xdba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) /* pc=.absolute+0xdbb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) /* pc=.absolute+0xdbc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) /* pc=.absolute+0xdbd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) /* pc=.absolute+0xdbe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) /* pc=.absolute+0xdbf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dbf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) /* pc=.absolute+0xdc00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) /* pc=.absolute+0xdc10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) /* pc=.absolute+0xdc20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) /* pc=.absolute+0xdc30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) /* pc=.absolute+0xdc40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) /* pc=.absolute+0xdc50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) /* pc=.absolute+0xdc60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) /* pc=.absolute+0xdc70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) /* pc=.absolute+0xdc80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) /* pc=.absolute+0xdc90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dc90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) /* pc=.absolute+0xdca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) /* pc=.absolute+0xdcb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) /* pc=.absolute+0xdcc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) /* pc=.absolute+0xdcd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) /* pc=.absolute+0xdce0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dce0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) /* pc=.absolute+0xdcf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dcf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) /* pc=.absolute+0xdd00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) /* pc=.absolute+0xdd10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) /* pc=.absolute+0xdd20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) /* pc=.absolute+0xdd30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) /* pc=.absolute+0xdd40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) /* pc=.absolute+0xdd50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) /* pc=.absolute+0xdd60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) /* pc=.absolute+0xdd70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) /* pc=.absolute+0xdd80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) /* pc=.absolute+0xdd90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dd90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) /* pc=.absolute+0xdda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) /* pc=.absolute+0xddb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) /* pc=.absolute+0xddc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) /* pc=.absolute+0xddd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) /* pc=.absolute+0xdde0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dde0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) /* pc=.absolute+0xddf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ddf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de00) /* pc=.absolute+0xde00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de10) /* pc=.absolute+0xde10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de20) /* pc=.absolute+0xde20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de30) /* pc=.absolute+0xde30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de40) /* pc=.absolute+0xde40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de50) /* pc=.absolute+0xde50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de60) /* pc=.absolute+0xde60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de70) /* pc=.absolute+0xde70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de80) /* pc=.absolute+0xde80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40de90) /* pc=.absolute+0xde90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40de90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) /* pc=.absolute+0xdea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) /* pc=.absolute+0xdeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40deb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) /* pc=.absolute+0xdec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) /* pc=.absolute+0xded0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ded0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) /* pc=.absolute+0xdee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40def0) /* pc=.absolute+0xdef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40def0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df00) /* pc=.absolute+0xdf00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df10) /* pc=.absolute+0xdf10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df20) /* pc=.absolute+0xdf20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df30) /* pc=.absolute+0xdf30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df40) /* pc=.absolute+0xdf40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df50) /* pc=.absolute+0xdf50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df60) /* pc=.absolute+0xdf60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df70) /* pc=.absolute+0xdf70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df80) /* pc=.absolute+0xdf80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40df90) /* pc=.absolute+0xdf90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40df90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) /* pc=.absolute+0xdfa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) /* pc=.absolute+0xdfb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) /* pc=.absolute+0xdfc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) /* pc=.absolute+0xdfd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) /* pc=.absolute+0xdfe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dfe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) /* pc=.absolute+0xdff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40dff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e000) /* pc=.absolute+0xe000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e010) /* pc=.absolute+0xe010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e020) /* pc=.absolute+0xe020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e030) /* pc=.absolute+0xe030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e040) /* pc=.absolute+0xe040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e050) /* pc=.absolute+0xe050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e060) /* pc=.absolute+0xe060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e070) /* pc=.absolute+0xe070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e080) /* pc=.absolute+0xe080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e090) /* pc=.absolute+0xe090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) /* pc=.absolute+0xe0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) /* pc=.absolute+0xe0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) /* pc=.absolute+0xe0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) /* pc=.absolute+0xe0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) /* pc=.absolute+0xe0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) /* pc=.absolute+0xe0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e100) /* pc=.absolute+0xe100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e110) /* pc=.absolute+0xe110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e120) /* pc=.absolute+0xe120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e130) /* pc=.absolute+0xe130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e140) /* pc=.absolute+0xe140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e150) /* pc=.absolute+0xe150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e160) /* pc=.absolute+0xe160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e170) /* pc=.absolute+0xe170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e170) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e180) /* pc=.absolute+0xe180 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e180) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e190) /* pc=.absolute+0xe190 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e190) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) /* pc=.absolute+0xe1a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) /* pc=.absolute+0xe1b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) /* pc=.absolute+0xe1c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) /* pc=.absolute+0xe1d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) /* pc=.absolute+0xe1e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) /* pc=.absolute+0xe1f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e1f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e200) /* pc=.absolute+0xe200 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e200) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e210) /* pc=.absolute+0xe210 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e210) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e220) /* pc=.absolute+0xe220 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e220) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e230) /* pc=.absolute+0xe230 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e230) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e240) /* pc=.absolute+0xe240 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e240) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e250) /* pc=.absolute+0xe250 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e250) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e260) /* pc=.absolute+0xe260 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e260) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e270) /* pc=.absolute+0xe270 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e270) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e280) /* pc=.absolute+0xe280 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e280) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e290) /* pc=.absolute+0xe290 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e290) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) /* pc=.absolute+0xe2a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) /* pc=.absolute+0xe2b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) /* pc=.absolute+0xe2c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) /* pc=.absolute+0xe2d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) /* pc=.absolute+0xe2e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) /* pc=.absolute+0xe2f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e2f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e300) /* pc=.absolute+0xe300 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e300) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e310) /* pc=.absolute+0xe310 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e310) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e320) /* pc=.absolute+0xe320 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e320) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e330) /* pc=.absolute+0xe330 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e330) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e340) /* pc=.absolute+0xe340 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e340) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e350) /* pc=.absolute+0xe350 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e350) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e360) /* pc=.absolute+0xe360 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e360) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e370) /* pc=.absolute+0xe370 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e370) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e380) /* pc=.absolute+0xe380 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e380) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e390) /* pc=.absolute+0xe390 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e390) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) /* pc=.absolute+0xe3a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) /* pc=.absolute+0xe3b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) /* pc=.absolute+0xe3c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) /* pc=.absolute+0xe3d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) /* pc=.absolute+0xe3e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) /* pc=.absolute+0xe3f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e3f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e400) /* pc=.absolute+0xe400 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e400) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e410) /* pc=.absolute+0xe410 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e410) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e420) /* pc=.absolute+0xe420 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e420) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e430) /* pc=.absolute+0xe430 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e430) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e440) /* pc=.absolute+0xe440 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e440) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e450) /* pc=.absolute+0xe450 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e450) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e460) /* pc=.absolute+0xe460 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e460) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e470) /* pc=.absolute+0xe470 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e470) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e480) /* pc=.absolute+0xe480 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e480) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e490) /* pc=.absolute+0xe490 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e490) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) /* pc=.absolute+0xe4a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) /* pc=.absolute+0xe4b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) /* pc=.absolute+0xe4c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) /* pc=.absolute+0xe4d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) /* pc=.absolute+0xe4e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) /* pc=.absolute+0xe4f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e4f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e500) /* pc=.absolute+0xe500 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e500) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e510) /* pc=.absolute+0xe510 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e510) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e520) /* pc=.absolute+0xe520 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e520) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e530) /* pc=.absolute+0xe530 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e530) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e540) /* pc=.absolute+0xe540 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e540) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e550) /* pc=.absolute+0xe550 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e550) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e560) /* pc=.absolute+0xe560 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e560) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e570) /* pc=.absolute+0xe570 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e570) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e580) /* pc=.absolute+0xe580 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e580) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e590) /* pc=.absolute+0xe590 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e590) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) /* pc=.absolute+0xe5a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) /* pc=.absolute+0xe5b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) /* pc=.absolute+0xe5c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) /* pc=.absolute+0xe5d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) /* pc=.absolute+0xe5e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) /* pc=.absolute+0xe5f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e5f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e600) /* pc=.absolute+0xe600 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e600) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e610) /* pc=.absolute+0xe610 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e610) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e620) /* pc=.absolute+0xe620 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e620) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e630) /* pc=.absolute+0xe630 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e630) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e640) /* pc=.absolute+0xe640 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e640) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e650) /* pc=.absolute+0xe650 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e650) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e660) /* pc=.absolute+0xe660 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e660) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e670) /* pc=.absolute+0xe670 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e670) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e680) /* pc=.absolute+0xe680 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e680) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e690) /* pc=.absolute+0xe690 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e690) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) /* pc=.absolute+0xe6a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) /* pc=.absolute+0xe6b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) /* pc=.absolute+0xe6c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) /* pc=.absolute+0xe6d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) /* pc=.absolute+0xe6e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) /* pc=.absolute+0xe6f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e6f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e700) /* pc=.absolute+0xe700 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e700) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e710) /* pc=.absolute+0xe710 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e710) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e720) /* pc=.absolute+0xe720 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e720) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e730) /* pc=.absolute+0xe730 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e730) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e740) /* pc=.absolute+0xe740 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e740) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e750) /* pc=.absolute+0xe750 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e750) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e760) /* pc=.absolute+0xe760 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e760) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e770) /* pc=.absolute+0xe770 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e770) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e780) /* pc=.absolute+0xe780 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e780) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e790) /* pc=.absolute+0xe790 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e790) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) /* pc=.absolute+0xe7a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) /* pc=.absolute+0xe7b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) /* pc=.absolute+0xe7c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) /* pc=.absolute+0xe7d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) /* pc=.absolute+0xe7e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) /* pc=.absolute+0xe7f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e7f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e800) /* pc=.absolute+0xe800 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e800) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e810) /* pc=.absolute+0xe810 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e810) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e820) /* pc=.absolute+0xe820 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e820) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e830) /* pc=.absolute+0xe830 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e830) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e840) /* pc=.absolute+0xe840 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e840) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e850) /* pc=.absolute+0xe850 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e850) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e860) /* pc=.absolute+0xe860 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e860) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e870) /* pc=.absolute+0xe870 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e870) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e880) /* pc=.absolute+0xe880 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e880) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e890) /* pc=.absolute+0xe890 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e890) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) /* pc=.absolute+0xe8a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) /* pc=.absolute+0xe8b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) /* pc=.absolute+0xe8c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) /* pc=.absolute+0xe8d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) /* pc=.absolute+0xe8e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) /* pc=.absolute+0xe8f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e8f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e900) /* pc=.absolute+0xe900 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e900) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e910) /* pc=.absolute+0xe910 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e910) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e920) /* pc=.absolute+0xe920 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e920) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e930) /* pc=.absolute+0xe930 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e930) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e940) /* pc=.absolute+0xe940 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e940) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e950) /* pc=.absolute+0xe950 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e950) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e960) /* pc=.absolute+0xe960 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e960) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e970) /* pc=.absolute+0xe970 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e970) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e980) /* pc=.absolute+0xe980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e980) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e990) /* pc=.absolute+0xe990 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e990) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) /* pc=.absolute+0xe9a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) /* pc=.absolute+0xe9b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) /* pc=.absolute+0xe9c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) /* pc=.absolute+0xe9d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) /* pc=.absolute+0xe9e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) /* pc=.absolute+0xe9f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40e9f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) /* pc=.absolute+0xea00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) /* pc=.absolute+0xea10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) /* pc=.absolute+0xea20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) /* pc=.absolute+0xea30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) /* pc=.absolute+0xea40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) /* pc=.absolute+0xea50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) /* pc=.absolute+0xea60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) /* pc=.absolute+0xea70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) /* pc=.absolute+0xea80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) /* pc=.absolute+0xea90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ea90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) /* pc=.absolute+0xeaa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) /* pc=.absolute+0xeab0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eab0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) /* pc=.absolute+0xeac0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eac0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) /* pc=.absolute+0xead0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ead0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) /* pc=.absolute+0xeae0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eae0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) /* pc=.absolute+0xeaf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eaf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) /* pc=.absolute+0xeb00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) /* pc=.absolute+0xeb10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) /* pc=.absolute+0xeb20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) /* pc=.absolute+0xeb30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) /* pc=.absolute+0xeb40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) /* pc=.absolute+0xeb50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) /* pc=.absolute+0xeb60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) /* pc=.absolute+0xeb70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) /* pc=.absolute+0xeb80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) /* pc=.absolute+0xeb90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eb90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) /* pc=.absolute+0xeba0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eba0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) /* pc=.absolute+0xebb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) /* pc=.absolute+0xebc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) /* pc=.absolute+0xebd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) /* pc=.absolute+0xebe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) /* pc=.absolute+0xebf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ebf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) /* pc=.absolute+0xec00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) /* pc=.absolute+0xec10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) /* pc=.absolute+0xec20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) /* pc=.absolute+0xec30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) /* pc=.absolute+0xec40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) /* pc=.absolute+0xec50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) /* pc=.absolute+0xec60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) /* pc=.absolute+0xec70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) /* pc=.absolute+0xec80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) /* pc=.absolute+0xec90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ec90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) /* pc=.absolute+0xeca0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eca0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) /* pc=.absolute+0xecb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) /* pc=.absolute+0xecc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) /* pc=.absolute+0xecd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) /* pc=.absolute+0xece0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ece0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) /* pc=.absolute+0xecf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ecf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) /* pc=.absolute+0xed00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) /* pc=.absolute+0xed10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) /* pc=.absolute+0xed20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) /* pc=.absolute+0xed30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) /* pc=.absolute+0xed40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) /* pc=.absolute+0xed50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) /* pc=.absolute+0xed60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) /* pc=.absolute+0xed70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) /* pc=.absolute+0xed80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) /* pc=.absolute+0xed90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ed90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) /* pc=.absolute+0xeda0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eda0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) /* pc=.absolute+0xedb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) /* pc=.absolute+0xedc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) /* pc=.absolute+0xedd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) /* pc=.absolute+0xede0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ede0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) /* pc=.absolute+0xedf0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40edf0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) /* pc=.absolute+0xee00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) /* pc=.absolute+0xee10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) /* pc=.absolute+0xee20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) /* pc=.absolute+0xee30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) /* pc=.absolute+0xee40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) /* pc=.absolute+0xee50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) /* pc=.absolute+0xee60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) /* pc=.absolute+0xee70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) /* pc=.absolute+0xee80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) /* pc=.absolute+0xee90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ee90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) /* pc=.absolute+0xeea0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eea0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) /* pc=.absolute+0xeeb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eeb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) /* pc=.absolute+0xeec0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eec0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) /* pc=.absolute+0xeed0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eed0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) /* pc=.absolute+0xeee0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eee0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) /* pc=.absolute+0xeef0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eef0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) /* pc=.absolute+0xef00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef00) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) /* pc=.absolute+0xef10 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef10) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) /* pc=.absolute+0xef20 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef20) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) /* pc=.absolute+0xef30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef30) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) /* pc=.absolute+0xef40 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef40) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) /* pc=.absolute+0xef50 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef50) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) /* pc=.absolute+0xef60 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef60) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) /* pc=.absolute+0xef70 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef70) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) /* pc=.absolute+0xef80 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef80) */ process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) /* pc=.absolute+0xef90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40ef90) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) /* pc=.absolute+0xefa0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efa0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) /* pc=.absolute+0xefb0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efb0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) /* pc=.absolute+0xefc0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efc0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) /* pc=.absolute+0xefd0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efd0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) /* pc=.absolute+0xefe0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40efe0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) /* pc=.absolute+0xeff0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40eff0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f000) /* pc=.absolute+0xf000 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f000) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f010) /* pc=.absolute+0xf010 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f010) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f020) /* pc=.absolute+0xf020 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f020) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f030) /* pc=.absolute+0xf030 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f030) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f040) /* pc=.absolute+0xf040 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f040) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f050) /* pc=.absolute+0xf050 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f050) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f060) /* pc=.absolute+0xf060 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f060) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f070) /* pc=.absolute+0xf070 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f070) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f080) /* pc=.absolute+0xf080 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f080) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f090) /* pc=.absolute+0xf090 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f090) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) /* pc=.absolute+0xf0a0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0a0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) /* pc=.absolute+0xf0b0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0b0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) /* pc=.absolute+0xf0c0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0c0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) /* pc=.absolute+0xf0d0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0d0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) /* pc=.absolute+0xf0e0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0e0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) /* pc=.absolute+0xf0f0 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f0f0) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f100) /* pc=.absolute+0xf100 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f100) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f110) /* pc=.absolute+0xf110 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f110) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f120) /* pc=.absolute+0xf120 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f120) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f130) /* pc=.absolute+0xf130 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f130) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f140) /* pc=.absolute+0xf140 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f140) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f150) /* pc=.absolute+0xf150 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f150) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f160) /* pc=.absolute+0xf160 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f160) */ process("/root/systemtap_write/install/bin/stap").statement(0x40f170) /* pc=.absolute+0xf170 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x40f170) */ timer.s(900) /* <- timer.s(900) */ wait results: 16858 exp36 0 0 PASS: semok/plt2.stp Running /root/systemtap_write/systemtap/testsuite/semok/pr11808.stp starting /root/systemtap_write/systemtap/testsuite/semok/pr11808.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/pr11808.stp spawn /root/systemtap_write/systemtap/testsuite/semok/pr11808.stp semantic error: while processing probe kernel.function("next_tgid@fs/proc/base.c:3088").return from: kernel.function("next_tgid").return semantic error: function next_tgid (fs/proc/base.c) has no return value: identifier '$return' at :1:53 source: probe kernel.function("next_tgid").return { println($return->tgid) } ^ Pass 2: analysis failed. [man error::pass2] wait results: 16864 exp36 0 0 PASS: semok/pr11808.stp Running /root/systemtap_write/systemtap/testsuite/semok/pr11809.stp starting /root/systemtap_write/systemtap/testsuite/semok/pr11809.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/pr11809.stp spawn /root/systemtap_write/systemtap/testsuite/semok/pr11809.stp wait results: 16870 exp36 0 0 PASS: semok/pr11809.stp Running /root/systemtap_write/systemtap/testsuite/semok/pr16730.stp starting /root/systemtap_write/systemtap/testsuite/semok/pr16730.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/pr16730.stp spawn /root/systemtap_write/systemtap/testsuite/semok/pr16730.stp wait results: 16877 exp36 0 0 PASS: semok/pr16730.stp Running /root/systemtap_write/systemtap/testsuite/semok/pretty-uprobes.stp starting /root/systemtap_write/systemtap/testsuite/semok/pretty-uprobes.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty-uprobes.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty-uprobes.stp # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} # globals i:long # functions error:unknown (msg:string) log:unknown (msg:string) string_quoted:string (str:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) user_string_quoted:string (addr:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_0:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_0_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_138_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_139_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_140_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_141_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_142_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_143_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_144_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_145_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_10_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_11_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_12_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_13_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_14_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_15_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_152_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_153_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_154_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_155_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_156_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_157_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_158_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_159_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_160_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_161_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_162_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_163_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_164_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_165_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_166_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_167_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_1:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_100_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_11:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_101_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_13:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_102_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_103_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_104_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_105_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_106_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_0_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_108_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_109_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_110_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_112_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_113_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_114_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_115_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_116_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_117_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_118_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_119_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_120_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_121_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_122_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_123_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_124_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_125_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_126_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_127_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_128_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_129_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_130_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_131_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_132_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_133_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_14:string () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_15:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_200_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_201_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_202_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_203_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_204_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_205_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_206_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_16:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_207_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_18:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_207_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_20:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_0:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_10:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_100:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_101:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_102:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_103:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_104:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_105:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_106:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_108:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_109:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_11:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_110:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_112:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_113:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_114:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_115:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_116:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_117:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_118:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_119:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_12:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_120:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_121:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_122:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_123:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_124:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_125:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_126:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_127:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_128:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_129:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_13:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_130:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_131:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_132:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_133:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_138:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_139:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_14:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_140:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_141:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_142:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_143:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_144:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_145:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_15:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_152:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_153:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_154:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_155:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_156:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_157:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_158:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_159:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_160:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_161:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_162:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_163:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_164:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_165:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_166:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_167:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_200:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_201:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_202:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_203:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_204:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_205:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_206:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_207:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_uprobes_stp__dwarf_pretty_print_deref_211:long (:long) # probes process("/root/systemtap_write/install/bin/stap").function("parse_cmdline@/root/systemtap_write/systemtap/session.cxx:693") /* pc=.absolute+0x24974 */ /* <- process("/root/systemtap_write/install/bin/stap").function("parse_cmdline@/root/systemtap_write/systemtap/session.cxx:693") */ timer.s(900) /* <- timer.s(900) */ wait results: 16887 exp36 0 0 PASS: semok/pretty-uprobes.stp Running /root/systemtap_write/systemtap/testsuite/semok/pretty.stp starting /root/systemtap_write/systemtap/testsuite/semok/pretty.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty.stp # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # globals i:long # functions error:unknown (msg:string) kernel_string_quoted:string (addr:long) log:unknown (msg:string) task_current:long () __private__root_systemtap_write_install_share_systemtap_tapset_linux_task_stpm__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_0:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_1:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_10:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_171_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_172_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_174_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_175_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_100_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_101_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_102_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_103_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_104_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_105_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_106_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_107_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_108_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_109_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_110_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_111_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_112_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_113_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_114_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_115_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_116_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_117_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_118_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_119_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_120_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_121_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_122_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_123_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_124_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_125_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_126_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_127_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_11:string () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_12:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_171_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_172_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_173_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_174_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_175_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_176_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_100_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_101_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_102_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_103_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_104_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_105_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_106_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_107_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_108_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_109_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_110_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_188_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_189_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_190_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_191_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_192_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_193_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_194_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_195_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_196_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_197_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_198_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_199_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_200_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_201_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_202_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_13:string () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_18:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_504_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_505_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_506_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_19:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_504_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_508_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_509_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_510_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_511_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_512_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_513_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_514_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_515_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_516_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_520_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_521_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_522_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_523_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_505_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_506_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_526_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_527_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_528_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_529_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_2:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_20:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_530_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_22:string () # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_532_value:long __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_24:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_26:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_3:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_4:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_40:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_44:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_46:string (:long, :long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_1:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_10:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_100:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_101:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_102:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_103:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_104:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_105:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_106:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_107:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_108:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_109:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_11:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_110:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_111:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_112:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_113:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_114:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_115:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_116:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_117:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_118:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_119:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_12:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_120:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_121:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_122:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_123:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_124:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_125:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_126:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_127:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_13:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_14:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_15:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_16:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_17:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_171:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_172:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_173:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_174:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_175:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_176:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_18:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_188:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_189:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_19:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_190:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_191:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_192:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_193:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_194:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_195:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_196:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_197:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_198:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_199:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_2:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_20:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_200:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_201:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_202:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_21:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_22:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_23:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_24:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_25:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_26:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_27:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_28:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_29:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_3:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_30:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_31:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_34:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_37:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_38:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_39:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_40:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_41:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_42:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_43:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_49:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_50:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_504:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_505:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_506:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_508:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_509:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_51:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_510:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_511:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_512:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_513:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_514:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_515:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_516:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_52:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_520:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_521:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_522:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_523:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_526:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_527:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_528:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_529:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_53:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_530:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_532:long () __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_534:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_54:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_55:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_56:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_57:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_58:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_59:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_60:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_61:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_62:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_63:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_64:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_65:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_66:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_68:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_69:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_70:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_71:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_72:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_73:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_74:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_75:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_76:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_80:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_81:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_82:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_83:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_856:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_858:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_86:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_860:long (:long, :long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_87:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_88:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty_stp__dwarf_pretty_print_deref_89:long (:long) # probes begin /* <- begin */ # locals t:long kernel.function("schedule_tail@kernel/sched/core.c:2800") /* pc=_stext+0x823a4 */ /* <- kernel.function("schedule_tail@kernel/sched/core.c:2800") */ kernel.trace("sched:sched_switch") /* <- kernel.function("schedule_tail"),kernel.trace("sched_switch") */ # locals :long :long :long timer.s(900) /* <- timer.s(900) */ wait results: 16892 exp36 0 0 PASS: semok/pretty.stp Running /root/systemtap_write/systemtap/testsuite/semok/pretty2.stp starting /root/systemtap_write/systemtap/testsuite/semok/pretty2.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty2.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/pretty2.stp # functions error:unknown (msg:string) kernel_string_quoted:string (addr:long) log:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_0:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_10:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1001:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1008:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_101:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1011:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1012:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1015:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1016:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1018:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1019:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_102:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1020:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_103:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1035:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1043:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_105:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_106:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1083:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_127:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_137:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_1423:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_164:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_165:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_19:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2041:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2084:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2085:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2088:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2095:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2125:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2160:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2188:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2253:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2341:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2361:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_237:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2383:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2391:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2421:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2422:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2424:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2425:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2426:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2429:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2430:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2432:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2434:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2437:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2447:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2449:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2458:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2459:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2461:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2464:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2470:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2473:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2475:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2477:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2547:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2548:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2549:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2574:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2577:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2594:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2601:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2616:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2619:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2624:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2626:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2627:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2686:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_269:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2691:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2695:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2705:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2720:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_273:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2732:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2735:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2747:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2758:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2764:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2767:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2781:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2805:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2812:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2827:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2841:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2854:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2869:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2872:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2879:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2918:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2923:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2924:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_2929:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3015:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3016:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3019:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3060:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3089:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3090:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3095:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_311:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3137:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3173:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3199:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3205:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3213:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3217:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3220:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_324:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3253:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3254:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3262:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3263:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3284:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3296:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3297:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3315:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3319:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3379:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3406:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_342:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_350:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_351:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_355:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3557:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3559:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_356:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3563:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3572:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3593:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_360:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_361:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_371:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3752:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3753:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3761:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3777:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3790:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3791:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_382:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_383:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_385:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3858:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3886:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_3904:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_4077:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_4081:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_4092:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_4093:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_432:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_49:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_503:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_506:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_594:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_596:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_60:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_619:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_620:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_624:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_625:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_626:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_629:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_638:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_664:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_683:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_691:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_709:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_734:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_745:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_813:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_841:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_846:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_872:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_91:string (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_0:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_100:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1000:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10000:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10001:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10002:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10003:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10004:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10005:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10006:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10007:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10008:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10009:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1001:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10010:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10011:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10012:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10013:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10014:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10015:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10016:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10017:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10018:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10019:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1002:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10020:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10021:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10022:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10023:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10024:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10025:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10026:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10027:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10028:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10029:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1003:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10030:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10031:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1005:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1006:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10068:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1007:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1008:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1009:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_101:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1010:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10103:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10104:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10105:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10106:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10107:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10108:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10109:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1011:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10110:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10111:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10112:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10113:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10114:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10115:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10116:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10117:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10118:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1012:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10123:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10124:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10125:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10126:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10127:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10129:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1013:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10133:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10134:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10137:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10138:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10139:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1014:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10140:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10141:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10142:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10143:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10144:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10145:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10146:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10147:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10148:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10149:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1015:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10150:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10151:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10152:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10153:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10154:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10155:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10156:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10157:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10158:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10159:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1016:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10160:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10161:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10162:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10163:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10164:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1017:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1018:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1019:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_102:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1020:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1021:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1022:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1023:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1024:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1025:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1027:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1028:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1029:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_103:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1030:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1031:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1032:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1033:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1034:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1035:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1036:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1037:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1038:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1039:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_104:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1040:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1042:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1046:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1047:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1048:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1049:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_105:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1052:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1053:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1054:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10549:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1055:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10551:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10553:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10554:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10555:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1056:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1057:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1058:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1059:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_106:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1060:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1061:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1062:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1063:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1064:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1068:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10689:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1069:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10692:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10693:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10695:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10696:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1070:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1071:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1072:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1073:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1074:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1075:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1076:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1077:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1078:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1079:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1080:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1081:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1082:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1083:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1084:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1085:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10857:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10858:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10859:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1086:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10860:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10861:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10862:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10863:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10864:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10865:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1087:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1089:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1091:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10931:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10932:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10934:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10939:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10940:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_10941:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1096:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1097:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1099:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_110:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1100:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1101:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1102:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1103:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1104:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11044:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11045:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11047:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1105:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1106:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1107:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1108:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1109:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_111:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1110:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1111:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1121:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1122:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1123:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1124:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1125:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1126:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1127:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1129:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1133:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1134:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1140:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1141:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1142:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1143:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1144:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1145:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1146:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1147:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1148:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_115:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11535:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11538:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11539:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11542:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11543:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11544:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11546:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11547:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11548:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11549:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11550:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11551:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11552:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11553:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11554:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11555:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_116:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_117:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_11874:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12092:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12093:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12094:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12095:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12098:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_121:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12100:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12101:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12105:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12108:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12109:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12110:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12112:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12113:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12114:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12115:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12116:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12117:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12118:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12121:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12122:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_122:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_123:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_124:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_125:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_126:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_127:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1285:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1287:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1289:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_129:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1290:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1291:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1292:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1293:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1294:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1295:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1296:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1297:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12979:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1298:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12980:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12981:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12982:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12983:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12984:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12985:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12986:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12987:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12988:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12989:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1299:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12990:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12991:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12992:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12993:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_12994:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1300:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1301:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13015:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1302:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13020:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13021:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13022:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13023:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13024:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13025:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13026:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13027:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13028:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13029:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1303:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13030:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13031:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13032:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13033:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13037:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13038:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13039:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1304:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13040:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13041:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13042:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13044:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1305:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13050:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13051:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13052:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13053:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13054:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13055:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13056:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13057:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13058:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13059:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1306:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13060:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13061:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13062:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13063:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13064:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13065:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13066:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13067:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13068:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13069:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1307:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13070:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13071:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13072:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13073:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13074:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13075:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13076:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13109:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13112:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13113:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13114:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13115:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13117:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13118:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13121:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13122:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13123:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13124:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13125:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13126:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13127:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13133:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13134:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13137:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13138:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13139:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13140:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13142:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13148:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13149:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13154:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13155:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13156:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13157:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13158:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13159:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13160:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13161:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13162:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13166:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13167:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13168:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13169:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13170:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13171:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13172:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13173:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13174:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13175:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13176:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13177:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13178:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13179:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13181:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13189:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13190:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13191:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13192:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13193:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13194:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13195:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13196:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13197:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13198:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13199:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13201:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13202:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13203:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13204:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13205:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13206:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13208:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13209:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13210:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13211:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13212:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13213:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13214:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13215:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13216:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13218:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13219:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13220:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13224:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13225:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13226:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13227:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13228:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13229:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13230:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13231:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13232:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13233:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13234:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13235:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13236:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13237:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13238:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13239:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13240:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13241:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13242:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13243:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13713:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13715:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13716:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13717:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13718:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13719:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13720:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13721:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13722:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13723:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13724:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13725:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13726:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13727:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13728:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13729:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13730:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13731:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13732:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13736:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13737:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13738:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13739:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13740:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13741:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13742:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13743:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_13744:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14213:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14214:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14220:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14221:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14222:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14223:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14224:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14225:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14226:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14227:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14228:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14229:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14233:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14234:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14235:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14236:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14237:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14238:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14262:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14270:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14272:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14273:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14274:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14275:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14276:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14277:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14278:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14279:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14281:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14282:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14283:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14284:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14285:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14286:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14287:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14288:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14392:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14395:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14396:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14397:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14398:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14399:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14400:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14401:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14402:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14403:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14404:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14405:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14406:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14407:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14408:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14411:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14412:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14413:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14414:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14415:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14416:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14417:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14418:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14419:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14420:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14421:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14423:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14438:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14439:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14443:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14445:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14449:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14450:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14451:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14452:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14453:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14455:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14490:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14491:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14492:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14493:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14499:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14505:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14506:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14507:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14508:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14509:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14510:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14511:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14512:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14513:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14514:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14515:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14516:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14517:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14518:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_14519:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1489:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1499:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1500:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1504:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1508:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1510:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1511:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1512:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1514:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1515:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1516:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1517:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1518:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1519:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1520:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1521:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1522:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1523:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1524:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15248:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15249:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1525:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15250:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15254:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15255:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15256:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15259:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1526:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15260:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15261:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15262:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15263:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15264:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15265:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15266:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15267:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15268:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1527:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15272:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15275:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_15277:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1528:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_16369:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17330:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17331:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17332:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17333:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17334:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17335:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17336:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17337:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17338:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17345:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17346:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17347:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17348:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17349:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17350:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17351:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17352:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17353:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17354:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17617:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17621:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17622:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17623:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17624:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17625:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17626:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17627:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17628:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17629:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17633:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17634:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17636:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17637:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_17639:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18201:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18262:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18263:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18264:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18265:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18266:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18267:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18268:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18269:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18270:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18271:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18275:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18281:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18283:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18284:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18285:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18287:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18288:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18289:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18290:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18291:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18293:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18294:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18296:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18297:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18298:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18299:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18303:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18304:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18305:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18306:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18307:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18308:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18309:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18310:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18311:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18312:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18313:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18314:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18315:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18316:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18317:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18323:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18324:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18326:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18328:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18329:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18330:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18331:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18332:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18333:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18334:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18335:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18336:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18337:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18338:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18339:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18341:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18342:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18343:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18344:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18350:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18351:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18352:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18353:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18359:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18361:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18362:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18364:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18365:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18367:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18368:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18369:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18370:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18371:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18372:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18373:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18374:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18375:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18376:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18377:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18378:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18379:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18380:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18389:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18418:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18419:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18420:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18421:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18422:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18423:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18424:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18425:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18426:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18428:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18429:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18430:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18431:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18436:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18437:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18438:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18439:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18440:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18441:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18442:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18443:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18444:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18445:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18446:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18450:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18451:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18452:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18453:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18454:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18455:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18456:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18457:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18458:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18459:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18461:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18462:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18463:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18468:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18469:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18517:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18618:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18619:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18621:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18622:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18623:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18624:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18625:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18626:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18627:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18628:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18629:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18630:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18631:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18632:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18633:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18781:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18782:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18787:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18788:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18789:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18790:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18794:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18802:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18803:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18804:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18805:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18806:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18808:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18809:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18821:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18822:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18823:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18824:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18825:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18826:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18827:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18828:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18829:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18878:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18919:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18922:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18923:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18924:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18925:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18926:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18929:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18930:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18931:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18932:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18933:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18934:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18939:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18940:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18941:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_18942:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19144:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19145:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19146:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19147:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19148:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19149:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19150:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19151:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19165:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19166:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19167:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_19168:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1979:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1982:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1983:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1984:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1987:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1988:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1989:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1990:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1993:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1994:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1995:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1996:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_1999:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2002:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2003:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2004:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2005:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20164:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20168:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20172:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20173:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20174:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20175:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20176:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20180:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20181:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20183:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20194:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20196:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20197:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20198:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20200:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20201:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20202:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20203:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20204:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20205:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20206:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20208:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20639:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20709:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20710:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20712:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20713:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20714:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20715:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20716:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20717:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20720:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20721:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20722:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20723:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20724:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20725:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20726:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20727:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20728:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20729:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20730:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20731:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20732:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20733:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20734:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20735:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_20736:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21065:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21201:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21205:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21209:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21210:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21216:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21220:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21221:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_214:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_215:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21516:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21517:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21518:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21519:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21522:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21523:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21524:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21525:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21526:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21569:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_216:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21675:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21676:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21677:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21679:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21680:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21681:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21682:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21683:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21684:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21685:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21686:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21687:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21688:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21689:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21695:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21696:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21697:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21698:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21736:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21739:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21740:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21741:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21744:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21745:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21746:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21750:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21762:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21764:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21765:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21766:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21767:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_21768:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_220:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_223:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23105:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23309:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23310:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23479:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23720:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23722:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23723:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23724:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23725:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23726:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23727:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23728:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23729:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23730:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23732:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23733:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23734:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23735:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23736:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23737:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23738:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23739:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23740:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23741:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_23742:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_239:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_240:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24000:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24007:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_241:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24203:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24204:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24205:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24206:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24339:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24340:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24348:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24349:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24350:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24351:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24352:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24353:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24354:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24355:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24356:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24357:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24358:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24359:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24360:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24361:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24362:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24363:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24364:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24365:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24366:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24656:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24657:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24658:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_24659:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25111:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25112:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25113:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25114:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25115:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25116:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25117:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25118:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25122:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25125:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25126:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25127:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25129:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25133:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25134:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25284:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25285:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25286:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25287:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25827:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25830:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25831:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25832:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25833:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25834:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25835:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25836:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25837:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25838:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_25839:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26352:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26987:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26991:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26992:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26993:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26994:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26995:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26996:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26997:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26998:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_26999:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27000:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27001:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27002:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27006:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27007:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27008:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27009:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27010:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27011:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27012:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27013:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27014:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27017:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27019:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27020:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27036:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27038:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27041:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27042:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27044:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27045:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27116:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_27137:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_278:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_279:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_281:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28226:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28227:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28228:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28241:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28243:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28272:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28273:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28274:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28275:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28276:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28277:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28278:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28279:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28280:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28284:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28285:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28288:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28289:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28290:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28291:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28292:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28293:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28294:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28295:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28296:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28297:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28298:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28299:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28756:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28767:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28768:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28769:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28770:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28771:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28772:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28773:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28774:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28775:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28776:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28780:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28781:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28782:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28783:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28784:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28918:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28919:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28920:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28921:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28922:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28923:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28924:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28925:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28926:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28927:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28928:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28929:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28930:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28931:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28932:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28933:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28934:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28939:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28942:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28943:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_28944:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29041:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29042:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29044:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29049:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29051:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29052:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29152:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29156:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29157:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29158:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29159:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29160:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29161:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29162:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29163:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29164:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29165:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29167:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29176:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29177:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29178:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29179:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29180:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29181:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29182:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29183:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29184:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29185:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29189:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29190:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29191:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29192:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29193:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29194:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29195:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29197:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29685:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29686:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29687:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29688:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29689:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2969:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29690:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29691:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2970:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_2971:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29711:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29825:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29826:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29827:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29828:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29829:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29830:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29831:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29832:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29833:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29838:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29840:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29841:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29842:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_29843:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3012:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3014:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3015:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3016:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3017:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3018:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3019:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3020:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3021:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3022:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3023:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3024:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30242:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30243:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30244:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30245:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30246:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30247:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30248:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30249:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3025:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30250:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30251:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30253:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30254:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30255:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30256:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30257:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3026:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3029:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3030:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3031:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3032:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3034:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3035:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3036:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3037:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3038:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3039:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3040:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3041:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3042:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30420:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30422:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30424:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30425:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30426:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30428:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3043:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30436:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30437:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30439:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30443:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30449:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30451:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30553:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30559:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30560:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30561:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30562:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30563:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30564:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30565:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30566:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30567:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30568:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30569:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30570:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30571:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30572:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30573:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30581:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30584:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30585:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30596:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30597:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30598:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30599:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30600:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30601:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30602:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30603:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30604:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30605:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30606:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30607:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30608:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30609:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30610:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30611:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30612:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30613:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30614:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30615:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30616:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30617:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30746:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30748:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30758:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30760:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30761:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30762:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30763:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30764:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30765:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30766:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30767:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30768:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30769:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30770:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30771:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30772:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30773:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_30777:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31074:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31075:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31076:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31077:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31078:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31079:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31080:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31081:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31082:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31083:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31084:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31085:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31086:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31087:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31088:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31089:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31098:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31099:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31100:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31101:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_31102:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32918:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32920:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32931:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32932:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32945:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_32948:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_33005:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_33079:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_33080:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3524:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3525:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3526:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3527:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3528:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3529:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3530:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3531:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3532:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3533:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3534:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3535:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3536:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3537:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3538:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3539:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3540:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3541:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3542:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3543:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3544:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3545:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3546:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3547:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3548:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3549:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3550:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3551:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35648:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35649:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35650:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35651:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35652:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35653:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35654:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35655:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35656:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35657:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35658:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35659:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35660:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35661:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35662:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35663:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35664:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35665:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35666:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35667:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35668:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35669:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35670:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35671:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35672:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35822:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3585:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3586:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35928:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35929:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35930:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35931:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35932:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35933:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35934:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35939:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35940:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35941:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35942:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35943:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35944:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35945:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35946:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35947:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35948:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35949:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35950:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35952:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35955:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35956:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35957:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35968:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35969:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35971:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35972:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35973:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35974:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35975:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35979:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35980:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35981:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_35982:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36210:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36224:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36225:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36226:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36227:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36228:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36229:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36230:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36859:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36860:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36861:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36862:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36863:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36864:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36865:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36866:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36867:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36868:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36872:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36873:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36874:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36875:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36876:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36877:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36878:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36879:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36880:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36881:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36882:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36883:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36884:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36933:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36934:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36939:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36940:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36941:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36942:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36943:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36945:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_36947:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37119:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37120:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37150:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37151:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37152:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37153:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37154:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37155:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_37156:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3797:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3798:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3799:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3800:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3801:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3802:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3803:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3804:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3805:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3806:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3807:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3808:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3809:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3810:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3811:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3812:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3813:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3814:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3815:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3816:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3817:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3818:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3819:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3820:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3821:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3825:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3831:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3832:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3833:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3834:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3835:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3836:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3837:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3838:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3839:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3843:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3844:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3921:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3922:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3923:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3924:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3925:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3926:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3927:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3928:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3929:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3933:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3935:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3936:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3937:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3938:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_3940:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4051:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4052:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4053:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4054:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4055:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4056:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4057:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4058:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4059:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4063:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4064:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4067:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4068:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4069:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4070:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4071:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4072:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4073:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4074:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4076:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4077:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4078:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4271:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4272:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4274:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4275:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4276:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4324:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4328:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4814:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4826:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4830:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4837:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4838:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4839:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_4842:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_491:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_492:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_493:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_495:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_496:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_497:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_498:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_499:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5128:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5129:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5130:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5131:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5132:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5133:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5134:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5135:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5136:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5137:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5138:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5139:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5140:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5141:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5142:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5143:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5144:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5145:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5146:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5147:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5148:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5150:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5151:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5152:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5153:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5154:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5155:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5196:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5197:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5204:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_5206:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6185:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6191:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6192:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6383:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6389:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6392:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6393:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6394:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6396:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6397:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6398:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6399:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6401:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6402:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6403:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6471:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6472:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6473:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6474:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6475:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6476:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6477:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6478:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6479:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6480:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6483:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6484:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6485:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6486:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6487:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6488:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6489:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6490:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6491:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6492:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6493:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6494:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6495:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6496:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_6500:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_78:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_8232:long (:long) __private__root_systemtap_write_systemtap_testsuite_semok_pretty2_stp__dwarf_pretty_print_deref_8233:long (:long) # probes kernel.trace("devlink:devlink_hwmsg") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kvm:kvm_set_guest_debug") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:trap_reg") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_arm_clear_debug") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_handle_sys_reg") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_arm_set_dreg32") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_arm_setup_debug") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_arm_set_regset") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_hvc_arm64") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_wfx_arm64") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gpio:gpio_value") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("gpio:gpio_direction") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi_data:iwlwifi_dev_rx_data") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi_data:iwlwifi_dev_tx_tso_chunk") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi_data:iwlwifi_dev_tx_data") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("snd_pcm:hw_ptr_error") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("snd_pcm:xrun") /* <- kernel.trace("*") */ # locals :long kernel.trace("snd_pcm:hwptr") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("target:target_cmd_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("target:target_sequencer_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("v4l2:vb2_v4l2_qbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("v4l2:vb2_v4l2_dqbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("v4l2:vb2_v4l2_buf_queue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("v4l2:vb2_v4l2_buf_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("v4l2:v4l2_qbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("v4l2:v4l2_dqbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:sb_clear_inode_writeback") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_dirty_inode_enqueue") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_lazytime_iput") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_wait_iff_congested") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_written") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:global_dirty_state") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_exec") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_write_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_write_inode_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_dirty_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_sb_inodes_requeue") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:wbc_writepage") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_dirty_inode_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_single_inode_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("writeback:writeback_dirty_page") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_lazytime") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_pages_written") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_wake_background") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_wait") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_nowork") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:sb_mark_inode_writeback") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_mark_inode_dirty") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_bdi_register") /* <- kernel.trace("*") */ # locals :long kernel.trace("writeback:writeback_single_inode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("writeback:writeback_queue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("writeback:writeback_queue_io") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("writeback:bdi_dirty_ratelimit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("writeback:balance_dirty_pages") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long :long :long kernel.trace("writeback:writeback_congestion_wait") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("lock:lock_release") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("lock:lock_acquire") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("sched:sched_wake_idle_without_ipi") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_swap_numa") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("sched:sched_wait_task") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_stat_runtime") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sched:sched_process_free") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_migrate_task") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_stick_numa") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sched:sched_process_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sched:sched_move_numa") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sched:sched_wakeup") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_waking") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_kthread_stop_ret") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_process_hang") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_process_exec") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sched:sched_process_wait") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_kthread_stop") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_stat_blocked") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_wakeup_new") /* <- kernel.trace("*") */ # locals :long kernel.trace("sched:sched_pi_setprio") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_process_fork") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_stat_wait") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_stat_sleep") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sched:sched_stat_iowait") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("page_isolation:test_pages_isolated") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("random:urandom_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("random:random_read") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("random:extract_entropy") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("random:get_random_bytes_arch") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("random:add_device_randomness") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("random:mix_pool_bytes_nolock") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("random:credit_entropy_bits") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("random:xfer_secondary_pool") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("random:push_to_pool") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("random:extract_entropy_user") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("random:add_disk_randomness") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("random:debit_entropy") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("random:mix_pool_bytes") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("random:add_input_randomness") /* <- kernel.trace("*") */ # locals :long kernel.trace("random:get_random_bytes") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("net:netif_rx_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:netif_receive_skb_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:napi_gro_receive_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:netif_receive_skb") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:napi_gro_frags_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:net_dev_queue") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:netif_rx_ni_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:net_dev_xmit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("net:netif_rx") /* <- kernel.trace("*") */ # locals :long kernel.trace("net:net_dev_start_xmit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_asid_change") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_aux") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_hwr") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_out") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_reenter") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("thp:hugepage_splitting") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("thp:hugepage_update") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("thp:hugepage_set_pmd") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("thp:hugepage_invalidate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filemap:mm_filemap_add_to_page_cache") /* <- kernel.trace("*") */ # locals :long kernel.trace("filemap:mm_filemap_delete_from_page_cache") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layout_recall_release") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layout_recall_fail") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layout_get_lookup_fail") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:read_opened") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:layout_recall") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layoutstate_free") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:read_io_done") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:read_done") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:layout_commit_lookup_fail") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:read_start") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:write_opened") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:layout_return_lookup_fail") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:write_done") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:write_io_done") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:write_start") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfsd:layoutstate_alloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layout_recall_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfsd:layoutstate_unhash") /* <- kernel.trace("*") */ # locals :long kernel.trace("i2c:smbus_result") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("i2c:smbus_reply") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("i2c:smbus_read") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("i2c:smbus_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("i2c:i2c_result") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("i2c:i2c_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("i2c:i2c_reply") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("i2c:i2c_write") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mmc:mmc_request_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mmc:mmc_request_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("xhci-hcd:xhci_cmd_completion") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("xhci-hcd:xhci_dbg_init") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_dbg_cancel_urb") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_dbg_reset_ep") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_dbg_quirks") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_address_ctx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("xhci-hcd:xhci_dbg_ring_expansion") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_dbg_context_change") /* <- kernel.trace("*") */ # locals :long kernel.trace("xhci-hcd:xhci_dbg_address") /* <- kernel.trace("*") */ # locals :long kernel.trace("skb:skb_copy_datagram_iovec") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("skb:consume_skb") /* <- kernel.trace("*") */ # locals :long kernel.trace("skb:kfree_skb") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:set_key") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:mt_rx_dma_aggr") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:mt_tx_status_cleaned") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:mt_tx_dma_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:mt_tx") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mt7601u:mt_rx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:freq_cal_adjust") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:read_temp") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:temp_mode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:mt_tx_status") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:reg_write") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:set_shared_key") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:mt_mcu_msg_send") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mt7601u:rf_read") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mt7601u:mt_vend_req") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long kernel.trace("mt7601u:bbp_write") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:reg_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:ee_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:freq_cal_offset") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mt7601u:mt_submit_urb") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mt7601u:rf_write") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mt7601u:bbp_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("rcu:rcu_utilization") /* <- kernel.trace("*") */ # locals :long kernel.trace("spi:spi_transfer_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("spi:spi_message_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("spi:spi_message_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("spi:spi_message_submit") /* <- kernel.trace("*") */ # locals :long kernel.trace("spi:spi_transfer_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("spi:spi_master_busy") /* <- kernel.trace("*") */ # locals :long kernel.trace("spi:spi_master_idle") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_writeback_collision") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_alloc_fail") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_alloc") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_keyscan") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("bcache:bcache_btree_set_root") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_writeback") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_gc_copy_collision") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_journal_full") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_cache_cannibalize") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_node_compact") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_journal_replay_key") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_bypass_sequential") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_read_retry") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_node_alloc_fail") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_insert_key") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("bcache:bcache_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("bcache:bcache_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("bcache:bcache_btree_node_split") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_bypass_congested") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_gc_coalesce") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_request_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_btree_write") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_node_free") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_request_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_journal_entry_full") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_journal_write") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_invalidate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("bcache:bcache_btree_read") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_btree_node_alloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_cache_insert") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_gc_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_gc_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("bcache:bcache_gc_copy") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg802154:802154_rdev_return_int") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg802154:802154_rdev_set_ackreq_default") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_set_lbt_mode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_set_max_frame_retries") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_set_csma_backoffs") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_add_virtual_intf") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg802154:802154_rdev_del_virtual_intf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg802154:802154_rdev_resume") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg802154:802154_rdev_set_backoff_exponent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg802154:802154_rdev_set_tx_power") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg802154:802154_rdev_suspend") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg802154:802154_rdev_set_short_addr") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_set_cca_mode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg802154:802154_rdev_set_channel") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg802154:802154_rdev_set_cca_ed_level") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg802154:802154_rdev_set_pan_id") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ucode_error") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long :long :long :long :long :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ucode_wrap_event") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_irq") /* <- kernel.trace("*") */ # locals :long kernel.trace("iwlwifi:iwlwifi_warn") /* <- kernel.trace("*") */ # locals :long kernel.trace("iwlwifi:iwlwifi_dev_tx") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_iowrite32") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ict_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_iowrite8") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ioread_prph32") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph64") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ioread32") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_hcmd") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_ucode_event") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi:iwlwifi_err") /* <- kernel.trace("*") */ # locals :long kernel.trace("iwlwifi:iwlwifi_dev_ucode_cont_event") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi:iwlwifi_info") /* <- kernel.trace("*") */ # locals :long kernel.trace("iwlwifi:iwlwifi_crit") /* <- kernel.trace("*") */ # locals :long kernel.trace("iwlwifi:iwlwifi_dev_iowrite64") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph32") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iwlwifi:iwlwifi_dbg") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("iwlwifi:iwlwifi_dev_rx") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("tlb:tlb_flush") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_wake_tx_queue") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_tdls_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_get_txpower") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_pre_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_set_default_unicast_key") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:stop_queue") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:wake_queue") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_sta_set_buffered") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:api_eosp") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_enable_rssi_reports") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_gtk_rekey_notify") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_remain_on_channel_expired") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_conf_tx") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_sta_add") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_sta_statistics") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_stop_tx_ba_session") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_sta_rc_update") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_set_rts_threshold") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_sta_rate_tbl_update") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_get_key_seq") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_get_tsf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_set_coverage_class") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_return_bool") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_change_chanctx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_sched_scan_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_reconfig_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_sta_block_awake") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_beacon_loss") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_update_tkip_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_tdls_recv_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_return_int") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_sched_scan_stopped") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_remove_chanctx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_tdls_cancel_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_config_iface_filter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_get_et_stats") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_sched_scan_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_sync_rx_queues") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_sta_notify") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_bss_info_changed") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:api_cqm_rssi_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_get_et_sset_count") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_return_u32") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_return_u64") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_get_stats") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_set_ringparam") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_sta_pre_rcu_remove") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_set_bitrate_mask") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_return_void") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_sw_scan_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_resume") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_set_frag_threshold") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_change_interface") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_get_antenna") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_suspend") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_ipv6_addr_change") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_radar_detected") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_config") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_sta_remove") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_offchannel_tx_cancel_wait") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_leave_ibss") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_stop") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:api_sched_scan_results") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_prepare_multicast") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_configure_filter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_remove_interface") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_start_tx_ba_session") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_set_tim") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_set_tsf") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_sta_state") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_reset_tsf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_tx_last_beacon") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_ampdu_action") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_hw_scan") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_get_ringparam") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_get_survey") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_restart_hw") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_flush") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_set_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_remain_on_channel") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("mac80211:drv_tx_frames_pending") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_event_callback") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_cqm_beacon_loss_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_set_rekey_data") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_release_buffered_frames") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("mac80211:api_ready_on_channel") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_mgd_prepare_tx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_set_antenna") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_sw_scan_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_mgd_protect_tdls_discover") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_add_chanctx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_chswitch_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_cancel_hw_scan") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_switch_vif_chanctx") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac80211:drv_cancel_remain_on_channel") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:drv_assign_vif_chanctx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_channel_switch_beacon") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_add_interface") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_unassign_vif_chanctx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_start_ap") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_stop_ap") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_set_wakeup") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_join_ibss") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_post_channel_switch") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:drv_get_expected_throughput") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:api_start_tx_ba_cb") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_allow_buffered_frames") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("mac80211:api_stop_tx_ba_cb") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:api_connection_loss") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac80211:api_send_eosp_nullfunc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac80211:drv_get_et_strings") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac80211:api_scan_completed") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("page_ref:page_ref_unfreeze") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("page_ref:page_ref_mod_unless") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("page_ref:page_ref_freeze") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("page_ref:page_ref_mod_and_return") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("page_ref:page_ref_mod_and_test") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("page_ref:page_ref_mod") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("page_ref:page_ref_set") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cma:cma_release") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cma:cma_alloc") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("hswadsp:hsw_device_config_req") /* <- kernel.trace("*") */ # locals :long kernel.trace("hswadsp:hsw_stream_free_req") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_stream_data_format") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_stream_alloc_reply") /* <- kernel.trace("*") */ # locals :long kernel.trace("hswadsp:ipc_error") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_mixer_info_reply") /* <- kernel.trace("*") */ # locals :long kernel.trace("hswadsp:sst_irq_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:ipc_request") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:ipc_pending_reply") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_stream_alloc_request") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:ipc_reply") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:ipc_notification") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:stream_read_position") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:sst_irq_busy") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:stream_write_position") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_volume_req") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hswadsp:hsw_stream_buffer") /* <- kernel.trace("*") */ # locals :long kernel.trace("host1x:host1x_syncpt_wait_check") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("host1x:host1x_syncpt_load_min") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("host1x:host1x_cdma_begin") /* <- kernel.trace("*") */ # locals :long kernel.trace("host1x:host1x_cdma_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("host1x:host1x_cdma_push_gather") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("host1x:host1x_cdma_push") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("host1x:host1x_wait_cdma") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("host1x:host1x_channel_release") /* <- kernel.trace("*") */ # locals :long kernel.trace("host1x:host1x_channel_submit") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("host1x:host1x_channel_open") /* <- kernel.trace("*") */ # locals :long kernel.trace("host1x:host1x_channel_submitted") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("host1x:host1x_channel_submit_complete") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:svc_revisit_deferred") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:svc_drop_deferred") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:svc_wake_up") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:svc_xprt_do_enqueue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:svc_process") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:rpc_socket_connect") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_task_sleep") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:svc_xprt_dequeue") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:rpc_socket_state_change") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:rpc_bind_status") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:rpc_socket_error") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_task_wakeup") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_socket_shutdown") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:rpc_task_complete") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:xprt_transmit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:svc_defer") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:rpc_call_status") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:rpc_connect_status") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:xs_tcp_data_recv") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:rpc_socket_reset_connection") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_task_run_action") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_socket_close") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:xprt_lookup_rqst") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:svc_handle_xprt") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:xprt_complete_rqst") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:rpc_task_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:xs_tcp_data_ready") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunrpc:svc_xprt_no_write_space") /* <- kernel.trace("*") */ # locals :long kernel.trace("sunrpc:svc_send") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:svc_recv") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunrpc:svc_drop") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_gtlb_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kvm:kvm_stlb_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kvm:kvm_stlb_inval") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_check_requests") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_ppc_instr") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_remove_metadata_tree") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_set_buffer_uptodate_begin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_buffer_cached_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_buffer_cached_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_write_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_read_blocks_bh") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_remove_block_from_cache") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_read_blocks_from_disk") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_read_blocks_sync_jbd") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_read_blocks_sync") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_queue_orphan_scan_end") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_queue_orphan_scan_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_mark_dead_nodes") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_replay_journal_skip") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_replay_journal_lock_err") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_recovery_thread_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_recovery_thread_node") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_read_blocks_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_complete_recovery_slot") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_complete_recovery") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_journal_shutdown_wait") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_journal_shutdown") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_journal_init") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_journal_access") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_allocate_extend_trans") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_extend_trans_restart") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_extend_trans") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_commit_cache_begin") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_encode_fh_type") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_encode_fh_parent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_encode_fh_self") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_get_dentry_generation") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_dentry_attach_lock_found") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_find_local_alias") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dentry_revalidate_ret") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_dentry_revalidate_nofsdata") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_dentry_revalidate_orphaned") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dentry_revalidate_delete") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_dentry_revalidate_negative") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_dentry_revalidate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_orphan_del") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_orphan_add_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_get_dentry_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_orphan_add_begin") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_blkno_stringify") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_symlink_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_rename_disagree") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_unlink_noent") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_link") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_mknod") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_symlink_create") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_journal_init_maxlen") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_mkdir") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_lookup") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_prepare_dir_for_insert") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dx_dir_rebalance") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_double_lock_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dx_dir_format_cluster") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_check_dir_for_entry") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_create_symlink_data") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_readdir") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_delete_entry_dx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dx_dir_search") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_validate_dir_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_search_dirblock") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_acquire_dquot") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_write_dquot") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_read_blocks_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:olq_set_dquot") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_rename_not_permitted") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_finish_quota_recovery") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_recover_local_quota_file") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_resmap_resv_bits") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_cannibalize_resv_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_cannibalize_resv_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_resv_find_window_next") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_resv_find_window_prev") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_insert_cache_tree") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_resv_find_window_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_add_refcount_flag") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_free_clusters") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_add_clusters_in_btree_ret") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits_iterate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_rotate_leaf") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_replay_journal_recovered") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_trim_fs") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_purge_copied_metadata_tree") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_decrease_refcount") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_sync_dquot_helper") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_xattr_extend_allocation") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_split_refcount_rec_insert") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_file_splice_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_delete_inode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_release_dquot") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_symlink_get_block") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_clear_ext_refcount") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_expand_cache") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_prepare_refcount_change_for_del") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_insert_extent_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_block_group_alloc_contig") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_create_refcount_tree") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_decrease_refcount_rec") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_mv_xattr_buckets") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_change_refcount_rec") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_validate_refcount_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_test_suballoc_bit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_orphan_filldir") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_find_entry_el") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_sync_local_to_main_free") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_recover_node") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_iget_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_increase_refcount_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_validate_extent_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_insert") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_la_set_sizes") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_map_slot_buffers") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_search_chain_succ") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_block_group_search_max_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_lock_refcount_allocators") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_no_new_group") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_nospc") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dx_dir_search_leaf_info") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_load_local_alloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_trim_extent") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_write_zero_page") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_encode_fh_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_cluster_group_search_max_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_rename_over_existing") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_block_group_alloc_discontig") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_replace_clusters") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_begin_truncate_log_recovery") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_test_inode_bit") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_dentry_attach_lock") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_readpage") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_truncate_log_recovery_num") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_restore_refcount_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_search_chain_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_adjust_rightmost_branch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_flush_truncate_log") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_grow_tree") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_remove_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_commit_truncate") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_cache_cluster_dealloc") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_trim_group") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_replay_truncate_records") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_block_group_alloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_add_clusters_in_btree") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_lookup_ret") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_mark_extent_written") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_dx_dir_index_root_block") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_read_locked_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_cluster_group_search_wrong_max_bits") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_validate_quota_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_local_alloc_new_window") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_truncate_log_append") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_get_block") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_claim_new_inode_at_loc") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_jbd") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_alloc_should_use_local") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_get_suballoc_slot_bit") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits_search_bitmap") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dx_dir_rebalance_split") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_update_last_group_and_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_append_cache_array") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_get_parent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_append_rec_to_path") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_extend_allocation_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_complete_edge_insert") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_file_aio_write") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_free_suballoc_bits") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_complete_recovery_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_remove_refcount_extent") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_try_to_write_inline_data") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_validate_group_descriptor") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_block_group_set_bits") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_initialize_super") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_rotate_subtree") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_recovery_thread") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_create_refcount_tree_blkno") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_local_alloc_new_window_result") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_get_next_id") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_run_deallocs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_resv_insert") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_double_lock") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_reserve_new_inode_new_group") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_get_parent_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_find_actor") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_cache_block_dealloc") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_block_group_clear_bits") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_claim_suballoc_bits") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_truncate_file") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_find_files_on_disk") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_mv_xattr_bucket_cross_cluster") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_increase_refcount_split") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_purge_refcount_trees") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_mark_extent_refcounted") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_refresh_slot_info") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_free_cached_blocks") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_reserve_local_alloc_bits") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_rename_target_exists") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_complete_truncate_log_recovery") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_validate_inode_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_insert_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_split_refcount_rec") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_local_alloc_count_bits") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_bmap") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_new_leaf_refcount_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_xattr_index_block_find_rec") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_sync_local_to_main") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_increase_refcount_change") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_reflink_xattr_header") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_file_aio_read") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_write_begin_nolock") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_group_add") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_search_chain_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_remove_metadata_array") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_make_clusters_writable") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_refcount_cow_hunk") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_xattr_index_block_find") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_split_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_get_block_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_write_end_inline") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_get_dentry_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_setattr") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_increase_refcount_insert") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_validate_xattr_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_xattr_create_index_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_create_empty_xattr_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_recover_node_skip") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_unlink") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_file_open") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_page") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_prepare_inode_for_write") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_iget_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_file_release") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_rotate_tree_right") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_sync_file") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_mark_inode_dirty") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_put_super") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_file_splice_read") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_xattr_bucket_value_refcount") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_truncate_file_error") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_extend_allocation") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_fault") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_zero_extend_range") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_recover_orphans_iput") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_xattr_bucket_find") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_zero_extend") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_num_free_extents") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_write_remove_suid") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range2") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_set_buffer_uptodate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_zero_partial_clusters") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_query_inode_wipe_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_remove_inode_range") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_relink_block_group") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_iget5_locked") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_check_orphan_recovery_state") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_filecheck_validate_inode_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_begin_local_alloc_recovery") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_filecheck_repair_inode_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_divide_leaf_refcount_block") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_inode_is_valid_to_delete") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_recover_orphans") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_query_inode_wipe_begin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_query_inode_wipe_succ") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:generic_file_aio_read_ret") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_cleanup_delete_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_mark_dquot_dirty") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_fill_super") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_metadata_cache_purge") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_sync_dquot") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_drop_inode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range1") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_inode_revalidate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_read_virt_blocks") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_remount") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_wait_on_mount") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_journal_dirty") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_find_slot") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_do_node_down") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_group_extend") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_parse_options") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_statfs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_get_dentry_stale") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_dismount_volume") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_commit_cache_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_insert_refcount_rec") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ocfs2:ocfs2_init_xattr_set_ctxt") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_extend_xattr_bucket") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_iterate_xattr_buckets") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_mv_orphaned_inode_to_new") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_iterate_xattr_bucket") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_begin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_create") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_map_slot_buffers_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_cp_xattr_bucket") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_xattr_create_index_block_begin") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_rename") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("ocfs2:ocfs2_defrag_xattr_bucket") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_populate_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_begin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_end") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_move") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_dx_dir_attach_index") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_adjust_xattr_cross_cluster") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_add_new_xattr_bucket") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_get_dentry_test_bit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_expand_inline_ref_root") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_xattr_bucket_value_truncate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_rm_xattr_cluster") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ocfs2:ocfs2_extend_dir") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_xattr_set_entry_index_block") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_xattr_set_entry_bucket") /* <- kernel.trace("*") */ # locals :long kernel.trace("ocfs2:ocfs2_clear_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_reflink_xattr_buckets") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ocfs2:ocfs2_writepage") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ocfs2:ocfs2_reflink_xattr_rec") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:dev_pm_qos_remove_request") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:dev_pm_qos_add_request") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:pm_qos_update_flags") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:pm_qos_update_request_timeout") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:power_domain_target") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:clock_disable") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:cpu_idle") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:device_pm_callback_end") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:pm_qos_add_request") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:clock_set_rate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:powernv_throttle") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:cpu_frequency") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:pm_qos_update_request") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:device_pm_callback_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:suspend_resume") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:dev_pm_qos_update_request") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:pm_qos_remove_request") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:pstate_sample") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("power:wakeup_source_deactivate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:pm_qos_update_target") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("power:wakeup_source_activate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:clock_enable") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sock:sock_exceed_buf_limit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sock:sock_rcvqueue_full") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_es_shrink") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_es_lookup_extent_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_es_lookup_extent_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_es_remove_extent") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_ext_remove_space") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_get_reserved_cluster_alloc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_find_delalloc_range") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ext4:ext4_es_find_delayed_extent_range_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_ext_in_cache") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_ext_put_in_cache") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_get_implied_cluster_alloc_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_es_shrink_scan_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_journal_start_reserved") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_journal_start") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_load_inode") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_ext_load_extent") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_ind_map_blocks_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_ext_map_blocks_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_ext_convert_to_initialized_fastpath") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_truncate_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_ext_handle_unwritten_extents") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_truncate_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_unlink_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_unlink_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_fallocate_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_collapse_range") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_punch_hole") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_fallocate_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_direct_IO_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_es_cache_extent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_read_block_bitmap_load") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_journalled_invalidatepage") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_es_shrink_scan_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_es_insert_extent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_mb_bitmap_load") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_invalidatepage") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_da_write_pages_extent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_ext_map_blocks_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_ext_convert_to_initialized_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_mballoc_prealloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_es_find_delayed_extent_range_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_direct_IO_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_da_write_pages") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_writepages") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_ext_rm_leaf") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_sync_file_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_mballoc_alloc") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_writepage") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_zero_range") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_da_update_reserve_space") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_mark_inode_dirty") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_other_inode_update_time") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_ext_show_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_trim_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_begin_ordered_truncate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_drop_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_allocate_blocks") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_alloc_da_blocks") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_journalled_write_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_ext_rm_idx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_da_write_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_remove_blocks") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_mballoc_discard") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_mb_release_group_pa") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_mballoc_free") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ext4:ext4_allocate_inode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_mb_discard_preallocations") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_free_inode") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_evict_inode") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_request_blocks") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_load_inode_bitmap") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_writepages_result") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_insert_range") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_write_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_da_write_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_mb_new_inode_pa") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_request_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_discard_blocks") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_write_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_mb_new_group_pa") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_ext_remove_space_done") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("ext4:ext4_da_reserve_space") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_releasepage") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_mb_release_inode_pa") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_discard_preallocations") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_ind_map_blocks_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_free_blocks") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_sync_file_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_es_shrink_count") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_sync_fs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_readpage") /* <- kernel.trace("*") */ # locals :long kernel.trace("ext4:ext4_forget") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ext4:ext4_trim_all_free") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("ext4:ext4_da_release_space") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ext4:ext4_mb_buddy_bitmap_load") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:generic_delete_lease") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:break_lease_block") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:break_lease_unblock") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:break_lease_noblock") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:generic_add_lease") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:locks_remove_posix") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("filelock:time_out_leases") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("filelock:fcntl_setlk") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("filelock:posix_lock_inode") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("filelock:locks_get_lock_context") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cpuhp:cpuhp_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cpuhp:cpuhp_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("pagemap:mm_lru_activate") /* <- kernel.trace("*") */ # locals :long kernel.trace("pagemap:mm_lru_insertion") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("sunvnet:vnet_tx_trigger") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("sunvnet:vnet_rx_stopped_ack") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunvnet:vnet_skip_tx_trigger") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("sunvnet:vnet_tx_pending_stopped_ack") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("sunvnet:vnet_tx_defer_stopped_ack") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("sunvnet:vnet_tx_send_stopped_ack") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("sunvnet:vnet_rx_one") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("fib6:fib6_table_lookup") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("gfs2:gfs2_block_alloc") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("gfs2:gfs2_rs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_glock_state_change") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_promote") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_bmap") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("gfs2:gfs2_demote_rq") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_glock_lock_time") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_glock_queue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_pin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_log_blocks") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_glock_put") /* <- kernel.trace("*") */ # locals :long kernel.trace("gfs2:gfs2_log_flush") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("gfs2:gfs2_ail_flush") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("oom:oom_score_adj_update") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_abort_scan") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_set_coalesce") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_start_radar_detection") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_stop_iface") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_ft_event") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_report_wowlan_wakeup") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_return_uint") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:cfg80211_return_bss") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:cfg80211_get_bss") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("cfg80211:cfg80211_tdls_oper_request") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:cfg80211_pmksa_candidate_notify") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_gtk_rekey_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_probe_status") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_rx_unexpected_4addr_frame") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_rx_spurious_frame") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_cac_event") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_radar_event") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_ch_switch_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_reg_can_beacon") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_mgmt_tx_status") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_del_sta") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_ready_on_channel_expired") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_tx_mlme_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_rx_mlme_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_cqm_rssi_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_rx_unprot_mlme_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_notify_new_peer_candidate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_tdls_cancel_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_tdls_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:cfg80211_sched_scan_results") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_get_tx_power") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_update_mesh_config") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_scan_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_leave_ocb") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_get_station") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_sched_scan_stopped") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:cfg80211_ch_switch_started_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_dump_mpp") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_get_mpp") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_report_obss_beacon") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_set_txq_params") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_assoc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_ap_chanwidth") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_add_mpath") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_dump_station") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_set_wds_peer") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_mcast_rate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_del_mpath") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_change_station") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_set_default_mgmt_key") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_cqm_pktloss_notify") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_wakeup") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_return_void") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:cfg80211_chandef_dfs_required") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_join_mesh") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_return_int_mpath_info") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_flush_pmksa") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_return_int_station_info") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_inform_bss_frame") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_set_rekey_data") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_return_wdev") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_del_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_get_antenna") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_rfkill_poll") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_get_channel") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_resume") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_set_default_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_leave_mesh") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_scan") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_change_virtual_intf") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_mgmt_tx_cancel_wait") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_get_mpath") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_libertas_set_mesh_channel") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_get_mesh_config") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_send_auth_timeout") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_return_int") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_del_virtual_intf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_add_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:cfg80211_rx_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_change_mpath") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_suspend") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_sched_scan_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_del_station") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_return_u32") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_del_pmksa") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_return_void_tx_rx") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_set_monitor_channel") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_auth") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_wiphy_params") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_tdls_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long kernel.trace("cfg80211:rdev_deauth") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_michael_mic_failure") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_set_power_mgmt") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_disassoc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_connect") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_new_sta") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_stop_ap") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_set_cqm_rssi_config") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_change_bss") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_cqm_txe_config") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_probe_client") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_qos_map") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_disconnect") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_join_ibss") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_join_ocb") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_tx_power") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_return_int_int") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_return_int_mesh_config") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_bitrate_mask") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_start_p2p_device") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_return_bool") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_mgmt_frame_register") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_set_antenna") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_dump_mpath") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_add_station") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_leave_ibss") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_start_ap") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_tdls_oper") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_sched_scan_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_cancel_remain_on_channel") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_dump_survey") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_ready_on_channel") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:cfg80211_send_assoc_timeout") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_return_int_survey_info") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_set_pmksa") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_send_rx_auth") /* <- kernel.trace("*") */ # locals :long kernel.trace("cfg80211:rdev_remain_on_channel") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_return_int_cookie") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_channel_switch") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:cfg80211_send_rx_assoc") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_get_key") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("cfg80211:rdev_set_noack_map") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_change_beacon") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_add_virtual_intf") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_return_chandef") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_stop_p2p_device") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:rdev_del_tx_ts") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_set_mac_acl") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_update_ft_ies") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_crit_proto_start") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_mgmt_tx") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_return_int_tx_rx") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("cfg80211:rdev_crit_proto_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("cfg80211:cfg80211_ibss_joined") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("cfg80211:rdev_add_tx_ts") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("nilfs2:nilfs2_mdt_submit_block") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nilfs2:nilfs2_segment_usage_allocated") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nilfs2:nilfs2_mdt_insert_new_block") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nilfs2:nilfs2_segment_usage_check") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nilfs2:nilfs2_transaction_transition") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("nilfs2:nilfs2_segment_usage_freed") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nilfs2:nilfs2_collection_stage_transition") /* <- kernel.trace("*") */ # locals :long kernel.trace("irq:softirq_raise") /* <- kernel.trace("*") */ # locals :long kernel.trace("irq:softirq_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("irq:irq_handler_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("irq:softirq_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("irq:irq_handler_entry") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_rq_remap") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("block:block_plug") /* <- kernel.trace("*") */ # locals :long kernel.trace("block:block_sleeprq") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_getrq") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_split") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_bio_queue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_bio_frontmerge") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_bio_remap") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("block:block_touch_buffer") /* <- kernel.trace("*") */ # locals :long kernel.trace("block:block_bio_bounce") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_rq_abort") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_rq_insert") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_rq_complete") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_rq_requeue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_dirty_buffer") /* <- kernel.trace("*") */ # locals :long kernel.trace("block:block_bio_complete") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_unplug") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("block:block_rq_issue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("block:block_bio_backmerge") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("spmi:spmi_cmd") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("spmi:spmi_read_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("spmi:spmi_read_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("spmi:spmi_write_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("spmi:spmi_write_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("intel-sst:sst_ipc_inbox_write") /* <- kernel.trace("*") */ # locals :long kernel.trace("intel-sst:sst_ipc_inbox_read") /* <- kernel.trace("*") */ # locals :long kernel.trace("intel-sst:sst_ipc_outbox_wdata") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("intel-sst:sst_ipc_outbox_rdata") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("intel-sst:sst_ipc_inbox_wdata") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("intel-sst:sst_ipc_inbox_rdata") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("intel-sst:sst_ipc_outbox_write") /* <- kernel.trace("*") */ # locals :long kernel.trace("intel-sst:sst_ipc_outbox_read") /* <- kernel.trace("*") */ # locals :long kernel.trace("intel-sst:sst_ipc_msg_rx") /* <- kernel.trace("*") */ # locals :long kernel.trace("intel-sst:sst_ipc_msg_tx") /* <- kernel.trace("*") */ # locals :long kernel.trace("rpm:rpm_return_int") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("rpm:rpm_idle") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("rpm:rpm_resume") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("rpm:rpm_suspend") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("fib:fib_validate_source") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("fib:fib_table_lookup_nh") /* <- kernel.trace("*") */ # locals :long kernel.trace("fib:fib_table_lookup") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("regmap:regmap_async_complete_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("regmap:regmap_async_io_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("regmap:regmap_reg_write") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_async_complete_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("regmap:regmap_hw_read_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regcache_drop_region") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_reg_read") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_async_write_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_hw_write_done") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_reg_read_cache") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_hw_read_done") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_hw_write_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_cache_only") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("regmap:regcache_sync") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regmap:regmap_cache_bypass") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("radeon:radeon_bo_create") /* <- kernel.trace("*") */ # locals :long kernel.trace("radeon:radeon_cs") /* <- kernel.trace("*") */ # locals :long kernel.trace("radeon:radeon_vm_grab_id") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("radeon:radeon_fence_emit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("radeon:radeon_vm_bo_update") /* <- kernel.trace("*") */ # locals :long kernel.trace("radeon:radeon_vm_flush") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("radeon:radeon_vm_set_page") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("radeon:radeon_fence_wait_begin") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("radeon:radeon_semaphore_wait") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("radeon:radeon_semaphore_signale") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("radeon:radeon_fence_wait_end") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("migrate:mm_numa_migrate_ratelimit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("migrate:mm_migrate_pages") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("scsi:scsi_eh_wakeup") /* <- kernel.trace("*") */ # locals :long kernel.trace("scsi:scsi_dispatch_cmd_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("scsi:scsi_dispatch_cmd_error") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("scsi:scsi_dispatch_cmd_timeout") /* <- kernel.trace("*") */ # locals :long kernel.trace("scsi:scsi_dispatch_cmd_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("raw_syscalls:sys_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("raw_syscalls:sys_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("drm:drm_vblank_event_delivered") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("drm:drm_vblank_event_queued") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("drm:drm_vblank_event") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("task:task_rename") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("task:task_newtask") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("ras:aer_event") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("ras:mc_event") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long :long :long kernel.trace("9p:9p_protocol_dump") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("9p:9p_client_res") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("9p:9p_client_req") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("context_tracking:user_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("context_tracking:user_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("napi:napi_poll") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("vsock:virtio_transport_recv_pkt") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long kernel.trace("vsock:virtio_transport_alloc_pkt") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("hda_controller:azx_pcm_prepare") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda_controller:azx_pcm_hw_params") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda_controller:azx_pcm_close") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda_controller:azx_pcm_open") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda_controller:azx_get_position") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("hda_controller:azx_pcm_trigger") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac802154:802154_drv_set_csma_params") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("mac802154:802154_drv_set_extended_addr") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_promiscuous_mode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_pan_id") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_return_void") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac802154:802154_drv_set_cca_ed_level") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_channel") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("mac802154:802154_drv_set_pan_coord") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_return_int") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_stop") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac802154:802154_drv_set_lbt_mode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_max_frame_retries") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_cca_mode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("mac802154:802154_drv_set_tx_power") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("mac802154:802154_drv_set_short_addr") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_update_log_tail") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("jbd2:jbd2_write_superblock") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_checkpoint_stats") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("jbd2:jbd2_checkpoint") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_drop_transaction") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_run_stats") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("jbd2:jbd2_commit_logging") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_lock_buffer_stall") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_commit_flushing") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_start_commit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_end_commit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_commit_locking") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("jbd2:jbd2_submit_inode_data") /* <- kernel.trace("*") */ # locals :long kernel.trace("jbd2:jbd2_handle_stats") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("jbd2:jbd2_handle_start") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("jbd2:jbd2_handle_extend") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("vb2:vb2_qbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("vb2:vb2_dqbuf") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("vb2:vb2_buf_queue") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("vb2:vb2_buf_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("signal:signal_deliver") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("signal:signal_generate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("udp:udp_fail_queue_rcv_skb") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("printk:console") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_fpu") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_mmio") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_halt_poll_ns") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_age_page") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_ack_irq") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_set_irq") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_vcpu_wakeup") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_userspace_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("libata:ata_eh_link_autopsy_qc") /* <- kernel.trace("*") */ # locals :long kernel.trace("libata:ata_eh_link_autopsy") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("libata:ata_qc_complete_failed") /* <- kernel.trace("*") */ # locals :long kernel.trace("libata:ata_qc_complete_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("libata:ata_qc_complete_internal") /* <- kernel.trace("*") */ # locals :long kernel.trace("libata:ata_qc_issue") /* <- kernel.trace("*") */ # locals :long kernel.trace("nmi:nmi_handler") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_kcompactd_wake") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_kcompactd_sleep") /* <- kernel.trace("*") */ # locals :long kernel.trace("compaction:mm_compaction_isolate_migratepages") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("compaction:mm_compaction_deferred") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("compaction:mm_compaction_migratepages") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_defer_reset") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("compaction:mm_compaction_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("compaction:mm_compaction_isolate_freepages") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("compaction:mm_compaction_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("compaction:mm_compaction_try_to_compact_pages") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_finished") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_defer_compaction") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("compaction:mm_compaction_wakeup_kcompactd") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("compaction:mm_compaction_suitable") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("clk:clk_set_phase_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("clk:clk_set_rate_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("clk:clk_disable") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_prepare") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_set_phase") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("clk:clk_set_parent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("clk:clk_unprepare") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_set_parent_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("clk:clk_enable") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_disable_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_prepare_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_enable_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_unprepare_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("clk:clk_set_rate") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("thermal_power_allocator:thermal_power_allocator_pid") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("thermal_power_allocator:thermal_power_allocator") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long :long :long kernel.trace("iommu:unmap") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iommu:detach_device_from_domain") /* <- kernel.trace("*") */ # locals :long kernel.trace("iommu:attach_device_to_domain") /* <- kernel.trace("*") */ # locals :long kernel.trace("iommu:io_page_fault") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iommu:map") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("iommu:remove_device_from_group") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("iommu:add_device_to_group") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("module:module_request") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("module:module_put") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("module:module_get") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("module:module_free") /* <- kernel.trace("*") */ # locals :long kernel.trace("module:module_load") /* <- kernel.trace("*") */ # locals :long kernel.trace("f2fs:f2fs_sync_dirty_inodes_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_sync_dirty_inodes_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_destroy_extent_tree") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_shrink_extent_tree") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_update_extent_tree_range") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_truncate_partial_nodes") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_unlink_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_truncate_blocks_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_background_gc") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_set_page_dirty") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_truncate_node") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_truncate_data_blocks_range") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_truncate_blocks_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_submit_read_bio") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_lookup_extent_tree_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_truncate") /* <- kernel.trace("*") */ # locals :long kernel.trace("f2fs:f2fs_sync_fs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_get_victim") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("f2fs:f2fs_truncate_nodes_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_unlink_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_write_checkpoint") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_readpages") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_issue_flush") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_iget_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_reserve_new_blocks") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_truncate_inode_blocks_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_new_inode") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_sync_file_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_fallocate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("f2fs:f2fs_truncate_nodes_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_readpage") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_writepages") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_direct_IO_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_evict_inode") /* <- kernel.trace("*") */ # locals :long kernel.trace("f2fs:f2fs_direct_IO_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("f2fs:f2fs_submit_page_bio") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_submit_page_mbio") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_truncate_inode_blocks_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_submit_write_bio") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_write_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_iget") /* <- kernel.trace("*") */ # locals :long kernel.trace("f2fs:f2fs_issue_discard") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_writepage") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_sync_file_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("f2fs:f2fs_write_end") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("f2fs:f2fs_do_write_data_page") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_map_blocks") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("f2fs:f2fs_commit_inmem_page") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_vm_page_mkwrite") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_register_inmem_page") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("f2fs:f2fs_lookup_extent_tree_end") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("timer:itimer_expire") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("timer:itimer_state") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("timer:timer_expire_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:timer_cancel") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:tick_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("timer:hrtimer_init") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("timer:timer_expire_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:timer_start") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("timer:hrtimer_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:hrtimer_expire_entry") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("timer:timer_init") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:hrtimer_expire_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("timer:hrtimer_cancel") /* <- kernel.trace("*") */ # locals :long kernel.trace("swiotlb:swiotlb_bounced") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_timer_update_irq") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:vgic_update_irq_pending") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("vsyscall:emulate_vsyscall") /* <- kernel.trace("*") */ # locals :long kernel.trace("power:cpu_migrate_current") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:cpu_migrate_finish") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("power:cpu_migrate_begin") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("workqueue:workqueue_execute_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("workqueue:workqueue_execute_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("workqueue:workqueue_activate_work") /* <- kernel.trace("*") */ # locals :long kernel.trace("workqueue:workqueue_queue_work") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kmem:mm_page_alloc_extfrag") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kmem:mm_page_alloc_zone_locked") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kmem:kmalloc_node") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("kmem:kmem_cache_alloc_node") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("kmem:kfree") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kmem:kmem_cache_alloc") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kmem:kmalloc") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("kmem:kmem_cache_free") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kmem:mm_page_free") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kmem:mm_page_free_batched") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kmem:mm_page_pcpu_drain") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kmem:mm_page_alloc") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_sillyrename_unlink") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_sillyrename_rename") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("nfs:nfs_rename_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("nfs:nfs_symlink_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_symlink_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_remove_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_remove_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_rmdir_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_rmdir_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_mkdir_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_mknod_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_create_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_rename_enter") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_atomic_open_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_atomic_open_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_link_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_create_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_access_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_invalidate_mapping_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_invalidate_mapping_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_getattr_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_unlink_enter") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_revalidate_inode_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_fsync_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_setattr_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_link_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_revalidate_inode_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_writeback_page_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_getattr_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_fsync_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_refresh_inode_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_writeback_page_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_mkdir_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_writeback_inode_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_setattr_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_access_exit") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("nfs:nfs_writeback_inode_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_lookup_revalidate_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_lookup_enter") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_unlink_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_lookup_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("nfs:nfs_mknod_exit") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("nfs:nfs_refresh_inode_enter") /* <- kernel.trace("*") */ # locals :long kernel.trace("nfs:nfs_lookup_revalidate_exit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("thermal:thermal_power_devfreq_get_power") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("thermal:thermal_power_devfreq_limit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("thermal:thermal_power_cpu_get_power") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("thermal:thermal_zone_trip") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("thermal:cdev_update") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("thermal:thermal_power_cpu_limit") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("thermal:thermal_temperature") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_enable_signal") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_wait_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_destroy") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_init") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_signaled") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_emit") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_wait_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("fence:fence_annotate_wait_on") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda_intel:azx_runtime_resume") /* <- kernel.trace("*") */ # locals :long kernel.trace("hda_intel:azx_runtime_suspend") /* <- kernel.trace("*") */ # locals :long kernel.trace("hda_intel:azx_resume") /* <- kernel.trace("*") */ # locals :long kernel.trace("hda_intel:azx_suspend") /* <- kernel.trace("*") */ # locals :long kernel.trace("hda:snd_hdac_stream_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda:hda_unsol_event") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("hda:hda_get_response") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("hda:snd_hdac_stream_stop") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("hda:hda_send_cmd") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_test_age_hva") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_set_way_flush") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_age_hva") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_set_spte_hva") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_guest_fault") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_wfx") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_hvc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_access_fault") /* <- kernel.trace("*") */ # locals :long kernel.trace("kvm:kvm_emulate_cp15_imp") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("kvm:kvm_irq_line") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("kvm:kvm_toggle_cache") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_mmio_emulate") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("kvm:kvm_unmap_hva_range") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("kvm:kvm_unmap_hva") /* <- kernel.trace("*") */ # locals :long kernel.trace("vmscan:mm_vmscan_writepage") /* <- kernel.trace("*") */ # locals :long kernel.trace("vmscan:mm_vmscan_lru_shrink_inactive") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("vmscan:mm_vmscan_memcg_isolate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("vmscan:mm_vmscan_lru_isolate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("vmscan:mm_shrink_slab_end") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("vmscan:mm_vmscan_kswapd_sleep") /* <- kernel.trace("*") */ # locals :long kernel.trace("vmscan:mm_vmscan_direct_reclaim_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("vmscan:mm_vmscan_memcg_reclaim_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("vmscan:mm_vmscan_memcg_reclaim_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("vmscan:mm_vmscan_wakeup_kswapd") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("vmscan:mm_vmscan_kswapd_wake") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_begin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("vmscan:mm_vmscan_direct_reclaim_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("vmscan:mm_shrink_slab_start") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long :long kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_end") /* <- kernel.trace("*") */ # locals :long kernel.trace("regulator:regulator_set_voltage") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("regulator:regulator_disable_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("regulator:regulator_disable") /* <- kernel.trace("*") */ # locals :long kernel.trace("regulator:regulator_enable_complete") /* <- kernel.trace("*") */ # locals :long kernel.trace("regulator:regulator_set_voltage_complete") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("regulator:regulator_enable_delay") /* <- kernel.trace("*") */ # locals :long kernel.trace("regulator:regulator_enable") /* <- kernel.trace("*") */ # locals :long kernel.trace("huge_memory:mm_collapse_huge_page_swapin") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("huge_memory:mm_collapse_huge_page_isolate") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("huge_memory:mm_collapse_huge_page") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("huge_memory:mm_khugepaged_scan_pmd") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long :long kernel.trace("btrfs:qgroup_update_counters") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_qgroup_insert_dirty_extent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_qgroup_account_extents") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_qgroup_free_delayed_ref") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_transaction_commit") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:alloc_extent_state") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:add_delayed_ref_head") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:run_delayed_data_ref") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:add_delayed_tree_ref") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_sync_file") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_writepage_end_io_hook") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_chunk_alloc") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_ordered_extent_add") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_qgroup_release_data") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("btrfs:btrfs_cow_block") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_sync_fs") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_inode_new") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_ordered_extent_remove") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_ordered_extent_put") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_get_extent") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:find_free_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_qgroup_account_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("btrfs:run_delayed_tree_ref") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:run_delayed_ref_head") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_reserve_extent") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_failed_cluster_setup") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_add_block_group") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_ordered_sched") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_chunk_free") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_reserved_extent_alloc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_trigger_flush") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("btrfs:btrfs_reserve_extent_cluster") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_inode_evict") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_ordered_extent_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_space_reservation") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("btrfs:btrfs_flush_space") /* <- kernel.trace("*") */ # locals :long :long :long :long :long :long kernel.trace("btrfs:btrfs_reserved_extent_free") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_inode_request") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_all_work_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_workqueue_alloc") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:btrfs_find_cluster") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("btrfs:__extent_writepage") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("btrfs:free_extent_state") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_work_queued") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_work_sched") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:btrfs_workqueue_destroy") /* <- kernel.trace("*") */ # locals :long kernel.trace("btrfs:add_delayed_data_ref") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_setup_cluster") /* <- kernel.trace("*") */ # locals :long :long :long :long kernel.trace("btrfs:btrfs_qgroup_init_data_rsv_map") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_qgroup_free_data_rsv_map") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("btrfs:btrfs_qgroup_reserve_data") /* <- kernel.trace("*") */ # locals :long :long :long :long :long kernel.trace("ipi:ipi_exit") /* <- kernel.trace("*") */ # locals :long kernel.trace("ipi:ipi_entry") /* <- kernel.trace("*") */ # locals :long kernel.trace("ipi:ipi_raise") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_bias_level_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_bias_level_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_dapm_widget_event_done") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_jack_irq") /* <- kernel.trace("*") */ # locals :long kernel.trace("asoc:snd_soc_dapm_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("asoc:snd_soc_dapm_widget_power") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_dapm_widget_event_start") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_dapm_walk_done") /* <- kernel.trace("*") */ # locals :long kernel.trace("asoc:snd_soc_dapm_path") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("asoc:snd_soc_jack_notify") /* <- kernel.trace("*") */ # locals :long :long kernel.trace("asoc:snd_soc_jack_report") /* <- kernel.trace("*") */ # locals :long :long :long kernel.trace("asoc:snd_soc_dapm_start") /* <- kernel.trace("*") */ # locals :long kernel.trace("asoc:snd_soc_dapm_connected") /* <- kernel.trace("*") */ # locals :long :long timer.s(900) /* <- timer.s(900) */ wait results: 16897 exp36 0 0 PASS: semok/pretty2.stp Running /root/systemtap_write/systemtap/testsuite/semok/seven.stp starting /root/systemtap_write/systemtap/testsuite/semok/seven.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/seven.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/seven.stp WARNING: never-assigned local variable 'key' (similar: ar1, ar2): identifier 'key' at /root/systemtap_write/systemtap/testsuite/semok/seven.stp:27:7 source: if (key in ar2) ^ WARNING: Eliding side-effect-free expression : identifier 'printk' at :28:5 source: printk ("this: " . sprint (key) . " was " . ar2[key]) ^ WARNING: side-effect-free probe 'probe_2762': keyword at :24:1 source: probe end ^ # globals ar1:long [long] ar2:string [long] # functions error:unknown (msg:string) search:string (key:long) # probes begin /* <- begin */ # locals tgid:long pid:long tid:long end /* <- end */ timer.s(900) /* <- timer.s(900) */ wait results: 16902 exp36 0 0 PASS: semok/seven.stp Running /root/systemtap_write/systemtap/testsuite/semok/seventeen.stp starting /root/systemtap_write/systemtap/testsuite/semok/seventeen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/seventeen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/seventeen.stp # globals foo:long [long] # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_seventeen_stp__dwarf_tvar_get_iocb_2:long () # probes kernel.function("pipe_write@fs/pipe.c:361") /* pc=_stext+0x22978c */ /* <- kernel.function("pipe_write@fs/pipe.c:361") */ # locals a:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_seventeen_stp__dwarf_tvar_get_iocb_2_value:long timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long wait results: 16907 exp36 0 0 PASS: semok/seventeen.stp Running /root/systemtap_write/systemtap/testsuite/semok/six.stp starting /root/systemtap_write/systemtap/testsuite/semok/six.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/six.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/six.stp # globals bar:long [long] baz:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ # locals tid:long pid:long timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long __val:long end /* <- end */ # locals __idx0:long __val:string wait results: 16912 exp36 0 0 PASS: semok/six.stp Running /root/systemtap_write/systemtap/testsuite/semok/sixteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/sixteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/sixteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/sixteen.stp WARNING: never-assigned local variable 'a' (similar: aa, b, c, d, e): identifier 'a' at /root/systemtap_write/systemtap/testsuite/semok/sixteen.stp:6:3 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'b' (similar: bb, a, c, d, e): identifier 'b' at :6:7 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'c' (similar: cc, a, b, d, e): identifier 'c' at :6:10 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'd' (similar: dd, a, b, c, e): identifier 'd' at :6:14 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'e' (similar: ee, a, b, c, d): identifier 'e' at :6:17 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'f' (similar: ff, a, b, c, d): identifier 'f' at :6:21 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'g' (similar: a, b, c, d, e): identifier 'g' at :6:24 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'h' (similar: a, b, c, d, e): identifier 'h' at :6:28 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'i' (similar: a, b, c, d, e): identifier 'i' at :6:31 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'j' (similar: a, b, c, d, e): identifier 'j' at :6:36 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'k' (similar: a, b, c, d, e): identifier 'k' at :6:39 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'l' (similar: a, b, c, d, e): identifier 'l' at :6:44 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'm' (similar: a, b, c, d, e): identifier 'm' at :6:47 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'n' (similar: a, b, c, d, e): identifier 'n' at :6:51 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'o' (similar: a, b, c, d, e): identifier 'o' at :6:54 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'p' (similar: a, b, c, d, e): identifier 'p' at :6:58 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'q' (similar: a, b, c, d, e): identifier 'q' at :6:61 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'r' (similar: a, b, c, d, e): identifier 'r' at :6:66 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 's' (similar: a, b, c, d, e): identifier 's' at :6:69 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 't' (similar: a, b, c, d, e): identifier 't' at :6:74 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ WARNING: never-assigned local variable 'u' (similar: a, b, c, d, e): identifier 'u' at :7:3 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'v' (similar: a, b, c, d, e): identifier 'v' at :7:7 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'x' (similar: a, b, c, d, e): identifier 'x' at :7:10 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'y' (similar: a, b, c, d, e): identifier 'y' at :7:14 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'z' (similar: a, b, c, d, e): identifier 'z' at :7:17 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'aa' (similar: a, b, c, d, e): identifier 'aa' at :7:21 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'bb' (similar: b, a, c, d, e): identifier 'bb' at :7:27 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'cc' (similar: c, a, b, d, e): identifier 'cc' at :7:33 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'dd' (similar: d, a, b, c, e): identifier 'dd' at :7:39 source: u . v; x * y; z ^ aa; ~ bb; ! cc; - dd; ++ ee; -- ff; ^ WARNING: never-assigned local variable 'b' (similar: a, c, d, e, f): identifier 'b' at :11:7 source: a /= b; c %= d; e += f; g-= h; i >>= j; k <<= l; m &= n; o |= p; ^ WARNING: never-assigned local variable 'd' (similar: a, b, c, e, f): identifier 'd' at :11:15 source: a /= b; c %= d; e += f; g-= h; i >>= j; k <<= l; m &= n; o |= p; ^ WARNING: never-assigned local variable 'f' (similar: a, b, c, d, e): identifier 'f' at :11:23 source: a /= b; c %= d; e += f; g-= h; i >>= j; k <<= l; m &= n; o |= p; ^ WARNING: Eliding side-effect-free expression : identifier 'a' at :6:3 source: a / b; c % d; e + f; g - h; i >> j; k << l; m & n; o | p; q && r; s || t; ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ # locals ee:long ff:long begin /* <- begin */ # locals a:long b:long c:long d:long e:long f:long g:long h:long i:long j:long k:long l:long m:long n:long o:long p:long u:string v:string x:long y:long z:long aa:long timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 23. Rerun with -v to see them. wait results: 16917 exp36 0 0 PASS: semok/sixteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/sizeof.stp starting /root/systemtap_write/systemtap/testsuite/semok/sizeof.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/sizeof.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/sizeof.stp # functions error:unknown (msg:string) __private__root_systemtap_write_install_share_systemtap_tapset_sizeof_stpm__dwarf_cast_get_cast_0:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_sizeof_stpm__dwarf_cast_get_cast_3:long (:long) __private__root_systemtap_write_install_share_systemtap_tapset_sizeof_stpm__dwarf_cast_get_cast_4:long (:long) # probes begin /* <- begin */ process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") /* pc=.absolute+0x109d8 */ /* <- process("/root/systemtap_write/install/bin/stap").function("main@/root/systemtap_write/systemtap/main.cxx:1164") */ timer.s(900) /* <- timer.s(900) */ wait results: 16922 exp36 0 0 PASS: semok/sizeof.stp Running /root/systemtap_write/systemtap/testsuite/semok/syscall_return.stp starting /root/systemtap_write/systemtap/testsuite/semok/syscall_return.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/syscall_return.stp spawn /root/systemtap_write/systemtap/testsuite/semok/syscall_return.stp wait results: 16934 exp36 0 0 PASS: semok/syscall_return.stp Running /root/systemtap_write/systemtap/testsuite/semok/target_addr.stp starting /root/systemtap_write/systemtap/testsuite/semok/target_addr.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/target_addr.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/target_addr.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_0:long () __private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_2:long () __private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_3:long () __private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_4:long () # probes kernel.function("release_task@kernel/exit.c:168") /* pc=_stext+0x4fbd8 */ /* <- kernel.function("release_task@kernel/exit.c:168") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_0_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_2_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_3_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_target_addr_stp__dwarf_tvar_get_p_4_value:long timer.s(900) /* <- timer.s(900) */ wait results: 16943 exp36 0 0 PASS: semok/target_addr.stp Running /root/systemtap_write/systemtap/testsuite/semok/ten.stp starting /root/systemtap_write/systemtap/testsuite/semok/ten.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/ten.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/ten.stp WARNING: never-assigned local variable 'k' (similar: l, m, n, arr, rra): identifier 'k' at /root/systemtap_write/systemtap/testsuite/semok/ten.stp:11:7 source: if (k in arr) { k.""; arr[k]+0 } ^ WARNING: never-assigned local variable 'm' (similar: k, l, n, arr, rra): identifier 'm' at :13:7 source: if (m in rra) { m+0; rra[m]."" } ^ WARNING: Eliding side-effect-free expression : identifier 'k' at :11:19 source: if (k in arr) { k.""; arr[k]+0 } ^ WARNING: side-effect-free probe 'probe_2762': keyword at :9:1 source: probe end { ^ # globals arr:long [string] rra:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ end /* <- end */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:string __val:long end /* <- end */ # locals __idx0:long __val:string Number of similar warning messages suppressed: 7. Rerun with -v to see them. wait results: 16948 exp36 0 0 PASS: semok/ten.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirteen.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirteen.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirteen.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirteen.stp WARNING: Eliding side-effect-free expression : identifier 'trace' at /root/systemtap_write/systemtap/testsuite/semok/thirteen.stp:24:3 source: trace("reading from pipe in " . fname) ^ # functions error:unknown (msg:string) # probes kernel.function("pipe_read@fs/pipe.c:252") /* pc=_stext+0x229b70 */ /* <- kernel.function("pipe_read@fs/pipe.c:252") */ kernel.function("pipe_write@fs/pipe.c:361") /* pc=_stext+0x22978c */ /* <- kernel.function("pipe_write@fs/pipe.c:361") */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 16953 exp36 0 0 PASS: semok/thirteen.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirty.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirty.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirty.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirty.stp WARNING: side-effect-free probe 'probe_2768': identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semok/thirty.stp:5:15 source: probe foo.b = foo.c {} ^ WARNING: side-effect-free probe 'probe_2770': identifier 'foo' at :3:26 source: probe foo.a.one = foo.b, foo.c {} // not recursive ^ WARNING: side-effect-free probe 'probe_2773': identifier 'foo' at :4:19 source: probe foo.a.two = foo.c, foo.b {} // not recursive ^ WARNING: side-effect-free probe 'probe_2776': identifier 'foo' at :5:15 source: probe foo.b = foo.c {} ^ # functions error:unknown (msg:string) # probes begin /* <- foo.c = begin <- foo.b = foo.c <- foo.a.one = foo.b, foo.c <- foo.a.one */ begin /* <- foo.c = begin <- foo.a.one = foo.b, foo.c <- foo.a.one */ begin /* <- foo.c = begin <- foo.a.two = foo.c, foo.b <- foo.a.two */ begin /* <- foo.c = begin <- foo.b = foo.c <- foo.a.two = foo.c, foo.b <- foo.a.two */ timer.s(900) /* <- timer.s(900) */ wait results: 16958 exp36 0 0 PASS: semok/thirty.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtyeight.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtyeight.stp spawn1 stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/thirtyeight.stp spawn stap -Wp2 /root/systemtap_write/systemtap/testsuite/semok/thirtyeight.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ kernel.trace("sched:sched_switch")? /* <- kernel.trace("sched_switch")? */ # locals :long procfs.write /* <- procfs.write */ begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16963 exp36 0 0 PASS: semok/thirtyeight.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtyfive.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtyfive.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyfive.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyfive.stp WARNING: side-effect-free probe 'probe_2767': keyword at /root/systemtap_write/systemtap/testsuite/semok/thirtyfive.stp:4:1 source: probe kernel.function("do_filp""_""open") {} ^ WARNING: side-effect-free probe 'probe_2769': keyword at :5:1 source: probe kernel.function("filp" "_" "close") {} ^ WARNING: side-effect-free probe 'probe_2771': keyword at :6:1 source: probe kernel.function("p" ^ WARNING: side-effect-free probe 'probe_2773': keyword at :11:1 source: probe kernel.function("do_filp[" @# "_]open") {} ^ WARNING: side-effect-free probe 'probe_2775': keyword at :12:1 source: probe kernel.function("do_filp" %( 1==1 %? "_" %) "open") {} ^ WARNING: side-effect-free probe 'probe_2777': keyword at :13:1 source: probe kernel.function("do_filp[" %( 1==1 %? @# %) "_]open") {} ^ # functions error:unknown (msg:string) log:unknown (msg:string) # probes kernel.function("do_filp_open@fs/namei.c:3524") /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524") */ kernel.function("filp_close@fs/open.c:1083") /* pc=_stext+0x21ddd4 */ /* <- kernel.function("filp_close@fs/open.c:1083") */ kernel.function("panic@kernel/panic.c:104") /* pc=_stext+0x18af90 */ /* <- kernel.function("panic@kernel/panic.c:104") */ kernel.function("do_filp_open@fs/namei.c:3524") /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524") */ kernel.function("do_filp_open@fs/namei.c:3524") /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524") */ kernel.function("do_filp_open@fs/namei.c:3524") /* pc=_stext+0x231d34 */ /* <- kernel.function("do_filp_open@fs/namei.c:3524") */ begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16968 exp36 0 0 PASS: semok/thirtyfive.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtyfour.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtyfour.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyfour.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyfour.stp # functions error:unknown (msg:string) log:unknown (msg:string) # probes kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ # locals name:string kernel.function("SyS_close@fs/open.c:1110") /* pc=_stext+0x21de70 */ /* <- kernel.function("SyS_close@fs/open.c:1110") */ # locals name:string kernel.function("SyS_exit@kernel/exit.c:925") /* pc=_stext+0x52350 */ /* <- kernel.function("SyS_exit@kernel/exit.c:925") */ # locals name:string timer.s(900) /* <- timer.s(900) */ wait results: 16973 exp36 0 0 PASS: semok/thirtyfour.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtynine.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtynine.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtynine.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtynine.stp semantic error: while processing probe kernel.function("context_switch@kernel/sched/core.c:2826") from: kernel.function("context_switch") semantic error: failed to retrieve location attribute for 'prev' [man error::dwarf]: identifier '$prev' at /root/systemtap_write/systemtap/testsuite/semok/thirtynine.stp:6:40 dieoffset: 0x7f98f3 from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux function: __sched_info_switch at kernel/sched/stats.h:144 inlined by sched_info_switch at kernel/sched/stats.h:155 inlined by prepare_task_switch at kernel/sched/core.c:2672 inlined by context_switch at kernel/sched/core.c:2831 inlined by __schedule at kernel/sched/core.c:3357 source: printf("switch from=0x%x to=0x%x\n", $prev, $next) ^ Pass 2: analysis failed. [man error::pass2] wait results: 16978 exp36 0 1 FAIL: semok/thirtynine.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtyone.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtyone.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyone.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtyone.stp WARNING: function proc_modules_init is in blacklisted section: keyword at /root/systemtap_write/systemtap/testsuite/semok/thirtyone.stp:5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2761': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2763': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2765': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2767': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2769': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2771': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2773': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2775': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2777': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2779': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2781': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2783': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2785': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2787': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2789': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2791': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2793': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2795': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2797': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2799': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2801': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2803': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2805': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2807': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2809': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2811': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2813': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2815': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2817': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2819': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2821': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2823': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2826': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2828': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2830': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2832': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2834': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2836': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2838': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2840': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2842': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2844': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2846': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2848': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2850': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2852': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2854': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2856': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2858': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2860': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2862': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2864': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2866': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2868': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2870': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2872': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2874': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2876': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2878': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2880': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2882': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2884': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2886': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2888': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2890': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2892': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2894': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2896': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2898': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2900': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2902': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2904': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2906': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2908': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2910': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2912': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2914': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2916': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2918': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2920': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2922': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2924': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2926': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2928': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2930': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2932': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2934': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2936': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2938': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2940': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2942': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2944': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2946': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2948': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2950': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2952': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2954': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2956': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2958': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2960': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2962': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2964': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2966': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2968': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2970': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2972': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2974': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2976': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2978': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2980': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2982': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2984': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2986': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2988': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2990': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2992': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2994': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2996': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_2998': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3000': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3002': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3004': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3006': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3008': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3010': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3012': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3014': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3016': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3018': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3020': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3022': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3024': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3026': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3028': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3030': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3032': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3034': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3036': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3038': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3040': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3042': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3044': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3046': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3048': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3050': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3052': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3054': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3056': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3058': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3060': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3062': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3064': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3066': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3068': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3070': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3072': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3074': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3076': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3078': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3080': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3082': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3084': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3086': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3088': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3090': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3092': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3094': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3096': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3098': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3100': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3102': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3104': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3106': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3108': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3110': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3112': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3114': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3116': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3118': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3120': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3122': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3124': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3126': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3128': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3130': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3132': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3134': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3136': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3138': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3140': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3142': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3144': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3146': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3148': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3150': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3152': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3154': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3156': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3158': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3160': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3162': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3164': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3166': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3168': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3170': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3172': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3174': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3176': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3178': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3180': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3182': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3184': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3186': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3188': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ WARNING: side-effect-free probe 'probe_3190': keyword at :5:1 source: probe kernel.function("*@module.c") {} ^ # functions error:unknown (msg:string) # probes kernel.function("apply_relocate_add@arch/arm64/kernel/module.c:195") /* pc=_stext+0xebfc */ /* <- kernel.function("apply_relocate_add@arch/arm64/kernel/module.c:195") */ kernel.function("module_alloc@arch/arm64/kernel/module.c:33") /* pc=_stext+0xeb90 */ /* <- kernel.function("module_alloc@arch/arm64/kernel/module.c:33") */ kernel.function("reloc_insn_imm@arch/arm64/kernel/module.c:160") /* pc=_stext+0xeae4 */ /* <- kernel.function("reloc_insn_imm@arch/arm64/kernel/module.c:160") */ kernel.function("module_finalize@arch/arm64/kernel/module.c:408") /* pc=_stext+0xf08c */ /* <- kernel.function("module_finalize@arch/arm64/kernel/module.c:408") */ kernel.function("reloc_insn_movw@arch/arm64/kernel/module.c:119") /* pc=_stext+0xea50 */ /* <- kernel.function("reloc_insn_movw@arch/arm64/kernel/module.c:119") */ kernel.function("reloc_data@arch/arm64/kernel/module.c:89") /* pc=_stext+0xe980 */ /* <- kernel.function("reloc_data@arch/arm64/kernel/module.c:89") */ kernel.function("do_reloc@arch/arm64/kernel/module.c:72") /* pc=_stext+0xe8e0 */ /* <- kernel.function("do_reloc@arch/arm64/kernel/module.c:72") */ kernel.function("SyS_init_module@kernel/module.c:3754") /* pc=_stext+0xf9f1c */ /* <- kernel.function("SyS_init_module@kernel/module.c:3754") */ kernel.function("is_module_text_address@kernel/module.c:4219") /* pc=_stext+0xfa9c4 */ /* <- kernel.function("is_module_text_address@kernel/module.c:4219") */ kernel.function("module_kallsyms_on_each_symbol@kernel/module.c:4012") /* pc=_stext+0xfa7b8 */ /* <- kernel.function("module_kallsyms_on_each_symbol@kernel/module.c:4012") */ kernel.function("module_get_kallsym@kernel/module.c:3949") /* pc=_stext+0xfa4b8 */ /* <- kernel.function("module_get_kallsym@kernel/module.c:3949") */ kernel.function("load_module@kernel/module.c:3574") /* pc=_stext+0xf8afc */ /* <- kernel.function("load_module@kernel/module.c:3574") */ kernel.function("module_kallsyms_lookup_name@kernel/module.c:3989") /* pc=_stext+0xfa6d0 */ /* <- kernel.function("module_kallsyms_lookup_name@kernel/module.c:3989") */ kernel.function("module_address_lookup@kernel/module.c:3871") /* pc=_stext+0xfa1c8 */ /* <- kernel.function("module_address_lookup@kernel/module.c:3871") */ kernel.function("layout_and_allocate@kernel/module.c:3224") /* pc=_stext+0xf7e48 */ /* <- kernel.function("layout_and_allocate@kernel/module.c:3224") */ kernel.function("module_frob_arch_sections@kernel/module.c:3195") /* pc=_stext+0xf7e2c */ /* <- kernel.function("module_frob_arch_sections@kernel/module.c:3195") */ kernel.function("module_alloc@kernel/module.c:2688") /* pc=_stext+0xf7e00 */ /* <- kernel.function("module_alloc@kernel/module.c:2688") */ kernel.function("arch_mod_section_prepend@kernel/module.c:2297") /* pc=_stext+0xf7d60 */ /* <- kernel.function("arch_mod_section_prepend@kernel/module.c:2297") */ kernel.function("do_init_module@kernel/module.c:3360") /* pc=_stext+0x18de2c */ /* <- kernel.function("do_init_module@kernel/module.c:3360") */ kernel.function("SyS_delete_module@kernel/module.c:931") /* pc=_stext+0xf7b40 */ /* <- kernel.function("SyS_delete_module@kernel/module.c:931") */ kernel.function("free_module@kernel/module.c:2086") /* pc=_stext+0xf7720 */ /* <- kernel.function("free_module@kernel/module.c:2086") */ kernel.function("module_arch_freeing_init@kernel/module.c:2081") /* pc=_stext+0xf7708 */ /* <- kernel.function("module_arch_freeing_init@kernel/module.c:2081") */ kernel.function("module_arch_cleanup@kernel/module.c:2077") /* pc=_stext+0xf76f0 */ /* <- kernel.function("module_arch_cleanup@kernel/module.c:2077") */ kernel.function("is_module_percpu_address@kernel/module.c:672") /* pc=_stext+0xf7560 */ /* <- kernel.function("is_module_percpu_address@kernel/module.c:672") */ kernel.function("m_show@kernel/module.c:4080") /* pc=_stext+0xf73c0 */ /* <- kernel.function("m_show@kernel/module.c:4080") */ kernel.function("__mod_tree_insert@kernel/module.c:162") /* pc=_stext+0xf72cc */ /* <- kernel.function("__mod_tree_insert@kernel/module.c:162") */ kernel.function("mod_sysfs_setup@kernel/module.c:1765") /* pc=_stext+0x18d888 */ /* <- kernel.function("mod_sysfs_setup@kernel/module.c:1765") */ kernel.function("__symbol_get@kernel/module.c:2143") /* pc=_stext+0xf6a2c */ /* <- kernel.function("__symbol_get@kernel/module.c:2143") */ kernel.function("find_module@kernel/module.c:606") /* pc=_stext+0xf693c */ /* <- kernel.function("find_module@kernel/module.c:606") */ kernel.function("finished_loading@kernel/module.c:3310") /* pc=_stext+0xf6650 */ /* <- kernel.function("finished_loading@kernel/module.c:3310") */ kernel.function("find_module_all@kernel/module.c:590") /* pc=_stext+0xf658c */ /* <- kernel.function("find_module_all@kernel/module.c:590") */ kernel.function("show_taint@kernel/module.c:1216") /* pc=_stext+0xf64e4 */ /* <- kernel.function("show_taint@kernel/module.c:1216") */ kernel.function("m_start@kernel/module.c:4064") /* pc=_stext+0xf640c */ /* <- kernel.function("m_start@kernel/module.c:4064") */ kernel.function("m_next@kernel/module.c:4070") /* pc=_stext+0xf63d0 */ /* <- kernel.function("m_next@kernel/module.c:4070") */ kernel.function("modules_open@kernel/module.c:4121") /* pc=_stext+0xf639c */ /* <- kernel.function("modules_open@kernel/module.c:4121") */ kernel.function("find_symbol@kernel/module.c:561") /* pc=_stext+0xf697c */ /* <- kernel.function("find_symbol@kernel/module.c:561") */ kernel.function("get_ksymbol@kernel/module.c:3824") /* pc=_stext+0xf617c */ /* <- kernel.function("get_ksymbol@kernel/module.c:3824") */ kernel.function("module_memfree@kernel/module.c:2072") /* pc=_stext+0xf7690 */ /* <- kernel.function("module_memfree@kernel/module.c:2072") */ kernel.function("module_assert_mutex_or_preempt@kernel/module.c:262") /* pc=_stext+0xf652c */ /* <- kernel.function("module_assert_mutex_or_preempt@kernel/module.c:262") */ kernel.function("do_free_init@kernel/module.c:3347") /* pc=_stext+0xf76bc */ /* <- kernel.function("do_free_init@kernel/module.c:3347") */ kernel.function("module_flags_taint@kernel/module.c:1138") /* pc=_stext+0xf6450 */ /* <- kernel.function("module_flags_taint@kernel/module.c:1138") */ kernel.function("symbol_put_addr@kernel/module.c:1042") /* pc=_stext+0xf6f74 */ /* <- kernel.function("symbol_put_addr@kernel/module.c:1042") */ kernel.function("print_modules@kernel/module.c:4251") /* pc=_stext+0xfaa14 */ /* <- kernel.function("print_modules@kernel/module.c:4251") */ kernel.function("find_symbol_in_section@kernel/module.c:543") /* pc=_stext+0xf5260 */ /* <- kernel.function("find_symbol_in_section@kernel/module.c:543") */ kernel.function("SyS_finit_module@kernel/module.c:3774") /* pc=_stext+0xfa0e8 */ /* <- kernel.function("SyS_finit_module@kernel/module.c:3774") */ kernel.function("each_symbol_section@kernel/module.c:426") /* pc=_stext+0xf686c */ /* <- kernel.function("each_symbol_section@kernel/module.c:426") */ kernel.function("each_symbol_section@kernel/module.c:426") /* pc=_stext+0xf66ec */ /* <- kernel.function("each_symbol_section@kernel/module.c:426") */ kernel.function("show_modinfo_srcversion@kernel/module.c:760") /* pc=_stext+0xf60ec */ /* <- kernel.function("show_modinfo_srcversion@kernel/module.c:760") */ kernel.function("module_refcount@kernel/module.c:922") /* pc=_stext+0xf4658 */ /* <- kernel.function("module_refcount@kernel/module.c:922") */ kernel.function("__module_get@kernel/module.c:1071") /* pc=_stext+0xf542c */ /* <- kernel.function("__module_get@kernel/module.c:1071") */ kernel.function("module_flags@kernel/module.c:4039") /* pc=_stext+0xf6cec */ /* <- kernel.function("module_flags@kernel/module.c:4039") */ kernel.function("get_offset@kernel/module.c:2305") /* pc=_stext+0xf7d7c */ /* <- kernel.function("get_offset@kernel/module.c:2305") */ kernel.function("setup_modinfo_srcversion@kernel/module.c:760") /* pc=_stext+0xf606c */ /* <- kernel.function("setup_modinfo_srcversion@kernel/module.c:760") */ kernel.function("lookup_module_symbol_attrs@kernel/module.c:3921") /* pc=_stext+0xfa374 */ /* <- kernel.function("lookup_module_symbol_attrs@kernel/module.c:3921") */ kernel.function("modinfo_srcversion_exists@kernel/module.c:760") /* pc=_stext+0xf4628 */ /* <- kernel.function("modinfo_srcversion_exists@kernel/module.c:760") */ kernel.function("show_refcnt@kernel/module.c:1062") /* pc=_stext+0xf5f54 */ /* <- kernel.function("show_refcnt@kernel/module.c:1062") */ kernel.function("free_modinfo_version@kernel/module.c:759") /* pc=_stext+0xf53fc */ /* <- kernel.function("free_modinfo_version@kernel/module.c:759") */ kernel.function("setup_modinfo_version@kernel/module.c:759") /* pc=_stext+0xf60ac */ /* <- kernel.function("setup_modinfo_version@kernel/module.c:759") */ kernel.function("module_assert_mutex@kernel/module.c:257") /* pc=_stext+0xf68f8 */ /* <- kernel.function("module_assert_mutex@kernel/module.c:257") */ kernel.function("__symbol_put@kernel/module.c:1029") /* pc=_stext+0xf6c84 */ /* <- kernel.function("__symbol_put@kernel/module.c:1029") */ kernel.function("__module_text_address@kernel/module.c:4237") /* pc=_stext+0xf6ef0 */ /* <- kernel.function("__module_text_address@kernel/module.c:4237") */ kernel.function("ref_module@kernel/module.c:830") /* pc=_stext+0xf6ad4 */ /* <- kernel.function("ref_module@kernel/module.c:830") */ kernel.function("mod_kobject_put@kernel/module.c:1724") /* pc=_stext+0xf5cf4 */ /* <- kernel.function("mod_kobject_put@kernel/module.c:1724") */ kernel.function("module_unload_free@kernel/module.c:852") /* pc=_stext+0xf5d50 */ /* <- kernel.function("module_unload_free@kernel/module.c:852") */ kernel.function("search_module_extables@kernel/module.c:4142") /* pc=_stext+0xfa8a4 */ /* <- kernel.function("search_module_extables@kernel/module.c:4142") */ kernel.function("is_module_address@kernel/module.c:4174") /* pc=_stext+0xfa974 */ /* <- kernel.function("is_module_address@kernel/module.c:4174") */ kernel.function("__module_address@kernel/module.c:4192") /* pc=_stext+0xf6dd0 */ /* <- kernel.function("__module_address@kernel/module.c:4192") */ kernel.function("unknown_module_param_cb@kernel/module.c:3554") /* pc=_stext+0xf6fe0 */ /* <- kernel.function("unknown_module_param_cb@kernel/module.c:3554") */ kernel.function("modinfo_version_exists@kernel/module.c:759") /* pc=_stext+0xf45f8 */ /* <- kernel.function("modinfo_version_exists@kernel/module.c:759") */ kernel.function("lookup_module_symbol_name@kernel/module.c:3897") /* pc=_stext+0xfa274 */ /* <- kernel.function("lookup_module_symbol_name@kernel/module.c:3897") */ kernel.function("resolve_symbol@kernel/module.c:1369") /* pc=_stext+0xf7204 */ /* <- kernel.function("resolve_symbol@kernel/module.c:1369") */ kernel.function("get_modinfo@kernel/module.c:2441") /* pc=_stext+0xf7068 */ /* <- kernel.function("get_modinfo@kernel/module.c:2441") */ kernel.function("module_finalize@kernel/module.c:3286") /* pc=_stext+0xf8ae0 */ /* <- kernel.function("module_finalize@kernel/module.c:3286") */ kernel.function("cmp_name@kernel/module.c:535") /* pc=_stext+0xf5124 */ /* <- kernel.function("cmp_name@kernel/module.c:535") */ kernel.function("__module_put_and_exit@kernel/module.c:340") /* pc=_stext+0xf5b78 */ /* <- kernel.function("__module_put_and_exit@kernel/module.c:340") */ kernel.function("may_init_module@kernel/module.c:3463") /* pc=_stext+0xf5360 */ /* <- kernel.function("may_init_module@kernel/module.c:3463") */ kernel.function("show_coresize@kernel/module.c:1198") /* pc=_stext+0xf5fe4 */ /* <- kernel.function("show_coresize@kernel/module.c:1198") */ kernel.function("register_module_notifier@kernel/module.c:287") /* pc=_stext+0xf50c4 */ /* <- kernel.function("register_module_notifier@kernel/module.c:287") */ kernel.function("unregister_module_notifier@kernel/module.c:293") /* pc=_stext+0xf50f4 */ /* <- kernel.function("unregister_module_notifier@kernel/module.c:293") */ kernel.function("show_initstate@kernel/module.c:1160") /* pc=_stext+0xf714c */ /* <- kernel.function("show_initstate@kernel/module.c:1160") */ kernel.function("find_sec@kernel/module.c:348") /* pc=_stext+0xf515c */ /* <- kernel.function("find_sec@kernel/module.c:348") */ kernel.function("free_modinfo_srcversion@kernel/module.c:760") /* pc=_stext+0xf53cc */ /* <- kernel.function("free_modinfo_srcversion@kernel/module.c:760") */ kernel.function("try_module_get@kernel/module.c:1082") /* pc=_stext+0xf5664 */ /* <- kernel.function("try_module_get@kernel/module.c:1082") */ kernel.function("module_put@kernel/module.c:1101") /* pc=_stext+0xf5904 */ /* <- kernel.function("module_put@kernel/module.c:1101") */ kernel.function("mod_find_symname@kernel/module.c:3976") /* pc=_stext+0xf5ba8 */ /* <- kernel.function("mod_find_symname@kernel/module.c:3976") */ kernel.function("free_notes_attrs@kernel/module.c:1557") /* pc=_stext+0xf5c88 */ /* <- kernel.function("free_notes_attrs@kernel/module.c:1557") */ kernel.function("section_objs@kernel/module.c:370") /* pc=_stext+0xf51f8 */ /* <- kernel.function("section_objs@kernel/module.c:370") */ kernel.function("m_stop@kernel/module.c:4075") /* pc=_stext+0xf53a4 */ /* <- kernel.function("m_stop@kernel/module.c:4075") */ kernel.function("__mod_tree_remove@kernel/module.c:167") /* pc=_stext+0xf5e40 */ /* <- kernel.function("__mod_tree_remove@kernel/module.c:167") */ kernel.function("store_uevent@kernel/module.c:1184") /* pc=_stext+0xf5eac */ /* <- kernel.function("store_uevent@kernel/module.c:1184") */ kernel.function("module_notes_read@kernel/module.c:1546") /* pc=_stext+0xf5f00 */ /* <- kernel.function("module_notes_read@kernel/module.c:1546") */ kernel.function("show_initsize@kernel/module.c:1207") /* pc=_stext+0xf5f9c */ /* <- kernel.function("show_initsize@kernel/module.c:1207") */ kernel.function("module_sect_show@kernel/module.c:1453") /* pc=_stext+0xf602c */ /* <- kernel.function("module_sect_show@kernel/module.c:1453") */ kernel.function("show_modinfo_version@kernel/module.c:759") /* pc=_stext+0xf6134 */ /* <- kernel.function("show_modinfo_version@kernel/module.c:759") */ kernel.function("copy_chunked_from_user@kernel/module.c:2779") /* pc=_stext+0xf9fe8 */ /* <- kernel.function("copy_chunked_from_user@kernel/module.c:2779") */ kernel.function("verify_export_symbols@kernel/module.c:2164") /* pc=_stext+0xf9894 */ /* <- kernel.function("verify_export_symbols@kernel/module.c:2164") */ kernel.function("dynamic_debug_setup@kernel/module.c:2671") /* pc=_stext+0xf9858 */ /* <- kernel.function("dynamic_debug_setup@kernel/module.c:2671") */ kernel.function("add_kallsyms@kernel/module.c:2624") /* pc=_stext+0xf9598 */ /* <- kernel.function("add_kallsyms@kernel/module.c:2624") */ kernel.function("apply_relocations@kernel/module.c:2263") /* pc=_stext+0xf91e4 */ /* <- kernel.function("apply_relocations@kernel/module.c:2263") */ kernel.function("post_relocation@kernel/module.c:3293") /* pc=_stext+0xf94b4 */ /* <- kernel.function("post_relocation@kernel/module.c:3293") */ kernel.function("setup_modinfo@kernel/module.c:2455") /* pc=_stext+0xf905c */ /* <- kernel.function("setup_modinfo@kernel/module.c:2455") */ kernel.function("check_module_license_and_versions@kernel/module.c:3131") /* pc=_stext+0xf9010 */ /* <- kernel.function("check_module_license_and_versions@kernel/module.c:3131") */ kernel.function("module_unload_init@kernel/module.c:772") /* pc=_stext+0xf8d88 */ /* <- kernel.function("module_unload_init@kernel/module.c:772") */ kernel.function("mod_update_bounds@kernel/module.c:246") /* pc=_stext+0xf92d4 */ /* <- kernel.function("mod_update_bounds@kernel/module.c:246") */ kernel.function("module_sig_check@kernel/module.c:2721") /* pc=_stext+0xf8b2c */ /* <- kernel.function("module_sig_check@kernel/module.c:2721") */ kernel.function("layout_symtab@kernel/module.c:2573") /* pc=_stext+0xf84a8 */ /* <- kernel.function("layout_symtab@kernel/module.c:2573") */ kernel.function("find_livepatch_modinfo@kernel/module.c:2802") /* pc=_stext+0xf80b4 */ /* <- kernel.function("find_livepatch_modinfo@kernel/module.c:2802") */ kernel.function("check_modinfo@kernel/module.c:2940") /* pc=_stext+0xf804c */ /* <- kernel.function("check_modinfo@kernel/module.c:2940") */ kernel.function("setup_load_info@kernel/module.c:2892") /* pc=_stext+0xf7e74 */ /* <- kernel.function("setup_load_info@kernel/module.c:2892") */ kernel.function("try_release_module_ref@kernel/module.c:884") /* pc=_stext+0xf7c64 */ /* <- kernel.function("try_release_module_ref@kernel/module.c:884") */ kernel.function("try_stop_module@kernel/module.c:898") /* pc=_stext+0xf7c64 */ /* <- kernel.function("try_stop_module@kernel/module.c:898") */ kernel.function("remove_sect_attrs@kernel/module.c:1524") /* pc=_stext+0xf7880 */ /* <- kernel.function("remove_sect_attrs@kernel/module.c:1524") */ kernel.function("mod_sysfs_fini@kernel/module.c:1807") /* pc=_stext+0xf7874 */ /* <- kernel.function("mod_sysfs_fini@kernel/module.c:1807") */ kernel.function("module_remove_modinfo_attrs@kernel/module.c:1708") /* pc=_stext+0xf77f4 */ /* <- kernel.function("module_remove_modinfo_attrs@kernel/module.c:1708") */ kernel.function("del_usage_links@kernel/module.c:1670") /* pc=_stext+0xf779c */ /* <- kernel.function("del_usage_links@kernel/module.c:1670") */ kernel.function("add_usage_links@kernel/module.c:1655") /* pc=_stext+0x18da3c */ /* <- kernel.function("add_usage_links@kernel/module.c:1655") */ kernel.function("module_add_modinfo_attrs@kernel/module.c:1682") /* pc=_stext+0x18d9a4 */ /* <- kernel.function("module_add_modinfo_attrs@kernel/module.c:1682") */ kernel.function("next_string@kernel/module.c:2423") /* pc=_stext+0xf70d4 */ /* <- kernel.function("next_string@kernel/module.c:2423") */ kernel.function("is_exported@kernel/module.c:2488") /* pc=_stext+0xfa608 */ /* <- kernel.function("is_exported@kernel/module.c:2488") */ kernel.function("blacklisted@kernel/module.c:3205") /* pc=_stext+0xf7fe8 */ /* <- kernel.function("blacklisted@kernel/module.c:3205") */ kernel.function("already_uses@kernel/module.c:790") /* pc=_stext+0xf6af8 */ /* <- kernel.function("already_uses@kernel/module.c:790") */ kernel.function("each_symbol_in_section@kernel/module.c:407") /* pc=_stext+0xf6800 */ /* <- kernel.function("each_symbol_in_section@kernel/module.c:407") */ kernel.function("each_symbol_in_section@kernel/module.c:407") /* pc=_stext+0xf68a0 */ /* <- kernel.function("each_symbol_in_section@kernel/module.c:407") */ kernel.function("elf_type@kernel/module.c:2500") /* pc=_stext+0xf95fc */ /* <- kernel.function("elf_type@kernel/module.c:2500") */ kernel.function("percpu_modalloc@kernel/module.c:620") /* pc=_stext+0xf8d54 */ /* <- kernel.function("percpu_modalloc@kernel/module.c:620") */ kernel.function("mod_find@kernel/module.c:198") /* pc=_stext+0xf6e10 */ /* <- kernel.function("mod_find@kernel/module.c:198") */ kernel.function("sect_empty@kernel/module.c:1436") /* pc=_stext+0x18dab4 */ /* <- kernel.function("sect_empty@kernel/module.c:1436") */ kernel.function("sect_empty@kernel/module.c:1436") /* pc=_stext+0x18db50 */ /* <- kernel.function("sect_empty@kernel/module.c:1436") */ kernel.function("sect_empty@kernel/module.c:1436") /* pc=_stext+0x18dc58 */ /* <- kernel.function("sect_empty@kernel/module.c:1436") */ kernel.function("sect_empty@kernel/module.c:1436") /* pc=_stext+0x18dce8 */ /* <- kernel.function("sect_empty@kernel/module.c:1436") */ kernel.function("try_force_unload@kernel/module.c:869") /* pc=_stext+0xf7cc4 */ /* <- kernel.function("try_force_unload@kernel/module.c:869") */ kernel.function("try_force_unload@kernel/module.c:869") /* pc=_stext+0xf7d44 */ /* <- kernel.function("try_force_unload@kernel/module.c:869") */ kernel.function("mod_tree_comp@kernel/module.c:130") /* pc=_stext+0xf6e38 */ /* <- kernel.function("mod_tree_comp@kernel/module.c:130") */ kernel.function("mod_tree_remove_init@kernel/module.c:186") /* pc=_stext+0xf7950 */ /* <- kernel.function("mod_tree_remove_init@kernel/module.c:186") */ kernel.function("mod_tree_remove_init@kernel/module.c:186") /* pc=_stext+0x18df28 */ /* <- kernel.function("mod_tree_remove_init@kernel/module.c:186") */ kernel.function("mod_tree_remove_init@kernel/module.c:186") /* pc=_stext+0xf9264 */ /* <- kernel.function("mod_tree_remove_init@kernel/module.c:186") */ kernel.function("flush_module_icache@kernel/module.c:3172") /* pc=_stext+0xf97e8 */ /* <- kernel.function("flush_module_icache@kernel/module.c:3172") */ kernel.function("__mod_tree_size@kernel/module.c:116") /* pc=_stext+0xf6e44 */ /* <- kernel.function("__mod_tree_size@kernel/module.c:116") */ kernel.function("find_module_sections@kernel/module.c:2982") /* pc=_stext+0xf8dcc */ /* <- kernel.function("find_module_sections@kernel/module.c:2982") */ kernel.function("__mod_tree_val@kernel/module.c:109") /* pc=_stext+0xf6e38 */ /* <- kernel.function("__mod_tree_val@kernel/module.c:109") */ kernel.function("module_refcount@kernel/module.c:922") /* pc=_stext+0xf5f7c */ /* <- kernel.function("module_refcount@kernel/module.c:922") */ kernel.function("module_refcount@kernel/module.c:922") /* pc=_stext+0xf7414 */ /* <- kernel.function("module_refcount@kernel/module.c:922") */ kernel.function("strong_try_module_get@kernel/module.c:318") /* pc=_stext+0xf6a78 */ /* <- kernel.function("strong_try_module_get@kernel/module.c:318") */ kernel.function("strong_try_module_get@kernel/module.c:318") /* pc=_stext+0xf6b44 */ /* <- kernel.function("strong_try_module_get@kernel/module.c:318") */ kernel.function("strong_try_module_get@kernel/module.c:318") /* pc=_stext+0xf6c60 */ /* <- kernel.function("strong_try_module_get@kernel/module.c:318") */ kernel.function("set_license@kernel/module.c:2408") /* pc=_stext+0xf80e4 */ /* <- kernel.function("set_license@kernel/module.c:2408") */ kernel.function("free_sect_attrs@kernel/module.c:1461") /* pc=_stext+0x18dbac */ /* <- kernel.function("free_sect_attrs@kernel/module.c:1461") */ kernel.function("free_sect_attrs@kernel/module.c:1461") /* pc=_stext+0xf7894 */ /* <- kernel.function("free_sect_attrs@kernel/module.c:1461") */ kernel.function("move_module@kernel/module.c:3068") /* pc=_stext+0xf8644 */ /* <- kernel.function("move_module@kernel/module.c:3068") */ kernel.function("same_magic@kernel/module.c:1361") /* pc=_stext+0xf806c */ /* <- kernel.function("same_magic@kernel/module.c:1361") */ kernel.function("symname@kernel/module.c:3819") /* pc=_stext+0xf5c08 */ /* <- kernel.function("symname@kernel/module.c:3819") */ kernel.function("symname@kernel/module.c:3819") /* pc=_stext+0xf624c */ /* <- kernel.function("symname@kernel/module.c:3819") */ kernel.function("symname@kernel/module.c:3819") /* pc=_stext+0xf62d0 */ /* <- kernel.function("symname@kernel/module.c:3819") */ kernel.function("symname@kernel/module.c:3819") /* pc=_stext+0xfa5e0 */ /* <- kernel.function("symname@kernel/module.c:3819") */ kernel.function("symname@kernel/module.c:3819") /* pc=_stext+0xfa7f8 */ /* <- kernel.function("symname@kernel/module.c:3819") */ kernel.function("kmemleak_load_module@kernel/module.c:2694") /* pc=_stext+0xf87a0 */ /* <- kernel.function("kmemleak_load_module@kernel/module.c:2694") */ kernel.function("mod_tree_insert@kernel/module.c:176") /* pc=_stext+0xf9358 */ /* <- kernel.function("mod_tree_insert@kernel/module.c:176") */ kernel.function("free_copy@kernel/module.c:2842") /* pc=_stext+0xf8ce4 */ /* <- kernel.function("free_copy@kernel/module.c:2842") */ kernel.function("free_copy@kernel/module.c:2842") /* pc=_stext+0xf9bb0 */ /* <- kernel.function("free_copy@kernel/module.c:2842") */ kernel.function("add_sect_attrs@kernel/module.c:1470") /* pc=_stext+0x18da98 */ /* <- kernel.function("add_sect_attrs@kernel/module.c:1470") */ kernel.function("remove_notes_attrs@kernel/module.c:1628") /* pc=_stext+0xf7874 */ /* <- kernel.function("remove_notes_attrs@kernel/module.c:1628") */ kernel.function("SYSC_finit_module@kernel/module.c:3774") /* pc=_stext+0xfa100 */ /* <- kernel.function("SYSC_finit_module@kernel/module.c:3774") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf8858 */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf890c */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf8a8c */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf8d3c */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf93a4 */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("add_taint_module@kernel/module.c:329") /* pc=_stext+0xf9580 */ /* <- kernel.function("add_taint_module@kernel/module.c:329") */ kernel.function("simplify_symbols@kernel/module.c:2196") /* pc=_stext+0xf90a0 */ /* <- kernel.function("simplify_symbols@kernel/module.c:2196") */ kernel.function("percpu_modfree@kernel/module.c:644") /* pc=_stext+0xf7990 */ /* <- kernel.function("percpu_modfree@kernel/module.c:644") */ kernel.function("percpu_modfree@kernel/module.c:644") /* pc=_stext+0xf92ac */ /* <- kernel.function("percpu_modfree@kernel/module.c:644") */ kernel.function("resolve_symbol_wait@kernel/module.c:1412") /* pc=_stext+0xf90d0 */ /* <- kernel.function("resolve_symbol_wait@kernel/module.c:1412") */ kernel.function("print_unload_info@kernel/module.c:1004") /* pc=_stext+0xf7414 */ /* <- kernel.function("print_unload_info@kernel/module.c:1004") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8e00 */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8e40 */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8e80 */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8ec0 */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8f00 */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("section_addr@kernel/module.c:363") /* pc=_stext+0xf8fcc */ /* <- kernel.function("section_addr@kernel/module.c:363") */ kernel.function("mod_tree_remove@kernel/module.c:192") /* pc=_stext+0xf7948 */ /* <- kernel.function("mod_tree_remove@kernel/module.c:192") */ kernel.function("mod_tree_remove@kernel/module.c:192") /* pc=_stext+0xf925c */ /* <- kernel.function("mod_tree_remove@kernel/module.c:192") */ kernel.function("copy_module_from_user@kernel/module.c:2815") /* pc=_stext+0xf9f88 */ /* <- kernel.function("copy_module_from_user@kernel/module.c:2815") */ kernel.function("add_notes_attrs@kernel/module.c:1569") /* pc=_stext+0x18dc34 */ /* <- kernel.function("add_notes_attrs@kernel/module.c:1569") */ kernel.function("__mod_update_bounds@kernel/module.c:235") /* pc=_stext+0xf92d4 */ /* <- kernel.function("__mod_update_bounds@kernel/module.c:235") */ kernel.function("__mod_update_bounds@kernel/module.c:235") /* pc=_stext+0xf9314 */ /* <- kernel.function("__mod_update_bounds@kernel/module.c:235") */ kernel.function("is_core_symbol@kernel/module.c:2540") /* pc=_stext+0xf8560 */ /* <- kernel.function("is_core_symbol@kernel/module.c:2540") */ kernel.function("is_core_symbol@kernel/module.c:2540") /* pc=_stext+0xf972c */ /* <- kernel.function("is_core_symbol@kernel/module.c:2540") */ kernel.function("lookup_symbol@kernel/module.c:2480") /* pc=_stext+0xfa60c */ /* <- kernel.function("lookup_symbol@kernel/module.c:2480") */ kernel.function("lookup_symbol@kernel/module.c:2480") /* pc=_stext+0xfa6a0 */ /* <- kernel.function("lookup_symbol@kernel/module.c:2480") */ kernel.function("add_unformed_module@kernel/module.c:3476") /* pc=_stext+0xf8bbc */ /* <- kernel.function("add_unformed_module@kernel/module.c:3476") */ kernel.function("elf_header_check@kernel/module.c:2758") /* pc=_stext+0xf8b44 */ /* <- kernel.function("elf_header_check@kernel/module.c:2758") */ kernel.function("within@kernel/module.c:3801") /* pc=_stext+0xf6f1c */ /* <- kernel.function("within@kernel/module.c:3801") */ kernel.function("within@kernel/module.c:3801") /* pc=_stext+0xf6f44 */ /* <- kernel.function("within@kernel/module.c:3801") */ kernel.function("is_arm_mapping_symbol@kernel/module.c:3811") /* pc=_stext+0xf6204 */ /* <- kernel.function("is_arm_mapping_symbol@kernel/module.c:3811") */ kernel.function("find_pcpusec@kernel/module.c:649") /* pc=_stext+0xf7fc8 */ /* <- kernel.function("find_pcpusec@kernel/module.c:649") */ kernel.function("mod_sysfs_init@kernel/module.c:1732") /* pc=_stext+0x18d8bc */ /* <- kernel.function("mod_sysfs_init@kernel/module.c:1732") */ kernel.function("percpu_modcopy@kernel/module.c:654") /* pc=_stext+0xf94d0 */ /* <- kernel.function("percpu_modcopy@kernel/module.c:654") */ kernel.function("add_module_usage@kernel/module.c:811") /* pc=_stext+0xf6b68 */ /* <- kernel.function("add_module_usage@kernel/module.c:811") */ kernel.function("complete_formation@kernel/module.c:3511") /* pc=_stext+0xf9884 */ /* <- kernel.function("complete_formation@kernel/module.c:3511") */ kernel.function("module_deallocate@kernel/module.c:3278") /* pc=_stext+0xf92ac */ /* <- kernel.function("module_deallocate@kernel/module.c:3278") */ kernel.function("init_param_lock@kernel/module.c:1814") /* pc=_stext+0xf8db0 */ /* <- kernel.function("init_param_lock@kernel/module.c:1814") */ kernel.function("prepare_coming_module@kernel/module.c:3540") /* pc=_stext+0xf9b34 */ /* <- kernel.function("prepare_coming_module@kernel/module.c:3540") */ kernel.function("mod_sysfs_teardown@kernel/module.c:1845") /* pc=_stext+0xf779c */ /* <- kernel.function("mod_sysfs_teardown@kernel/module.c:1845") */ kernel.function("dynamic_debug_remove@kernel/module.c:2682") /* pc=_stext+0xf9a7c */ /* <- kernel.function("dynamic_debug_remove@kernel/module.c:2682") */ kernel.function("SYSC_init_module@kernel/module.c:3754") /* pc=_stext+0xf9f40 */ /* <- kernel.function("SYSC_init_module@kernel/module.c:3754") */ kernel.function("layout_sections@kernel/module.c:2320") /* pc=_stext+0xf8154 */ /* <- kernel.function("layout_sections@kernel/module.c:2320") */ kernel.function("check_symbol@kernel/module.c:501") /* pc=_stext+0xf52b0 */ /* <- kernel.function("check_symbol@kernel/module.c:501") */ kernel.function("rewrite_section_headers@kernel/module.c:2847") /* pc=_stext+0xf7e78 */ /* <- kernel.function("rewrite_section_headers@kernel/module.c:2847") */ kernel.function("free_modinfo@kernel/module.c:2466") /* pc=_stext+0xf91fc */ /* <- kernel.function("free_modinfo@kernel/module.c:2466") */ kernel.function("SYSC_delete_module@kernel/module.c:931") /* pc=_stext+0xf7b64 */ /* <- kernel.function("SYSC_delete_module@kernel/module.c:931") */ kernel.function("module_remove_driver@drivers/base/module.c:74") /* pc=_stext+0x575804 */ /* <- kernel.function("module_remove_driver@drivers/base/module.c:74") */ kernel.function("module_add_driver@drivers/base/module.c:35") /* pc=_stext+0x575710 */ /* <- kernel.function("module_add_driver@drivers/base/module.c:35") */ kernel.function("module_create_drivers_dir@drivers/base/module.c:25") /* pc=_stext+0x575778 */ /* <- kernel.function("module_create_drivers_dir@drivers/base/module.c:25") */ kernel.function("make_driver_name@drivers/base/module.c:14") /* pc=_stext+0x575750 */ /* <- kernel.function("make_driver_name@drivers/base/module.c:14") */ kernel.function("make_driver_name@drivers/base/module.c:14") /* pc=_stext+0x575844 */ /* <- kernel.function("make_driver_name@drivers/base/module.c:14") */ timer.s(900) /* <- timer.s(900) */ wait results: 16983 exp36 0 0 PASS: semok/thirtyone.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtyseven.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtyseven.stp spawn1 stap -wWp2 /root/systemtap_write/systemtap/testsuite/semok/thirtyseven.stp spawn stap -wWp2 /root/systemtap_write/systemtap/testsuite/semok/thirtyseven.stp # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 16989 exp36 0 0 PASS: semok/thirtyseven.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtysix-utrace.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtysix-utrace.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtysix-utrace.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtysix-utrace.stp # global embedded code %{ #include "syscall.h" %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # globals :long [long] # functions _utrace_syscall_arg:long (n:long) _utrace_syscall_nr:long () error:unknown (msg:string) tid:long () # probes process("/root/systemtap_write/install/bin/stap").syscall /* <- process("stap").syscall */ process("/root/systemtap_write/install/bin/stap").begin /* <- process("stap").begin */ process("/root/systemtap_write/install/bin/stap").syscall /* <- process("stap").syscall */ process("/root/systemtap_write/install/bin/stap").syscall.return /* <- process("stap").syscall.return */ process("/root/systemtap_write/install/bin/stap").syscall.return /* <- process("stap").syscall.return */ # locals _utrace_tvar_tid:long __global_utrace_tvar_syscall_0_tmp:long timer.s(900) /* <- timer.s(900) */ process("/root/systemtap_write/install/bin/stap").syscall /* <- process("stap").syscall */ # locals _utrace_tvar_tid:long __stable___global__utrace_syscall_nr__overload_0_value:long wait results: 16994 exp36 0 0 PASS: semok/thirtysix-utrace.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtysix.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtysix.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtysix.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtysix.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) foo1:unknown () foo2:unknown () __private__root_systemtap_write_systemtap_testsuite_semok_thirtysix_stp__dwarf_tvar_get_mode_3:long () __private__root_systemtap_write_systemtap_testsuite_semok_thirtysix_stp__procfs_value_get42:string () # probes kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtysix_stp__dwarf_tvar_get_mode_3_value:long kernel.function("SyS_open@fs/open.c:1049").return /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049").return */ kernel.function("SyS_open@fs/open.c:1049").call /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049").return */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtysix_stp__dwarf_tvar_get_mode_3_value:long kernel.function("SyS_open@fs/open.c:1049").return /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049").return */ kernel.trace("devlink:devlink_hwmsg")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_set_guest_debug")? /* <- kernel.trace("*")? */ kernel.trace("kvm:trap_reg")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_arm_clear_debug")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_handle_sys_reg")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_arm_set_dreg32")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_arm_setup_debug")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_arm_set_regset")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_hvc_arm64")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_wfx_arm64")? /* <- kernel.trace("*")? */ kernel.trace("gpio:gpio_value")? /* <- kernel.trace("*")? */ kernel.trace("gpio:gpio_direction")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi_data:iwlwifi_dev_rx_data")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi_data:iwlwifi_dev_tx_tso_chunk")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi_data:iwlwifi_dev_tx_data")? /* <- kernel.trace("*")? */ kernel.trace("snd_pcm:hw_ptr_error")? /* <- kernel.trace("*")? */ kernel.trace("snd_pcm:xrun")? /* <- kernel.trace("*")? */ kernel.trace("snd_pcm:hwptr")? /* <- kernel.trace("*")? */ kernel.trace("target:target_cmd_complete")? /* <- kernel.trace("*")? */ kernel.trace("target:target_sequencer_start")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:vb2_v4l2_qbuf")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:vb2_v4l2_dqbuf")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:vb2_v4l2_buf_queue")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:vb2_v4l2_buf_done")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:v4l2_qbuf")? /* <- kernel.trace("*")? */ kernel.trace("v4l2:v4l2_dqbuf")? /* <- kernel.trace("*")? */ kernel.trace("writeback:sb_clear_inode_writeback")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_dirty_inode_enqueue")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_lazytime_iput")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_wait_iff_congested")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_written")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_start")? /* <- kernel.trace("*")? */ kernel.trace("writeback:global_dirty_state")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_exec")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_write_inode")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_write_inode_start")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_dirty_inode")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_sb_inodes_requeue")? /* <- kernel.trace("*")? */ kernel.trace("writeback:wbc_writepage")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_dirty_inode_start")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_single_inode_start")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_dirty_page")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_lazytime")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_pages_written")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_wake_background")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_wait")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_nowork")? /* <- kernel.trace("*")? */ kernel.trace("writeback:sb_mark_inode_writeback")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_mark_inode_dirty")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_bdi_register")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_single_inode")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_queue")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_queue_io")? /* <- kernel.trace("*")? */ kernel.trace("writeback:bdi_dirty_ratelimit")? /* <- kernel.trace("*")? */ kernel.trace("writeback:balance_dirty_pages")? /* <- kernel.trace("*")? */ kernel.trace("writeback:writeback_congestion_wait")? /* <- kernel.trace("*")? */ kernel.trace("lock:lock_release")? /* <- kernel.trace("*")? */ kernel.trace("lock:lock_acquire")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_wake_idle_without_ipi")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_swap_numa")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_wait_task")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stat_runtime")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_free")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_migrate_task")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stick_numa")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_exit")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_switch")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_move_numa")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_waking")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_kthread_stop_ret")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_hang")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_exec")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_wait")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_kthread_stop")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stat_blocked")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_wakeup_new")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_pi_setprio")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_process_fork")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stat_wait")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stat_sleep")? /* <- kernel.trace("*")? */ kernel.trace("sched:sched_stat_iowait")? /* <- kernel.trace("*")? */ kernel.trace("page_isolation:test_pages_isolated")? /* <- kernel.trace("*")? */ kernel.trace("random:urandom_read")? /* <- kernel.trace("*")? */ kernel.trace("random:random_read")? /* <- kernel.trace("*")? */ kernel.trace("random:extract_entropy")? /* <- kernel.trace("*")? */ kernel.trace("random:get_random_bytes_arch")? /* <- kernel.trace("*")? */ kernel.trace("random:add_device_randomness")? /* <- kernel.trace("*")? */ kernel.trace("random:mix_pool_bytes_nolock")? /* <- kernel.trace("*")? */ kernel.trace("random:credit_entropy_bits")? /* <- kernel.trace("*")? */ kernel.trace("random:xfer_secondary_pool")? /* <- kernel.trace("*")? */ kernel.trace("random:push_to_pool")? /* <- kernel.trace("*")? */ kernel.trace("random:extract_entropy_user")? /* <- kernel.trace("*")? */ kernel.trace("random:add_disk_randomness")? /* <- kernel.trace("*")? */ kernel.trace("random:debit_entropy")? /* <- kernel.trace("*")? */ kernel.trace("random:mix_pool_bytes")? /* <- kernel.trace("*")? */ kernel.trace("random:add_input_randomness")? /* <- kernel.trace("*")? */ kernel.trace("random:get_random_bytes")? /* <- kernel.trace("*")? */ kernel.trace("net:netif_rx_entry")? /* <- kernel.trace("*")? */ kernel.trace("net:netif_receive_skb_entry")? /* <- kernel.trace("*")? */ kernel.trace("net:napi_gro_receive_entry")? /* <- kernel.trace("*")? */ kernel.trace("net:netif_receive_skb")? /* <- kernel.trace("*")? */ kernel.trace("net:napi_gro_frags_entry")? /* <- kernel.trace("*")? */ kernel.trace("net:net_dev_queue")? /* <- kernel.trace("*")? */ kernel.trace("net:netif_rx_ni_entry")? /* <- kernel.trace("*")? */ kernel.trace("net:net_dev_xmit")? /* <- kernel.trace("*")? */ kernel.trace("net:netif_rx")? /* <- kernel.trace("*")? */ kernel.trace("net:net_dev_start_xmit")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_asid_change")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_aux")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_hwr")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_exit")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_out")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_reenter")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_enter")? /* <- kernel.trace("*")? */ kernel.trace("thp:hugepage_splitting")? /* <- kernel.trace("*")? */ kernel.trace("thp:hugepage_update")? /* <- kernel.trace("*")? */ kernel.trace("thp:hugepage_set_pmd")? /* <- kernel.trace("*")? */ kernel.trace("thp:hugepage_invalidate")? /* <- kernel.trace("*")? */ kernel.trace("filemap:mm_filemap_add_to_page_cache")? /* <- kernel.trace("*")? */ kernel.trace("filemap:mm_filemap_delete_from_page_cache")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_recall_release")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_recall_fail")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_get_lookup_fail")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:read_opened")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_recall")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layoutstate_free")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:read_io_done")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:read_done")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_commit_lookup_fail")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:read_start")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:write_opened")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_return_lookup_fail")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:write_done")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:write_io_done")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:write_start")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layoutstate_alloc")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layout_recall_done")? /* <- kernel.trace("*")? */ kernel.trace("nfsd:layoutstate_unhash")? /* <- kernel.trace("*")? */ kernel.trace("i2c:smbus_result")? /* <- kernel.trace("*")? */ kernel.trace("i2c:smbus_reply")? /* <- kernel.trace("*")? */ kernel.trace("i2c:smbus_read")? /* <- kernel.trace("*")? */ kernel.trace("i2c:smbus_write")? /* <- kernel.trace("*")? */ kernel.trace("i2c:i2c_result")? /* <- kernel.trace("*")? */ kernel.trace("i2c:i2c_read")? /* <- kernel.trace("*")? */ kernel.trace("i2c:i2c_reply")? /* <- kernel.trace("*")? */ kernel.trace("i2c:i2c_write")? /* <- kernel.trace("*")? */ kernel.trace("mmc:mmc_request_done")? /* <- kernel.trace("*")? */ kernel.trace("mmc:mmc_request_start")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_cmd_completion")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_init")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_cancel_urb")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_reset_ep")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_quirks")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_address_ctx")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_ring_expansion")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_context_change")? /* <- kernel.trace("*")? */ kernel.trace("xhci-hcd:xhci_dbg_address")? /* <- kernel.trace("*")? */ kernel.trace("skb:skb_copy_datagram_iovec")? /* <- kernel.trace("*")? */ kernel.trace("skb:consume_skb")? /* <- kernel.trace("*")? */ kernel.trace("skb:kfree_skb")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:set_key")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_rx_dma_aggr")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_tx_status_cleaned")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_tx_dma_done")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_tx")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_rx")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:freq_cal_adjust")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:read_temp")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:temp_mode")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_tx_status")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:reg_write")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:set_shared_key")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_mcu_msg_send")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:rf_read")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_vend_req")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:bbp_write")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:reg_read")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:ee_read")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:freq_cal_offset")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:mt_submit_urb")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:rf_write")? /* <- kernel.trace("*")? */ kernel.trace("mt7601u:bbp_read")? /* <- kernel.trace("*")? */ kernel.trace("rcu:rcu_utilization")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_transfer_stop")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_message_done")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_message_start")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_message_submit")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_transfer_start")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_master_busy")? /* <- kernel.trace("*")? */ kernel.trace("spi:spi_master_idle")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_writeback_collision")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_alloc_fail")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_alloc")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_keyscan")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_set_root")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_writeback")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_gc_copy_collision")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_journal_full")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_cache_cannibalize")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_node_compact")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_journal_replay_key")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_bypass_sequential")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_read_retry")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_node_alloc_fail")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_insert_key")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_write")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_read")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_node_split")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_bypass_congested")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_gc_coalesce")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_request_start")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_write")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_node_free")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_request_end")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_journal_entry_full")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_journal_write")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_invalidate")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_read")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_btree_node_alloc")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_cache_insert")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_gc_start")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_gc_end")? /* <- kernel.trace("*")? */ kernel.trace("bcache:bcache_gc_copy")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_return_int")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_ackreq_default")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_lbt_mode")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_max_frame_retries")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_csma_backoffs")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_add_virtual_intf")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_del_virtual_intf")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_resume")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_backoff_exponent")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_tx_power")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_suspend")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_short_addr")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_cca_mode")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_cca_ed_level")? /* <- kernel.trace("*")? */ kernel.trace("cfg802154:802154_rdev_set_pan_id")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ucode_error")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ucode_wrap_event")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_irq")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_warn")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_tx")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_iowrite32")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ict_read")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_iowrite8")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ioread_prph32")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph64")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ioread32")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_hcmd")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ucode_event")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_err")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_ucode_cont_event")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_info")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_crit")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_iowrite64")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_iowrite_prph32")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dbg")? /* <- kernel.trace("*")? */ kernel.trace("iwlwifi:iwlwifi_dev_rx")? /* <- kernel.trace("*")? */ kernel.trace("tlb:tlb_flush")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_wake_tx_queue")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_tdls_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_txpower")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_pre_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_default_unicast_key")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:stop_queue")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:wake_queue")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_sta_set_buffered")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_eosp")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_enable_rssi_reports")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_gtk_rekey_notify")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_remain_on_channel_expired")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_conf_tx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_add")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_statistics")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_stop_tx_ba_session")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_rc_update")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_rts_threshold")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_rate_tbl_update")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_key_seq")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_tsf")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_coverage_class")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_return_bool")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_change_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_start")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sched_scan_stop")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_reconfig_complete")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_sta_block_awake")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_beacon_loss")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_update_tkip_key")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_tdls_recv_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_return_int")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_sched_scan_stopped")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_remove_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_tdls_cancel_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_config_iface_filter")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_et_stats")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sched_scan_start")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sync_rx_queues")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_notify")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_bss_info_changed")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_cqm_rssi_notify")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_et_sset_count")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_return_u32")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_return_u64")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_stats")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_ringparam")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_pre_rcu_remove")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_bitrate_mask")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_return_void")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sw_scan_complete")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_resume")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_frag_threshold")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_change_interface")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_antenna")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_suspend")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_ipv6_addr_change")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_radar_detected")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_config")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_remove")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_offchannel_tx_cancel_wait")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_leave_ibss")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_stop")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_sched_scan_results")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_prepare_multicast")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_configure_filter")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_remove_interface")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_start_tx_ba_session")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_tim")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_tsf")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sta_state")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_reset_tsf")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_tx_last_beacon")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_ampdu_action")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_hw_scan")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_ringparam")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_survey")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_restart_hw")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_flush")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_key")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_remain_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_tx_frames_pending")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_event_callback")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_cqm_beacon_loss_notify")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_rekey_data")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_release_buffered_frames")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_ready_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_mgd_prepare_tx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_antenna")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_sw_scan_start")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_mgd_protect_tdls_discover")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_add_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_chswitch_done")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_cancel_hw_scan")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_switch_vif_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_cancel_remain_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_assign_vif_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_channel_switch_beacon")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_add_interface")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_unassign_vif_chanctx")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_start_ap")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_stop_ap")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_set_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_join_ibss")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_post_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_expected_throughput")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_start_tx_ba_cb")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_allow_buffered_frames")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_stop_tx_ba_cb")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_connection_loss")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_send_eosp_nullfunc")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:drv_get_et_strings")? /* <- kernel.trace("*")? */ kernel.trace("mac80211:api_scan_completed")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_unfreeze")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_mod_unless")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_freeze")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_mod_and_return")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_mod_and_test")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_mod")? /* <- kernel.trace("*")? */ kernel.trace("page_ref:page_ref_set")? /* <- kernel.trace("*")? */ kernel.trace("cma:cma_release")? /* <- kernel.trace("*")? */ kernel.trace("cma:cma_alloc")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_device_config_req")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_stream_free_req")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_stream_data_format")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_stream_alloc_reply")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:ipc_error")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_mixer_info_reply")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:sst_irq_done")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:ipc_request")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:ipc_pending_reply")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_stream_alloc_request")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:ipc_reply")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:ipc_notification")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:stream_read_position")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:sst_irq_busy")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:stream_write_position")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_volume_req")? /* <- kernel.trace("*")? */ kernel.trace("hswadsp:hsw_stream_buffer")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_syncpt_wait_check")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_syncpt_load_min")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_cdma_begin")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_cdma_end")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_cdma_push_gather")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_cdma_push")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_wait_cdma")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_channel_release")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_channel_submit")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_channel_open")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_channel_submitted")? /* <- kernel.trace("*")? */ kernel.trace("host1x:host1x_channel_submit_complete")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_revisit_deferred")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_drop_deferred")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_wake_up")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_xprt_do_enqueue")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_process")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_connect")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_task_sleep")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_xprt_dequeue")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_state_change")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_bind_status")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_error")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_task_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_shutdown")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_task_complete")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:xprt_transmit")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_defer")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_call_status")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_connect_status")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:xs_tcp_data_recv")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_reset_connection")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_task_run_action")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_socket_close")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:xprt_lookup_rqst")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_handle_xprt")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:xprt_complete_rqst")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:rpc_task_begin")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:xs_tcp_data_ready")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_xprt_no_write_space")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_send")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_recv")? /* <- kernel.trace("*")? */ kernel.trace("sunrpc:svc_drop")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_gtlb_write")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_stlb_write")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_stlb_inval")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_check_requests")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_ppc_instr")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_metadata_tree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_set_buffer_uptodate_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_buffer_cached_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_buffer_cached_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_bh")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_block_from_cache")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_from_disk")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_sync_jbd")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_sync")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_queue_orphan_scan_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_queue_orphan_scan_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mark_dead_nodes")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_replay_journal_skip")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_replay_journal_lock_err")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recovery_thread_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recovery_thread_node")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_complete_recovery_slot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_complete_recovery")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_shutdown_wait")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_shutdown")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_init")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_access")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_allocate_extend_trans")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_trans_restart")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_trans")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_commit_cache_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_encode_fh_type")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_encode_fh_parent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_encode_fh_self")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_dentry_generation")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_attach_lock_found")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_find_local_alias")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate_ret")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate_nofsdata")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate_orphaned")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate_delete")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate_negative")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_revalidate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_orphan_del")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_orphan_add_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_dentry_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_orphan_add_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_blkno_stringify")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_symlink_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rename_disagree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_unlink_noent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_link")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mknod")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_symlink_create")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_init_maxlen")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mkdir")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_lookup")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_prepare_dir_for_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_rebalance")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_double_lock_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_format_cluster")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_check_dir_for_entry")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_create_symlink_data")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_readdir")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_delete_entry_dx")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_search")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_dir_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_search_dirblock")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_acquire_dquot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_dquot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_blocks_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:olq_set_dquot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rename_not_permitted")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_finish_quota_recovery")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recover_local_quota_file")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resmap_resv_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cannibalize_resv_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cannibalize_resv_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resv_find_window_next")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resv_find_window_prev")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_insert_cache_tree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resv_find_window_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_refcount_flag")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_free_clusters")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_clusters_in_btree_ret")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits_iterate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rotate_leaf")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_replay_journal_recovered")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_trim_fs")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_purge_copied_metadata_tree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_decrease_refcount")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_sync_dquot_helper")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_extend_allocation")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_split_refcount_rec_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_splice_write")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_delete_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_release_dquot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_symlink_get_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_clear_ext_refcount")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_expand_cache")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_prepare_refcount_change_for_del")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_insert_extent_start")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_alloc_contig")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_create_refcount_tree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_decrease_refcount_rec")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mv_xattr_buckets")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_change_refcount_rec")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_refcount_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_test_suballoc_bit")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_orphan_filldir")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_calc_refcount_meta_credits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_find_entry_el")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_sync_local_to_main_free")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recover_node")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_iget_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_increase_refcount_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_extent_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_la_set_sizes")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_map_slot_buffers")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_search_chain_succ")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_search_max_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_lock_refcount_allocators")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_no_new_group")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reserve_suballoc_bits_nospc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_search_leaf_info")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_load_local_alloc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_trim_extent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_zero_page")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_encode_fh_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cluster_group_search_max_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rename_over_existing")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_alloc_discontig")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_replace_clusters")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_begin_truncate_log_recovery")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_test_inode_bit")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dentry_attach_lock")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_readpage")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_truncate_log_recovery_num")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_restore_refcount_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_search_chain_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_adjust_rightmost_branch")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_flush_truncate_log")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_grow_tree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_extent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_commit_truncate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cache_cluster_dealloc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_trim_group")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_replay_truncate_records")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_alloc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_clusters_in_btree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_lookup_ret")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mark_extent_written")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_index_root_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_locked_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cluster_group_search_wrong_max_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_quota_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_local_alloc_new_window")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_truncate_log_append")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_claim_new_inode_at_loc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_jbd")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_alloc_should_use_local")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_suballoc_slot_bit")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits_search_bitmap")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_rebalance_split")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_update_last_group_and_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_append_cache_array")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_parent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_append_rec_to_path")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_allocation_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_complete_edge_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_aio_write")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_free_suballoc_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_complete_recovery_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_refcount_extent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_try_to_write_inline_data")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_group_descriptor")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_set_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resmap_claimed_bits_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_initialize_super")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rotate_subtree")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recovery_thread")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_create_refcount_tree_blkno")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_local_alloc_new_window_result")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_next_id")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_run_deallocs")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resv_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_double_lock")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reserve_new_inode_new_group")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_parent_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_find_actor")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cache_block_dealloc")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_block_group_clear_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_claim_suballoc_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_local_alloc_find_clear_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_truncate_file")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_find_files_on_disk")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mv_xattr_bucket_cross_cluster")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_increase_refcount_split")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_purge_refcount_trees")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mark_extent_refcounted")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_refresh_slot_info")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_free_cached_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reserve_local_alloc_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rename_target_exists")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_complete_truncate_log_recovery")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_inode_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_insert_extent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_split_refcount_rec")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_local_alloc_count_bits")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_bmap")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_new_leaf_refcount_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_index_block_find_rec")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_sync_local_to_main")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_increase_refcount_change")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reflink_xattr_header")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_aio_read")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_begin_nolock")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_group_add")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_search_chain_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_metadata_array")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_make_clusters_writable")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_refcount_cow_hunk")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_index_block_find")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_split_extent")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_block_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_end_inline")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_dentry_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_setattr")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_increase_refcount_insert")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_validate_xattr_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_create_index_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_create_empty_xattr_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recover_node_skip")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_unlink")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_open")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_resmap_find_free_bits_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_duplicate_clusters_by_page")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_prepare_inode_for_write")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_iget_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_release")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rotate_tree_right")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_sync_file")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mark_inode_dirty")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_put_super")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_file_splice_read")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_bucket_value_refcount")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_truncate_file_error")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_allocation")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_fault")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_zero_extend_range")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recover_orphans_iput")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_bucket_find")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_zero_extend")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_num_free_extents")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_write_remove_suid")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range2")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_set_buffer_uptodate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_zero_partial_clusters")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_query_inode_wipe_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remove_inode_range")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_relink_block_group")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_iget5_locked")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_check_orphan_recovery_state")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_filecheck_validate_inode_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_begin_local_alloc_recovery")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_filecheck_repair_inode_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_divide_leaf_refcount_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_inode_is_valid_to_delete")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_recover_orphans")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_query_inode_wipe_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_query_inode_wipe_succ")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:generic_file_aio_read_ret")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cleanup_delete_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mark_dquot_dirty")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_fill_super")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_metadata_cache_purge")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_sync_dquot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_drop_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_zero_partial_clusters_range1")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_inode_revalidate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_read_virt_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_remount")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_wait_on_mount")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_journal_dirty")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_find_slot")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_do_node_down")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_group_extend")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_parse_options")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_statfs")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_dentry_stale")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dismount_volume")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_commit_cache_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_insert_refcount_rec")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_init_xattr_set_ctxt")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_xattr_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_iterate_xattr_buckets")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_mv_orphaned_inode_to_new")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_iterate_xattr_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_create")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_map_slot_buffers_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cp_xattr_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_create_index_block_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rename")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_defrag_xattr_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_populate_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_cp_xattr_block_to_bucket_end")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_divide_xattr_bucket_move")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_dx_dir_attach_index")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_adjust_xattr_cross_cluster")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster_begin")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_new_xattr_cluster")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_add_new_xattr_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_get_dentry_test_bit")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_expand_inline_ref_root")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_bucket_value_truncate")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_rm_xattr_cluster")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_extend_dir")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_set_entry_index_block")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_xattr_set_entry_bucket")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_clear_inode")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reflink_xattr_buckets")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_writepage")? /* <- kernel.trace("*")? */ kernel.trace("ocfs2:ocfs2_reflink_xattr_rec")? /* <- kernel.trace("*")? */ kernel.trace("power:dev_pm_qos_remove_request")? /* <- kernel.trace("*")? */ kernel.trace("power:dev_pm_qos_add_request")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_update_flags")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_update_request_timeout")? /* <- kernel.trace("*")? */ kernel.trace("power:power_domain_target")? /* <- kernel.trace("*")? */ kernel.trace("power:clock_disable")? /* <- kernel.trace("*")? */ kernel.trace("power:cpu_idle")? /* <- kernel.trace("*")? */ kernel.trace("power:device_pm_callback_end")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_add_request")? /* <- kernel.trace("*")? */ kernel.trace("power:clock_set_rate")? /* <- kernel.trace("*")? */ kernel.trace("power:powernv_throttle")? /* <- kernel.trace("*")? */ kernel.trace("power:cpu_frequency")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_update_request")? /* <- kernel.trace("*")? */ kernel.trace("power:device_pm_callback_start")? /* <- kernel.trace("*")? */ kernel.trace("power:suspend_resume")? /* <- kernel.trace("*")? */ kernel.trace("power:dev_pm_qos_update_request")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_remove_request")? /* <- kernel.trace("*")? */ kernel.trace("power:pstate_sample")? /* <- kernel.trace("*")? */ kernel.trace("power:wakeup_source_deactivate")? /* <- kernel.trace("*")? */ kernel.trace("power:pm_qos_update_target")? /* <- kernel.trace("*")? */ kernel.trace("power:wakeup_source_activate")? /* <- kernel.trace("*")? */ kernel.trace("power:clock_enable")? /* <- kernel.trace("*")? */ kernel.trace("sock:sock_exceed_buf_limit")? /* <- kernel.trace("*")? */ kernel.trace("sock:sock_rcvqueue_full")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_shrink")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_lookup_extent_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_lookup_extent_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_remove_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_remove_space")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_get_reserved_cluster_alloc")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_find_delalloc_range")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_find_delayed_extent_range_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_in_cache")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_put_in_cache")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_get_implied_cluster_alloc_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_shrink_scan_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_journal_start_reserved")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_journal_start")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_load_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_load_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ind_map_blocks_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_map_blocks_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_convert_to_initialized_fastpath")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_truncate_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_handle_unwritten_extents")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_truncate_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_unlink_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_unlink_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_fallocate_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_collapse_range")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_punch_hole")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_fallocate_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_direct_IO_exit")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("ext4:ext4_es_cache_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_read_block_bitmap_load")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_journalled_invalidatepage")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_shrink_scan_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_insert_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_bitmap_load")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_invalidatepage")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_write_pages_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_map_blocks_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_convert_to_initialized_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mballoc_prealloc")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_find_delayed_extent_range_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_direct_IO_enter")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("ext4:ext4_da_write_pages")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_writepages")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_rm_leaf")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_sync_file_exit")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mballoc_alloc")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_writepage")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_zero_range")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_update_reserve_space")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mark_inode_dirty")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_other_inode_update_time")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_show_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_trim_extent")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_begin_ordered_truncate")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_drop_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_allocate_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_alloc_da_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_journalled_write_end")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_rm_idx")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_write_begin")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_remove_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mballoc_discard")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_release_group_pa")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mballoc_free")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_allocate_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_discard_preallocations")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_free_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_evict_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_request_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_load_inode_bitmap")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_writepages_result")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_insert_range")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_write_begin")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_write_end")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_new_inode_pa")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_request_inode")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_discard_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_write_end")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_new_group_pa")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ext_remove_space_done")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_reserve_space")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_releasepage")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_release_inode_pa")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_discard_preallocations")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_ind_map_blocks_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_free_blocks")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_sync_file_enter")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_es_shrink_count")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_sync_fs")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_readpage")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_forget")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_trim_all_free")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_da_release_space")? /* <- kernel.trace("*")? */ kernel.trace("ext4:ext4_mb_buddy_bitmap_load")? /* <- kernel.trace("*")? */ kernel.trace("filelock:generic_delete_lease")? /* <- kernel.trace("*")? */ kernel.trace("filelock:break_lease_block")? /* <- kernel.trace("*")? */ kernel.trace("filelock:break_lease_unblock")? /* <- kernel.trace("*")? */ kernel.trace("filelock:break_lease_noblock")? /* <- kernel.trace("*")? */ kernel.trace("filelock:generic_add_lease")? /* <- kernel.trace("*")? */ kernel.trace("filelock:locks_remove_posix")? /* <- kernel.trace("*")? */ kernel.trace("filelock:time_out_leases")? /* <- kernel.trace("*")? */ kernel.trace("filelock:fcntl_setlk")? /* <- kernel.trace("*")? */ kernel.trace("filelock:posix_lock_inode")? /* <- kernel.trace("*")? */ kernel.trace("filelock:locks_get_lock_context")? /* <- kernel.trace("*")? */ kernel.trace("cpuhp:cpuhp_exit")? /* <- kernel.trace("*")? */ kernel.trace("cpuhp:cpuhp_enter")? /* <- kernel.trace("*")? */ kernel.trace("pagemap:mm_lru_activate")? /* <- kernel.trace("*")? */ kernel.trace("pagemap:mm_lru_insertion")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_tx_trigger")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_rx_stopped_ack")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_skip_tx_trigger")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_tx_pending_stopped_ack")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_tx_defer_stopped_ack")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_tx_send_stopped_ack")? /* <- kernel.trace("*")? */ kernel.trace("sunvnet:vnet_rx_one")? /* <- kernel.trace("*")? */ kernel.trace("fib6:fib6_table_lookup")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_block_alloc")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_rs")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_glock_state_change")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_promote")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_bmap")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_demote_rq")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_glock_lock_time")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_glock_queue")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_pin")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_log_blocks")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_glock_put")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_log_flush")? /* <- kernel.trace("*")? */ kernel.trace("gfs2:gfs2_ail_flush")? /* <- kernel.trace("*")? */ kernel.trace("oom:oom_score_adj_update")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_abort_scan")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_coalesce")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_start_radar_detection")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_stop_iface")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ft_event")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_report_wowlan_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_return_uint")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_return_bss")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_get_bss")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_tdls_oper_request")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_pmksa_candidate_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_gtk_rekey_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_probe_status")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_rx_unexpected_4addr_frame")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_rx_spurious_frame")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_cac_event")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_radar_event")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ch_switch_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_reg_can_beacon")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_mgmt_tx_status")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_del_sta")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ready_on_channel_expired")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_tx_mlme_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_rx_mlme_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_cqm_rssi_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_rx_unprot_mlme_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_notify_new_peer_candidate")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_tdls_cancel_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_tdls_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_sched_scan_results")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_tx_power")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_update_mesh_config")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_scan_done")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_leave_ocb")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_station")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_sched_scan_stopped")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ch_switch_started_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_dump_mpp")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_mpp")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_report_obss_beacon")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_txq_params")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_assoc")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_ap_chanwidth")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_add_mpath")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_dump_station")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_wds_peer")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_mcast_rate")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_mpath")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_change_station")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_default_mgmt_key")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_cqm_pktloss_notify")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_void")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_chandef_dfs_required")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_join_mesh")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_mpath_info")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_flush_pmksa")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_station_info")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_inform_bss_frame")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_rekey_data")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_wdev")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_key")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_antenna")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_rfkill_poll")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_resume")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_default_key")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_leave_mesh")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_scan")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_change_virtual_intf")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_mgmt_tx_cancel_wait")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_mpath")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_libertas_set_mesh_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_mesh_config")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_send_auth_timeout")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_virtual_intf")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_add_key")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_rx_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_change_mpath")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_suspend")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_sched_scan_stop")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_station")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_return_u32")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_pmksa")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_void_tx_rx")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_monitor_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_auth")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_wiphy_params")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_tdls_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_deauth")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_michael_mic_failure")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_power_mgmt")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_disassoc")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_connect")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_new_sta")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_stop_ap")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_cqm_rssi_config")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_change_bss")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_cqm_txe_config")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_probe_client")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_qos_map")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_disconnect")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_join_ibss")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_join_ocb")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_tx_power")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_int")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_mesh_config")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_bitrate_mask")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_start_p2p_device")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_return_bool")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_mgmt_frame_register")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_antenna")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_dump_mpath")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_add_station")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_leave_ibss")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_start_ap")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_tdls_oper")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_sched_scan_start")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_cancel_remain_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_dump_survey")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ready_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_send_assoc_timeout")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_survey_info")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_pmksa")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_send_rx_auth")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_remain_on_channel")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_cookie")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_channel_switch")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_send_rx_assoc")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_get_key")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_noack_map")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_change_beacon")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_add_virtual_intf")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_chandef")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_stop_p2p_device")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_del_tx_ts")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_set_mac_acl")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_update_ft_ies")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_crit_proto_start")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_mgmt_tx")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_return_int_tx_rx")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_crit_proto_stop")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:cfg80211_ibss_joined")? /* <- kernel.trace("*")? */ kernel.trace("cfg80211:rdev_add_tx_ts")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_mdt_submit_block")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_segment_usage_allocated")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_mdt_insert_new_block")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_segment_usage_check")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_transaction_transition")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_segment_usage_freed")? /* <- kernel.trace("*")? */ kernel.trace("nilfs2:nilfs2_collection_stage_transition")? /* <- kernel.trace("*")? */ kernel.trace("irq:softirq_raise")? /* <- kernel.trace("*")? */ kernel.trace("irq:softirq_exit")? /* <- kernel.trace("*")? */ kernel.trace("irq:irq_handler_exit")? /* <- kernel.trace("*")? */ kernel.trace("irq:softirq_entry")? /* <- kernel.trace("*")? */ kernel.trace("irq:irq_handler_entry")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_remap")? /* <- kernel.trace("*")? */ kernel.trace("block:block_plug")? /* <- kernel.trace("*")? */ kernel.trace("block:block_sleeprq")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("block:block_getrq")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("block:block_split")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_queue")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_frontmerge")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_remap")? /* <- kernel.trace("*")? */ kernel.trace("block:block_touch_buffer")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_bounce")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_abort")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_insert")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_complete")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_requeue")? /* <- kernel.trace("*")? */ kernel.trace("block:block_dirty_buffer")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_complete")? /* <- kernel.trace("*")? */ kernel.trace("block:block_unplug")? /* <- kernel.trace("*")? */ kernel.trace("block:block_rq_issue")? /* <- kernel.trace("*")? */ kernel.trace("block:block_bio_backmerge")? /* <- kernel.trace("*")? */ kernel.trace("spmi:spmi_cmd")? /* <- kernel.trace("*")? */ kernel.trace("spmi:spmi_read_begin")? /* <- kernel.trace("*")? */ kernel.trace("spmi:spmi_read_end")? /* <- kernel.trace("*")? */ kernel.trace("spmi:spmi_write_end")? /* <- kernel.trace("*")? */ kernel.trace("spmi:spmi_write_begin")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_inbox_write")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_inbox_read")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_outbox_wdata")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_outbox_rdata")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_inbox_wdata")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_inbox_rdata")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_outbox_write")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_outbox_read")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_msg_rx")? /* <- kernel.trace("*")? */ kernel.trace("intel-sst:sst_ipc_msg_tx")? /* <- kernel.trace("*")? */ kernel.trace("rpm:rpm_return_int")? /* <- kernel.trace("*")? */ kernel.trace("rpm:rpm_idle")? /* <- kernel.trace("*")? */ kernel.trace("rpm:rpm_resume")? /* <- kernel.trace("*")? */ kernel.trace("rpm:rpm_suspend")? /* <- kernel.trace("*")? */ kernel.trace("fib:fib_validate_source")? /* <- kernel.trace("*")? */ kernel.trace("fib:fib_table_lookup_nh")? /* <- kernel.trace("*")? */ kernel.trace("fib:fib_table_lookup")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_async_complete_start")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_async_io_complete")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_reg_write")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_async_complete_done")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_hw_read_start")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regcache_drop_region")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_reg_read")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_async_write_start")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_hw_write_done")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_reg_read_cache")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_hw_read_done")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_hw_write_start")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_cache_only")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regcache_sync")? /* <- kernel.trace("*")? */ kernel.trace("regmap:regmap_cache_bypass")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_bo_create")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_cs")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_vm_grab_id")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_fence_emit")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_vm_bo_update")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_vm_flush")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_vm_set_page")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_fence_wait_begin")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_semaphore_wait")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_semaphore_signale")? /* <- kernel.trace("*")? */ kernel.trace("radeon:radeon_fence_wait_end")? /* <- kernel.trace("*")? */ kernel.trace("migrate:mm_numa_migrate_ratelimit")? /* <- kernel.trace("*")? */ kernel.trace("migrate:mm_migrate_pages")? /* <- kernel.trace("*")? */ kernel.trace("scsi:scsi_eh_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("scsi:scsi_dispatch_cmd_done")? /* <- kernel.trace("*")? */ kernel.trace("scsi:scsi_dispatch_cmd_error")? /* <- kernel.trace("*")? */ kernel.trace("scsi:scsi_dispatch_cmd_timeout")? /* <- kernel.trace("*")? */ kernel.trace("scsi:scsi_dispatch_cmd_start")? /* <- kernel.trace("*")? */ kernel.trace("raw_syscalls:sys_exit")? /* <- kernel.trace("*")? */ kernel.trace("raw_syscalls:sys_enter")? /* <- kernel.trace("*")? */ kernel.trace("drm:drm_vblank_event_delivered")? /* <- kernel.trace("*")? */ kernel.trace("drm:drm_vblank_event_queued")? /* <- kernel.trace("*")? */ kernel.trace("drm:drm_vblank_event")? /* <- kernel.trace("*")? */ kernel.trace("task:task_rename")? /* <- kernel.trace("*")? */ kernel.trace("task:task_newtask")? /* <- kernel.trace("*")? */ kernel.trace("ras:aer_event")? /* <- kernel.trace("*")? */ kernel.trace("ras:mc_event")? /* <- kernel.trace("*")? */ kernel.trace("9p:9p_protocol_dump")? /* <- kernel.trace("*")? */ kernel.trace("9p:9p_client_res")? /* <- kernel.trace("*")? */ kernel.trace("9p:9p_client_req")? /* <- kernel.trace("*")? */ kernel.trace("context_tracking:user_exit")? /* <- kernel.trace("*")? */ kernel.trace("context_tracking:user_enter")? /* <- kernel.trace("*")? */ kernel.trace("napi:napi_poll")? /* <- kernel.trace("*")? */ kernel.trace("vsock:virtio_transport_recv_pkt")? /* <- kernel.trace("*")? */ kernel.trace("vsock:virtio_transport_alloc_pkt")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_pcm_prepare")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_pcm_hw_params")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_pcm_close")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_pcm_open")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_get_position")? /* <- kernel.trace("*")? */ kernel.trace("hda_controller:azx_pcm_trigger")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_csma_params")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_extended_addr")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_promiscuous_mode")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_pan_id")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_return_void")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_cca_ed_level")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_channel")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_pan_coord")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_return_int")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_stop")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_lbt_mode")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_max_frame_retries")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_cca_mode")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_start")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_tx_power")? /* <- kernel.trace("*")? */ kernel.trace("mac802154:802154_drv_set_short_addr")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_update_log_tail")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_write_superblock")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_checkpoint_stats")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_checkpoint")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_drop_transaction")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_run_stats")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_commit_logging")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_lock_buffer_stall")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_commit_flushing")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_start_commit")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_end_commit")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_commit_locking")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_submit_inode_data")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_handle_stats")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_handle_start")? /* <- kernel.trace("*")? */ kernel.trace("jbd2:jbd2_handle_extend")? /* <- kernel.trace("*")? */ kernel.trace("vb2:vb2_qbuf")? /* <- kernel.trace("*")? */ kernel.trace("vb2:vb2_dqbuf")? /* <- kernel.trace("*")? */ kernel.trace("vb2:vb2_buf_queue")? /* <- kernel.trace("*")? */ kernel.trace("vb2:vb2_buf_done")? /* <- kernel.trace("*")? */ kernel.trace("signal:signal_deliver")? /* <- kernel.trace("*")? */ kernel.trace("signal:signal_generate")? /* <- kernel.trace("*")? */ kernel.trace("udp:udp_fail_queue_rcv_skb")? /* <- kernel.trace("*")? */ kernel.trace("printk:console")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_fpu")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_mmio")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_halt_poll_ns")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_age_page")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_ack_irq")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_set_irq")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_vcpu_wakeup")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_userspace_exit")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_eh_link_autopsy_qc")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_eh_link_autopsy")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_qc_complete_failed")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_qc_complete_done")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_qc_complete_internal")? /* <- kernel.trace("*")? */ kernel.trace("libata:ata_qc_issue")? /* <- kernel.trace("*")? */ kernel.trace("nmi:nmi_handler")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_kcompactd_wake")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_kcompactd_sleep")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_isolate_migratepages")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_deferred")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_migratepages")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_defer_reset")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_begin")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_isolate_freepages")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_end")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_try_to_compact_pages")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_finished")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_defer_compaction")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_wakeup_kcompactd")? /* <- kernel.trace("*")? */ kernel.trace("compaction:mm_compaction_suitable")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_phase_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_rate_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_disable")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_prepare")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_phase")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_parent")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_unprepare")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_parent_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_enable")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_disable_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_prepare_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_enable_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_unprepare_complete")? /* <- kernel.trace("*")? */ kernel.trace("clk:clk_set_rate")? /* <- kernel.trace("*")? */ kernel.trace("thermal_power_allocator:thermal_power_allocator_pid")? /* <- kernel.trace("*")? */ kernel.trace("thermal_power_allocator:thermal_power_allocator")? /* <- kernel.trace("*")? */ kernel.trace("iommu:unmap")? /* <- kernel.trace("*")? */ kernel.trace("iommu:detach_device_from_domain")? /* <- kernel.trace("*")? */ kernel.trace("iommu:attach_device_to_domain")? /* <- kernel.trace("*")? */ kernel.trace("iommu:io_page_fault")? /* <- kernel.trace("*")? */ kernel.trace("iommu:map")? /* <- kernel.trace("*")? */ kernel.trace("iommu:remove_device_from_group")? /* <- kernel.trace("*")? */ kernel.trace("iommu:add_device_to_group")? /* <- kernel.trace("*")? */ kernel.trace("module:module_request")? /* <- kernel.trace("*")? */ kernel.trace("module:module_put")? /* <- kernel.trace("*")? */ kernel.trace("module:module_get")? /* <- kernel.trace("*")? */ kernel.trace("module:module_free")? /* <- kernel.trace("*")? */ kernel.trace("module:module_load")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_sync_dirty_inodes_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_sync_dirty_inodes_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_destroy_extent_tree")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_shrink_extent_tree")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_update_extent_tree_range")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_partial_nodes")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_unlink_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_blocks_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_background_gc")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_set_page_dirty")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_node")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_data_blocks_range")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_blocks_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_submit_read_bio")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_lookup_extent_tree_start")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_sync_fs")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_get_victim")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_nodes_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_unlink_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_write_checkpoint")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_readpages")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_issue_flush")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_iget_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_reserve_new_blocks")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_inode_blocks_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_new_inode")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_sync_file_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_fallocate")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_nodes_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_readpage")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_writepages")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_direct_IO_enter")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("f2fs:f2fs_evict_inode")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_direct_IO_exit")? /* <- kernel.trace("*")? */ # locals :long kernel.trace("f2fs:f2fs_submit_page_bio")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_submit_page_mbio")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_truncate_inode_blocks_exit")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_submit_write_bio")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_write_begin")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_iget")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_issue_discard")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_writepage")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_sync_file_enter")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_write_end")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_do_write_data_page")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_map_blocks")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_commit_inmem_page")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_vm_page_mkwrite")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_register_inmem_page")? /* <- kernel.trace("*")? */ kernel.trace("f2fs:f2fs_lookup_extent_tree_end")? /* <- kernel.trace("*")? */ kernel.trace("timer:itimer_expire")? /* <- kernel.trace("*")? */ kernel.trace("timer:itimer_state")? /* <- kernel.trace("*")? */ kernel.trace("timer:timer_expire_exit")? /* <- kernel.trace("*")? */ kernel.trace("timer:timer_cancel")? /* <- kernel.trace("*")? */ kernel.trace("timer:tick_stop")? /* <- kernel.trace("*")? */ kernel.trace("timer:hrtimer_init")? /* <- kernel.trace("*")? */ kernel.trace("timer:timer_expire_entry")? /* <- kernel.trace("*")? */ kernel.trace("timer:timer_start")? /* <- kernel.trace("*")? */ kernel.trace("timer:hrtimer_start")? /* <- kernel.trace("*")? */ kernel.trace("timer:hrtimer_expire_entry")? /* <- kernel.trace("*")? */ kernel.trace("timer:timer_init")? /* <- kernel.trace("*")? */ kernel.trace("timer:hrtimer_expire_exit")? /* <- kernel.trace("*")? */ kernel.trace("timer:hrtimer_cancel")? /* <- kernel.trace("*")? */ kernel.trace("swiotlb:swiotlb_bounced")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_timer_update_irq")? /* <- kernel.trace("*")? */ kernel.trace("kvm:vgic_update_irq_pending")? /* <- kernel.trace("*")? */ kernel.trace("vsyscall:emulate_vsyscall")? /* <- kernel.trace("*")? */ kernel.trace("power:cpu_migrate_current")? /* <- kernel.trace("*")? */ kernel.trace("power:cpu_migrate_finish")? /* <- kernel.trace("*")? */ kernel.trace("power:cpu_migrate_begin")? /* <- kernel.trace("*")? */ kernel.trace("workqueue:workqueue_execute_end")? /* <- kernel.trace("*")? */ kernel.trace("workqueue:workqueue_execute_start")? /* <- kernel.trace("*")? */ kernel.trace("workqueue:workqueue_activate_work")? /* <- kernel.trace("*")? */ kernel.trace("workqueue:workqueue_queue_work")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_alloc_extfrag")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_alloc_zone_locked")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kmalloc_node")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kmem_cache_alloc_node")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kfree")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kmem_cache_alloc")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kmalloc")? /* <- kernel.trace("*")? */ kernel.trace("kmem:kmem_cache_free")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_free")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_free_batched")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_pcpu_drain")? /* <- kernel.trace("*")? */ kernel.trace("kmem:mm_page_alloc")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_sillyrename_unlink")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_sillyrename_rename")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_rename_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_symlink_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_symlink_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_remove_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_remove_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_rmdir_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_rmdir_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_mkdir_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_mknod_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_create_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_rename_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_atomic_open_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_atomic_open_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_link_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_create_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_access_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_invalidate_mapping_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_invalidate_mapping_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_getattr_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_unlink_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_revalidate_inode_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_fsync_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_setattr_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_link_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_revalidate_inode_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_writeback_page_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_getattr_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_fsync_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_refresh_inode_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_writeback_page_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_mkdir_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_writeback_inode_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_setattr_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_access_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_writeback_inode_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_lookup_revalidate_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_lookup_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_unlink_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_lookup_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_mknod_exit")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_refresh_inode_enter")? /* <- kernel.trace("*")? */ kernel.trace("nfs:nfs_lookup_revalidate_exit")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_power_devfreq_get_power")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_power_devfreq_limit")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_power_cpu_get_power")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_zone_trip")? /* <- kernel.trace("*")? */ kernel.trace("thermal:cdev_update")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_power_cpu_limit")? /* <- kernel.trace("*")? */ kernel.trace("thermal:thermal_temperature")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_enable_signal")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_wait_start")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_destroy")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_init")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_signaled")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_emit")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_wait_end")? /* <- kernel.trace("*")? */ kernel.trace("fence:fence_annotate_wait_on")? /* <- kernel.trace("*")? */ kernel.trace("hda_intel:azx_runtime_resume")? /* <- kernel.trace("*")? */ kernel.trace("hda_intel:azx_runtime_suspend")? /* <- kernel.trace("*")? */ kernel.trace("hda_intel:azx_resume")? /* <- kernel.trace("*")? */ kernel.trace("hda_intel:azx_suspend")? /* <- kernel.trace("*")? */ kernel.trace("hda:snd_hdac_stream_start")? /* <- kernel.trace("*")? */ kernel.trace("hda:hda_unsol_event")? /* <- kernel.trace("*")? */ kernel.trace("hda:hda_get_response")? /* <- kernel.trace("*")? */ kernel.trace("hda:snd_hdac_stream_stop")? /* <- kernel.trace("*")? */ kernel.trace("hda:hda_send_cmd")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_test_age_hva")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_set_way_flush")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_age_hva")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_set_spte_hva")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_entry")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_guest_fault")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_wfx")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_hvc")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_access_fault")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_emulate_cp15_imp")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_irq_line")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_toggle_cache")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_mmio_emulate")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_unmap_hva_range")? /* <- kernel.trace("*")? */ kernel.trace("kvm:kvm_unmap_hva")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_writepage")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_lru_shrink_inactive")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_memcg_isolate")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_lru_isolate")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_shrink_slab_end")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_kswapd_sleep")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_direct_reclaim_begin")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_memcg_reclaim_end")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_memcg_reclaim_begin")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_wakeup_kswapd")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_kswapd_wake")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_begin")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_direct_reclaim_end")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_shrink_slab_start")? /* <- kernel.trace("*")? */ kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_end")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_set_voltage")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_disable_complete")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_disable")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_enable_complete")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_set_voltage_complete")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_enable_delay")? /* <- kernel.trace("*")? */ kernel.trace("regulator:regulator_enable")? /* <- kernel.trace("*")? */ kernel.trace("huge_memory:mm_collapse_huge_page_swapin")? /* <- kernel.trace("*")? */ kernel.trace("huge_memory:mm_collapse_huge_page_isolate")? /* <- kernel.trace("*")? */ kernel.trace("huge_memory:mm_collapse_huge_page")? /* <- kernel.trace("*")? */ kernel.trace("huge_memory:mm_khugepaged_scan_pmd")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:qgroup_update_counters")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_insert_dirty_extent")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_account_extents")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_free_delayed_ref")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_transaction_commit")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:alloc_extent_state")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:add_delayed_ref_head")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:run_delayed_data_ref")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:add_delayed_tree_ref")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_sync_file")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_writepage_end_io_hook")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_chunk_alloc")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_ordered_extent_add")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_release_data")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_cow_block")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_sync_fs")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_inode_new")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_ordered_extent_remove")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_ordered_extent_put")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_get_extent")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:find_free_extent")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_account_extent")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:run_delayed_tree_ref")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:run_delayed_ref_head")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_reserve_extent")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_failed_cluster_setup")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_add_block_group")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_ordered_sched")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_chunk_free")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_reserved_extent_alloc")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_trigger_flush")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_reserve_extent_cluster")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_inode_evict")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_ordered_extent_start")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_space_reservation")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_flush_space")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_reserved_extent_free")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_inode_request")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_all_work_done")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_workqueue_alloc")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_find_cluster")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:__extent_writepage")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:free_extent_state")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_work_queued")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_work_sched")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_workqueue_destroy")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:add_delayed_data_ref")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_setup_cluster")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_init_data_rsv_map")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_free_data_rsv_map")? /* <- kernel.trace("*")? */ kernel.trace("btrfs:btrfs_qgroup_reserve_data")? /* <- kernel.trace("*")? */ kernel.trace("ipi:ipi_exit")? /* <- kernel.trace("*")? */ kernel.trace("ipi:ipi_entry")? /* <- kernel.trace("*")? */ kernel.trace("ipi:ipi_raise")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_bias_level_start")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_bias_level_done")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_widget_event_done")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_jack_irq")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_done")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_widget_power")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_widget_event_start")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_walk_done")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_path")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_jack_notify")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_jack_report")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_start")? /* <- kernel.trace("*")? */ kernel.trace("asoc:snd_soc_dapm_connected")? /* <- kernel.trace("*")? */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8)? /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8)? */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00)? /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414004)? /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414054)? /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414980)? /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00)? /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18)? /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28)? /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8)? /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c)? /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c)? /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90)? /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc)? /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30)? /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4)? /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4)? */ process("/root/systemtap_write/install/bin/stap").statement(0x413ca8)? /* pc=.absolute+0x13ca8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413ca8)? */ process("/root/systemtap_write/install/bin/stap").statement(0x413d00)? /* pc=.absolute+0x13d00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x413d00)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414004)? /* pc=.absolute+0x14004 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414004)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414054)? /* pc=.absolute+0x14054 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414054)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414980)? /* pc=.absolute+0x14980 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414980)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b00)? /* pc=.absolute+0x14b00 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b00)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b18)? /* pc=.absolute+0x14b18 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b18)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414b28)? /* pc=.absolute+0x14b28 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414b28)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414be8)? /* pc=.absolute+0x14be8 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414be8)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414c2c)? /* pc=.absolute+0x14c2c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414c2c)? */ process("/root/systemtap_write/install/bin/stap").statement(0x414f5c)? /* pc=.absolute+0x14f5c */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x414f5c)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417d90)? /* pc=.absolute+0x17d90 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417d90)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417dfc)? /* pc=.absolute+0x17dfc */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417dfc)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417e30)? /* pc=.absolute+0x17e30 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417e30)? */ process("/root/systemtap_write/install/bin/stap").statement(0x417eb4)? /* pc=.absolute+0x17eb4 */ /* <- process("/root/systemtap_write/install/bin/stap").statement(0x417eb4)? */ procfs("file").read /* <- procfs("file").read */ procfs("file").write /* <- procfs("file").write */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtysix_stp__procfs_value_get42_value:string begin /* <- begin,end,error,never */ end /* <- begin,end,error,never */ error /* <- begin,end,error,never */ never /* <- begin,end,error,never */ timer.s(1) /* <- timer.s(1),timer.jiffies(1) */ timer.jiffies(1) /* <- timer.s(1),timer.jiffies(1) */ perf.type(1).config(0).sample(1000000) /* <- perf.type(1).config(0).sample(1000000) */ begin /* <- begin */ begin /* <- begin */ kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ kernel.function("SyS_open@fs/open.c:1049") /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049") */ begin /* <- begin */ begin /* <- begin */ begin /* <- begin */ kernel.function("release_task@kernel/exit.c:168") /* pc=_stext+0x4fbd8 */ /* <- kernel.function("release_task@kernel/exit.c:168") */ kernel.function("release_task@kernel/exit.c:168") /* pc=_stext+0x4fbd8 */ /* <- kernel.function("release_task@kernel/exit.c:168") */ timer.s(900) /* <- timer.s(900) */ wait results: 16999 exp36 0 0 PASS: semok/thirtysix.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtythree.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtythree.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtythree.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtythree.stp # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_thirtythree_stp__dwarf_tvar_get_page_0:long () # probes kernel.function("do_mpage_readpage@fs/mpage.c:144") /* pc=_stext+0x26d240 */ /* <- kernel.function("do_mpage_readpage@fs/mpage.c:144") */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtythree_stp__dwarf_tvar_get_page_0_value:long timer.s(900) /* <- timer.s(900) */ wait results: 17004 exp36 0 0 PASS: semok/thirtythree.stp Running /root/systemtap_write/systemtap/testsuite/semok/thirtytwo.stp starting /root/systemtap_write/systemtap/testsuite/semok/thirtytwo.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtytwo.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/thirtytwo.stp # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _get_kretprobe_string:string (i:long) _set_kretprobe_string:unknown (i:long, value:string) error:unknown (msg:string) log:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_dfd_1:long () __private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_filename_2:long () __private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_flags_3:long () __private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_mode_4:long () __private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_return_0:long () # probes kernel.function("do_sys_open@fs/open.c:1021").call /* pc=_stext+0x21f2d4 */ /* <- kernel.function("do_sys_open@fs/open.c:1021").return */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_dfd_1_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_filename_2_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_flags_3_value:long __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_mode_4_value:long kernel.function("do_sys_open@fs/open.c:1021").return /* pc=_stext+0x21f2d4 */ /* <- kernel.function("do_sys_open@fs/open.c:1021").return */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_thirtytwo_stp__dwarf_tvar_get_return_0_value:long timer.s(900) /* <- timer.s(900) */ wait results: 17009 exp36 0 0 PASS: semok/thirtytwo.stp Running /root/systemtap_write/systemtap/testsuite/semok/three.stp starting /root/systemtap_write/systemtap/testsuite/semok/three.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/three.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/three.stp WARNING: Eliding assignment to 'a': operator '<<<' at /root/systemtap_write/systemtap/testsuite/semok/three.stp:5:5 source: a <<< 2; ^ WARNING: Eliding side-effect-free expression : identifier 'a' at :5:3 source: a <<< 2; ^ # globals b:stats [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ # locals __idx0:long wait results: 17014 exp36 0 0 PASS: semok/three.stp Running /root/systemtap_write/systemtap/testsuite/semok/transko.stp starting /root/systemtap_write/systemtap/testsuite/semok/transko.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/transko.stp spawn /root/systemtap_write/systemtap/testsuite/semok/transko.stp # globals x:long # functions error:unknown (msg:string) # probes perf.type(0).config(0).sample(0).process("/usr/bin/ed").counter("a") /* <- perf.type(0).config(0).process("/bin/ed").counter("a") */ process("/usr/bin/ed").begin /* <- process("/bin/ed").begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ WARNING: Eliding unused function 'bar': identifier 'bar' at /root/systemtap_write/systemtap/testsuite/./../testsuite/transko/two.stp:3:10 source: function bar () { ^ WARNING: statement will never be reached: keyword at :9:3 source: for (a=0; a<10; a=a+1) for (b=0; b<10; b=b+1) ; ^ # functions error:unknown (msg:string) # probes end /* <- end */ timer.s(900) /* <- timer.s(900) */ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 17019 exp36 0 0 PASS: semok/transko.stp Running /root/systemtap_write/systemtap/testsuite/semok/twelve.stp starting /root/systemtap_write/systemtap/testsuite/semok/twelve.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twelve.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twelve.stp WARNING: Eliding side-effect-free expression : identifier 'trace' at /root/systemtap_write/systemtap/testsuite/semok/twelve.stp:9:2 source: trace("doing something with a pipe") ^ WARNING: side-effect-free probe 'probe_2762': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2764': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2766': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2768': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2770': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2772': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2774': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2776': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2778': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2780': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2782': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2784': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2786': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2788': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2790': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2792': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2794': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2796': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2798': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2800': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2802': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2804': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2806': keyword at :7:1 source: probe kernel.function("pipe_*") ^ WARNING: side-effect-free probe 'probe_2808': keyword at :7:1 source: probe kernel.function("pipe_*") ^ # functions error:unknown (msg:string) # probes kernel.function("pipe_fcntl@fs/pipe.c:1105") /* pc=_stext+0x22a958 */ /* <- kernel.function("pipe_fcntl@fs/pipe.c:1105") */ kernel.function("pipe_proc_fn@fs/pipe.c:1082") /* pc=_stext+0x22a870 */ /* <- kernel.function("pipe_proc_fn@fs/pipe.c:1082") */ kernel.function("pipe_release@fs/pipe.c:569") /* pc=_stext+0x22a07c */ /* <- kernel.function("pipe_release@fs/pipe.c:569") */ kernel.function("pipe_read@fs/pipe.c:252") /* pc=_stext+0x229b70 */ /* <- kernel.function("pipe_read@fs/pipe.c:252") */ kernel.function("pipe_double_lock@fs/pipe.c:95") /* pc=_stext+0x2295cc */ /* <- kernel.function("pipe_double_lock@fs/pipe.c:95") */ kernel.function("pipe_ioctl@fs/pipe.c:498") /* pc=_stext+0x229320 */ /* <- kernel.function("pipe_ioctl@fs/pipe.c:498") */ kernel.function("pipe_wait@fs/pipe.c:110") /* pc=_stext+0x229668 */ /* <- kernel.function("pipe_wait@fs/pipe.c:110") */ kernel.function("pipe_unlock@fs/pipe.c:78") /* pc=_stext+0x228fe8 */ /* <- kernel.function("pipe_unlock@fs/pipe.c:78") */ kernel.function("pipe_write@fs/pipe.c:361") /* pc=_stext+0x22978c */ /* <- kernel.function("pipe_write@fs/pipe.c:361") */ kernel.function("pipe_lock@fs/pipe.c:69") /* pc=_stext+0x228fb0 */ /* <- kernel.function("pipe_lock@fs/pipe.c:69") */ kernel.function("pipe_fasync@fs/pipe.c:591") /* pc=_stext+0x22923c */ /* <- kernel.function("pipe_fasync@fs/pipe.c:591") */ kernel.function("pipe_poll@fs/pipe.c:523") /* pc=_stext+0x228ef4 */ /* <- kernel.function("pipe_poll@fs/pipe.c:523") */ kernel.function("pipe_set_size@fs/pipe.c:1019") /* pc=_stext+0x22aab8 */ /* <- kernel.function("pipe_set_size@fs/pipe.c:1019") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x228fc8 */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x2295f4 */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x2295fc */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x22961c */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x229624 */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_lock_nested@fs/pipe.c:63") /* pc=_stext+0x2296e4 */ /* <- kernel.function("pipe_lock_nested@fs/pipe.c:63") */ kernel.function("pipe_unlock@fs/pipe.c:78") /* pc=_stext+0x2296cc */ /* <- kernel.function("pipe_unlock@fs/pipe.c:78") */ kernel.function("pipe_lock@fs/pipe.c:69") /* pc=_stext+0x2296e4 */ /* <- kernel.function("pipe_lock@fs/pipe.c:69") */ kernel.function("pipe_to_sendpage@fs/splice.c:706") /* pc=_stext+0x25b250 */ /* <- kernel.function("pipe_to_sendpage@fs/splice.c:706") */ kernel.function("pipe_to_user@fs/splice.c:1542") /* pc=_stext+0x25c520 */ /* <- kernel.function("pipe_to_user@fs/splice.c:1542") */ kernel.function("pipe_to_null@drivers/char/mem.c:619") /* pc=_stext+0x53488c */ /* <- kernel.function("pipe_to_null@drivers/char/mem.c:619") */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 23. Rerun with -v to see them. wait results: 17032 exp36 0 0 PASS: semok/twelve.stp Running /root/systemtap_write/systemtap/testsuite/semok/twenty.stp starting /root/systemtap_write/systemtap/testsuite/semok/twenty.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/twenty.stp spawn /root/systemtap_write/systemtap/testsuite/semok/twenty.stp 1516364 12130891 321460079 wait results: 17037 exp36 0 0 PASS: semok/twenty.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentyeight.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentyeight.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyeight.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyeight.stp WARNING: function current_thread_info is blacklisted: keyword at /root/systemtap_write/systemtap/testsuite/semok/twentyeight.stp:4:1 source: probe kerne*.funct*("vfs_read").* {} ^ WARNING: side-effect-free probe 'probe_2761': keyword at :4:1 source: probe kerne*.funct*("vfs_read").* {} ^ WARNING: side-effect-free probe 'probe_2765': keyword at :4:1 source: probe kerne*.funct*("vfs_read").* {} ^ WARNING: side-effect-free probe 'probe_2768': keyword at :4:1 source: probe kerne*.funct*("vfs_read").* {} ^ WARNING: side-effect-free probe 'probe_2774': keyword at :4:1 source: probe kerne*.funct*("vfs_read").* {} ^ WARNING: side-effect-free probe 'probe_2776': keyword at :4:1 source: probe kerne*.funct*("vfs_read").* {} ^ # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) # probes kernel.function("vfs_read@fs/read_write.c:460").call /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").call */ kernel.function("add_rchar@./include/linux/sched.h:3401") /* pc=_stext+0x22084c */ /* <- kernel.function("vfs_read@fs/read_write.c:460").callee("add_rchar@./include/linux/sched.h:3401") */ kernel.function("inc_syscr@./include/linux/sched.h:3411") /* pc=_stext+0x220864 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").callee("inc_syscr@./include/linux/sched.h:3411") */ kernel.function("rw_verify_area@fs/read_write.c:401") /* pc=_stext+0x2206f4 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").callee("rw_verify_area@fs/read_write.c:401") */ kernel.function("__vfs_read@fs/read_write.c:448") /* pc=_stext+0x21faf8 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").callee("__vfs_read@fs/read_write.c:448") */ kernel.function("vfs_read@fs/read_write.c:460").exported /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").exported */ kernel.function("vfs_read@fs/read_write.c:460").return /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").return */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 2. Rerun with -v to see them. wait results: 17064 exp36 0 0 PASS: semok/twentyeight.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentyfive.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentyfive.stp spawn2 /root/systemtap_write/systemtap/testsuite/semok/twentyfive.stp spawn /root/systemtap_write/systemtap/testsuite/semok/twentyfive.stp WARNING: never-assigned local variable 'foo$1$2$3': identifier 'foo$1$2$3' at :1:14 source: probe begin {foo$1$2$3} ^ WARNING: Eliding side-effect-free expression : identifier 'foo$1$2$3' at :1:14 source: probe begin {foo$1$2$3} ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin {foo$1$2$3} ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions _stp_syscall_nr:long () error:unknown (msg:string) log:unknown (msg:string) # probes kernel.function("SyS_open@fs/open.c:1049").call /* pc=_stext+0x21f4e8 */ /* <- kernel.function("SyS_open@fs/open.c:1049").call */ begin /* <- syscall.open,begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : string 'syscall.open,begin' at :1:14 source: probe begin {@1 @2} ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin {@1 @2} ^ # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ # functions error:unknown (msg:string) log:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ wait results: 17069 exp36 0 0 PASS: semok/twentyfive.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentyfour.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentyfour.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyfour.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyfour.stp # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _get_kretprobe_long:long (i:long) _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_twentyfour_stp__dwarf_tvar_get_count_0:long () # probes kernel.function("vfs_read@fs/read_write.c:460").call /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").return */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_twentyfour_stp__dwarf_tvar_get_count_0_value:long kernel.function("vfs_read@fs/read_write.c:460").return /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").return */ timer.s(900) /* <- timer.s(900) */ wait results: 17081 exp36 0 0 PASS: semok/twentyfour.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentynine.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentynine.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentynine.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentynine.stp WARNING: Eliding unused function 'dummy': identifier 'dummy' at /root/systemtap_write/systemtap/testsuite/semok/twentynine.stp:3:10 source: function dummy:long () {return p;} ^ WARNING: statement will never be reached: keyword at :8:60 source: probe alias1 = kernel.function("vfs_read").return if (0) { if ($return) {p=0} } ^ # globals p:long # functions error:unknown (msg:string) # probes begin if ((3) && (__global_p)) /* <- alias0 = begin if (3) <- *lias0 if (p) */ timer.s(1) if ((1) && (__global_p)) /* <- blias0 = timer.s(1) if (1) <- *lias0 if (p) */ begin if ((3) && (1)) /* <- alias0 = begin if (3) <- alias2 = alias0 if (1), alias1 if (-(1)) <- alias2 if (4) */ kernel.function("vfs_read@fs/read_write.c:460").return if ((0) && (1)) /* pc=_stext+0x220788 */ /* <- kernel.function("vfs_read@fs/read_write.c:460").return if ((0) && (1)) */ timer.s(900) /* <- timer.s(900) */ begin /* <- begin */ wait results: 17086 exp36 0 0 PASS: semok/twentynine.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentyone.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentyone.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyone.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyone.stp # functions error:unknown (msg:string) # probes begin /* <- abcdefgabc = begin <- a* */ begin /* <- abcdefgabc = begin <- a*c */ begin /* <- abcdefgabc = begin <- a*ab* */ begin /* <- abcdefgabc = begin <- a*bc* */ begin /* <- abcdefgabc = begin <- ab*fg*bc */ begin /* <- abcdefgabc = begin <- ab*fg*ab* */ begin /* <- abcdefgabc = begin <- ab*fg*bc* */ begin /* <- abcdefgabc = begin <- *c */ begin /* <- abcdefgabc = begin <- *abc* */ begin /* <- abcdefgabc = begin <- *def* */ begin /* <- abcdefgabc = begin <- *bc*bc */ begin /* <- abcdefgabc = begin <- *abc*bc */ begin /* <- abcdefgabc = begin <- *bc*ab* */ begin /* <- abcdefgabc = begin <- *bc*bc* */ begin /* <- abcdefgabc = begin <- *bc*fg*c */ timer.s(900) /* <- timer.s(900) */ wait results: 17091 exp36 0 0 PASS: semok/twentyone.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentyseven.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentyseven.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyseven.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentyseven.stp WARNING: Eliding side-effect-free expression : string 'foo.a' at /root/systemtap_write/systemtap/testsuite/semok/twentyseven.stp:5:9 source: { "foo.a" } ^ WARNING: side-effect-free probe 'probe_2764': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2767': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2769': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2771': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2773': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2775': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2777': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2779': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2781': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2783': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2785': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2787': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2789': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2791': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2793': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2795': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2797': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2799': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2801': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2803': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2805': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2807': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2809': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2811': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2813': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2815': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2817': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2819': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2821': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2823': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2825': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2827': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2829': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2831': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2833': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2835': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2837': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2839': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2841': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2843': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2845': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2847': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2849': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2851': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2853': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2855': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2857': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2859': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2861': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2863': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2865': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2867': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2869': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2871': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2873': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2875': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2877': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2879': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2881': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2883': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2885': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2887': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2889': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2891': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2893': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2895': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2897': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2899': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2901': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2903': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2905': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2907': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2909': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2911': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2913': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2915': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2917': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2919': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2921': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2923': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2925': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2927': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2929': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2931': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2933': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2935': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2937': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2939': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2941': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2943': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2945': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2947': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2949': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2951': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2953': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2955': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2957': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2959': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2961': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2963': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2965': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2967': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2969': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2971': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2973': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2975': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2977': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2979': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2981': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2983': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2985': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2987': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2989': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2991': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2993': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2995': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2997': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_2999': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3001': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3003': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3005': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3007': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3009': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3011': identifier 'foo' at :11:7 source: probe foo.* { } ^ WARNING: side-effect-free probe 'probe_3013': identifier 'foo' at :11:7 source: probe foo.* { } ^ # functions error:unknown (msg:string) # probes kernel.function("SyS_read@fs/read_write.c:584")! /* pc=_stext+0x221818 */ /* <- kernel.function("SyS_read@fs/read_write.c:584")! */ module("be2iscsi").function("be_queue_alloc@drivers/scsi/be2iscsi/be_main.c:3585")! /* pc= */ /* <- module("be2iscsi").function("be_queue_alloc@drivers/scsi/be2iscsi/be_main.c:3585")! */ module("be2iscsi").function("be_fill_queue@drivers/scsi/be2iscsi/be_main.c:3249")! /* pc= */ /* <- module("be2iscsi").function("be_fill_queue@drivers/scsi/be2iscsi/be_main.c:3249")! */ module("be2iscsi").function("be_queue_free@drivers/scsi/be2iscsi/be_main.c:3575")! /* pc= */ /* <- module("be2iscsi").function("be_queue_free@drivers/scsi/be2iscsi/be_main.c:3575")! */ module("be2iscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("be2iscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("be2iscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("be2iscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_inc@drivers/scsi/be2iscsi/be.h:79")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! /* pc= */ /* <- module("be2iscsi").function("queue_tail_node@drivers/scsi/be2iscsi/be.h:69")! */ module("be2iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("be2iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("be2iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("be2iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("be2iscsi").function("be_mcc_queues_destroy@drivers/scsi/be2iscsi/be_main.c:3717")! /* pc= */ /* <- module("be2iscsi").function("be_mcc_queues_destroy@drivers/scsi/be2iscsi/be_main.c:3717")! */ module("be2iscsi").function("be_mcc_queues_create@drivers/scsi/be2iscsi/be_main.c:3797")! /* pc= */ /* <- module("be2iscsi").function("be_mcc_queues_create@drivers/scsi/be2iscsi/be_main.c:3797")! */ module("be2iscsi").function("be_cmd_create_default_pdu_queue@drivers/scsi/be2iscsi/be_cmds.c:1103")! /* pc= */ /* <- module("be2iscsi").function("be_cmd_create_default_pdu_queue@drivers/scsi/be2iscsi/be_cmds.c:1103")! */ module("be2iscsi").function("queue_get_wrb@drivers/scsi/be2iscsi/be.h:64")! /* pc= */ /* <- module("be2iscsi").function("queue_get_wrb@drivers/scsi/be2iscsi/be.h:64")! */ module("be2iscsi").function("queue_head_inc@drivers/scsi/be2iscsi/be.h:74")! /* pc= */ /* <- module("be2iscsi").function("queue_head_inc@drivers/scsi/be2iscsi/be.h:74")! */ module("be2iscsi").function("queue_head_node@drivers/scsi/be2iscsi/be.h:59")! /* pc= */ /* <- module("be2iscsi").function("queue_head_node@drivers/scsi/be2iscsi/be.h:59")! */ module("scsi_dh_alua").function("alua_rtpg_queue@drivers/scsi/device_handler/scsi_dh_alua.c:863")! /* pc= */ /* <- module("scsi_dh_alua").function("alua_rtpg_queue@drivers/scsi/device_handler/scsi_dh_alua.c:863")! */ module("scsi_dh_alua").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_dh_alua").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_dh_alua").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_dh_alua").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_dh_rdac").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_dh_rdac").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_dh_rdac").function("queue_mode_select@drivers/scsi/device_handler/scsi_dh_rdac.c:658")! /* pc= */ /* <- module("scsi_dh_rdac").function("queue_mode_select@drivers/scsi/device_handler/scsi_dh_rdac.c:658")! */ module("esp_scsi").function("esp_queuecommand@drivers/scsi/esp_scsi.c:979")! /* pc= */ /* <- module("esp_scsi").function("esp_queuecommand@drivers/scsi/esp_scsi.c:979")! */ module("esp_scsi").function("esp_event_queue_full@drivers/scsi/esp_scsi.c:946")! /* pc= */ /* <- module("esp_scsi").function("esp_event_queue_full@drivers/scsi/esp_scsi.c:946")! */ module("esp_scsi").function("esp_queuecommand_lck@drivers/scsi/esp_scsi.c:954")! /* pc= */ /* <- module("esp_scsi").function("esp_queuecommand_lck@drivers/scsi/esp_scsi.c:954")! */ module("libiscsi").function("iscsi_queuecommand@drivers/scsi/libiscsi.c:1644")! /* pc= */ /* <- module("libiscsi").function("iscsi_queuecommand@drivers/scsi/libiscsi.c:1644")! */ module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! /* pc= */ /* <- module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! */ module("libiscsi").function("iscsi_requeue_task@drivers/scsi/libiscsi.c:1469")! /* pc= */ /* <- module("libiscsi").function("iscsi_requeue_task@drivers/scsi/libiscsi.c:1469")! */ module("libiscsi").function("iscsi_suspend_queue@drivers/scsi/libiscsi.c:1884")! /* pc= */ /* <- module("libiscsi").function("iscsi_suspend_queue@drivers/scsi/libiscsi.c:1884")! */ module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! /* pc= */ /* <- module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! */ module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! /* pc= */ /* <- module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! */ module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! /* pc= */ /* <- module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! */ module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! /* pc= */ /* <- module("libiscsi").function("iscsi_conn_queue_work@drivers/scsi/libiscsi.c:88")! */ module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("libiscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_debug").function("scsi_debug_queuecommand@drivers/scsi/scsi_debug.c:5267")! /* pc= */ /* <- module("scsi_debug").function("scsi_debug_queuecommand@drivers/scsi/scsi_debug.c:5267")! */ module("scsi_debug").function("stop_all_queued@drivers/scsi/scsi_debug.c:3726")! /* pc= */ /* <- module("scsi_debug").function("stop_all_queued@drivers/scsi/scsi_debug.c:3726")! */ module("scsi_debug").function("submit_queues_show@drivers/scsi/scsi_debug.c:4765")! /* pc= */ /* <- module("scsi_debug").function("submit_queues_show@drivers/scsi/scsi_debug.c:4765")! */ module("scsi_debug").function("free_all_queued@drivers/scsi/scsi_debug.c:3759")! /* pc= */ /* <- module("scsi_debug").function("free_all_queued@drivers/scsi/scsi_debug.c:3759")! */ module("scsi_debug").function("max_queue_store@drivers/scsi/scsi_debug.c:4615")! /* pc= */ /* <- module("scsi_debug").function("max_queue_store@drivers/scsi/scsi_debug.c:4615")! */ module("scsi_debug").function("max_queue_show@drivers/scsi/scsi_debug.c:4609")! /* pc= */ /* <- module("scsi_debug").function("max_queue_show@drivers/scsi/scsi_debug.c:4609")! */ module("scsi_debug").function("clear_queue_stats@drivers/scsi/scsi_debug.c:3974")! /* pc= */ /* <- module("scsi_debug").function("clear_queue_stats@drivers/scsi/scsi_debug.c:3974")! */ module("scsi_debug").function("get_queue@drivers/scsi/scsi_debug.c:3463")! /* pc= */ /* <- module("scsi_debug").function("get_queue@drivers/scsi/scsi_debug.c:3463")! */ module("scsi_debug").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_debug").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! /* pc= */ /* <- module("scsi_debug").function("block_unblock_all_queues@drivers/scsi/scsi_debug.c:3949")! */ module("scsi_debug").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! /* pc= */ /* <- module("scsi_debug").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! */ module("scsi_debug").function("stop_queued_cmnd@drivers/scsi/scsi_debug.c:3687")! /* pc= */ /* <- module("scsi_debug").function("stop_queued_cmnd@drivers/scsi/scsi_debug.c:3687")! */ module("scsi_transport_fc").function("fc_queue_work@drivers/scsi/scsi_transport_fc.c:2346")! /* pc= */ /* <- module("scsi_transport_fc").function("fc_queue_work@drivers/scsi/scsi_transport_fc.c:2346")! */ module("scsi_transport_fc").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! /* pc= */ /* <- module("scsi_transport_fc").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! */ module("scsi_transport_fc").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! /* pc= */ /* <- module("scsi_transport_fc").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! */ module("scsi_transport_fc").function("fc_bsg_goose_queue@drivers/scsi/scsi_transport_fc.c:3856")! /* pc= */ /* <- module("scsi_transport_fc").function("fc_bsg_goose_queue@drivers/scsi/scsi_transport_fc.c:3856")! */ module("scsi_transport_fc").function("fc_queue_devloss_work@drivers/scsi/scsi_transport_fc.c:2388")! /* pc= */ /* <- module("scsi_transport_fc").function("fc_queue_devloss_work@drivers/scsi/scsi_transport_fc.c:2388")! */ module("scsi_transport_fc").function("fc_queue_devloss_work@drivers/scsi/scsi_transport_fc.c:2388")! /* pc= */ /* <- module("scsi_transport_fc").function("fc_queue_devloss_work@drivers/scsi/scsi_transport_fc.c:2388")! */ module("scsi_transport_fc").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_transport_fc").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_transport_fc").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_fc").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_fc").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_fc").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_iscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_transport_iscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_transport_iscsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_transport_iscsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_transport_iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_iscsi").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_sas").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! /* pc= */ /* <- module("scsi_transport_sas").function("queue_flag_set_unlocked@./include/linux/blkdev.h:525")! */ module("scsi_transport_spi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("scsi_transport_spi").function("queue_work@./include/linux/workqueue.h:470")! */ module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("scsi_transport_srp").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("scsi_transport_srp").function("srp_wait_for_queuecommand@drivers/scsi/scsi_transport_srp.c:429")! /* pc= */ /* <- module("scsi_transport_srp").function("srp_wait_for_queuecommand@drivers/scsi/scsi_transport_srp.c:429")! */ module("scsi_transport_srp").function("srp_wait_for_queuecommand@drivers/scsi/scsi_transport_srp.c:429")! /* pc= */ /* <- module("scsi_transport_srp").function("srp_wait_for_queuecommand@drivers/scsi/scsi_transport_srp.c:429")! */ module("virtio_scsi").function("virtscsi_queuecommand@drivers/scsi/virtio_scsi.c:530")! /* pc= */ /* <- module("virtio_scsi").function("virtscsi_queuecommand@drivers/scsi/virtio_scsi.c:530")! */ module("virtio_scsi").function("virtscsi_change_queue_depth@drivers/scsi/virtio_scsi.c:703")! /* pc= */ /* <- module("virtio_scsi").function("virtscsi_change_queue_depth@drivers/scsi/virtio_scsi.c:703")! */ module("virtio_scsi").function("virtscsi_queuecommand_single@drivers/scsi/virtio_scsi.c:569")! /* pc= */ /* <- module("virtio_scsi").function("virtscsi_queuecommand_single@drivers/scsi/virtio_scsi.c:569")! */ module("virtio_scsi").function("virtscsi_queuecommand_multi@drivers/scsi/virtio_scsi.c:626")! /* pc= */ /* <- module("virtio_scsi").function("virtscsi_queuecommand_multi@drivers/scsi/virtio_scsi.c:626")! */ module("virtio_scsi").function("virtqueue_set_affinity@./include/linux/virtio_config.h:213")! /* pc= */ /* <- module("virtio_scsi").function("virtqueue_set_affinity@./include/linux/virtio_config.h:213")! */ module("virtio_scsi").function("virtqueue_set_affinity@./include/linux/virtio_config.h:213")! /* pc= */ /* <- module("virtio_scsi").function("virtqueue_set_affinity@./include/linux/virtio_config.h:213")! */ module("virtio_scsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("virtio_scsi").function("queue_work@./include/linux/workqueue.h:470")! */ module("iscsi_target_mod").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("iscsi_target_mod").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("iscsi_target_mod").function("queue_delayed_work@./include/linux/workqueue.h:484")! /* pc= */ /* <- module("iscsi_target_mod").function("queue_delayed_work@./include/linux/workqueue.h:484")! */ module("iscsi_target_mod").function("iscsit_add_cmd_to_response_queue@drivers/target/iscsi/iscsi_target_util.c:568")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_add_cmd_to_response_queue@drivers/target/iscsi/iscsi_target_util.c:568")! */ module("iscsi_target_mod").function("iscsit_get_cmd_from_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:519")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_get_cmd_from_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:519")! */ module("iscsi_target_mod").function("iscsit_conn_all_queues_empty@drivers/target/iscsi/iscsi_target_util.c:644")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_conn_all_queues_empty@drivers/target/iscsi/iscsi_target_util.c:644")! */ module("iscsi_target_mod").function("iscsit_add_cmd_to_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:492")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_add_cmd_to_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:492")! */ module("iscsi_target_mod").function("iscsit_get_cmd_from_response_queue@drivers/target/iscsi/iscsi_target_util.c:593")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_get_cmd_from_response_queue@drivers/target/iscsi/iscsi_target_util.c:593")! */ module("iscsi_target_mod").function("iscsit_free_queue_reqs_for_conn@drivers/target/iscsi/iscsi_target_util.c:662")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_free_queue_reqs_for_conn@drivers/target/iscsi/iscsi_target_util.c:662")! */ module("iscsi_target_mod").function("iscsit_remove_cmd_from_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:539")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_remove_cmd_from_immediate_queue@drivers/target/iscsi/iscsi_target_util.c:539")! */ module("iscsi_target_mod").function("iscsit_remove_cmd_from_response_queue@drivers/target/iscsi/iscsi_target_util.c:614")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_remove_cmd_from_response_queue@drivers/target/iscsi/iscsi_target_util.c:614")! */ module("iscsi_target_mod").function("iscsit_response_queue@drivers/target/iscsi/iscsi_target.c:3666")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_response_queue@drivers/target/iscsi/iscsi_target.c:3666")! */ module("iscsi_target_mod").function("iscsit_queue_rsp@drivers/target/iscsi/iscsi_target.c:483")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_queue_rsp@drivers/target/iscsi/iscsi_target.c:483")! */ module("iscsi_target_mod").function("iscsit_immediate_queue@drivers/target/iscsi/iscsi_target.c:3599")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_immediate_queue@drivers/target/iscsi/iscsi_target.c:3599")! */ module("iscsi_target_mod").function("iscsit_handle_immediate_queue@drivers/target/iscsi/iscsi_target.c:3643")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_handle_immediate_queue@drivers/target/iscsi/iscsi_target.c:3643")! */ module("iscsi_target_mod").function("iscsit_handle_response_queue@drivers/target/iscsi/iscsi_target.c:3772")! /* pc= */ /* <- module("iscsi_target_mod").function("iscsit_handle_response_queue@drivers/target/iscsi/iscsi_target.c:3772")! */ module("iscsi_target_mod").function("lio_queue_data_in@drivers/target/iscsi/iscsi_target_configfs.c:1395")! /* pc= */ /* <- module("iscsi_target_mod").function("lio_queue_data_in@drivers/target/iscsi/iscsi_target_configfs.c:1395")! */ module("iscsi_target_mod").function("lio_queue_tm_rsp@drivers/target/iscsi/iscsi_target_configfs.c:1443")! /* pc= */ /* <- module("iscsi_target_mod").function("lio_queue_tm_rsp@drivers/target/iscsi/iscsi_target_configfs.c:1443")! */ module("iscsi_target_mod").function("lio_queue_status@drivers/target/iscsi/iscsi_target_configfs.c:1428")! /* pc= */ /* <- module("iscsi_target_mod").function("lio_queue_status@drivers/target/iscsi/iscsi_target_configfs.c:1428")! */ module("vhost_scsi").function("vhost_scsi_queue_data_in@drivers/vhost/scsi.c:372")! /* pc= */ /* <- module("vhost_scsi").function("vhost_scsi_queue_data_in@drivers/vhost/scsi.c:372")! */ module("vhost_scsi").function("vhost_scsi_queue_status@drivers/vhost/scsi.c:380")! /* pc= */ /* <- module("vhost_scsi").function("vhost_scsi_queue_status@drivers/vhost/scsi.c:380")! */ module("vhost_scsi").function("vhost_scsi_queue_tm_rsp@drivers/vhost/scsi.c:388")! /* pc= */ /* <- module("vhost_scsi").function("vhost_scsi_queue_tm_rsp@drivers/vhost/scsi.c:388")! */ module("vhost_scsi").function("queue_work@./include/linux/workqueue.h:470")! /* pc= */ /* <- module("vhost_scsi").function("queue_work@./include/linux/workqueue.h:470")! */ timer.s(900) /* <- timer.s(900) */ Number of similar warning messages suppressed: 124. Rerun with -v to see them. wait results: 17096 exp36 0 0 PASS: semok/twentyseven.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentysix.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentysix.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentysix.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentysix.stp # functions error:unknown (msg:string) pp:string () # probes begin /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string begin(10) /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string end /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string end(10) /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string error /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string error(10) /* <- begin,begin(10),end,end(10),error,error(10) */ # locals __stable___global_pp__overload_0_value:string timer.s(900) /* <- timer.s(900) */ wait results: 17101 exp36 0 0 PASS: semok/twentysix.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentythree.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentythree.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentythree.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentythree.stp # globals c:long a:long b:string d:string # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ end /* <- end */ wait results: 17106 exp36 0 0 PASS: semok/twentythree.stp Running /root/systemtap_write/systemtap/testsuite/semok/twentytwo.stp starting /root/systemtap_write/systemtap/testsuite/semok/twentytwo.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentytwo.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/twentytwo.stp WARNING: side-effect-free probe 'probe_2769': identifier 'foo' at /root/systemtap_write/systemtap/testsuite/semok/twentytwo.stp:4:7 source: probe foo.* { } ^ # functions error:unknown (msg:string) # probes never /* <- foo.a = kernel.function("no_such_function")?, never <- foo.* */ timer.s(900) /* <- timer.s(900) */ wait results: 17111 exp36 0 0 PASS: semok/twentytwo.stp Running /root/systemtap_write/systemtap/testsuite/semok/two.stp starting /root/systemtap_write/systemtap/testsuite/semok/two.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/two.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/two.stp WARNING: never-assigned local variable 'koo' (similar: foo, bar, baz): identifier 'koo' at /root/systemtap_write/systemtap/testsuite/semok/two.stp:12:15 source: foo = bar + koo; ^ WARNING: Eliding assignment to 'foo': operator '=' at :12:7 source: foo = bar + koo; ^ WARNING: Eliding side-effect-free expression : identifier 'foo' at :12:3 source: foo = bar + koo; ^ # globals bar:long baz:long [long, string, long] # functions error:unknown (msg:string) koo:long (p:long) # probes end /* <- end */ timer.s(900) /* <- timer.s(900) */ end /* <- end */ end /* <- end */ # locals __idx0:long __idx1:string __idx2:long __val:long wait results: 17116 exp36 0 0 PASS: semok/two.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask01.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask01.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask01_stp__procfs_value_set1:string (:string) # probes procfs("foo1").umask(0).read /* <- procfs("foo1").umask(0).read */ timer.s(900) /* <- timer.s(900) */ wait results: 17121 exp36 0 0 PASS: semok/umask01.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask02.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask02.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask02.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask02.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask02_stp__procfs_value_set1:string (:string) # probes procfs("foo2").umask(4).read /* <- procfs("foo2").umask(4).read */ timer.s(900) /* <- timer.s(900) */ wait results: 17126 exp36 0 0 PASS: semok/umask02.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask03.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask03.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask03.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask03.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask03_stp__procfs_value_set1:string (:string) # probes procfs("foo3").umask(260).read /* <- procfs("foo3").umask(260).read */ timer.s(900) /* <- timer.s(900) */ wait results: 17131 exp36 0 0 PASS: semok/umask03.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask04.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask04.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask04.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask04.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask04_stp__procfs_value_get1:string () # probes procfs("foo4").umask(2).write /* <- procfs("foo4").umask(2).write */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_umask04_stp__procfs_value_get1_value:string timer.s(900) /* <- timer.s(900) */ wait results: 17136 exp36 0 0 PASS: semok/umask04.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask05.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask05.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask05.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask05.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask05_stp__procfs_value_get1:string () # probes procfs("foo5").umask(146).write /* <- procfs("foo5").umask(146).write */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_umask05_stp__procfs_value_get1_value:string timer.s(900) /* <- timer.s(900) */ wait results: 17141 exp36 0 0 PASS: semok/umask05.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask06.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask06.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask06.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask06.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask06_stp__procfs_value_get2:string () __private__root_systemtap_write_systemtap_testsuite_semok_umask06_stp__procfs_value_set1:string (:string) # probes procfs("foo").umask(2).read /* <- procfs("foo").umask(2).read */ procfs("foo").umask(32).write /* <- procfs("foo").umask(32).write */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_umask06_stp__procfs_value_get2_value:string timer.s(900) /* <- timer.s(900) */ wait results: 17146 exp36 0 0 PASS: semok/umask06.stp Running /root/systemtap_write/systemtap/testsuite/semok/umask07.stp starting /root/systemtap_write/systemtap/testsuite/semok/umask07.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask07.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/umask07.stp # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) __private__root_systemtap_write_systemtap_testsuite_semok_umask07_stp__procfs_value_get2:string () __private__root_systemtap_write_systemtap_testsuite_semok_umask07_stp__procfs_value_set1:string (:string) # probes procfs("foo7").read /* <- procfs("foo7").read */ procfs("foo7").umask(32).write /* <- procfs("foo7").umask(32).write */ # locals __stable___private__root_systemtap_write_systemtap_testsuite_semok_umask07_stp__procfs_value_get2_value:string timer.s(900) /* <- timer.s(900) */ wait results: 17151 exp36 0 0 PASS: semok/umask07.stp Running /root/systemtap_write/systemtap/testsuite/semok/utrace01.stp starting /root/systemtap_write/systemtap/testsuite/semok/utrace01.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/utrace01.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/utrace01.stp WARNING: side-effect-free probe 'probe_2760': keyword at /root/systemtap_write/systemtap/testsuite/semok/utrace01.stp:4:1 source: probe process("cat").end { } ^ # functions error:unknown (msg:string) # probes process("/usr/bin/cat").end /* <- process("cat").end */ timer.s(900) /* <- timer.s(900) */ wait results: 17156 exp36 0 0 PASS: semok/utrace01.stp Running /root/systemtap_write/systemtap/testsuite/semok/utrace14.stp starting /root/systemtap_write/systemtap/testsuite/semok/utrace14.stp spawn1 stap -p2 /root/systemtap_write/systemtap/testsuite/semok/utrace14.stp spawn stap -p2 /root/systemtap_write/systemtap/testsuite/semok/utrace14.stp WARNING: side-effect-free probe 'probe_2760': keyword at /root/systemtap_write/systemtap/testsuite/semok/utrace14.stp:4:1 source: probe process(1).begin { } ^ # functions error:unknown (msg:string) # probes process(1).begin /* <- process(1).begin */ timer.s(900) /* <- timer.s(900) */ wait results: 17161 exp36 0 0 PASS: semok/utrace14.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/semok.exp completed in 445 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/transko.exp ... Running /root/systemtap_write/systemtap/testsuite/transko/perf01.stp starting /root/systemtap_write/systemtap/testsuite/transko/perf01.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transko/perf01.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transko/perf01.stp semantic error: cannot translate general @perf expression: operator '@perf' at /root/systemtap_write/systemtap/testsuite/transko/perf01.stp:10:6 source: x = @perf("a") ^ Pass 3: translation failed. [man error::pass3] wait results: 17166 exp36 0 1 XFAIL: transko/perf01.stp Running /root/systemtap_write/systemtap/testsuite/transko/two.stp starting /root/systemtap_write/systemtap/testsuite/transko/two.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transko/two.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transko/two.stp WARNING: Eliding unused function 'bar': identifier 'bar' at /root/systemtap_write/systemtap/testsuite/transko/two.stp:3:10 source: function bar () { ^ WARNING: statement will never be reached: keyword at :9:3 source: for (a=0; a<10; a=a+1) for (b=0; b<10; b=b+1) ; ^ semantic error: cannot 'break' outside loop: keyword at :8:3 source: break ^ Pass 3: translation failed. [man error::pass3] wait results: 17171 exp36 0 1 XFAIL: transko/two.stp Running /root/systemtap_write/systemtap/testsuite/transko/varargs.stp starting /root/systemtap_write/systemtap/testsuite/transko/varargs.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transko/varargs.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transko/varargs.stp semantic error: too many arguments to print (33): identifier 'println' at /root/systemtap_write/systemtap/testsuite/transko/varargs.stp:5:5 source: println(1, 2, 3, 4, 5, 6, 7, 8, ^ Pass 3: translation failed. [man error::pass3] wait results: 17176 exp36 0 1 XFAIL: transko/varargs.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/transko.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/transok.exp ... Running /root/systemtap_write/systemtap/testsuite/transok/buildko.stp starting /root/systemtap_write/systemtap/testsuite/transok/buildko.stp spawn2 /root/systemtap_write/systemtap/testsuite/transok/buildko.stp spawn /root/systemtap_write/systemtap/testsuite/transok/buildko.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/global_access.stp:10 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/global_access.stp:13 */ int64_t __tmp3; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_write__overload_0_locals { /* no return value */ } function___global_write__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { struct stp_printf_2_locals { int64_t arg0; } stp_printf_2; } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT static void stp_printf_2 (struct context* __restrict__ c) { struct stp_printf_2_locals * __restrict__ l = & c->printf_locals.stp_printf_2; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 2); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 2); src = "\n"; while (*src && str <= end) *str++ = *src++; } } #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals { int64_t s___global_var; rwlock_t s___global_var_lock; #ifdef STP_TIMING atomic_t s___global_var_lock_skip_count; #endif }; static struct stp_globals stp_global = { }; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_write__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 3) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ global(s___global_var) = ((int64_t)1LL); ((int64_t)1LL); }); (void) ({ function___global_write__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); (void) ({ l->__tmp3 = global(s___global_var); #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_2.arg0 = l->__tmp3; stp_printf_2 (c); #else // STP_LEGACY_PRINT _stp_printf ("%lld\n", l->__tmp3); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/global_access.stp:10:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_write__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_write__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_write__overload_0; (void) l; #define CONTEXT c #define THIS l c->last_stmt = "identifier 'write' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/global_access.stp:5:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { #define STAP_GLOBAL_SET_var(val) global_set(s___global_var, val) /* pragma:write:var */ STAP_GLOBAL_SET_var("test"); #undef STAP_GLOBAL_SET_var } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; if (rc) { _stp_error ("global variable '__global_var' allocation failed"); goto out; } global_lock_init(s___global_var); #ifdef STP_TIMING atomic_set(global_skipped(s___global_var), 0); #endif _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (global_skipped(s___global_var)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_var", ctr); ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #undef var module_param_named (var, global(s___global_var), int64_t, 0); #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) (((int64_t) ( /* not pure */ SYNTAX ERROR ))); out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/three.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 6 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:9 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:10 */ string_t __tmp11; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:11 */ int64_t __tmp24; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; struct probe_2763_locals { int64_t l___idx0; string_t l___idx1; int64_t l___idx2; string_t l___idx3; int64_t l___idx4; string_t l___idx5; int64_t l___idx6; string_t l___idx7; int64_t l___idx8; string_t l___idx9; string_t l___val; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2 */ struct map_node *__tmp0; int64_t __tmp1; string_t __tmp2; int64_t __tmp3; string_t __tmp4; int64_t __tmp5; string_t __tmp6; int64_t __tmp7; string_t __tmp8; int64_t __tmp9; string_t __tmp10; string_t __tmp11; }; }; } probe_2763; struct probe_2765_locals { string_t l___idx0; int64_t l___idx1; string_t l___idx2; int64_t l___idx3; string_t l___idx4; int64_t l___idx5; string_t l___idx6; int64_t l___idx7; string_t l___idx8; int64_t l___idx9; int64_t l___val; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2 */ struct map_node *__tmp0; string_t __tmp1; int64_t __tmp2; string_t __tmp3; int64_t __tmp4; string_t __tmp5; int64_t __tmp6; string_t __tmp7; int64_t __tmp8; string_t __tmp9; int64_t __tmp10; int64_t __tmp11; }; }; } probe_2765; struct probe_2767_locals { int64_t l___idx0; string_t l___idx1; int64_t l___idx2; string_t l___idx3; int64_t l___idx4; string_t l___idx5; int64_t l___idx6; string_t l___idx7; int64_t l___idx8; string_t l___idx9; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2 */ struct map_node *__tmp0; int64_t __tmp1; string_t __tmp2; int64_t __tmp3; string_t __tmp4; int64_t __tmp5; string_t __tmp6; int64_t __tmp7; string_t __tmp8; int64_t __tmp9; string_t __tmp10; int64_t __tmp11; struct stat_data *__tmp12; int64_t __tmp13; int64_t __tmp14; struct stat_data *__tmp15; int64_t __tmp16; int64_t __tmp17; struct stat_data *__tmp18; int64_t __tmp19; int64_t __tmp20; struct stat_data *__tmp21; int64_t __tmp22; int64_t __tmp23; struct stat_data *__tmp24; int64_t __tmp25; }; }; } probe_2767; struct probe_2769_locals { string_t l___idx0; int64_t l___idx1; string_t l___idx2; int64_t l___idx3; string_t l___idx4; int64_t l___idx5; string_t l___idx6; int64_t l___idx7; string_t l___idx8; int64_t l___idx9; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2 */ struct map_node *__tmp0; string_t __tmp1; int64_t __tmp2; string_t __tmp3; int64_t __tmp4; string_t __tmp5; int64_t __tmp6; string_t __tmp7; int64_t __tmp8; string_t __tmp9; int64_t __tmp10; int64_t __tmp11; struct stat_data *__tmp12; int64_t __tmp13; int64_t __tmp14; struct stat_data *__tmp15; int64_t __tmp16; int64_t __tmp17; struct stat_data *__tmp18; int64_t __tmp19; int64_t __tmp20; struct stat_data *__tmp21; int64_t __tmp22; int64_t __tmp23; struct stat_data *__tmp24; int64_t __tmp25; }; }; } probe_2769; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { struct stp_printf_2_locals { int64_t arg0; const char* arg1; int64_t arg2; const char* arg3; int64_t arg4; const char* arg5; int64_t arg6; const char* arg7; int64_t arg8; const char* arg9; const char* arg10; } stp_printf_2; struct stp_printf_3_locals { const char* arg0; int64_t arg1; const char* arg2; int64_t arg3; const char* arg4; int64_t arg5; const char* arg6; int64_t arg7; const char* arg8; int64_t arg9; int64_t arg10; } stp_printf_3; struct stp_printf_4_locals { int64_t arg0; const char* arg1; int64_t arg2; const char* arg3; int64_t arg4; const char* arg5; int64_t arg6; const char* arg7; int64_t arg8; const char* arg9; int64_t arg10; int64_t arg11; int64_t arg12; int64_t arg13; int64_t arg14; } stp_printf_4; struct stp_printf_5_locals { const char* arg0; int64_t arg1; const char* arg2; int64_t arg3; const char* arg4; int64_t arg5; const char* arg6; int64_t arg7; const char* arg8; int64_t arg9; int64_t arg10; int64_t arg11; int64_t arg12; int64_t arg13; int64_t arg14; } stp_printf_5; } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #include "alloc.c" #define VALUE_TYPE STRING #define KEY1_TYPE INT64 #define KEY2_TYPE STRING #define KEY3_TYPE INT64 #define KEY4_TYPE STRING #define KEY5_TYPE INT64 #define KEY6_TYPE STRING #define KEY7_TYPE INT64 #define KEY8_TYPE STRING #define KEY9_TYPE INT64 #define KEY10_TYPE STRING #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #undef KEY4_TYPE #undef KEY5_TYPE #undef KEY6_TYPE #undef KEY7_TYPE #undef KEY8_TYPE #undef KEY9_TYPE #undef KEY10_TYPE #define VALUE_TYPE STAT #define KEY1_TYPE INT64 #define KEY2_TYPE STRING #define KEY3_TYPE INT64 #define KEY4_TYPE STRING #define KEY5_TYPE INT64 #define KEY6_TYPE STRING #define KEY7_TYPE INT64 #define KEY8_TYPE STRING #define KEY9_TYPE INT64 #define KEY10_TYPE STRING #define MAP_DO_PMAP 1 #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #undef KEY4_TYPE #undef KEY5_TYPE #undef KEY6_TYPE #undef KEY7_TYPE #undef KEY8_TYPE #undef KEY9_TYPE #undef KEY10_TYPE #define VALUE_TYPE INT64 #define KEY1_TYPE STRING #define KEY2_TYPE INT64 #define KEY3_TYPE STRING #define KEY4_TYPE INT64 #define KEY5_TYPE STRING #define KEY6_TYPE INT64 #define KEY7_TYPE STRING #define KEY8_TYPE INT64 #define KEY9_TYPE STRING #define KEY10_TYPE INT64 #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #undef KEY4_TYPE #undef KEY5_TYPE #undef KEY6_TYPE #undef KEY7_TYPE #undef KEY8_TYPE #undef KEY9_TYPE #undef KEY10_TYPE #define VALUE_TYPE STAT #define KEY1_TYPE STRING #define KEY2_TYPE INT64 #define KEY3_TYPE STRING #define KEY4_TYPE INT64 #define KEY5_TYPE STRING #define KEY6_TYPE INT64 #define KEY7_TYPE STRING #define KEY8_TYPE INT64 #define KEY9_TYPE STRING #define KEY10_TYPE INT64 #define MAP_DO_PMAP 1 #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #undef KEY4_TYPE #undef KEY5_TYPE #undef KEY6_TYPE #undef KEY7_TYPE #undef KEY8_TYPE #undef KEY9_TYPE #undef KEY10_TYPE #include "map.c" #ifndef STP_LEGACY_PRINT static void stp_printf_2 (struct context* __restrict__ c) { struct stp_printf_2_locals * __restrict__ l = & c->printf_locals.stp_printf_2; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("a10[") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg1, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg2, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg3, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg4, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg5, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg6, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg7, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg8, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg9, width, precision, 's', 32); num_bytes += sizeof("\"]=\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg10, width, precision, 's', 32); num_bytes += sizeof("\"\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "a10["; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg1, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg2, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg3, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg4, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg5, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg6, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg7, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg8, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg9, width, precision, 's', 32); src = "\"]=\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg10, width, precision, 's', 32); src = "\"\n"; while (*src && str <= end) *str++ = *src++; } } static void stp_printf_3 (struct context* __restrict__ c) { struct stp_printf_3_locals * __restrict__ l = & c->printf_locals.stp_printf_3; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("b10[\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg0, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg1, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg2, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg3, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg4, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg5, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg6, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg7, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg8, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg9, 10, width, precision, 34); num_bytes += sizeof("]=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg10, 16, width, precision, 32); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "b10[\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg0, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg1, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg2, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg3, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg4, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg5, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg6, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg7, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg8, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg9, 10, width, precision, 34); src = "]="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg10, 16, width, precision, 32); src = "\n"; while (*src && str <= end) *str++ = *src++; } } static void stp_printf_4 (struct context* __restrict__ c) { struct stp_printf_4_locals * __restrict__ l = & c->printf_locals.stp_printf_4; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("c10[") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg1, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg2, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg3, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg4, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg5, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg6, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg7, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg8, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg9, width, precision, 's', 32); num_bytes += sizeof("\"] @count=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg10, 10, width, precision, 34); num_bytes += sizeof(" @min=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg11, 10, width, precision, 34); num_bytes += sizeof(" @max=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg12, 10, width, precision, 34); num_bytes += sizeof(" @sum=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg13, 10, width, precision, 34); num_bytes += sizeof(" @avg=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg14, 10, width, precision, 34); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "c10["; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg1, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg2, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg3, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg4, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg5, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg6, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg7, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg8, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg9, width, precision, 's', 32); src = "\"] @count="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg10, 10, width, precision, 34); src = " @min="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg11, 10, width, precision, 34); src = " @max="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg12, 10, width, precision, 34); src = " @sum="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg13, 10, width, precision, 34); src = " @avg="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg14, 10, width, precision, 34); src = "\n"; while (*src && str <= end) *str++ = *src++; } } static void stp_printf_5 (struct context* __restrict__ c) { struct stp_printf_5_locals * __restrict__ l = & c->printf_locals.stp_printf_5; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("d10[\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg0, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg1, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg2, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg3, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg4, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg5, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg6, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg7, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg8, width, precision, 's', 32); num_bytes += sizeof("\",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg9, 10, width, precision, 34); num_bytes += sizeof("] @count=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg10, 10, width, precision, 34); num_bytes += sizeof(" @min=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg11, 10, width, precision, 34); num_bytes += sizeof(" @max=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg12, 10, width, precision, 34); num_bytes += sizeof(" @sum=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg13, 10, width, precision, 34); num_bytes += sizeof(" @avg=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg14, 10, width, precision, 34); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "d10[\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg0, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg1, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg2, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg3, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg4, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg5, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg6, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg7, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg8, width, precision, 's', 32); src = "\","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg9, 10, width, precision, 34); src = "] @count="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg10, 10, width, precision, 34); src = " @min="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg11, 10, width, precision, 34); src = " @max="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg12, 10, width, precision, 34); src = " @sum="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg13, 10, width, precision, 34); src = " @avg="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg14, 10, width, precision, 34); src = "\n"; while (*src && str <= end) *str++ = *src++; } } #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals { MAP s___global_a10; rwlock_t s___global_a10_lock; #ifdef STP_TIMING atomic_t s___global_a10_lock_skip_count; #endif MAP s___global_b10; rwlock_t s___global_b10_lock; #ifdef STP_TIMING atomic_t s___global_b10_lock_skip_count; #endif PMAP s___global_c10; rwlock_t s___global_c10_lock; #ifdef STP_TIMING atomic_t s___global_c10_lock_skip_count; #endif PMAP s___global_d10; rwlock_t s___global_d10_lock; #ifdef STP_TIMING atomic_t s___global_d10_lock_skip_count; #endif }; static struct stp_globals stp_global = { }; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char location[79]; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 4) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ c->last_stmt = "identifier 'a10' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:10:7"; strlcpy (l->__tmp11, "a", MAXSTRINGLEN); { int rc = _stp_map_set_isisisisiss (global(s___global_a10), ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", (l->__tmp11[0] ? l->__tmp11 : NULL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; "a"; }); (void) ({ c->last_stmt = "identifier 'b10' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:11:7"; l->__tmp24 = ((int64_t)0LL); { int rc = _stp_map_set_sisisisisii (global(s___global_b10), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), l->__tmp24); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ((int64_t)0LL); }); (void) ({ c->last_stmt = "identifier 'c10' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:12:7"; { int rc = _stp_pmap_add_isisisisisx (global(s___global_c10), ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL), "a", ((int64_t)0LL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ((int64_t)0LL); }); (void) ({ c->last_stmt = "identifier 'd10' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:13:7"; { int rc = _stp_pmap_add_sisisisisix (global(s___global_d10), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), "b", ((int64_t)0LL), ((int64_t)0LL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ((int64_t)0LL); }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static void probe_2763 (struct context * __restrict__ c) { __label__ out; struct probe_2763_locals * __restrict__ l = & c->probe_locals.probe_2763; (void) l; l->l___idx0 = 0; l->l___idx1[0] = '\0'; l->l___idx2 = 0; l->l___idx3[0] = '\0'; l->l___idx4 = 0; l->l___idx5[0] = '\0'; l->l___idx6 = 0; l->l___idx7[0] = '\0'; l->l___idx8 = 0; l->l___idx9[0] = '\0'; l->l___val[0] = '\0'; { _stp_map_sort_isisisisiss (global(s___global_a10), 0, 1); l->__tmp0 = _stp_map_start (global(s___global_a10)); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } top_0: if (! (l->__tmp0)) goto break_0; { l->l___idx0 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 1); strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); l->l___idx2 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 3); strlcpy (l->l___idx3, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 4) ?: ""), MAXSTRINGLEN); l->l___idx4 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 5); strlcpy (l->l___idx5, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 6) ?: ""), MAXSTRINGLEN); l->l___idx6 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 7); strlcpy (l->l___idx7, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 8) ?: ""), MAXSTRINGLEN); l->l___idx8 = _stp_map_key_get_int64_isisisisiss (l->__tmp0, 9); strlcpy (l->l___idx9, (_stp_map_key_get_str_isisisisiss (l->__tmp0, 10) ?: ""), MAXSTRINGLEN); strlcpy (l->l___val, (_stp_map_get_str_isisisisiss (l->__tmp0) ?: ""), MAXSTRINGLEN); (void) ({ l->__tmp1 = l->l___idx0; strlcpy (l->__tmp2, l->l___idx1, MAXSTRINGLEN); l->__tmp3 = l->l___idx2; strlcpy (l->__tmp4, l->l___idx3, MAXSTRINGLEN); l->__tmp5 = l->l___idx4; strlcpy (l->__tmp6, l->l___idx5, MAXSTRINGLEN); l->__tmp7 = l->l___idx6; strlcpy (l->__tmp8, l->l___idx7, MAXSTRINGLEN); l->__tmp9 = l->l___idx8; strlcpy (l->__tmp10, l->l___idx9, MAXSTRINGLEN); strlcpy (l->__tmp11, l->l___val, MAXSTRINGLEN); #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_2.arg0 = l->__tmp1; c->printf_locals.stp_printf_2.arg1 = l->__tmp2; c->printf_locals.stp_printf_2.arg2 = l->__tmp3; c->printf_locals.stp_printf_2.arg3 = l->__tmp4; c->printf_locals.stp_printf_2.arg4 = l->__tmp5; c->printf_locals.stp_printf_2.arg5 = l->__tmp6; c->printf_locals.stp_printf_2.arg6 = l->__tmp7; c->printf_locals.stp_printf_2.arg7 = l->__tmp8; c->printf_locals.stp_printf_2.arg8 = l->__tmp9; c->printf_locals.stp_printf_2.arg9 = l->__tmp10; c->printf_locals.stp_printf_2.arg10 = l->__tmp11; stp_printf_2 (c); #else // STP_LEGACY_PRINT _stp_printf ("a10[%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\"]=\"%#s\"\n", l->__tmp1, l->__tmp2, l->__tmp3, l->__tmp4, l->__tmp5, l->__tmp6, l->__tmp7, l->__tmp8, l->__tmp9, l->__tmp10, l->__tmp11); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:1"; goto out; } } continue_0: l->__tmp0 = _stp_map_iter (global(s___global_a10), l->__tmp0); goto top_0; break_0: ; /* dummy statement */ } out: _stp_print_flush(); } static void probe_2765 (struct context * __restrict__ c) { __label__ out; struct probe_2765_locals * __restrict__ l = & c->probe_locals.probe_2765; (void) l; l->l___idx0[0] = '\0'; l->l___idx1 = 0; l->l___idx2[0] = '\0'; l->l___idx3 = 0; l->l___idx4[0] = '\0'; l->l___idx5 = 0; l->l___idx6[0] = '\0'; l->l___idx7 = 0; l->l___idx8[0] = '\0'; l->l___idx9 = 0; l->l___val = 0; { _stp_map_sort_sisisisisii (global(s___global_b10), 0, 1); l->__tmp0 = _stp_map_start (global(s___global_b10)); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } top_1: if (! (l->__tmp0)) goto break_1; { strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); l->l___idx1 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 2); strlcpy (l->l___idx2, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 3) ?: ""), MAXSTRINGLEN); l->l___idx3 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 4); strlcpy (l->l___idx4, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 5) ?: ""), MAXSTRINGLEN); l->l___idx5 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 6); strlcpy (l->l___idx6, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 7) ?: ""), MAXSTRINGLEN); l->l___idx7 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 8); strlcpy (l->l___idx8, (_stp_map_key_get_str_sisisisisii (l->__tmp0, 9) ?: ""), MAXSTRINGLEN); l->l___idx9 = _stp_map_key_get_int64_sisisisisii (l->__tmp0, 10); l->l___val = _stp_map_get_int64_sisisisisii (l->__tmp0); (void) ({ strlcpy (l->__tmp1, l->l___idx0, MAXSTRINGLEN); l->__tmp2 = l->l___idx1; strlcpy (l->__tmp3, l->l___idx2, MAXSTRINGLEN); l->__tmp4 = l->l___idx3; strlcpy (l->__tmp5, l->l___idx4, MAXSTRINGLEN); l->__tmp6 = l->l___idx5; strlcpy (l->__tmp7, l->l___idx6, MAXSTRINGLEN); l->__tmp8 = l->l___idx7; strlcpy (l->__tmp9, l->l___idx8, MAXSTRINGLEN); l->__tmp10 = l->l___idx9; l->__tmp11 = l->l___val; #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_3.arg0 = l->__tmp1; c->printf_locals.stp_printf_3.arg1 = l->__tmp2; c->printf_locals.stp_printf_3.arg2 = l->__tmp3; c->printf_locals.stp_printf_3.arg3 = l->__tmp4; c->printf_locals.stp_printf_3.arg4 = l->__tmp5; c->printf_locals.stp_printf_3.arg5 = l->__tmp6; c->printf_locals.stp_printf_3.arg6 = l->__tmp7; c->printf_locals.stp_printf_3.arg7 = l->__tmp8; c->printf_locals.stp_printf_3.arg8 = l->__tmp9; c->printf_locals.stp_printf_3.arg9 = l->__tmp10; c->printf_locals.stp_printf_3.arg10 = l->__tmp11; stp_printf_3 (c); #else // STP_LEGACY_PRINT _stp_printf ("b10[\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld]=%#llx\n", l->__tmp1, l->__tmp2, l->__tmp3, l->__tmp4, l->__tmp5, l->__tmp6, l->__tmp7, l->__tmp8, l->__tmp9, l->__tmp10, l->__tmp11); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:1"; goto out; } } continue_1: l->__tmp0 = _stp_map_iter (global(s___global_b10), l->__tmp0); goto top_1; break_1: ; /* dummy statement */ } out: _stp_print_flush(); } static void probe_2767 (struct context * __restrict__ c) { __label__ out; struct probe_2767_locals * __restrict__ l = & c->probe_locals.probe_2767; (void) l; l->l___idx0 = 0; l->l___idx1[0] = '\0'; l->l___idx2 = 0; l->l___idx3[0] = '\0'; l->l___idx4 = 0; l->l___idx5[0] = '\0'; l->l___idx6 = 0; l->l___idx7[0] = '\0'; l->l___idx8 = 0; l->l___idx9[0] = '\0'; { if (unlikely(NULL == _stp_pmap_agg_isisisisisx (global(s___global_c10)))) { c->last_error = "aggregation overflow in global(s___global_c10)"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } else _stp_map_sort_isisisisisx (_stp_pmap_get_agg(global(s___global_c10)), SORT_COUNT, 1); l->__tmp0 = _stp_map_start (_stp_pmap_get_agg(global(s___global_c10))); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } top_2: if (! (l->__tmp0)) goto break_2; { l->l___idx0 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 1); strlcpy (l->l___idx1, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 2) ?: ""), MAXSTRINGLEN); l->l___idx2 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 3); strlcpy (l->l___idx3, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 4) ?: ""), MAXSTRINGLEN); l->l___idx4 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 5); strlcpy (l->l___idx5, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 6) ?: ""), MAXSTRINGLEN); l->l___idx6 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 7); strlcpy (l->l___idx7, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 8) ?: ""), MAXSTRINGLEN); l->l___idx8 = _stp_map_key_get_int64_isisisisisx (l->__tmp0, 9); strlcpy (l->l___idx9, (_stp_map_key_get_str_isisisisisx (l->__tmp0, 10) ?: ""), MAXSTRINGLEN); (void) ({ l->__tmp1 = l->l___idx0; strlcpy (l->__tmp2, l->l___idx1, MAXSTRINGLEN); l->__tmp3 = l->l___idx2; strlcpy (l->__tmp4, l->l___idx3, MAXSTRINGLEN); l->__tmp5 = l->l___idx4; strlcpy (l->__tmp6, l->l___idx5, MAXSTRINGLEN); l->__tmp7 = l->l___idx6; strlcpy (l->__tmp8, l->l___idx7, MAXSTRINGLEN); l->__tmp9 = l->l___idx8; strlcpy (l->__tmp10, l->l___idx9, MAXSTRINGLEN); l->__tmp11 = ({ l->__tmp12 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); if (unlikely (l->__tmp12 == NULL)) l->__tmp13 = 0; else l->__tmp13 = l->__tmp12->count; l->__tmp13; }); l->__tmp14 = ({ l->__tmp15 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); if (unlikely (l->__tmp15 == NULL) || l->__tmp15->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@min' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:278"; goto out; } else l->__tmp16 = l->__tmp15->min; l->__tmp16; }); l->__tmp17 = ({ l->__tmp18 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); if (unlikely (l->__tmp18 == NULL) || l->__tmp18->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@max' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:359"; goto out; } else l->__tmp19 = l->__tmp18->max; l->__tmp19; }); l->__tmp20 = ({ l->__tmp21 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); if (unlikely (l->__tmp21 == NULL)) l->__tmp22 = 0; else l->__tmp22 = l->__tmp21->sum; l->__tmp22; }); l->__tmp23 = ({ l->__tmp24 = _stp_map_get_stat_data_isisisisisx (l->__tmp0); if (unlikely (l->__tmp24 == NULL) || l->__tmp24->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@avg' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:521"; goto out; } else l->__tmp25 = _stp_div64(NULL, l->__tmp24->sum, l->__tmp24->count); l->__tmp25; }); #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_4.arg0 = l->__tmp1; c->printf_locals.stp_printf_4.arg1 = l->__tmp2; c->printf_locals.stp_printf_4.arg2 = l->__tmp3; c->printf_locals.stp_printf_4.arg3 = l->__tmp4; c->printf_locals.stp_printf_4.arg4 = l->__tmp5; c->printf_locals.stp_printf_4.arg5 = l->__tmp6; c->printf_locals.stp_printf_4.arg6 = l->__tmp7; c->printf_locals.stp_printf_4.arg7 = l->__tmp8; c->printf_locals.stp_printf_4.arg8 = l->__tmp9; c->printf_locals.stp_printf_4.arg9 = l->__tmp10; c->printf_locals.stp_printf_4.arg10 = l->__tmp11; c->printf_locals.stp_printf_4.arg11 = l->__tmp14; c->printf_locals.stp_printf_4.arg12 = l->__tmp17; c->printf_locals.stp_printf_4.arg13 = l->__tmp20; c->printf_locals.stp_printf_4.arg14 = l->__tmp23; stp_printf_4 (c); #else // STP_LEGACY_PRINT _stp_printf ("c10[%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\"] @count=%#lld @min=%#lld @max=%#lld @sum=%#lld @avg=%#lld\n", l->__tmp1, l->__tmp2, l->__tmp3, l->__tmp4, l->__tmp5, l->__tmp6, l->__tmp7, l->__tmp8, l->__tmp9, l->__tmp10, l->__tmp11, l->__tmp14, l->__tmp17, l->__tmp20, l->__tmp23); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:1"; goto out; } } continue_2: l->__tmp0 = _stp_map_iter (_stp_pmap_get_agg(global(s___global_c10)), l->__tmp0); goto top_2; break_2: ; /* dummy statement */ } out: _stp_print_flush(); } static void probe_2769 (struct context * __restrict__ c) { __label__ out; struct probe_2769_locals * __restrict__ l = & c->probe_locals.probe_2769; (void) l; l->l___idx0[0] = '\0'; l->l___idx1 = 0; l->l___idx2[0] = '\0'; l->l___idx3 = 0; l->l___idx4[0] = '\0'; l->l___idx5 = 0; l->l___idx6[0] = '\0'; l->l___idx7 = 0; l->l___idx8[0] = '\0'; l->l___idx9 = 0; { if (unlikely(NULL == _stp_pmap_agg_sisisisisix (global(s___global_d10)))) { c->last_error = "aggregation overflow in global(s___global_d10)"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } else _stp_map_sort_sisisisisix (_stp_pmap_get_agg(global(s___global_d10)), SORT_COUNT, 1); l->__tmp0 = _stp_map_start (_stp_pmap_get_agg(global(s___global_d10))); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:2:1"; goto out; } top_3: if (! (l->__tmp0)) goto break_3; { strlcpy (l->l___idx0, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 1) ?: ""), MAXSTRINGLEN); l->l___idx1 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 2); strlcpy (l->l___idx2, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 3) ?: ""), MAXSTRINGLEN); l->l___idx3 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 4); strlcpy (l->l___idx4, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 5) ?: ""), MAXSTRINGLEN); l->l___idx5 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 6); strlcpy (l->l___idx6, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 7) ?: ""), MAXSTRINGLEN); l->l___idx7 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 8); strlcpy (l->l___idx8, (_stp_map_key_get_str_sisisisisix (l->__tmp0, 9) ?: ""), MAXSTRINGLEN); l->l___idx9 = _stp_map_key_get_int64_sisisisisix (l->__tmp0, 10); (void) ({ strlcpy (l->__tmp1, l->l___idx0, MAXSTRINGLEN); l->__tmp2 = l->l___idx1; strlcpy (l->__tmp3, l->l___idx2, MAXSTRINGLEN); l->__tmp4 = l->l___idx3; strlcpy (l->__tmp5, l->l___idx4, MAXSTRINGLEN); l->__tmp6 = l->l___idx5; strlcpy (l->__tmp7, l->l___idx6, MAXSTRINGLEN); l->__tmp8 = l->l___idx7; strlcpy (l->__tmp9, l->l___idx8, MAXSTRINGLEN); l->__tmp10 = l->l___idx9; l->__tmp11 = ({ l->__tmp12 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); if (unlikely (l->__tmp12 == NULL)) l->__tmp13 = 0; else l->__tmp13 = l->__tmp12->count; l->__tmp13; }); l->__tmp14 = ({ l->__tmp15 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); if (unlikely (l->__tmp15 == NULL) || l->__tmp15->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@min' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:278"; goto out; } else l->__tmp16 = l->__tmp15->min; l->__tmp16; }); l->__tmp17 = ({ l->__tmp18 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); if (unlikely (l->__tmp18 == NULL) || l->__tmp18->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@max' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:359"; goto out; } else l->__tmp19 = l->__tmp18->max; l->__tmp19; }); l->__tmp20 = ({ l->__tmp21 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); if (unlikely (l->__tmp21 == NULL)) l->__tmp22 = 0; else l->__tmp22 = l->__tmp21->sum; l->__tmp22; }); l->__tmp23 = ({ l->__tmp24 = _stp_map_get_stat_data_sisisisisix (l->__tmp0); if (unlikely (l->__tmp24 == NULL) || l->__tmp24->count == 0) { c->last_error = "empty aggregate"; c->last_stmt = "operator '@avg' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:521"; goto out; } else l->__tmp25 = _stp_div64(NULL, l->__tmp24->sum, l->__tmp24->count); l->__tmp25; }); #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_5.arg0 = l->__tmp1; c->printf_locals.stp_printf_5.arg1 = l->__tmp2; c->printf_locals.stp_printf_5.arg2 = l->__tmp3; c->printf_locals.stp_printf_5.arg3 = l->__tmp4; c->printf_locals.stp_printf_5.arg4 = l->__tmp5; c->printf_locals.stp_printf_5.arg5 = l->__tmp6; c->printf_locals.stp_printf_5.arg6 = l->__tmp7; c->printf_locals.stp_printf_5.arg7 = l->__tmp8; c->printf_locals.stp_printf_5.arg8 = l->__tmp9; c->printf_locals.stp_printf_5.arg9 = l->__tmp10; c->printf_locals.stp_printf_5.arg10 = l->__tmp11; c->printf_locals.stp_printf_5.arg11 = l->__tmp14; c->printf_locals.stp_printf_5.arg12 = l->__tmp17; c->printf_locals.stp_printf_5.arg13 = l->__tmp20; c->printf_locals.stp_printf_5.arg14 = l->__tmp23; stp_printf_5 (c); #else // STP_LEGACY_PRINT _stp_printf ("d10[\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld,\"%#s\",%#lld] @count=%#lld @min=%#lld @max=%#lld @sum=%#lld @avg=%#lld\n", l->__tmp1, l->__tmp2, l->__tmp3, l->__tmp4, l->__tmp5, l->__tmp6, l->__tmp7, l->__tmp8, l->__tmp9, l->__tmp10, l->__tmp11, l->__tmp14, l->__tmp17, l->__tmp20, l->__tmp23); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:3:1"; goto out; } } continue_3: l->__tmp0 = _stp_map_iter (_stp_pmap_get_agg(global(s___global_d10)), l->__tmp0); goto top_3; break_3: ; /* dummy statement */ } out: _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:9:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), STAP_PROBE_INIT(2, &probe_2763, "end", "end", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1:1", " from: end"), STAP_PROBE_INIT(3, &probe_2765, "end", "end", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1:1", " from: end"), STAP_PROBE_INIT(4, &probe_2767, "end", "end", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1:1", " from: end"), STAP_PROBE_INIT(5, &probe_2769, "end", "end", "/root/systemtap_write/systemtap/testsuite/./../testsuite/buildko/two.stp:1:1", " from: end"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, { .probe=(&stap_probes[2]), .state=STAP_SESSION_STOPPING, .type=1 }, { .probe=(&stap_probes[3]), .state=STAP_SESSION_STOPPING, .type=1 }, { .probe=(&stap_probes[4]), .state=STAP_SESSION_STOPPING, .type=1 }, { .probe=(&stap_probes[5]), .state=STAP_SESSION_STOPPING, .type=1 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; global_set(s___global_a10, _stp_map_new_isisisisiss (MAXMAPENTRIES, 0)); if (global(s___global_a10) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_a10' allocation failed"); goto out; } global_lock_init(s___global_a10); #ifdef STP_TIMING atomic_set(global_skipped(s___global_a10), 0); #endif global_set(s___global_b10, _stp_map_new_sisisisisii (MAXMAPENTRIES, 0)); if (global(s___global_b10) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_b10' allocation failed"); goto out; } global_lock_init(s___global_b10); #ifdef STP_TIMING atomic_set(global_skipped(s___global_b10), 0); #endif global_set(s___global_c10, _stp_pmap_new_isisisisisx (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_c10) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_c10' allocation failed"); goto out; } global_lock_init(s___global_c10); #ifdef STP_TIMING atomic_set(global_skipped(s___global_c10), 0); #endif global_set(s___global_d10, _stp_pmap_new_sisisisisix (MAXMAPENTRIES, 0, HIST_NONE)); if (global(s___global_d10) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_d10' allocation failed"); goto out; } global_lock_init(s___global_d10); #ifdef STP_TIMING atomic_set(global_skipped(s___global_d10), 0); #endif _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 6); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: _stp_map_del (global(s___global_a10)); _stp_map_del (global(s___global_b10)); _stp_pmap_del (global(s___global_c10)); _stp_pmap_del (global(s___global_d10)); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_map_del (global(s___global_a10)); _stp_map_del (global(s___global_b10)); _stp_pmap_del (global(s___global_c10)); _stp_pmap_del (global(s___global_d10)); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (global_skipped(s___global_a10)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_a10", ctr); ctr = atomic_read (global_skipped(s___global_b10)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_b10", ctr); ctr = atomic_read (global_skipped(s___global_c10)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_c10", ctr); ctr = atomic_read (global_skipped(s___global_d10)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_d10", ctr); ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #undef a10 #undef b10 #undef c10 #undef d10 wait results: 17181 exp36 0 0 PASS: transok/buildko.stp Running /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp starting /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 13 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:3 */ }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_exit__overload_0_locals { /* no return value */ } function___global_exit__overload_0; struct function___global_f1__overload_0_locals { int64_t l_a; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:8 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:10 */ union { /* if_statement: /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:10 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:11 */ int64_t __tmp1; }; }; }; }; /* no return value */ } function___global_f1__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_exit__overload_0 (struct context * __restrict__ c); static void function___global_f1__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; { (void) ({ c->locals[c->nesting+1].function___global_f1__overload_0.l_a = ((int64_t)1LL); function___global_f1__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); (void) ({ function___global_exit__overload_0 (c); if (unlikely(c->last_error)) goto out; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'exit' at /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:5:3"; goto out; } (void) 0; }); } c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "operator '{' at /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:3:13"; goto out; } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_exit__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_exit__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_exit__overload_0; (void) l; #define CONTEXT c #define THIS l c->last_stmt = "identifier 'exit' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:49:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ atomic_set (session_state(), STAP_SESSION_STOPPING); _stp_exit (); } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_RETVALUE } static void function___global_f1__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_f1__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_f1__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_a THIS->l_a c->last_stmt = "identifier 'f1' at /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:8:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out { (void) ({ _stp_print ("asdf\n"); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:10:3"; goto out; } if ((((l->l_a) < (((int64_t)4LL))))) { (void) ({ l->__tmp1 = ((l->l_a) + (((int64_t)1LL))); c->locals[c->nesting+1].function___global_f1__overload_0.l_a = l->__tmp1; function___global_f1__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'f1' at /root/systemtap_write/systemtap/testsuite/transok/direct_rec_func.stp:11:5"; goto out; } } } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_a #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); wait results: 17201 exp36 0 0 PASS: transok/direct_rec_func.stp Running /root/systemtap_write/systemtap/testsuite/transok/eight.stp starting /root/systemtap_write/systemtap/testsuite/transok/eight.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/eight.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/eight.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { string_t l_a; int64_t l_x; string_t l_y; string_t l_z; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:13 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:14 */ int64_t __tmp2; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:15 */ struct map_node *__tmp4; int64_t __tmp5; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:20 */ string_t __tmp8; string_t __tmp10; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:21 */ string_t __tmp14; string_t __tmp16; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/eight.stp:23 */ struct map_node *__tmp18; string_t __tmp19; string_t __tmp20; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_bar__overload_0_locals { int64_t __tmp1; int64_t __tmp3; int64_t __retvalue; } function___global_bar__overload_0; struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_log__overload_0_locals { const char * l_msg; /* no return value */ } function___global_log__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #include "alloc.c" #define VALUE_TYPE STRING #define KEY1_TYPE INT64 #define KEY2_TYPE STRING #define KEY3_TYPE STRING #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #define VALUE_TYPE INT64 #define KEY1_TYPE STRING #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #include "map.c" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals { MAP s___global_foo; rwlock_t s___global_foo_lock; #ifdef STP_TIMING atomic_t s___global_foo_lock_skip_count; #endif MAP s___global_baz; rwlock_t s___global_baz_lock; #ifdef STP_TIMING atomic_t s___global_baz_lock_skip_count; #endif int64_t s___global_zoo; rwlock_t s___global_zoo_lock; #ifdef STP_TIMING atomic_t s___global_zoo_lock_skip_count; #endif }; static struct stp_globals stp_global = { }; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_bar__overload_0 (struct context * __restrict__ c); static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_log__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; l->l_a[0] = '\0'; l->l_x = 0; l->l_y[0] = '\0'; l->l_z[0] = '\0'; { (void) ({ c->last_stmt = "identifier 'foo' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:14:2"; l->__tmp2 = ((int64_t)10LL); { int rc = _stp_map_set_si (global(s___global_foo), "hello", l->__tmp2); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ((int64_t)10LL); }); l->__tmp4 = _stp_map_start (global(s___global_foo)); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:15:2"; goto out; } top_0: if (! (l->__tmp4)) goto break_0; { strlcpy (l->l_a, (_stp_map_key_get_str_si (l->__tmp4, 1) ?: ""), MAXSTRINGLEN); (void) ({ function___global_bar__overload_0 (c); if (unlikely(c->last_error)) goto out; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'bar' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:17:3"; goto out; } l->__tmp5 = c->locals[c->nesting+1].function___global_bar__overload_0.__retvalue; l->__tmp5; }); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'bar' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:17:3"; goto out; } } continue_0: l->__tmp4 = _stp_map_iter (global(s___global_foo), l->__tmp4); goto top_0; break_0: ; /* dummy statement */ (void) ({ strlcpy (l->__tmp8, l->l_a, MAXSTRINGLEN); c->last_stmt = "identifier 'baz' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:20:2"; strlcpy (l->__tmp10, "chicken", MAXSTRINGLEN); { int rc = _stp_map_set_isss (global(s___global_baz), ((int64_t)1LL), "hello", l->__tmp8, (l->__tmp10[0] ? l->__tmp10 : NULL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; "chicken"; }); (void) ({ strlcpy (l->__tmp14, l->l_a, MAXSTRINGLEN); c->last_stmt = "identifier 'baz' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:21:2"; strlcpy (l->__tmp16, "supreme", MAXSTRINGLEN); { int rc = _stp_map_set_isss (global(s___global_baz), ((int64_t)1LL), "goodbye", l->__tmp14, (l->__tmp16[0] ? l->__tmp16 : NULL)); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; "supreme"; }); l->__tmp18 = _stp_map_start (global(s___global_baz)); c->actionremaining -= 3; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:23:2"; goto out; } top_1: if (! (l->__tmp18)) goto break_1; { l->l_x = _stp_map_key_get_int64_isss (l->__tmp18, 1); strlcpy (l->l_y, (_stp_map_key_get_str_isss (l->__tmp18, 2) ?: ""), MAXSTRINGLEN); strlcpy (l->l_z, (_stp_map_key_get_str_isss (l->__tmp18, 3) ?: ""), MAXSTRINGLEN); (void) ({ strlcpy (l->__tmp19, ({ strlcpy (l->__tmp20, (_stp_map_get_str_isss (l->__tmp18) ?: ""), MAXSTRINGLEN); strlcat (l->__tmp20, l->l_y, MAXSTRINGLEN); l->__tmp20; }), MAXSTRINGLEN); c->locals[c->nesting+1].function___global_log__overload_0.l_msg = l->__tmp19; function___global_log__overload_0 (c); if (unlikely(c->last_error)) goto out; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'log' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:25:3"; goto out; } (void) 0; }); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'log' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:25:3"; goto out; } } continue_1: l->__tmp18 = _stp_map_iter (global(s___global_baz), l->__tmp18); goto top_1; break_1: ; /* dummy statement */ (void) ({ c->locals[c->nesting+1].function___global_log__overload_0.l_msg = "hello from systemtap"; function___global_log__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); } c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "operator '{' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:13:1"; goto out; } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/eight.stp:12:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_bar__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_bar__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_bar__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_RETVALUE THIS->__retvalue c->last_stmt = "identifier 'bar' at /root/systemtap_write/systemtap/testsuite/transok/eight.stp:7:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) l->__retvalue = 0; #define STAP_RETURN(v) do { STAP_RETVALUE = (int64_t) (v); goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded";goto out; } l->__retvalue = (( ({ l->__tmp1 = _stp_map_get_si (global(s___global_foo), "hello"); l->__tmp1; })) + ( ({ l->__tmp3 = global(s___global_zoo); global(s___global_zoo) += 1; l->__tmp3; }))); goto out; #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_RETVALUE } static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_log__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_log__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_log__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'log' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:22:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ STAP_PRINTF ("%s\n", STAP_ARG_msg); } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; global_set(s___global_foo, _stp_map_new_si (MAXMAPENTRIES, 0)); if (global(s___global_foo) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_foo' allocation failed"); goto out; } global_lock_init(s___global_foo); #ifdef STP_TIMING atomic_set(global_skipped(s___global_foo), 0); #endif global_set(s___global_baz, _stp_map_new_isss (MAXMAPENTRIES, 0)); if (global(s___global_baz) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_baz' allocation failed"); goto out; } global_lock_init(s___global_baz); #ifdef STP_TIMING atomic_set(global_skipped(s___global_baz), 0); #endif if (rc) { _stp_error ("global variable '__global_zoo' allocation failed"); goto out; } global_lock_init(s___global_zoo); #ifdef STP_TIMING atomic_set(global_skipped(s___global_zoo), 0); #endif _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: _stp_map_del (global(s___global_foo)); _stp_map_del (global(s___global_baz)); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_map_del (global(s___global_foo)); _stp_map_del (global(s___global_baz)); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (global_skipped(s___global_foo)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_foo", ctr); ctr = atomic_read (global_skipped(s___global_baz)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_baz", ctr); ctr = atomic_read (global_skipped(s___global_zoo)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_zoo", ctr); ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #undef foo #undef baz #undef zoo module_param_named (zoo, global(s___global_zoo), int64_t, 0); wait results: 17206 exp36 0 0 PASS: transok/eight.stp Running /root/systemtap_write/systemtap/testsuite/transok/eleven.stp starting /root/systemtap_write/systemtap/testsuite/transok/eleven.stp spawn2 /root/systemtap_write/systemtap/testsuite/transok/eleven.stp spawn /root/systemtap_write/systemtap/testsuite/transok/eleven.stp WARNING: missing unwind/symbol data for module '/zoo/poo/in/the/loo' wait results: 17211 exp36 0 0 PASS: transok/eleven.stp Running /root/systemtap_write/systemtap/testsuite/transok/five.stp starting /root/systemtap_write/systemtap/testsuite/transok/five.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/five.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/five.stp WARNING: Eliding assignment to 'b': operator '=' at /root/systemtap_write/systemtap/testsuite/transok/five.stp:13:30 source: for (a=0; a<=4; a=a+1) { b = a } ^ WARNING: Eliding side-effect-free expression : identifier 'a' at :7:17 source: for (;a>0;) { a + 5 } ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { int64_t l_a; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/five.stp:4 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:6 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:6 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:6 */ union { /* if_statement: /root/systemtap_write/systemtap/testsuite/transok/five.stp:6 */ }; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:8 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:8 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:8 */ int64_t __tmp2; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:9 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:9 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:9 */ union { /* if_statement: /root/systemtap_write/systemtap/testsuite/transok/five.stp:9 */ }; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:10 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:10 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:10 */ int64_t __tmp6; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:11 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:11 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:11 */ int64_t __tmp10; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:12 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:12 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:12 */ int64_t __tmp14; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:13 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:13 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:13 */ int64_t __tmp18; }; }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:15 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:15 */ }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:16 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:16 */ }; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/five.stp:17 */ union { /* for_loop: /root/systemtap_write/systemtap/testsuite/transok/five.stp:17 */ }; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; l->l_a = 0; { (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:6:3"; goto out; } top_0: if (! (((int64_t)1LL))) goto break_0; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:6:17"; goto out; } if ((((l->l_a) > (((int64_t)4LL))))) { c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:6:28"; goto out; } goto break_0; } continue_0: goto top_0; break_0: ; /* dummy statement */ c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:8:3"; goto out; } top_1: if (! (((int64_t)1LL))) goto break_1; /* null */; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:8:3"; goto out; } continue_1: (void) ({ l->__tmp2 = ((l->l_a) + (((int64_t)1LL))); l->l_a = l->__tmp2; l->__tmp2; }); goto top_1; break_1: ; /* dummy statement */ (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); c->actionremaining -= 3; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:9:3"; goto out; } top_2: if (! ((((l->l_a) > (((int64_t)0LL)))))) goto break_2; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:9:20"; goto out; } if ((((l->l_a) < (((int64_t)4LL))))) { c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:9:31"; goto out; } goto continue_2; } continue_2: goto top_2; break_2: ; /* dummy statement */ c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:10:3"; goto out; } top_3: if (! ((((l->l_a) > (((int64_t)0LL)))))) goto break_3; /* null */; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:10:3"; goto out; } continue_3: (void) ({ l->__tmp6 = ((l->l_a) + (((int64_t)1LL))); l->l_a = l->__tmp6; l->__tmp6; }); goto top_3; break_3: ; /* dummy statement */ (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); c->actionremaining -= 3; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:11:3"; goto out; } top_4: if (! (((int64_t)1LL))) goto break_4; /* null */; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:11:3"; goto out; } continue_4: (void) ({ l->__tmp10 = ((l->l_a) + (((int64_t)1LL))); l->l_a = l->__tmp10; l->__tmp10; }); goto top_4; break_4: ; /* dummy statement */ (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); c->actionremaining -= 3; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:12:3"; goto out; } top_5: if (! ((((l->l_a) <= (((int64_t)4LL)))))) goto break_5; /* null */; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:12:3"; goto out; } continue_5: (void) ({ l->__tmp14 = ((l->l_a) + (((int64_t)1LL))); l->l_a = l->__tmp14; l->__tmp14; }); goto top_5; break_5: ; /* dummy statement */ (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); c->actionremaining -= 3; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:13:3"; goto out; } top_6: if (! ((((l->l_a) <= (((int64_t)4LL)))))) goto break_6; /* null */; c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:13:3"; goto out; } continue_6: (void) ({ l->__tmp18 = ((l->l_a) + (((int64_t)1LL))); l->l_a = l->__tmp18; l->__tmp18; }); goto top_6; break_6: ; /* dummy statement */ c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:15:3"; goto out; } top_7: if (! (((int64_t)99LL))) goto break_7; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:15:14"; goto out; } goto out; continue_7: goto top_7; break_7: ; /* dummy statement */ c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:16:3"; goto out; } top_8: if (! (((int64_t)99LL))) goto break_8; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:16:14"; goto out; } goto break_8; continue_8: goto top_8; break_8: ; /* dummy statement */ c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:17:3"; goto out; } top_9: if (! (((int64_t)99LL))) goto break_9; c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/five.stp:17:14"; goto out; } goto continue_9; continue_9: goto top_9; break_9: ; /* dummy statement */ } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/five.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); Number of similar warning messages suppressed: 4. Rerun with -v to see them. wait results: 17217 exp36 0 0 PASS: transok/five.stp Running /root/systemtap_write/systemtap/testsuite/transok/four.stp starting /root/systemtap_write/systemtap/testsuite/transok/four.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/four.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/four.stp WARNING: Eliding unused function 'f': identifier 'f' at /root/systemtap_write/systemtap/testsuite/transok/four.stp:3:10 source: function f () { ^ WARNING: Eliding side-effect-free expression : identifier 'b' at :12:10 source: if (a) b else c if (cs) 0 else 1 ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { int64_t l_a; int64_t l_b; int64_t l_c; int64_t l_d; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/four.stp:7 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/four.stp:9 */ int64_t __tmp2; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/four.stp:10 */ int64_t __tmp4; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/four.stp:11 */ int64_t __tmp6; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; l->l_a = 0; l->l_b = 0; l->l_c = 0; l->l_d = 0; if (c->actionremaining < 4) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ l->l_a = ((int64_t)0LL); ((int64_t)0LL); }); (void) ({ l->__tmp2 = ((((l->l_a) * (((l->l_b) + (l->l_c))))) - (l->l_d)); l->l_b = l->__tmp2; l->__tmp2; }); (void) ({ l->__tmp4 = (((((l->l_a) > (l->l_b)))) ? ((((l->l_a) == (l->l_b)))) : ((((l->l_a) != (l->l_b))))); l->l_c = l->__tmp4; l->__tmp4; }); (void) ({ l->__tmp6 = (((((((((l->l_a) > (l->l_b)))) + ((((l->l_a) >= (l->l_b)))))) + ((((l->l_a) < (l->l_b)))))) + ((((l->l_a) <= (l->l_b))))); l->l_d = l->__tmp6; l->__tmp6; }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/four.stp:7:1", " from: end"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STOPPING, .type=1 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 17222 exp36 0 0 PASS: transok/four.stp Running /root/systemtap_write/systemtap/testsuite/transok/literal_tmp.stp starting /root/systemtap_write/systemtap/testsuite/transok/literal_tmp.stp spawn2 /root/systemtap_write/systemtap/testsuite/transok/literal_tmp.stp spawn /root/systemtap_write/systemtap/testsuite/transok/literal_tmp.stp wait results: 17227 exp36 0 0 PASS: transok/literal_tmp.stp Running /root/systemtap_write/systemtap/testsuite/transok/nine.stp starting /root/systemtap_write/systemtap/testsuite/transok/nine.stp spawn2 /root/systemtap_write/systemtap/testsuite/transok/nine.stp spawn /root/systemtap_write/systemtap/testsuite/transok/nine.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif void just_some_declaration () {} struct context { #include "common_probe_context.h" union { struct probe_2760_locals { } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_bar__overload_0_locals { int64_t l_foo; /* no return value */ } function___global_bar__overload_0; struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_bar__overload_0 (struct context * __restrict__ c); static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char location[15]; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_bar__overload_0.l_foo = ((int64_t)5LL); function___global_bar__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", ":8:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_bar__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_bar__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_bar__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_foo THIS->l_foo c->last_stmt = "identifier 'bar' at :6:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { just_some_declaration(); STAP_RETVALUE = STAP_ARG_foo + 5; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_foo #undef STAP_RETVALUE } static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); wait results: 17238 exp36 0 0 PASS: transok/nine.stp Running /root/systemtap_write/systemtap/testsuite/transok/one.stp starting /root/systemtap_write/systemtap/testsuite/transok/one.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/one.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/one.stp WARNING: never-assigned local variable 'c' (similar: a, b, as, bs): identifier 'c' at /root/systemtap_write/systemtap/testsuite/transok/one.stp:20:11 source: a ? b : c ^ WARNING: never-assigned local variable 'as' (similar: a, bs, b, c): identifier 'as' at :36:3 source: as . bs ^ WARNING: never-assigned local variable 'bs' (similar: as, b, a, c): identifier 'bs' at :36:8 source: as . bs ^ WARNING: Eliding side-effect-free expression : identifier 'a' at :20:3 source: a ? b : c ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { int64_t l_a; int64_t l_b; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/one.stp:4 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:6 */ int64_t __tmp0; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:8 */ int64_t __tmp2; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:9 */ int64_t __tmp4; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:10 */ int64_t __tmp6; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:11 */ int64_t __tmp8; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:12 */ int64_t __tmp10; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:13 */ int64_t __tmp12; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:14 */ int64_t __tmp14; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:15 */ int64_t __tmp16; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:16 */ int64_t __tmp18; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:17 */ int64_t __tmp20; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:46 */ int64_t __tmp23; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/one.stp:47 */ int64_t __tmp25; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; l->l_a = 0; l->l_b = 0; if (c->actionremaining < 15) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ l->__tmp0 = l->l_b; l->l_a = l->__tmp0; l->__tmp0; }); (void) ({ l->__tmp2 = l->l_b; l->l_a += l->__tmp2; l->l_a; }); (void) ({ l->__tmp4 = l->l_b; l->l_a -= l->__tmp4; l->l_a; }); (void) ({ l->__tmp6 = l->l_b; l->l_a *= l->__tmp6; l->l_a; }); (void) ({ l->__tmp8 = l->l_b; if (unlikely(!l->__tmp8)) { c->last_error = "division by 0"; c->last_stmt = "identifier 'b' at /root/systemtap_write/systemtap/testsuite/transok/one.stp:11:8"; goto out; } l->l_a = _stp_div64 (NULL, l->l_a, l->__tmp8); l->l_a; }); (void) ({ l->__tmp10 = l->l_b; if (unlikely(!l->__tmp10)) { c->last_error = "division by 0"; c->last_stmt = "identifier 'b' at /root/systemtap_write/systemtap/testsuite/transok/one.stp:12:8"; goto out; } l->l_a = _stp_mod64 (NULL, l->l_a, l->__tmp10); l->l_a; }); (void) ({ l->__tmp12 = l->l_b; l->l_a <<= l->__tmp12; l->l_a; }); (void) ({ l->__tmp14 = l->l_b; l->l_a >>= l->__tmp14; l->l_a; }); (void) ({ l->__tmp16 = l->l_b; l->l_a &= l->__tmp16; l->l_a; }); (void) ({ l->__tmp18 = l->l_b; l->l_a ^= l->__tmp18; l->l_a; }); (void) ({ l->__tmp20 = l->l_b; l->l_a |= l->__tmp20; l->l_a; }); (void) ({ l->__tmp23 = l->l_a; l->l_a += 1; l->__tmp23; }); (void) ({ l->__tmp25 = l->l_a; l->l_a -= 1; l->__tmp25; }); (void) ({ l->l_a += 1; l->l_a; }); (void) ({ l->l_b -= 1; l->l_b; }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/one.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); Number of similar warning messages suppressed: 25. Rerun with -v to see them. wait results: 17244 exp36 0 0 PASS: transok/one.stp Running /root/systemtap_write/systemtap/testsuite/transok/seven.stp starting /root/systemtap_write/systemtap/testsuite/transok/seven.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/seven.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/seven.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 3 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { int64_t l_x; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:9 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:11 */ int64_t __tmp4; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:12 */ int64_t __tmp8; int64_t __tmp9; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:13 */ int64_t __tmp12; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:14 */ int64_t __tmp14; int64_t __tmp17; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:15 */ int64_t __tmp19; int64_t __tmp22; int64_t __tmp23; int64_t __tmp25; int64_t __tmp28; int64_t __tmp29; int64_t __tmp20; }; }; } probe_2760; struct probe_2761_locals { } probe_2761; struct probe_2763_locals { int64_t l___idx0; int64_t l___idx1; string_t l___idx2; int64_t l___val; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/seven.stp:2 */ struct map_node *__tmp0; int64_t __tmp1; int64_t __tmp2; string_t __tmp3; int64_t __tmp4; }; }; } probe_2763; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_log__overload_0_locals { const char * l_msg; /* no return value */ } function___global_log__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { struct stp_printf_2_locals { int64_t arg0; int64_t arg1; const char* arg2; int64_t arg3; } stp_printf_2; } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #include "alloc.c" #define VALUE_TYPE INT64 #define KEY1_TYPE INT64 #define KEY2_TYPE INT64 #define KEY3_TYPE STRING #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #undef KEY2_TYPE #undef KEY3_TYPE #define VALUE_TYPE INT64 #define KEY1_TYPE STRING #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #include "map.c" #ifndef STP_LEGACY_PRINT static void stp_printf_2 (struct context* __restrict__ c) { struct stp_printf_2_locals * __restrict__ l = & c->printf_locals.stp_printf_2; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("bar[") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 34); num_bytes += sizeof(",") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg1, 10, width, precision, 34); num_bytes += sizeof(",\"") - 1; width = -1; precision = -1; num_bytes += _stp_vsprint_memory_size(l->arg2, width, precision, 's', 32); num_bytes += sizeof("\"]=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg3, 16, width, precision, 32); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "bar["; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 34); src = ","; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg1, 10, width, precision, 34); src = ",\""; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = _stp_vsprint_memory(str, end, l->arg2, width, precision, 's', 32); src = "\"]="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg3, 16, width, precision, 32); src = "\n"; while (*src && str <= end) *str++ = *src++; } } #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals { MAP s___global_foo; rwlock_t s___global_foo_lock; #ifdef STP_TIMING atomic_t s___global_foo_lock_skip_count; #endif MAP s___global_bar; rwlock_t s___global_bar_lock; #ifdef STP_TIMING atomic_t s___global_bar_lock_skip_count; #endif }; static struct stp_globals stp_global = { }; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_log__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char location[66]; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; l->l_x = 0; if (c->actionremaining < 7) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ l->l_x = ((int64_t)10LL); ((int64_t)10LL); }); (void) ({ c->last_stmt = "identifier 'foo' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:11:2"; l->__tmp4 = ((int64_t)25LL); { int rc = _stp_map_set_si (global(s___global_foo), "hello", l->__tmp4); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; ((int64_t)25LL); }); (void) ({ c->last_stmt = "identifier 'foo' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:12:2"; l->__tmp8 = _stp_map_get_si (global(s___global_foo), "hello"); l->__tmp9 = l->__tmp8; l->__tmp8 += 1; { int rc = _stp_map_set_si (global(s___global_foo), "hello", l->__tmp8); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; l->__tmp9; }); (void) ({ c->last_stmt = "identifier 'foo' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:13:4"; l->__tmp12 = _stp_map_get_si (global(s___global_foo), "hello"); l->__tmp12 += 1; { int rc = _stp_map_set_si (global(s___global_foo), "hello", l->__tmp12); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; l->__tmp12; }); (void) ({ l->__tmp14 = ({ l->__tmp17 = _stp_map_get_si (global(s___global_foo), "hello"); l->__tmp17; }); l->l_x = l->__tmp14; l->__tmp14; }); (void) ({ l->__tmp19 = ({ l->__tmp22 = l->l_x; l->__tmp23 = ({ l->__tmp25 = _stp_map_get_si (global(s___global_foo), "hello"); l->__tmp25; }); c->last_stmt = "identifier 'bar' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:15:15"; l->__tmp28 = _stp_map_get_iisi (global(s___global_bar), l->__tmp22, l->__tmp23, "goodbye"); l->__tmp29 = l->__tmp28; l->__tmp28 += 1; { int rc = _stp_map_set_iisi (global(s___global_bar), l->__tmp22, l->__tmp23, "goodbye", l->__tmp28); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; l->__tmp29; }); c->last_stmt = "identifier 'foo' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:15:2"; l->__tmp20 = _stp_map_get_si (global(s___global_foo), "yo"); l->__tmp20 *= l->__tmp19; { int rc = _stp_map_set_si (global(s___global_foo), "yo", l->__tmp20); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; l->__tmp20; }); (void) ({ c->locals[c->nesting+1].function___global_log__overload_0.l_msg = "hello from systemtap"; function___global_log__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static void probe_2763 (struct context * __restrict__ c) { __label__ out; struct probe_2763_locals * __restrict__ l = & c->probe_locals.probe_2763; (void) l; l->l___idx0 = 0; l->l___idx1 = 0; l->l___idx2[0] = '\0'; l->l___val = 0; { _stp_map_sort_iisi (global(s___global_bar), 0, 1); l->__tmp0 = _stp_map_start (global(s___global_bar)); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:2:1"; goto out; } top_0: if (! (l->__tmp0)) goto break_0; { l->l___idx0 = _stp_map_key_get_int64_iisi (l->__tmp0, 1); l->l___idx1 = _stp_map_key_get_int64_iisi (l->__tmp0, 2); strlcpy (l->l___idx2, (_stp_map_key_get_str_iisi (l->__tmp0, 3) ?: ""), MAXSTRINGLEN); l->l___val = _stp_map_get_int64_iisi (l->__tmp0); (void) ({ l->__tmp1 = l->l___idx0; l->__tmp2 = l->l___idx1; strlcpy (l->__tmp3, l->l___idx2, MAXSTRINGLEN); l->__tmp4 = l->l___val; #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_2.arg0 = l->__tmp1; c->printf_locals.stp_printf_2.arg1 = l->__tmp2; c->printf_locals.stp_printf_2.arg2 = l->__tmp3; c->printf_locals.stp_printf_2.arg3 = l->__tmp4; stp_printf_2 (c); #else // STP_LEGACY_PRINT _stp_printf ("bar[%#lld,%#lld,\"%#s\"]=%#llx\n", l->__tmp1, l->__tmp2, l->__tmp3, l->__tmp4); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/transok/seven.stp:3:1"; goto out; } } continue_0: l->__tmp0 = _stp_map_iter (global(s___global_bar), l->__tmp0); goto top_0; break_0: ; /* dummy statement */ } out: _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/seven.stp:8:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), STAP_PROBE_INIT(2, &probe_2763, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/seven.stp:1:1", " from: end"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_log__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_log__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_log__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'log' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:22:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ STAP_PRINTF ("%s\n", STAP_ARG_msg); } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, { .probe=(&stap_probes[2]), .state=STAP_SESSION_STOPPING, .type=1 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; global_set(s___global_foo, _stp_map_new_si (MAXMAPENTRIES, 0)); if (global(s___global_foo) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_foo' allocation failed"); goto out; } global_lock_init(s___global_foo); #ifdef STP_TIMING atomic_set(global_skipped(s___global_foo), 0); #endif global_set(s___global_bar, _stp_map_new_iisi (MAXMAPENTRIES, 0)); if (global(s___global_bar) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_bar' allocation failed"); goto out; } global_lock_init(s___global_bar); #ifdef STP_TIMING atomic_set(global_skipped(s___global_bar), 0); #endif _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 3); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: _stp_map_del (global(s___global_foo)); _stp_map_del (global(s___global_bar)); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_map_del (global(s___global_foo)); _stp_map_del (global(s___global_bar)); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (global_skipped(s___global_foo)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_foo", ctr); ctr = atomic_read (global_skipped(s___global_bar)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_bar", ctr); ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #undef foo #undef bar wait results: 17249 exp36 0 0 PASS: transok/seven.stp Running /root/systemtap_write/systemtap/testsuite/transok/six.stp starting /root/systemtap_write/systemtap/testsuite/transok/six.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/six.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/six.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/six.stp:4 */ }; } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_log__overload_0_locals { const char * l_msg; /* no return value */ } function___global_log__overload_0; struct function___global_warn__overload_0_locals { const char * l_msg; /* no return value */ } function___global_warn__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_log__overload_0 (struct context * __restrict__ c); static void function___global_warn__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 3) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ _stp_print ("kernel time\n"); }); (void) ({ c->locals[c->nesting+1].function___global_log__overload_0.l_msg = "hello there"; function___global_log__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); (void) ({ c->locals[c->nesting+1].function___global_warn__overload_0.l_msg = "this is a builtin"; function___global_warn__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); } out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/six.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_log__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_log__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_log__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'log' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:22:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ STAP_PRINTF ("%s\n", STAP_ARG_msg); } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_warn__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_warn__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_warn__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'warn' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:36:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ _stp_warn ("%s", STAP_ARG_msg); } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); wait results: 17254 exp36 0 0 PASS: transok/six.stp Running /root/systemtap_write/systemtap/testsuite/transok/ten.stp starting /root/systemtap_write/systemtap/testsuite/transok/ten.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/ten.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/ten.stp WARNING: Eliding side-effect-free expression : identifier '$dentry' at /root/systemtap_write/systemtap/testsuite/transok/ten.stp:5:4 source: $dentry # is a void pointer ^ WARNING: side-effect-free probe 'probe_2761': keyword at :3:1 source: probe kernel.function("dentry_open") ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2761_locals { } probe_2761; struct probe_2762_locals { } probe_2762; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char * const derivation; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[49]; #ifdef STP_NEED_PROBE_NAME const char pn[49]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; #if ! STP_PRIVILEGE_CONTAINS (STP_PRIVILEGE, STP_PR_STAPDEV) && \ ! STP_PRIVILEGE_CONTAINS (STP_PRIVILEGE, STP_PR_STAPSYS) #error Internal Error: Probe kernel.function("dentry_open@fs/open.c:852") generated in --unprivileged mode #endif #if defined __ia64__ bspcache(c->unwaddr, c->kregs); #endif if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } /* null */; out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static void probe_2762 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2762_locals * __restrict__ l = & c->probe_locals.probe_2762; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2761, "kernel.function(\"dentry_open@fs/open.c:852\")", "kernel.function(\"dentry_open@fs/open.c:852\")", "/root/systemtap_write/systemtap/testsuite/transok/ten.stp:3:1", " from: kernel.function(\"dentry_open@fs/open.c:852\") from: kernel.function(\"dentry_open\")"), STAP_PROBE_INIT(1, &probe_2762, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- dwarf and non-dwarf kprobe-based probes ---- */ #define STAP_KPROBE_PROBE_STR_module const char module[7] #define STAP_KPROBE_PROBE_STR_section const char section[7] #include "linux/kprobes.c" #undef STAP_KPROBE_PROBE_STR_module #undef STAP_KPROBE_PROBE_STR_section #if defined(STAPCONF_UNREGISTER_KPROBES) static void * stap_unreg_kprobes[1]; #endif static struct stap_kprobe stap_kprobes[1]; static struct stap_kprobe_probe stap_kprobe_probes[] = { { .address=(unsigned long)0x21efd4ULL, .module="kernel", .section="_stext", .probe=(&stap_probes[0]), .kprobe=&stap_kprobes[0], }, }; static int enter_kprobe_probe (struct kprobe *inst, struct pt_regs *regs) { int kprobe_idx = ((uintptr_t)inst-(uintptr_t)stap_kprobes)/sizeof(struct stap_kprobe); struct stap_kprobe_probe *skp = &stap_kprobe_probes[((kprobe_idx >= 0 && kprobe_idx < 1)?kprobe_idx:0)]; #ifdef STP_ALIBI atomic_inc(probe_alibi(skp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(skp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = skp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = skp->probe->pn; #endif c->probe_type = stp_probe_type_kprobe; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif c->kregs = regs; { unsigned long kprobes_ip = REG_IP(c->kregs); SET_REG_IP(regs, (unsigned long) inst->addr); (*skp->probe->ph) (c); SET_REG_IP(regs, kprobes_ip); } #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI return 0; } static int enter_kretprobe_common (struct kretprobe_instance *inst, struct pt_regs *regs, int entry) { struct kretprobe *krp = inst->rp; int kprobe_idx = ((uintptr_t)krp-(uintptr_t)stap_kprobes)/sizeof(struct stap_kprobe); struct stap_kprobe_probe *skp = &stap_kprobe_probes[((kprobe_idx >= 0 && kprobe_idx < 1)?kprobe_idx:0)]; const struct stap_probe *sp = entry ? skp->entry_probe : skp->probe; if (sp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(sp->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(sp->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = sp->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = sp->pn; #endif c->probe_type = stp_probe_type_kretprobe; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif c->kregs = regs; c->ips.krp.pi = inst; c->ips.krp.pi_longs = skp->saved_longs; { unsigned long kprobes_ip = REG_IP(c->kregs); if (entry) SET_REG_IP(regs, (unsigned long) inst->rp->kp.addr); else SET_REG_IP(regs, (unsigned long)inst->ret_addr); (sp->ph) (c); SET_REG_IP(regs, kprobes_ip); } #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return 0; } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif /* ---- dwarf and non-dwarf kprobe-based probes ---- */ probe_point = NULL; rc = stapkp_init( stap_kprobe_probes, ARRAY_SIZE(stap_kprobe_probes)); if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); /* ---- dwarf and non-dwarf kprobe-based probes ---- */ stapkp_exit( stap_kprobe_probes, ARRAY_SIZE(stap_kprobe_probes)); goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; /* ---- dwarf and non-dwarf kprobe-based probes ---- */ stapkp_refresh( modname, stap_kprobe_probes, ARRAY_SIZE(stap_kprobe_probes)); for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); /* ---- dwarf and non-dwarf kprobe-based probes ---- */ stapkp_exit( stap_kprobe_probes, ARRAY_SIZE(stap_kprobe_probes)); mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); wait results: 17259 exp36 0 0 PASS: transok/ten.stp Running /root/systemtap_write/systemtap/testsuite/transok/three.stp starting /root/systemtap_write/systemtap/testsuite/transok/three.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/three.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/three.stp WARNING: Eliding assignment to 'd': operator '=' at /root/systemtap_write/systemtap/testsuite/transok/three.stp:7:5 source: d = "hello"; ^ WARNING: Eliding assignment to 'bab': operator '=' at :9:7 source: bab = "hi"; ^ WARNING: Eliding side-effect-free expression : identifier 'd' at :7:3 source: d = "hello"; ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 2 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 6 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2761_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/three.stp:21 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:22 */ int64_t __tmp0; }; }; } probe_2761; struct probe_2762_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/three.stp:26 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:27 */ int64_t __tmp0; }; struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:28 */ int64_t __tmp1; int64_t __tmp4; int64_t __tmp6; }; }; } probe_2762; struct probe_2764_locals { } probe_2764; struct probe_2766_locals { int64_t l___idx0; int64_t l___val; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/three.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:2 */ struct map_node *__tmp0; int64_t __tmp1; int64_t __tmp2; }; }; } probe_2766; struct probe_2768_locals { union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/three.stp:1 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:2 */ int64_t __tmp0; }; }; } probe_2768; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; struct function___global_f1__overload_0_locals { int64_t l_c; int64_t l_a; const char * l_b; union { /* block_statement: /root/systemtap_write/systemtap/testsuite/transok/three.stp:5 */ struct { /* source: /root/systemtap_write/systemtap/testsuite/transok/three.stp:10 */ int64_t __tmp2; int64_t __tmp3; int64_t __tmp4; }; }; int64_t __retvalue; } function___global_f1__overload_0; struct function___global_f2__overload_0_locals { int64_t __tmp2; int64_t __retvalue; } function___global_f2__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { struct stp_printf_3_locals { int64_t arg0; } stp_printf_3; struct stp_printf_2_locals { int64_t arg0; int64_t arg1; } stp_printf_2; } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #include "alloc.c" #define VALUE_TYPE INT64 #define KEY1_TYPE INT64 #include "map-gen.c" #undef MAP_DO_PMAP #undef VALUE_TYPE #undef KEY1_TYPE #include "map.c" #ifndef STP_LEGACY_PRINT static void stp_printf_3 (struct context* __restrict__ c) { struct stp_printf_3_locals * __restrict__ l = & c->printf_locals.stp_printf_3; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("koo=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg0, 16, width, precision, 32); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "koo="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg0, 16, width, precision, 32); src = "\n"; while (*src && str <= end) *str++ = *src++; } } static void stp_printf_2 (struct context* __restrict__ c) { struct stp_printf_2_locals * __restrict__ l = & c->printf_locals.stp_printf_2; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; num_bytes += sizeof("poo[") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 34); num_bytes += sizeof("]=") - 1; width = -1; precision = -1; num_bytes += number_size(l->arg1, 16, width, precision, 32); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { src = "poo["; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 34); src = "]="; while (*src && str <= end) *str++ = *src++; width = -1; precision = -1; str = number(str, end, l->arg1, 16, width, precision, 32); src = "\n"; while (*src && str <= end) *str++ = *src++; } } #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals { MAP s___global_poo; rwlock_t s___global_poo_lock; #ifdef STP_TIMING atomic_t s___global_poo_lock_skip_count; #endif int64_t s___global_koo; rwlock_t s___global_koo_lock; #ifdef STP_TIMING atomic_t s___global_koo_lock_skip_count; #endif }; static struct stp_globals stp_global = { }; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); static void function___global_f1__overload_0 (struct context * __restrict__ c); static void function___global_f2__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char location[67]; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2761 (struct context * __restrict__ c) { __label__ out; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (c->actionremaining < 3) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ function___global_f2__overload_0 (c); if (unlikely(c->last_error)) goto out; l->__tmp0 = c->locals[c->nesting+1].function___global_f2__overload_0.__retvalue; l->__tmp0; }); (void) ({ global(s___global_koo) = ((int64_t)1LL); ((int64_t)1LL); }); } out: _stp_print_flush(); } static void probe_2762 (struct context * __restrict__ c) { __label__ out; struct probe_2762_locals * __restrict__ l = & c->probe_locals.probe_2762; (void) l; if (c->actionremaining < 9) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ function___global_f2__overload_0 (c); if (unlikely(c->last_error)) goto out; l->__tmp0 = c->locals[c->nesting+1].function___global_f2__overload_0.__retvalue; l->__tmp0; }); (void) ({ l->__tmp1 = ({ c->locals[c->nesting+1].function___global_f1__overload_0.l_a = ((int64_t)7LL); c->locals[c->nesting+1].function___global_f1__overload_0.l_b = "foo"; function___global_f1__overload_0 (c); if (unlikely(c->last_error)) goto out; l->__tmp4 = c->locals[c->nesting+1].function___global_f1__overload_0.__retvalue; l->__tmp4; }); c->locals[c->nesting+1].function___global_f1__overload_0.l_a = l->__tmp1; c->locals[c->nesting+1].function___global_f1__overload_0.l_b = "canoe"; function___global_f1__overload_0 (c); if (unlikely(c->last_error)) goto out; l->__tmp6 = c->locals[c->nesting+1].function___global_f1__overload_0.__retvalue; l->__tmp6; }); } out: _stp_print_flush(); } static void probe_2764 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2764_locals * __restrict__ l = & c->probe_locals.probe_2764; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static void probe_2766 (struct context * __restrict__ c) { __label__ out; struct probe_2766_locals * __restrict__ l = & c->probe_locals.probe_2766; (void) l; l->l___idx0 = 0; l->l___val = 0; { _stp_map_sort_ii (global(s___global_poo), 0, 1); l->__tmp0 = _stp_map_start (global(s___global_poo)); c->actionremaining -= 1; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "keyword at /root/systemtap_write/systemtap/testsuite/transok/three.stp:2:1"; goto out; } top_0: if (! (l->__tmp0)) goto break_0; { l->l___idx0 = _stp_map_key_get_int64_ii (l->__tmp0, 1); l->l___val = _stp_map_get_int64_ii (l->__tmp0); (void) ({ l->__tmp1 = l->l___idx0; l->__tmp2 = l->l___val; #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_2.arg0 = l->__tmp1; c->printf_locals.stp_printf_2.arg1 = l->__tmp2; stp_printf_2 (c); #else // STP_LEGACY_PRINT _stp_printf ("poo[%#lld]=%#llx\n", l->__tmp1, l->__tmp2); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); c->actionremaining -= 2; if (unlikely (c->actionremaining <= 0)) { c->last_error = "MAXACTION exceeded"; c->last_stmt = "identifier 'printf' at /root/systemtap_write/systemtap/testsuite/transok/three.stp:3:1"; goto out; } } continue_0: l->__tmp0 = _stp_map_iter (global(s___global_poo), l->__tmp0); goto top_0; break_0: ; /* dummy statement */ } out: _stp_print_flush(); } static void probe_2768 (struct context * __restrict__ c) { __label__ out; struct probe_2768_locals * __restrict__ l = & c->probe_locals.probe_2768; (void) l; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } { (void) ({ l->__tmp0 = global(s___global_koo); #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_3.arg0 = l->__tmp0; stp_printf_3 (c); #else // STP_LEGACY_PRINT _stp_printf ("koo=%#llx\n", l->__tmp0); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); } out: _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2761, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/three.stp:21:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2762, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/three.stp:26:1", " from: begin"), STAP_PROBE_INIT(2, &probe_2762, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/three.stp:26:1", " from: begin"), STAP_PROBE_INIT(3, &probe_2764, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), STAP_PROBE_INIT(4, &probe_2766, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/three.stp:1:1", " from: end"), STAP_PROBE_INIT(5, &probe_2768, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/three.stp:1:1", " from: end"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } static void function___global_f1__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_f1__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_f1__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_a THIS->l_a #define STAP_ARG_b THIS->l_b #define STAP_ARG_c THIS->l_c #define STAP_RETVALUE THIS->__retvalue c->last_stmt = "identifier 'f1' at /root/systemtap_write/systemtap/testsuite/transok/three.stp:5:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) l->l_c = 0; l->__retvalue = 0; #define STAP_RETURN(v) do { STAP_RETVALUE = (int64_t) (v); goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 3) { c->last_error = "MAXACTION exceeded";goto out; } { (void) ({ l->l_c = ((int64_t)1LL); ((int64_t)1LL); }); (void) ({ l->__tmp2 = ((l->l_c) + (((int64_t)1LL))); l->__tmp3 = ((l->l_c) + (((int64_t)2LL))); c->last_stmt = "identifier 'poo' at /root/systemtap_write/systemtap/testsuite/transok/three.stp:10:3"; l->__tmp4 = l->__tmp3; { int rc = _stp_map_set_ii (global(s___global_poo), l->__tmp2, l->__tmp4); if (unlikely(rc)) { c->last_error = "Array overflow, check MAXMAPENTRIES"; goto out; }}; l->__tmp3; }); l->__retvalue = ((int64_t)0LL); goto out; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_a #undef STAP_ARG_b #undef STAP_ARG_c #undef STAP_RETVALUE } static void function___global_f2__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_f2__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_f2__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_RETVALUE THIS->__retvalue c->last_stmt = "identifier 'f2' at /root/systemtap_write/systemtap/testsuite/transok/three.stp:15:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) l->__retvalue = 0; #define STAP_RETURN(v) do { STAP_RETVALUE = (int64_t) (v); goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded";goto out; } l->__retvalue = ({ c->locals[c->nesting+1].function___global_f1__overload_0.l_a = ((int64_t)4LL); c->locals[c->nesting+1].function___global_f1__overload_0.l_b = "zoo"; function___global_f1__overload_0 (c); if (unlikely(c->last_error)) goto out; l->__tmp2 = c->locals[c->nesting+1].function___global_f1__overload_0.__retvalue; l->__tmp2; }); goto out; #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, { .probe=(&stap_probes[1]), .state=STAP_SESSION_STARTING, .type=0 }, { .probe=(&stap_probes[2]), .state=STAP_SESSION_STOPPING, .type=1 }, { .probe=(&stap_probes[4]), .state=STAP_SESSION_STOPPING, .type=1 }, { .probe=(&stap_probes[5]), .state=STAP_SESSION_STOPPING, .type=1 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[3]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; global_set(s___global_poo, _stp_map_new_ii (MAXMAPENTRIES, 0)); if (global(s___global_poo) == NULL) rc = -ENOMEM; if (rc) { _stp_error ("global variable '__global_poo' allocation failed"); goto out; } global_lock_init(s___global_poo); #ifdef STP_TIMING atomic_set(global_skipped(s___global_poo), 0); #endif if (rc) { _stp_error ("global variable '__global_koo' allocation failed"); goto out; } global_lock_init(s___global_koo); #ifdef STP_TIMING atomic_set(global_skipped(s___global_koo), 0); #endif _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 6); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: _stp_map_del (global(s___global_poo)); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<5; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_map_del (global(s___global_poo)); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (global_skipped(s___global_poo)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_poo", ctr); ctr = atomic_read (global_skipped(s___global_koo)); if (ctr) _stp_warn ("Skipped due to global '%s' lock timeout: %d\n", "__global_koo", ctr); ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); #undef poo #undef koo module_param_named (koo, global(s___global_koo), int64_t, 0); Number of similar warning messages suppressed: 3. Rerun with -v to see them. wait results: 17264 exp36 0 0 PASS: transok/three.stp Running /root/systemtap_write/systemtap/testsuite/transok/two.stp starting /root/systemtap_write/systemtap/testsuite/transok/two.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/two.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/two.stp WARNING: Eliding unused function 'poo2': identifier 'poo2' at /root/systemtap_write/systemtap/testsuite/transok/two.stp:4:10 source: function poo2 (zoo) { return poo3 (2 + 4 * zoo) } ^ WARNING: Eliding unused function 'poo3': identifier 'poo3' at :5:10 source: function poo3 (zoo) { return zoo } ^ WARNING: Eliding unused function 'poo': identifier 'poo' at :3:10 source: function poo (zoo) { n = poo2 (8); return "foo" . zoo } ^ WARNING: Eliding side-effect-free expression : number '2' at :2:20 source: probe begin, end { 2; } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :2:1 source: probe begin, end { 2; } ^ WARNING: side-effect-free probe 'probe_2761': keyword at :2:1 source: probe begin, end { 2; } ^ #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 3 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { } probe_2760; struct probe_2762_locals { } probe_2762; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char location[64]; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } /* null */; out: _stp_print_flush(); } static void probe_2762 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2762_locals * __restrict__ l = & c->probe_locals.probe_2762; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/two.stp:2:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2760, "end", "end", "/root/systemtap_write/systemtap/testsuite/transok/two.stp:2:1", " from: begin"), STAP_PROBE_INIT(2, &probe_2762, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, { .probe=(&stap_probes[1]), .state=STAP_SESSION_STOPPING, .type=1 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[2]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 3); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<2; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); Number of similar warning messages suppressed: 1. Rerun with -v to see them. wait results: 17269 exp36 0 0 PASS: transok/two.stp Running /root/systemtap_write/systemtap/testsuite/transok/varargs.stp starting /root/systemtap_write/systemtap/testsuite/transok/varargs.stp spawn1 stap -p3 /root/systemtap_write/systemtap/testsuite/transok/varargs.stp spawn stap -p3 /root/systemtap_write/systemtap/testsuite/transok/varargs.stp #define STAP_MSG_RUNTIME_H_01 "myproc-unprivileged tapset function called without is_myproc checking for pid %d (euid %d)" #define STAP_MSG_LOC2C_01 "read fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_02 "write fault [man error::fault] at 0x%p (%s)" #define STAP_MSG_LOC2C_03 "divide by zero in DWARF operand (%s)" #define STAP_VERSION(a, b) ( ((a) << 8) + (b) ) #ifndef STAP_COMPAT_VERSION #define STAP_COMPAT_VERSION STAP_VERSION(3, 1) #endif #include "runtime_defines.h" #include "linux/perf_read.h" #define STP_PR_STAPUSR 0x2 #define STP_PR_STAPSYS 0x4 #define STP_PR_STAPDEV 0x8 #define STP_PRIVILEGE 0x8 int stp_required_privilege __attribute__ ((section (".stap_privilege"))) = STP_PRIVILEGE; #ifndef MAXNESTING #define MAXNESTING 1 #endif #define STAPREGEX_MAX_STATE0 #define STAPREGEX_MAX_TAG0 #define STP_SKIP_BADVARS 0 #define STP_PROBE_COUNT 2 static void systemtap_module_refresh (const char* modname); #include "runtime.h" #include static DEFINE_MUTEX(module_refresh_mutex); #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) #define STP_ON_THE_FLY_TIMER_ENABLE #endif struct context { #include "common_probe_context.h" union { struct probe_2760_locals { } probe_2760; struct probe_2761_locals { } probe_2761; } probe_locals; union { struct function___global_error__overload_0_locals { const char * l_msg; /* no return value */ } function___global_error__overload_0; } locals [MAXNESTING+1]; #if MAXNESTING < 0 #error "MAXNESTING must be positive" #endif #ifndef STP_LEGACY_PRINT union { struct stp_printf_2_locals { int64_t arg0; int64_t arg1; int64_t arg2; int64_t arg3; int64_t arg4; int64_t arg5; int64_t arg6; int64_t arg7; int64_t arg8; int64_t arg9; int64_t arg10; int64_t arg11; int64_t arg12; int64_t arg13; int64_t arg14; int64_t arg15; int64_t arg16; int64_t arg17; int64_t arg18; int64_t arg19; int64_t arg20; int64_t arg21; int64_t arg22; int64_t arg23; int64_t arg24; int64_t arg25; int64_t arg26; int64_t arg27; int64_t arg28; int64_t arg29; int64_t arg30; int64_t arg31; } stp_printf_2; } printf_locals; #endif // STP_LEGACY_PRINT }; #include "runtime_context.h" #ifndef STP_LEGACY_PRINT static void stp_printf_2 (struct context* __restrict__ c) { struct stp_printf_2_locals * __restrict__ l = & c->printf_locals.stp_printf_2; char *str = NULL, *end = NULL; const char *src; int width; int precision; unsigned long ptr_value; int num_bytes; (void) width; (void) precision; (void) ptr_value; (void) num_bytes; num_bytes = 0; width = -1; precision = -1; num_bytes += number_size(l->arg0, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg1, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg2, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg3, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg4, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg5, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg6, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg7, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg8, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg9, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg10, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg11, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg12, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg13, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg14, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg15, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg16, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg17, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg18, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg19, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg20, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg21, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg22, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg23, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg24, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg25, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg26, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg27, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg28, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg29, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg30, 10, width, precision, 2); width = -1; precision = -1; num_bytes += number_size(l->arg31, 10, width, precision, 2); num_bytes += sizeof("\n") - 1; num_bytes = clamp(num_bytes, 0, STP_BUFFER_SIZE); str = (char*)_stp_reserve_bytes(num_bytes); end = str ? str + num_bytes - 1 : 0; if (str && str <= end) { width = -1; precision = -1; str = number(str, end, l->arg0, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg1, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg2, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg3, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg4, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg5, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg6, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg7, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg8, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg9, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg10, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg11, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg12, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg13, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg14, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg15, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg16, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg17, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg18, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg19, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg20, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg21, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg22, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg23, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg24, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg25, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg26, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg27, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg28, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg29, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg30, 10, width, precision, 2); width = -1; precision = -1; str = number(str, end, l->arg31, 10, width, precision, 2); src = "\n"; while (*src && str <= end) *str++ = *src++; } } #endif // STP_LEGACY_PRINT static atomic_t need_module_refresh = ATOMIC_INIT(0); #include static struct work_struct module_refresher_work; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) static void module_refresher(void *data) { #else static void module_refresher(struct work_struct *work) { #endif systemtap_module_refresh(NULL); } #ifdef STP_ON_THE_FLY_TIMER_ENABLE #include "timer.h" static struct hrtimer module_refresh_timer; #ifndef STP_ON_THE_FLY_INTERVAL #define STP_ON_THE_FLY_INTERVAL (100*1000*1000) #endif hrtimer_return_t module_refresh_timer_cb(struct hrtimer *timer) { if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); hrtimer_set_expires(timer, ktime_add(hrtimer_get_expires(timer), ktime_set(0, STP_ON_THE_FLY_INTERVAL))); return HRTIMER_RESTART; } #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ #include "namespaces.h" struct stp_globals {}; #include "common_session_state.h" #include "probe_lock.h" #ifdef STAP_NEED_GETTIMEOFDAY #include "time.c" #endif static void function___global_error__overload_0 (struct context * __restrict__ c); struct stap_probe { const size_t index; void (* const ph) (struct context*); unsigned cond_enabled:1; #if defined(STP_TIMING) || defined(STP_ALIBI) const char * const location; const char derivation[22]; #define STAP_PROBE_INIT_TIMING(L, D) .location=(L), .derivation=(D), #else #define STAP_PROBE_INIT_TIMING(L, D) #endif const char pp[15]; #ifdef STP_NEED_PROBE_NAME const char pn[15]; #define STAP_PROBE_INIT_NAME(PN) .pn=(PN), #else #define STAP_PROBE_INIT_NAME(PN) #endif #define STAP_PROBE_INIT(I, PH, PP, PN, L, D) { .index=(I), .ph=(PH), .cond_enabled=1, .pp=(PP), STAP_PROBE_INIT_NAME(PN) STAP_PROBE_INIT_TIMING(L, D) } } static stap_probes[]; static void probe_2760 (struct context * __restrict__ c) { __label__ out; struct probe_2760_locals * __restrict__ l = & c->probe_locals.probe_2760; (void) l; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ #ifndef STP_LEGACY_PRINT c->printf_locals.stp_printf_2.arg0 = ((int64_t)1LL); c->printf_locals.stp_printf_2.arg1 = ((int64_t)2LL); c->printf_locals.stp_printf_2.arg2 = ((int64_t)3LL); c->printf_locals.stp_printf_2.arg3 = ((int64_t)4LL); c->printf_locals.stp_printf_2.arg4 = ((int64_t)5LL); c->printf_locals.stp_printf_2.arg5 = ((int64_t)6LL); c->printf_locals.stp_printf_2.arg6 = ((int64_t)7LL); c->printf_locals.stp_printf_2.arg7 = ((int64_t)8LL); c->printf_locals.stp_printf_2.arg8 = ((int64_t)9LL); c->printf_locals.stp_printf_2.arg9 = ((int64_t)10LL); c->printf_locals.stp_printf_2.arg10 = ((int64_t)11LL); c->printf_locals.stp_printf_2.arg11 = ((int64_t)12LL); c->printf_locals.stp_printf_2.arg12 = ((int64_t)13LL); c->printf_locals.stp_printf_2.arg13 = ((int64_t)14LL); c->printf_locals.stp_printf_2.arg14 = ((int64_t)15LL); c->printf_locals.stp_printf_2.arg15 = ((int64_t)16LL); c->printf_locals.stp_printf_2.arg16 = ((int64_t)17LL); c->printf_locals.stp_printf_2.arg17 = ((int64_t)18LL); c->printf_locals.stp_printf_2.arg18 = ((int64_t)19LL); c->printf_locals.stp_printf_2.arg19 = ((int64_t)20LL); c->printf_locals.stp_printf_2.arg20 = ((int64_t)21LL); c->printf_locals.stp_printf_2.arg21 = ((int64_t)22LL); c->printf_locals.stp_printf_2.arg22 = ((int64_t)23LL); c->printf_locals.stp_printf_2.arg23 = ((int64_t)24LL); c->printf_locals.stp_printf_2.arg24 = ((int64_t)25LL); c->printf_locals.stp_printf_2.arg25 = ((int64_t)26LL); c->printf_locals.stp_printf_2.arg26 = ((int64_t)27LL); c->printf_locals.stp_printf_2.arg27 = ((int64_t)28LL); c->printf_locals.stp_printf_2.arg28 = ((int64_t)29LL); c->printf_locals.stp_printf_2.arg29 = ((int64_t)30LL); c->printf_locals.stp_printf_2.arg30 = ((int64_t)31LL); c->printf_locals.stp_printf_2.arg31 = ((int64_t)32LL); stp_printf_2 (c); #else // STP_LEGACY_PRINT _stp_printf ("%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld\n", ((int64_t)1LL), ((int64_t)2LL), ((int64_t)3LL), ((int64_t)4LL), ((int64_t)5LL), ((int64_t)6LL), ((int64_t)7LL), ((int64_t)8LL), ((int64_t)9LL), ((int64_t)10LL), ((int64_t)11LL), ((int64_t)12LL), ((int64_t)13LL), ((int64_t)14LL), ((int64_t)15LL), ((int64_t)16LL), ((int64_t)17LL), ((int64_t)18LL), ((int64_t)19LL), ((int64_t)20LL), ((int64_t)21LL), ((int64_t)22LL), ((int64_t)23LL), ((int64_t)24LL), ((int64_t)25LL), ((int64_t)26LL), ((int64_t)27LL), ((int64_t)28LL), ((int64_t)29LL), ((int64_t)30LL), ((int64_t)31LL), ((int64_t)32LL)); #endif // STP_LEGACY_PRINT if (unlikely(c->last_error)) goto out; ((int64_t)0LL); }); out: _stp_print_flush(); } static void probe_2761 (struct context * __restrict__ c) { __label__ out; static const struct stp_probe_lock locks[] = { }; struct probe_2761_locals * __restrict__ l = & c->probe_locals.probe_2761; (void) l; if (!stp_lock_probe(locks, ARRAY_SIZE(locks))) return; if (c->actionremaining < 1) { c->last_error = "MAXACTION exceeded"; goto out; } (void) ({ c->locals[c->nesting+1].function___global_error__overload_0.l_msg = "probe timeout after 15 minutes"; function___global_error__overload_0 (c); if (unlikely(c->last_error)) goto out; (void) 0; }); out: stp_unlock_probe(locks, ARRAY_SIZE(locks)); _stp_print_flush(); } static struct stap_probe stap_probes[] = { STAP_PROBE_INIT(0, &probe_2760, "begin", "begin", "/root/systemtap_write/systemtap/testsuite/transok/varargs.stp:3:1", " from: begin"), STAP_PROBE_INIT(1, &probe_2761, "timer.s(900)", "timer.s(900)", ":1:1", " from: timer.s(900)"), }; static void function___global_error__overload_0 (struct context* __restrict__ c) { __label__ out; struct function___global_error__overload_0_locals * __restrict__ l = & c->locals[c->nesting+1].function___global_error__overload_0; (void) l; #define CONTEXT c #define THIS l #define STAP_ARG_msg THIS->l_msg c->last_stmt = "identifier 'error' at /root/systemtap_write/install/share/systemtap/tapset/logging.stp:65:10"; if (unlikely (c->nesting+1 >= MAXNESTING)) { c->last_error = "MAXNESTING exceeded"; return; } else { c->nesting ++; } c->next = 0; #define STAP_NEXT do { c->next = 1; goto out; } while(0) #define STAP_RETURN() do { goto out; } while(0) #define STAP_PRINTF(fmt, ...) do { _stp_printf(fmt, ##__VA_ARGS__); } while (0) #define STAP_ERROR(...) do { snprintf(CONTEXT->error_buffer, MAXSTRINGLEN, __VA_ARGS__); CONTEXT->last_error = CONTEXT->error_buffer; goto out; } while (0) #define return goto out if (c->actionremaining < 0) { c->last_error = "MAXACTION exceeded";goto out; } { /* unprivileged */ /* unmodified-fnargs */ /* NB: we used to reuse msg[] for an assignment to last_error; this is clearer & safer. */ strlcpy (CONTEXT->error_buffer, STAP_ARG_msg, MAXSTRINGLEN); CONTEXT->last_error = CONTEXT->error_buffer; CONTEXT->last_stmt = NULL; } #undef return #undef STAP_PRINTF #undef STAP_ERROR #undef STAP_RETURN out: if (0) goto out; c->nesting --; #undef CONTEXT #undef THIS #undef STAP_NEXT #undef STAP_ARG_msg #undef STAP_RETVALUE } /* ---- begin/end/error probes ---- */ static struct stap_be_probe { const struct stap_probe * const probe; int state, type; } stap_be_probes[] = { { .probe=(&stap_probes[0]), .state=STAP_SESSION_STARTING, .type=0 }, }; static void enter_be_probe (struct stap_be_probe *stp) { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #ifdef STP_TIMING cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != stp->state) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_been; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); #ifdef STP_TIMING { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } /* ---- hrtimer probes ---- */ #include "timer.c" static struct stap_hrtimer_probe stap_hrtimer_probes [1] = { { .probe=(&stap_probes[1]), .intrv=900000000000LL, .rnd=0LL }, }; static hrtimer_return_t _stp_hrtimer_notify_function (struct hrtimer *timer) { int rc = HRTIMER_NORESTART; struct stap_hrtimer_probe *stp = container_of(timer, struct stap_hrtimer_probe, hrtimer); if ((atomic_read (session_state()) == STAP_SESSION_STARTING) || (atomic_read (session_state()) == STAP_SESSION_RUNNING)) { _stp_hrtimer_update(stp); rc = HRTIMER_RESTART; } { #ifdef STP_ALIBI atomic_inc(probe_alibi(stp->probe->index)); #else struct context* __restrict__ c = NULL; #if !INTERRUPTIBLE unsigned long flags; #endif #ifdef STP_TIMING Stat stat = probe_timing(stp->probe->index); #endif #if defined(STP_TIMING) || defined(STP_OVERLOAD) cycles_t cycles_atstart = get_cycles (); #endif #if !INTERRUPTIBLE local_irq_save (flags); #endif if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1)) < (MINSTACKSPACE + sizeof (struct thread_info)))) { atomic_inc (skipped_count()); #ifdef STP_TIMING atomic_inc (skipped_count_lowstack()); #endif goto probe_epilogue; } if (atomic_read (session_state()) != STAP_SESSION_RUNNING) goto probe_epilogue; c = _stp_runtime_entryfn_get_context(); if (!c) { #if !INTERRUPTIBLE atomic_inc (skipped_count()); #endif #ifdef STP_TIMING atomic_inc (skipped_count_reentrant()); #endif goto probe_epilogue; } c->last_stmt = 0; c->last_error = 0; c->nesting = -1; c->uregs = 0; c->kregs = 0; #if defined __ia64__ c->unwaddr = 0; #endif c->probe_point = stp->probe->pp; #ifdef STP_NEED_PROBE_NAME c->probe_name = stp->probe->pn; #endif c->probe_type = stp_probe_type_hrtimer; memset(&c->ips, 0, sizeof(c->ips)); c->user_mode_p = 0; c->full_uregs_p = 0; #ifdef STAP_NEED_REGPARM c->regparm = 0; #endif #if INTERRUPTIBLE c->actionremaining = MAXACTION_INTERRUPTIBLE; #else c->actionremaining = MAXACTION; #endif #if defined(STP_NEED_UNWIND_DATA) c->uwcache_user.state = uwcache_uninitialized; c->uwcache_kernel.state = uwcache_uninitialized; #endif (*stp->probe->ph) (c); if (atomic_cmpxchg(&need_module_refresh, 1, 0) == 1) schedule_work(&module_refresher_work); #if defined(STP_TIMING) || defined(STP_OVERLOAD) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; #ifdef STP_TIMING if (likely (stat)) _stp_stat_add(stat, cycles_elapsed); #endif #ifdef STP_OVERLOAD { cycles_t interval = (cycles_atend > c->cycles_base) ? (cycles_atend - c->cycles_base) : (STP_OVERLOAD_INTERVAL + 1); c->cycles_sum += cycles_elapsed; if (interval > STP_OVERLOAD_INTERVAL) { if (c->cycles_sum > STP_OVERLOAD_THRESHOLD) { _stp_error ("probe overhead exceeded threshold"); atomic_set (session_state(), STAP_SESSION_ERROR); atomic_inc (error_count()); } c->cycles_base = cycles_atend; c->cycles_sum = 0; } } #endif } #endif c->probe_point = 0; #ifdef STP_NEED_PROBE_NAME c->probe_name = 0; #endif c->probe_type = 0; if (unlikely (c->last_error)) { if (c->last_stmt != NULL) _stp_softerror ("%s near %s", c->last_error, c->last_stmt); else _stp_softerror ("%s", c->last_error); atomic_inc (error_count()); if (atomic_read (error_count()) > MAXERRORS) { atomic_set (session_state(), STAP_SESSION_ERROR); _stp_exit (); } } probe_epilogue: if (unlikely (atomic_read (skipped_count()) > MAXSKIPPED)) { if (unlikely (pseudo_atomic_cmpxchg(session_state(), STAP_SESSION_RUNNING, STAP_SESSION_ERROR) == STAP_SESSION_RUNNING)) _stp_error ("Skipped too many probes, check MAXSKIPPED or try again with stap -t for more details."); } _stp_runtime_entryfn_put_context(c); #if !INTERRUPTIBLE local_irq_restore (flags); #endif #endif // STP_ALIBI } return rc; } #ifdef STAP_NEED_TRACEPOINTS #include "linux/stp_tracepoint.c" #endif static int systemtap_module_init (void) { int rc = 0; int cpu; int i=0, j=0; const char *probe_point = ""; { #ifndef STP_NO_VERREL_CHECK const char* release = UTS_RELEASE; #ifdef STAPCONF_GENERATED_COMPILE const char* version = UTS_VERSION; #endif if (strcmp (release, "4.8.0-rc1uprobes+")) { _stp_error ("module release mismatch (%s vs %s)", release, "4.8.0-rc1uprobes+"); rc = -EINVAL; } #ifdef STAPCONF_GENERATED_COMPILE if (strcmp (utsname()->version, version)) { _stp_error ("module version mismatch (%s vs %s), release %s", version, utsname()->version, release); rc = -EINVAL; } #endif #endif if (_stp_module_check()) rc = -EINVAL; if (_stp_privilege_credentials == 0) { if (STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPDEV) || STP_PRIVILEGE_CONTAINS(STP_PRIVILEGE, STP_PR_STAPUSR)) { _stp_privilege_credentials = STP_PRIVILEGE; #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials default to %s\n", privilege_to_text(_stp_privilege_credentials)); #endif } else { _stp_error ("Unable to verify that you have the required privilege credentials to run this module (%s required). You must use staprun version 1.7 or higher.", privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } else { #ifdef DEBUG_PRIVILEGE _dbug("User's privilege credentials provided as %s\n", privilege_to_text(_stp_privilege_credentials)); #endif if (! STP_PRIVILEGE_CONTAINS(_stp_privilege_credentials, STP_PRIVILEGE)) { _stp_error ("Your privilege credentials (%s) are insufficient to run this module (%s required).", privilege_to_text(_stp_privilege_credentials), privilege_to_text(STP_PRIVILEGE)); rc = -EINVAL; } } } if (rc) goto out; rc = stp_session_init(); if (rc) { _stp_error ("couldn't initialize the main session (rc %d)", rc); goto out; } if (atomic_cmpxchg(session_state(), STAP_SESSION_UNINITIALIZED, STAP_SESSION_STARTING) != STAP_SESSION_UNINITIALIZED) { _stp_error ("session has already been initialized"); return -EALREADY; } #ifdef STAP_NEED_GETTIMEOFDAY rc = _stp_init_time(); if (rc) { _stp_error ("couldn't initialize gettimeofday"); goto out; } #endif #ifdef STAP_NEED_TRACEPOINTS rc = stp_tracepoint_init(); if (rc) { _stp_error ("couldn't initialize tracepoints"); goto out; } #endif (void) probe_point; (void) i; (void) j; rc = _stp_runtime_contexts_alloc(); if (rc != 0) goto out; _stp_print_kernel_info("3.1/0.166", (num_online_cpus() * sizeof(struct context)), 2); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) INIT_WORK(&module_refresher_work, module_refresher, NULL); #else INIT_WORK(&module_refresher_work, module_refresher); #endif for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 0) enter_be_probe (stp); /* rc = 0 */ } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); goto out; } _stp_hrtimer_init(); for (i=0; i<1; i++) { struct stap_hrtimer_probe* stp = & stap_hrtimer_probes [i]; probe_point = stp->probe->pp; rc = _stp_hrtimer_create(stp, _stp_hrtimer_notify_function); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } if (!stp->probe->cond_enabled) { dbug_otf("not starting (hrtimer) pidx %zu\n", stp->probe->index); continue; } rc = _stp_hrtimer_start(stp); if (rc) { for (j=i-1; j>=0; j--) { _stp_hrtimer_cancel(& stap_hrtimer_probes[j]); stap_hrtimer_probes[j].enabled = 0; } break; } stp->enabled = 1; } if (rc) { if (probe_point) _stp_error ("probe %s registration error (rc %d)", probe_point, rc); atomic_set (session_state(), STAP_SESSION_ERROR); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } goto out; } atomic_cmpxchg(session_state(), STAP_SESSION_STARTING, STAP_SESSION_RUNNING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_init(&module_refresh_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); module_refresh_timer.function = &module_refresh_timer_cb; #endif /* STP_ON_THE_FLY_TIMER_ENABLE */ return 0; out: atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif _stp_runtime_contexts_free(); return rc; } static void systemtap_module_refresh (const char *modname) { int state; int i=0, j=0; #if defined(STP_TIMING) cycles_t cycles_atstart = get_cycles(); #endif mutex_lock(&module_refresh_mutex); state = atomic_read (session_state()); if (state != STAP_SESSION_RUNNING && state != STAP_SESSION_STARTING && state != STAP_SESSION_ERROR) { #if defined(__KERNEL__) if (state != STAP_SESSION_STOPPING) printk (KERN_ERR "stap module notifier triggered in unexpected state %d\n", state); #endif mutex_unlock(&module_refresh_mutex); return; } (void) i; (void) j; for (i=0; i <1; i++) { struct stap_hrtimer_probe* stp = &stap_hrtimer_probes[i]; if (!stp->enabled && stp->probe->cond_enabled) { dbug_otf("enabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_start(stp); } else if (stp->enabled && !stp->probe->cond_enabled) { dbug_otf("disabling (hrtimer) pidx %zu\n", stp->probe->index); _stp_hrtimer_cancel(stp); } stp->enabled = stp->probe->cond_enabled; } #if defined(STP_TIMING) if (likely(g_refresh_timing)) { cycles_t cycles_atend = get_cycles (); int32_t cycles_elapsed = ((int32_t)cycles_atend > (int32_t)cycles_atstart) ? ((int32_t)cycles_atend - (int32_t)cycles_atstart) : (~(int32_t)0) - (int32_t)cycles_atstart + (int32_t)cycles_atend + 1; _stp_stat_add(g_refresh_timing, cycles_elapsed); } #endif mutex_unlock(&module_refresh_mutex); } static void systemtap_module_exit (void) { int i=0, j=0; (void) i; (void) j; if (atomic_read (session_state()) == STAP_SESSION_STARTING) return; if (atomic_read (session_state()) == STAP_SESSION_RUNNING) atomic_set (session_state(), STAP_SESSION_STOPPING); #ifdef STP_ON_THE_FLY_TIMER_ENABLE hrtimer_cancel(&module_refresh_timer); #endif stp_synchronize_sched(); mutex_lock(&module_refresh_mutex); for (i=0; i<1; i++) _stp_hrtimer_delete(& stap_hrtimer_probes[i]); for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 1) enter_be_probe (stp); } for (i=0; i<1; i++) { struct stap_be_probe* stp = & stap_be_probes [i]; if (stp->type == 2) enter_be_probe (stp); } mutex_unlock(&module_refresh_mutex); stp_synchronize_sched(); _stp_runtime_context_wait(); atomic_set (session_state(), STAP_SESSION_STOPPED); stp_synchronize_sched(); _stp_runtime_contexts_free(); #ifdef STAP_NEED_TRACEPOINTS stp_tracepoint_exit(); #endif #ifdef STAP_NEED_GETTIMEOFDAY _stp_kill_time(); #endif preempt_disable(); #if defined(STP_TIMING) || defined(STP_ALIBI) _stp_printf("----- probe hit report: \n"); for (i = 0; i < ARRAY_SIZE(stap_probes); ++i) { const struct stap_probe *const p = &stap_probes[i]; #ifdef STP_ALIBI int alibi = atomic_read(probe_alibi(i)); if (alibi) _stp_printf ("%s, (%s), hits: %d,%s, index: %d\n", p->pp, p->location, alibi, p->derivation, i); #endif #ifdef STP_TIMING if (likely (probe_timing(i))) { struct stat_data *stats = _stp_stat_get (probe_timing(i), 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("%s, (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax,%s, index: %d\n", p->pp, p->location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max, p->derivation, i); } _stp_stat_del (probe_timing(i)); } #endif } #if defined(STP_TIMING) _stp_printf("----- refresh report:\n"); if (likely (g_refresh_timing)) { struct stat_data *stats = _stp_stat_get (g_refresh_timing, 0); if (stats->count) { int64_t avg = _stp_div64 (NULL, stats->sum, stats->count); _stp_printf ("hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n", (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max); } _stp_stat_del (g_refresh_timing); } #endif _stp_print_flush(); #endif if (atomic_read (skipped_count()) || atomic_read (error_count()) || atomic_read (skipped_count_reentrant())) { _stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (error_count()), (int) atomic_read (skipped_count())); #ifdef STP_TIMING { int ctr; ctr = atomic_read (skipped_count_lowstack()); if (ctr) _stp_warn ("Skipped due to low stack: %d\n", ctr); ctr = atomic_read (skipped_count_reentrant()); if (ctr) _stp_warn ("Skipped due to reentrancy: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_reg()); if (ctr) _stp_warn ("Skipped due to uprobe register failure: %d\n", ctr); ctr = atomic_read (skipped_count_uprobe_unreg()); if (ctr) _stp_warn ("Skipped due to uprobe unregister failure: %d\n", ctr); } #endif _stp_print_flush(); } preempt_enable_no_resched(); } static int systemtap_kernel_module_init (void) { int rc = 0; int i=0, j=0; if (rc) { goto out; } if (rc) { goto out; } out: return rc; } static void systemtap_kernel_module_exit (void) { int i=0, j=0; } #include "stap-symbols.h" MODULE_DESCRIPTION("systemtap-generated probe"); MODULE_LICENSE("GPL"); wait results: 17274 exp36 0 0 PASS: transok/varargs.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.pass1-4/transok.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic1.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic1.stp PASS: systemtap.printf/basic1.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic1.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic1.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic1.exp completed in 13 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic2.stp PASS: systemtap.printf/basic2.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic2.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic2.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic2.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic3.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic3.stp PASS: systemtap.printf/basic3.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic3.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic3.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic3.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic4.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic4.stp PASS: systemtap.printf/basic4.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic4.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic4.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic4.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic5.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic5.stp PASS: systemtap.printf/basic5.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic5.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic5.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic5.exp completed in 11 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic6.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic6.stp PASS: systemtap.printf/basic6.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic6.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/basic6.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/basic6.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin1.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin1.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/bin1.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin1.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin2.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/bin2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin2.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin3.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin3.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/bin3.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin3.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin4.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin4.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/bin4.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin4.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin5.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin5.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/bin5.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin5.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin6.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin6.stp PASS: systemtap.printf/bin6.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin6.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/bin6.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/bin6.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/char1.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/char1.stp PASS: systemtap.printf/char1.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/char1.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/char1.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/char1.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/char2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/char2.stp PASS: systemtap.printf/char2.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/char2.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/char2.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/char2.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/dbug.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/dbug.stp -g PASS: systemtap.printf/dbug.stp -g testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/dbug.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/end1.exp ... PASS: systemtap.printf/end1 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/end1.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/end1b.exp ... PASS: systemtap.printf/end1b testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/end1b.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/int1.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/int1.stp PASS: systemtap.printf/int1.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/int1.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/int1.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/int1.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.exp ... make[3]: Entering directory `/root/systemtap_write/systemtap/testsuite/staptestzSppqj' make -C /lib/modules/4.8.0-rc1uprobes+/build SUBDIRS=/root/systemtap_write/systemtap/testsuite/staptestzSppqj modules make[4]: Entering directory `/root/linux' CC [M] /root/systemtap_write/systemtap/testsuite/staptestzSppqj/memory1_module.o Building modules, stage 2. MODPOST 1 modules CC /root/systemtap_write/systemtap/testsuite/staptestzSppqj/memory1_module.mod.o LD [M] /root/systemtap_write/systemtap/testsuite/staptestzSppqj/memory1_module.ko make[4]: Leaving directory `/root/linux' make[3]: Leaving directory `/root/systemtap_write/systemtap/testsuite/staptestzSppqj' as_root cp staptestzSppqj/memory1_module.ko /lib/modules/4.8.0-rc1uprobes+/kernel/ OUT RC 0 as_root /sbin/insmod staptestzSppqj/memory1_module.ko OUT RC 0 PASS: memory1 (built and installed module) executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.stp Pass 1: parsed user script and 115 library scripts using 54272virt/44992res/5888shr/37824data kb, in 0usr/400sys/406real ms. Pass 2: analyzed script: 5 probes, 6 functions, 0 embeds, 1 global using 55552virt/48576res/7296shr/39104data kb, in 0usr/220sys/234real ms. Pass 3: translated to C into "/tmp/stapPoPcUI/stap_72cd6f547e627ba7a01b800e27ce4b62_11450_src.c" using 55616virt/48832res/7488shr/39168data kb, in 0usr/220sys/224real ms. Pass 4: compiled C into "stap_72cd6f547e627ba7a01b800e27ce4b62_11450.ko" in 0usr/4060sys/4114real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.printf/memory1.stp startup PASS: systemtap.printf/memory1.stp load generation Executing: kill -INT -24536 systemtap ending probe Test passed PASS: systemtap.printf/memory1.stp shutdown and output Pass 5: run completed in 0usr/80sys/763real ms. metric: systemtap.printf/memory1.stp 0 400 406 0 220 234 0 220 224 0 4060 4114 0 80 763 Executing: kill -INT -24536 executing: stap -v -DSTP_LEGACY_PRINT /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.stp spawn stap -v -DSTP_LEGACY_PRINT /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.stp Pass 1: parsed user script and 115 library scripts using 54144virt/43264res/5888shr/37696data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 5 probes, 6 functions, 0 embeds, 1 global using 55616virt/48576res/7296shr/39168data kb, in 0usr/230sys/232real ms. Pass 3: translated to C into "/tmp/stap49ibVI/stap_a0a45aa7fa0f60996b6d1c5c6b9d9339_11466_src.c" using 55680virt/48896res/7488shr/39232data kb, in 0usr/220sys/221real ms. Pass 4: compiled C into "stap_a0a45aa7fa0f60996b6d1c5c6b9d9339_11466.ko" in 0usr/3890sys/3952real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.printf/memory1.stp startup PASS: systemtap.printf/memory1.stp load generation Executing: kill -INT -24793 systemtap ending probe Test passed PASS: systemtap.printf/memory1.stp shutdown and output Pass 5: run completed in 0usr/90sys/764real ms. metric: systemtap.printf/memory1.stp 0 400 403 0 230 232 0 220 221 0 3890 3952 0 90 764 Executing: kill -INT -24793 as_root /bin/rm -f /lib/modules/4.8.0-rc1uprobes+/kernel/memory1_module.ko OUT RC 0 as_root /sbin/rmmod memory1_module OUT RC 0 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/memory1.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/mixed_out.exp ... PASS: systemtap.printf/mixed_out testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/mixed_out.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/mixed_outb.exp ... PASS: systemtap.printf/mixed_outb testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/mixed_outb.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/oct.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/oct.stp | hexdump -ve {8/1 "%02x " "\n"} PASS: systemtap.printf/oct.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/oct.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out1.exp ... PASS: systemtap.printf/out1 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out1.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out1b.exp ... PASS: systemtap.printf/out1b testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out1b.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out2.exp ... PASS: systemtap.printf/out2 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out2.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out2b.exp ... PASS: systemtap.printf/out2b testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out2b.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out3.exp ... PASS: systemtap.printf/out3 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out3.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/out3b.exp ... PASS: systemtap.printf/out3b testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/out3b.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-bits.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-bits.stp kernel -g PASS: systemtap.printf/pretty-bits.stp kernel -g executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-bits.stp kernel -g -DSTP_LEGACY_PRINT PASS: systemtap.printf/pretty-bits.stp kernel -g -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-bits.exp completed in 14 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-char.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-char.stp kernel -g PASS: systemtap.printf/pretty-char.stp kernel -g executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-char.stp kernel -g -DSTP_LEGACY_PRINT PASS: systemtap.printf/pretty-char.stp kernel -g -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/pretty-char.exp completed in 13 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/print.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/print.stp PASS: systemtap.printf/print.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/print.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/print.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/print.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_char.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_char.stp PASS: systemtap.printf/print_char.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_char.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/print_char.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_char.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_stats.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_stats.stp PASS: systemtap.printf/print_stats.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_stats.exp completed in 6 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.c -g -lm -o /root/systemtap_write/systemtap/testsuite/print_user_buffer.exe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.c -g -lm -o /root/systemtap_write/systemtap/testsuite/print_user_buffer.exe PASS: print_user_buffer compile executing: stap -v -c {/root/systemtap_write/systemtap/testsuite/print_user_buffer.exe > /dev/null} /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.stp spawn stap -v -c /root/systemtap_write/systemtap/testsuite/print_user_buffer.exe > /dev/null /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.stp Pass 1: parsed user script and 115 library scripts using 54080virt/45056res/5888shr/37632data kb, in 0usr/390sys/398real ms. Pass 2: analyzed script: 7 probes, 12 functions, 100 embeds, 3 globals using 96192virt/89472res/7552shr/79744data kb, in 0usr/2660sys/2697real ms. Pass 3: translated to C into "/tmp/stapOzqQXe/stap_83618759e8d964f7d9fc2eccfd2e37de_67174_src.c" using 96192virt/89600res/7680shr/79744data kb, in 0usr/10sys/14real ms. Pass 4: compiled C into "stap_83618759e8d964f7d9fc2eccfd2e37de_67174.ko" in 0usr/5400sys/6344real ms. Pass 5: starting run. systemtap starting probe systemtap ending probe systemtap test success PASS: systemtap.printf/print_user_buffer.stp startup PASS: systemtap.printf/print_user_buffer.stp load generation Executing: kill -INT -30068 PASS: systemtap.printf/print_user_buffer.stp shutdown and output WARNING: Number of errors: 0, skipped probes: 4 Executing: kill -INT -30068 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/print_user_buffer.exp completed in 11 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/printd.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/printd.stp PASS: printd executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/printdln.stp PASS: printdln testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/printd.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/println.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/println.stp PASS: systemtap.printf/println.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/println.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/println.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/println.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.2.stp --compatible=1.2 PASS: systemtap.printf/ptr-1.2.stp --compatible=1.2 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.2.stp --compatible=1.2 -DSTP_LEGACY_PRINT PASS: systemtap.printf/ptr-1.2.stp --compatible=1.2 -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.2.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.3.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.3.stp --compatible=1.3 PASS: systemtap.printf/ptr-1.3.stp --compatible=1.3 executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.3.stp --compatible=1.3 -DSTP_LEGACY_PRINT PASS: systemtap.printf/ptr-1.3.stp --compatible=1.3 -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/ptr-1.3.exp completed in 10 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/ring_buffer.exp ... executing: stap -v -DSTP_USE_RING_BUFFER -e { probe begin { printf("systemtap starting probe\n") exit() } probe end { printf("systemtap ending probe\n") printf("Hello") printf("World\n") } } spawn stap -v -DSTP_USE_RING_BUFFER -e probe begin { printf("systemtap starting probe\n") exit() } probe end { printf("systemtap ending probe\n") printf("Hello") printf("World\n") } Pass 1: parsed user script and 115 library scripts using 54144virt/43328res/5888shr/37696data kb, in 0usr/400sys/410real ms. Pass 2: analyzed script: 3 probes, 2 functions, 0 embeds, 0 globals using 54720virt/43328res/5888shr/38272data kb, in 0usr/10sys/8real ms. Pass 3: translated to C into "/tmp/stapdJQ3Sv/stap_0942717f94a24544cd004134eafbc874_1625_src.c" using 54912virt/47360res/6848shr/38464data kb, in 0usr/10sys/1real ms. In file included from /root/systemtap_write/install/share/systemtap/runtime/transport/transport.c:68:0, from /root/systemtap_write/install/share/systemtap/runtime/linux/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/runtime_context.h:22, from /tmp/stapdJQ3Sv/stap_0942717f94a24544cd004134eafbc874_1625_src.c:65: /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c: In function '_stp_ring_buffer_disable_cpu': /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:13:2: error: implicit declaration of function '__get_cpu_var' [-Werror=implicit-function-declaration] local_inc(&__get_cpu_var(_stp_cpu_disabled)); ^ In file included from ./arch/arm64/include/generated/asm/local.h:1:0, from /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:6, from /root/systemtap_write/install/share/systemtap/runtime/transport/transport.c:68, from /root/systemtap_write/install/share/systemtap/runtime/linux/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/runtime_context.h:22, from /tmp/stapdJQ3Sv/stap_0942717f94a24544cd004134eafbc874_1625_src.c:65: /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:13:12: error: lvalue required as unary '&' operand local_inc(&__get_cpu_var(_stp_cpu_disabled)); ^ ./include/asm-generic/local.h:30:40: note: in definition of macro 'local_inc' #define local_inc(l) atomic_long_inc(&(l)->a) ^ /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c: In function '_stp_ring_buffer_enable_cpu': /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:18:12: error: lvalue required as unary '&' operand local_dec(&__get_cpu_var(_stp_cpu_disabled)); ^ ./include/asm-generic/local.h:31:40: note: in definition of macro 'local_dec' #define local_dec(l) atomic_long_dec(&(l)->a) ^ /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c: In function '_stp_ring_buffer_cpu_disabled': /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:24:23: error: lvalue required as unary '&' operand return local_read(&__get_cpu_var(_stp_cpu_disabled)); ^ ./include/asm-generic/local.h:28:42: note: in definition of macro 'local_read' #define local_read(l) atomic_long_read(&(l)->a) ^ In file included from /root/systemtap_write/install/share/systemtap/runtime/transport/transport.c:68:0, from /root/systemtap_write/install/share/systemtap/runtime/linux/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/print.c:17, from /root/systemtap_write/install/share/systemtap/runtime/runtime_context.h:22, from /tmp/stapdJQ3Sv/stap_0942717f94a24544cd004134eafbc874_1625_src.c:65: /root/systemtap_write/install/share/systemtap/runtime/transport/ring_buffer.c:25:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors make[4]: *** [/tmp/stapdJQ3Sv/stap_0942717f94a24544cd004134eafbc874_1625_src.o] Error 1 make[3]: *** [_module_/tmp/stapdJQ3Sv] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compiled C into "stap_0942717f94a24544cd004134eafbc874_1625.ko" in 0usr/1240sys/1282real ms. Pass 4: compilation failed. [man error::pass4] FAIL: RING_BUFFER startup (eof) Executing: kill -INT -32319 testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/ring_buffer.exp completed in 2 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/string1.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/string1.stp PASS: systemtap.printf/string1.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/string1.stp -DSTP_LEGACY_PRINT PASS: systemtap.printf/string1.stp -DSTP_LEGACY_PRINT testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/string1.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.printf/string2.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.printf/string2.stp PASS: systemtap.printf/string2.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.printf/string2.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.samples/examples.exp ... testcase /root/systemtap_write/systemtap/testsuite/systemtap.samples/examples.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.samples/tcptest.exp ... executing: stap -v /root/systemtap_write/systemtap/testsuite/systemtap.samples/tcptest.stp spawn stap -v /root/systemtap_write/systemtap/testsuite/systemtap.samples/tcptest.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/407real ms. Pass 2: analyzed script: 12 probes, 23 functions, 8 embeds, 15 globals using 200640virt/193984res/7552shr/184192data kb, in 0usr/10130sys/10311real ms. Pass 3: translated to C into "/tmp/staprcknSd/stap_9b041b43feaf8e3fd071e83bf1544e55_38278_src.c" using 200640virt/194112res/7680shr/184192data kb, in 0usr/30sys/34real ms. Pass 4: compiled C into "stap_9b041b43feaf8e3fd071e83bf1544e55_38278.ko" in 0usr/5020sys/5659real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.samples/tcptest.stp startup PASS: systemtap.samples/tcptest.stp load generation Executing: kill -INT -879 systemtap ending probe TCP totalbytes: 204800 UID PID SIZE NAME PORT SOURCE RTO RCVMSS SSTHRES CWND STATE 0 1128 102400 tcptest.tcl 38120 127.0.0.1 205000 0 0 0 0 0 1131 102400 tcptest.tcl 0 0 45808 2147483647 10 8 PASS: systemtap.samples/tcptest.stp shutdown and output Pass 5: run completed in 0usr/80sys/3045real ms. metric: systemtap.samples/tcptest.stp 0 400 407 0 10130 10311 0 30 34 0 5020 5659 0 80 3045 Executing: kill -INT -879 testcase /root/systemtap_write/systemtap/testsuite/systemtap.samples/tcptest.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/client.exp ... executing: stap --list-servers=online spawn stap --list-servers=online Systemtap Compile Server Status for 'online' No servers found PASS: List existing online servers executing: stap --list-servers=online spawn stap --list-servers=online Systemtap Compile Server Status for 'online' No servers found PASS: List existing online servers verify existing online servers - attempt 1: 0 0 executing: stap --list-servers=trusted spawn stap --list-servers=trusted Systemtap Compile Server Status for 'trusted' No servers found PASS: List existing trusted servers executing: stap --list-servers=signer spawn stap --list-servers=signer Systemtap Compile Server Status for 'signer' No servers found PASS: List existing signing servers executing: stap --list-servers=all spawn stap --list-servers=all Systemtap Compile Server Status for 'all' No servers found PASS: List all existing servers PASS: Verify existing server list executing: stap --list-servers=online spawn stap --list-servers=online Systemtap Compile Server Status for 'online' No servers found PASS: List existing online servers (before start) output: can't read "logfile": no such variable Started a systemtap server as PID==can't read "logfile": no such variable stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' No servers found grep for servers returned: res==0 child process exited abnormally server_address=='can't read "logfile": no such variable' Unable to discover the address used by the systemtap server Stopping the systemtap server with PID==can't read "logfile": no such variable UNTESTED: Compile-server client tests against a server testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/client.exp completed in 27 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/client_args.exp ... eval exec stap --unprivileged --client-options -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --unprivileged --client-options -B X=Y eval exec stap --privilege=stapusr --client-options -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -B X=Y eval exec stap --privilege=stapsys --client-options -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -B X=Y eval exec stap --unprivileged --client-options -D X=Y You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --unprivileged --client-options -D X=Y eval exec stap --privilege=stapusr --client-options -D X=Y You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -D X=Y eval exec stap --privilege=stapsys --client-options -D X=Y You can't specify -D when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -D X=Y eval exec stap --unprivileged --client-options -I foo You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --unprivileged --client-options -I foo eval exec stap --privilege=stapusr --client-options -I foo You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -I foo eval exec stap --privilege=stapsys --client-options -I foo You can't specify -I when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -I foo eval exec stap --unprivileged --client-options -m test You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --unprivileged --client-options -m test eval exec stap --privilege=stapusr --client-options -m test You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -m test eval exec stap --privilege=stapsys --client-options -m test You can't specify -m when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -m test eval exec stap --unprivileged --client-options -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --unprivileged --client-options -R foo eval exec stap --privilege=stapusr --client-options -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -R foo eval exec stap --privilege=stapsys --client-options -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -R foo eval exec stap --unprivileged --client-options -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --unprivileged --client-options -k eval exec stap --privilege=stapusr --client-options -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -k eval exec stap --privilege=stapsys --client-options -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -k eval exec stap --unprivileged --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --unprivileged --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --privilege=stapusr --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapusr --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --privilege=stapsys --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --privilege=stapsys --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --client-options --unprivileged -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --unprivileged -B X=Y eval exec stap --client-options --privilege=stapusr -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -B X=Y eval exec stap --client-options --privilege=stapsys -B X=Y ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -B X=Y eval exec stap --client-options --unprivileged -D X=Y You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --unprivileged -D X=Y eval exec stap --client-options --privilege=stapusr -D X=Y You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -D X=Y eval exec stap --client-options --privilege=stapsys -D X=Y You can't specify -D when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -D X=Y eval exec stap --client-options --unprivileged -I foo You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --unprivileged -I foo eval exec stap --client-options --privilege=stapusr -I foo You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -I foo eval exec stap --client-options --privilege=stapsys -I foo You can't specify -I when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -I foo eval exec stap --client-options --unprivileged -m test You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --unprivileged -m test eval exec stap --client-options --privilege=stapusr -m test You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -m test eval exec stap --client-options --privilege=stapsys -m test You can't specify -m when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -m test eval exec stap --client-options --unprivileged -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --unprivileged -R foo eval exec stap --client-options --privilege=stapusr -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -R foo eval exec stap --client-options --privilege=stapsys -R foo ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -R foo eval exec stap --client-options --unprivileged -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --unprivileged -k eval exec stap --client-options --privilege=stapusr -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -k eval exec stap --client-options --privilege=stapsys -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -k eval exec stap --client-options --unprivileged -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --unprivileged -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --client-options --privilege=stapusr -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapusr -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --client-options --privilege=stapsys -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --privilege=stapsys -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME eval exec stap --client-options -B X=Y --unprivileged ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y --unprivileged eval exec stap --client-options -B X=Y --privilege=stapusr ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y --privilege=stapusr eval exec stap --client-options -B X=Y --privilege=stapsys ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y --privilege=stapsys eval exec stap --client-options -D X=Y --unprivileged You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -D X=Y --unprivileged eval exec stap --client-options -D X=Y --privilege=stapusr You can't specify -D when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -D X=Y --privilege=stapusr eval exec stap --client-options -D X=Y --privilege=stapsys You can't specify -D when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -D X=Y --privilege=stapsys eval exec stap --client-options -I foo --unprivileged You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -I foo --unprivileged eval exec stap --client-options -I foo --privilege=stapusr You can't specify -I when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -I foo --privilege=stapusr eval exec stap --client-options -I foo --privilege=stapsys You can't specify -I when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -I foo --privilege=stapsys eval exec stap --client-options -m test --unprivileged You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -m test --unprivileged eval exec stap --client-options -m test --privilege=stapusr You can't specify -m when --privilege=stapusr is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -m test --privilege=stapusr eval exec stap --client-options -m test --privilege=stapsys You can't specify -m when --privilege=stapsys is specified. Try '--help' for more information. PASS: Invalid Server Client Arguments: --client-options -m test --privilege=stapsys eval exec stap --client-options -R foo --unprivileged ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -R foo --unprivileged eval exec stap --client-options -R foo --privilege=stapusr ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -R foo --privilege=stapusr eval exec stap --client-options -R foo --privilege=stapsys ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -R foo --privilege=stapsys eval exec stap --client-options -k --unprivileged ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -k --unprivileged eval exec stap --client-options -k --privilege=stapusr ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -k --privilege=stapusr eval exec stap --client-options -k --privilege=stapsys ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -k --privilege=stapsys eval exec stap --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ --unprivileged ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME --unprivileged eval exec stap --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ --privilege=stapusr ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME --privilege=stapusr eval exec stap --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r 4.8.0-rc1uprobes+ --privilege=stapsys ERROR: -B invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -B X=Y -D X=Y -I foo -m test -R foo -k -r UNAME --privilege=stapsys eval exec stap --client-options -R /path ERROR: -R invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -R /path eval exec stap --client-options --ldd ERROR: --ldd is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --ldd eval exec stap --client-options --tmpdir=/tmp ERROR: --tmpdir is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --tmpdir=/tmp eval exec stap --client-options --use-server ERROR: --use-server is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --use-server eval exec stap --client-options --use-server-on-error ERROR: --use-server-on-error is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --use-server-on-error eval exec stap --client-options --list-servers ERROR: --list-servers is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --list-servers eval exec stap --client-options --trust-servers ERROR: --trust-servers is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --trust-servers eval exec stap --client-options --disable-cache ERROR: --disable-cache is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --disable-cache eval exec stap --client-options --poison-cache ERROR: --poison-cache is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --poison-cache eval exec stap --client-options --clean-cache ERROR: --clean-cache is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --clean-cache eval exec stap --client-options --all-modules ERROR: --all-modules is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --all-modules eval exec stap --client-options --remote=foo ERROR: --remote is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --remote=foo eval exec stap --client-options --remote-prefix ERROR: --remote-prefix is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --remote-prefix eval exec stap --client-options --modinfo=foo ERROR: --modinfo is invalid with --client-options PASS: Invalid Server Client Arguments: --client-options --modinfo=foo eval exec stap -D "foo;bar" ERROR: Safety pattern mismatch for -D parameter ('foo;bar' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Invalid Server Client Arguments: -D "foo;bar" eval exec stap -D 2=4 ERROR: Safety pattern mismatch for -D parameter ('2=4' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Invalid Server Client Arguments: -D 2=4 eval exec stap --client-options -r /path ERROR: Safety pattern mismatch for -r parameter from client ('/path' vs. '^[a-z0-9_.-]+$') rc=1 PASS: Invalid Server Client Arguments: --client-options -r /path eval exec stap -S /path ERROR: Safety pattern mismatch for -S parameter ('/path' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Invalid Server Client Arguments: -S /path eval exec stap --client-options -q ERROR: -q invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -q eval exec stap --client-options -k ERROR: -k invalid with --client-options PASS: Invalid Server Client Arguments: --client-options -k executing: stap -p1 -a i386 /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 executing: stap -p1 -B X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y executing: stap -p1 -D X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y executing: stap -p1 -I foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo executing: stap -p1 -m test /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test executing: stap -p1 -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -r UNAME executing: stap -p1 --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged executing: stap -p1 --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr executing: stap -p1 --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys executing: stap -p1 --unprivileged -a i386 /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -a i386 executing: stap -p1 --privilege=stapusr -a i386 /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -a i386 executing: stap -p1 --privilege=stapsys -a i386 /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -a i386 executing: stap -p1 --unprivileged -B X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -B X=Y executing: stap -p1 --privilege=stapusr -B X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -B X=Y executing: stap -p1 --privilege=stapsys -B X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -B X=Y executing: stap -p1 --unprivileged -D X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -D X=Y executing: stap -p1 --privilege=stapusr -D X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -D X=Y executing: stap -p1 --privilege=stapsys -D X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -D X=Y executing: stap -p1 --unprivileged -I foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -I foo executing: stap -p1 --privilege=stapusr -I foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -I foo executing: stap -p1 --privilege=stapsys -I foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -I foo executing: stap -p1 --unprivileged -m test /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -m test executing: stap -p1 --privilege=stapusr -m test /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -m test executing: stap -p1 --privilege=stapsys -m test /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -m test executing: stap -p1 --unprivileged -R foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -R foo executing: stap -p1 --privilege=stapusr -R foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -R foo executing: stap -p1 --privilege=stapsys -R foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -R foo executing: stap -p1 --unprivileged -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -r UNAME executing: stap -p1 --privilege=stapusr -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -r UNAME executing: stap -p1 --privilege=stapsys -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -r UNAME executing: stap -p1 --unprivileged -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME executing: stap -p1 --privilege=stapusr -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME executing: stap -p1 --privilege=stapsys -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME executing: stap -p1 --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options executing: stap -p1 --client-options -a i386 /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options -a i386 executing: stap -p1 --client-options -D X=Y /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options -D X=Y executing: stap -p1 --client-options -I foo /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options -I foo executing: stap -p1 --client-options -m test /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options -m test executing: stap -p1 --client-options -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp FAIL: Valid Server Client Arguments: --client-options -r UNAME line 1: expected "# parse tree dump" Got "ERROR: Safety pattern mismatch for -r parameter from client ('4.8.0-rc1uprobes+' vs. '^[a-z0-9_.-]+$') rc=1" executing: stap -p1 --client-options -a i386 -D X=Y -I foo -m test -r 4.8.0-rc1uprobes+ /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp FAIL: Valid Server Client Arguments: --client-options -a i386 -D X=Y -I foo -m test -r UNAME line 1: expected "# parse tree dump" Got "ERROR: Safety pattern mismatch for -r parameter from client ('4.8.0-rc1uprobes+' vs. '^[a-z0-9_.-]+$') rc=1" executing: stap -p1 --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged --client-options executing: stap -p1 --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr --client-options executing: stap -p1 --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys --client-options executing: stap -p1 --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options --unprivileged executing: stap -p1 --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options --privilege=stapusr executing: stap -p1 --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --client-options --privilege=stapsys executing: stap -p1 --unprivileged -a i386 --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -a i386 --client-options executing: stap -p1 --privilege=stapusr -a i386 --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -a i386 --client-options executing: stap -p1 --privilege=stapsys -a i386 --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -a i386 --client-options executing: stap -p1 --unprivileged -B X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -B X=Y --client-options executing: stap -p1 --privilege=stapusr -B X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -B X=Y --client-options executing: stap -p1 --privilege=stapsys -B X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -B X=Y --client-options executing: stap -p1 --unprivileged -D X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -D X=Y --client-options executing: stap -p1 --privilege=stapusr -D X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -D X=Y --client-options executing: stap -p1 --privilege=stapsys -D X=Y --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -D X=Y --client-options executing: stap -p1 --unprivileged -I foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -I foo --client-options executing: stap -p1 --privilege=stapusr -I foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -I foo --client-options executing: stap -p1 --privilege=stapsys -I foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -I foo --client-options executing: stap -p1 --unprivileged -m test --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -m test --client-options executing: stap -p1 --privilege=stapusr -m test --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -m test --client-options executing: stap -p1 --privilege=stapsys -m test --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -m test --client-options executing: stap -p1 --unprivileged -R foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -R foo --client-options executing: stap -p1 --privilege=stapusr -R foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -R foo --client-options executing: stap -p1 --privilege=stapsys -R foo --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -R foo --client-options executing: stap -p1 --unprivileged -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -r UNAME --client-options executing: stap -p1 --privilege=stapusr -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -r UNAME --client-options executing: stap -p1 --privilege=stapsys -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -r UNAME --client-options executing: stap -p1 --unprivileged -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --unprivileged -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options executing: stap -p1 --privilege=stapusr -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapusr -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options executing: stap -p1 --privilege=stapsys -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: --privilege=stapsys -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options executing: stap -p1 -a i386 --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --unprivileged --client-options executing: stap -p1 -a i386 --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --privilege=stapusr --client-options executing: stap -p1 -a i386 --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --privilege=stapsys --client-options executing: stap -p1 -B X=Y --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --unprivileged --client-options executing: stap -p1 -B X=Y --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --privilege=stapusr --client-options executing: stap -p1 -B X=Y --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --privilege=stapsys --client-options executing: stap -p1 -D X=Y --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --unprivileged --client-options executing: stap -p1 -D X=Y --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --privilege=stapusr --client-options executing: stap -p1 -D X=Y --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --privilege=stapsys --client-options executing: stap -p1 -I foo --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --unprivileged --client-options executing: stap -p1 -I foo --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --privilege=stapusr --client-options executing: stap -p1 -I foo --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --privilege=stapsys --client-options executing: stap -p1 -m test --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --unprivileged --client-options executing: stap -p1 -m test --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --privilege=stapusr --client-options executing: stap -p1 -m test --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --privilege=stapsys --client-options executing: stap -p1 -R foo --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --unprivileged --client-options executing: stap -p1 -R foo --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --privilege=stapusr --client-options executing: stap -p1 -R foo --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --privilege=stapsys --client-options executing: stap -p1 -r 4.8.0-rc1uprobes+ --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --unprivileged --client-options executing: stap -p1 -r 4.8.0-rc1uprobes+ --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --privilege=stapusr --client-options executing: stap -p1 -r 4.8.0-rc1uprobes+ --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --privilege=stapsys --client-options executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --unprivileged --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --unprivileged --client-options executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --privilege=stapusr --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --privilege=stapusr --client-options executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --privilege=stapsys --client-options /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --privilege=stapsys --client-options executing: stap -p1 -a i386 --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --client-options --unprivileged executing: stap -p1 -a i386 --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --client-options --privilege=stapusr executing: stap -p1 -a i386 --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 --client-options --privilege=stapsys executing: stap -p1 -B X=Y --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --client-options --unprivileged executing: stap -p1 -B X=Y --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --client-options --privilege=stapusr executing: stap -p1 -B X=Y --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -B X=Y --client-options --privilege=stapsys executing: stap -p1 -D X=Y --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --client-options --unprivileged executing: stap -p1 -D X=Y --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --client-options --privilege=stapusr executing: stap -p1 -D X=Y --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -D X=Y --client-options --privilege=stapsys executing: stap -p1 -I foo --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --client-options --unprivileged executing: stap -p1 -I foo --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --client-options --privilege=stapusr executing: stap -p1 -I foo --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -I foo --client-options --privilege=stapsys executing: stap -p1 -m test --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --client-options --unprivileged executing: stap -p1 -m test --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --client-options --privilege=stapusr executing: stap -p1 -m test --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -m test --client-options --privilege=stapsys executing: stap -p1 -R foo --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --client-options --unprivileged executing: stap -p1 -R foo --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --client-options --privilege=stapusr executing: stap -p1 -R foo --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -R foo --client-options --privilege=stapsys executing: stap -p1 -r 4.8.0-rc1uprobes+ --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --client-options --unprivileged executing: stap -p1 -r 4.8.0-rc1uprobes+ --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --client-options --privilege=stapusr executing: stap -p1 -r 4.8.0-rc1uprobes+ --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -r UNAME --client-options --privilege=stapsys executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options --unprivileged /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options --unprivileged executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options --privilege=stapusr /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options --privilege=stapusr executing: stap -p1 -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r 4.8.0-rc1uprobes+ --client-options --privilege=stapsys /root/systemtap_write/systemtap/testsuite/systemtap.server/test.stp PASS: Valid Server Client Arguments: -a i386 -B X=Y -D X=Y -I foo -m test -R foo -r UNAME --client-options --privilege=stapsys testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/client_args.exp completed in 76 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/server.exp ... output: 1870 Started a systemtap server as PID==1870 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=46809 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=46809 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:46809' server_port=='46809' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:46809' PASS: Server Tests: uprobes compile foo executing: stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/uprobes.stp --use-server -k -c /root/systemtap_write/systemtap/testsuite/foo spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/uprobes.stp --use-server -k -c /root/systemtap_write/systemtap/testsuite/foo stap_c6142d1b2c6fb1a46aea1c046d80a3fe_6451.ko Keeping temporary directory "/tmp/stapO6Stvp" PASS: Server Tests: uprobes -p4 UNTESTED: Server Tests: uprobes uprobes returned executing: stap $srcdir/$subdir/uprobes.stp $use_server -c "$foo 1 2 3 4" spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.server/uprobes.stp --use-server -c /root/systemtap_write/systemtap/testsuite/foo 1 2 3 4 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x5 argv=0x3ffd4e16cd8 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x4 argv=0x3ffd4e16cd8 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x3 argv=0x3ffd4e16cd8 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x2 argv=0x3ffd4e16cd8 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").call argc=0x1 argv=0x3ffd4e16cd8 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 process("/root/systemtap_write/systemtap/testsuite/foo").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.base/jennie.c:1").return return=0x0 PASS: Server Tests: uprobes -p5 as_root service avahi-daemon restart 2>@1 OUT Redirecting to /bin/systemctl restart avahi-daemon.service RC 0 PASS: Server Tests: server reacts to avahi-daemon restart PASS: Server Tests: server re-established avahi-daemon connection starting /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:46809 spawn1 stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:46809 spawn stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:46809 Hello From Server wait results: 2258 exp36 0 0 PASS: Server Tests: server still serves client requests Stopping the systemtap server with PID==1870 testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/server.exp completed in 20 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/server_args.exp ... Random seed is 1471396176 output: 2546 Started a systemtap server as PID==2546 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=35149 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=35149 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:46809 [::]:35149' server_port=='35149' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:35149' eval exec stap -p1 -I=\\w94\nbh -e -Dhfuo0iu7 -c stap: option requires an argument -- 'c' Try '--help' for more information. eval exec stap --use-server -p1 -I=\\w94\nbh -e -Dhfuo0iu7 -c stap: option requires an argument -- 'c' Try '--help' for more information. PASS: Server Argument Test 0 eval exec stap -p1 -I8o\\2ie -e'1\\ -D\n\" -c ERROR: Safety pattern mismatch for -D parameter (' "' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I8o\\2ie -e'1\\ -D\n\" -c ERROR: Safety pattern mismatch for -D parameter (' "' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 1 eval exec stap -p1 -Ira\\3\;c g -e0fle'qq -Dr/316k\\o8 -cjyoc\n3 ERROR: Safety pattern mismatch for -D parameter ('r/316k\o8' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Ira\\3\;c g -e0fle'qq -Dr/316k\\o8 -cjyoc\n3 ERROR: Safety pattern mismatch for -D parameter ('r/316k\o8' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 2 eval exec stap -p1 -I6p3 -elc -Dqgsgv' -c ERROR: Safety pattern mismatch for -D parameter ('qgsgv'' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I6p3 -elc -Dqgsgv' -c ERROR: Safety pattern mismatch for -D parameter ('qgsgv'' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 3 eval exec stap -p1 -I\"vyv\;z -ej\"/3 -D/ 01qck\n -c3u55zut ERROR: Safety pattern mismatch for -D parameter ('/' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I\"vyv\;z -ej\"/3 -D/ 01qck\n -c3u55zut ERROR: Safety pattern mismatch for -D parameter ('/' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 4 eval exec stap -p1 -I1 -eo9e\nx047q -D9xyefk0a -cvl98/x1'i ERROR: Safety pattern mismatch for -D parameter ('9xyefk0a' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I1 -eo9e\nx047q -D9xyefk0a -cvl98/x1'i ERROR: Safety pattern mismatch for -D parameter ('9xyefk0a' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 5 eval exec stap -p1 -c\; test.stp Input file 'test.stp' is missing. Pass 1: parse failed. [man error::pass1] eval exec stap --use-server -p1 -c\; test.stp Input file 'script/systemtap_write/systemtap/testsuite/test.stp' is missing. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 6 eval exec stap -p1 -I4hgy96 -e5oo39p -Ddx8v -c4\; parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: number '5oo39p' at :1:1 source: 5oo39p ^ 1 parse error. Pass 1: parse failed. [man error::pass1] eval exec stap --use-server -p1 -I4hgy96 -e5oo39p -Ddx8v -c4\; parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: number '5oo39p' at :1:1 source: 5oo39p ^ 1 parse error. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 7 eval exec stap -p1 -I -esq3wors -Dz -c*eibz8h2e A script must be specified. Try '-i' for building a script interactively. Try '--help' for more information. eval exec stap --use-server -p1 -I -esq3wors -Dz -c*eibz8h2e A script must be specified. Try '-i' for building a script interactively. Try '--help' for more information. PASS: Server Argument Test 8 eval exec stap -p1 -I a -em339db5 -Du2\;c0ps -ch9o\\ ERROR: Safety pattern mismatch for -D parameter ('u2;c0ps' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I a -em339db5 -Du2\;c0ps -ch9o\\ ERROR: Safety pattern mismatch for -D parameter ('u2;c0ps' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 9 eval exec stap -p1 -Ipfjps4 -ebug4dc -Du8vd fvkl -c stap: option requires an argument -- 'c' Try '--help' for more information. eval exec stap --use-server -p1 -Ipfjps4 -ebug4dc -Du8vd fvkl -c stap: option requires an argument -- 'c' Try '--help' for more information. PASS: Server Argument Test 10 eval exec stap -p1 -I0\"nspzjyf -e5r3up8h -Dmi\;ojp9m -cx\;a2fat ERROR: Safety pattern mismatch for -D parameter ('mi;ojp9m' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I0\"nspzjyf -e5r3up8h -Dmi\;ojp9m -cx\;a2fat ERROR: Safety pattern mismatch for -D parameter ('mi;ojp9m' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 11 eval exec stap -p1 -Iu -ek7\;r -Dcu\"\; -c\"hc ERROR: Safety pattern mismatch for -D parameter ('cu";' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Iu -ek7\;r -Dcu\"\; -c\"hc ERROR: Safety pattern mismatch for -D parameter ('cu";' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 12 eval exec stap -p1 -Icd4fidq m40mv -edn -D\;8ha\\cjr -c1*vnq ERROR: Safety pattern mismatch for -D parameter (';8ha\cjr' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Icd4fidq m40mv -edn -D\;8ha\\cjr -c1*vnq ERROR: Safety pattern mismatch for -D parameter (';8ha\cjr' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 13 eval exec stap -p1 -I\;3 -er8e -D -cb6k29z ERROR: Safety pattern mismatch for -D parameter ('-cb6k29z' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I\;3 -er8e -D -cb6k29z ERROR: Safety pattern mismatch for -D parameter ('-cb6k29z' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 14 eval exec stap -p1 -Ircj -e -D -c\\vmww parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '-' at :1:1 source: -D ^ 1 parse error. Pass 1: parse failed. [man error::pass1] eval exec stap --use-server -p1 -Ircj -e -D -c\\vmww parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '-' at :1:1 source: -D ^ 1 parse error. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 15 eval exec stap -p1 -Illc5 -e65wof9 qr*=x7x5 -D -cgx\; ERROR: Safety pattern mismatch for -D parameter ('-cgx;' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Illc5 -e65wof9 qr*=x7x5 -D -cgx\; ERROR: Safety pattern mismatch for -D parameter ('-cgx;' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 16 eval exec stap -p1 -Iyaj420=3 -e\" -D -cd'5mi ERROR: Safety pattern mismatch for -D parameter ('-cd'5mi' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Iyaj420=3 -e\" -D -cd'5mi ERROR: Safety pattern mismatch for -D parameter ('-cd'5mi' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 17 eval exec stap -p1 -Ir -e -D29\\ -cj2szt\;4 parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '-' at :1:1 source: -D29\ ^ 1 parse error. Pass 1: parse failed. [man error::pass1] eval exec stap --use-server -p1 -Ir -e -D29\\ -cj2szt\;4 parse error: expected 'probe', 'global', 'private', 'function', or '%{' saw: operator '-' at :1:1 source: -D29\ ^ 1 parse error. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 18 eval exec stap -p1 -Ibno3=b4sk -e' -Dg2-j\;e -c2ijx' ERROR: Safety pattern mismatch for -D parameter ('g2-j;e' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Ibno3=b4sk -e' -Dg2-j\;e -c2ijx' ERROR: Safety pattern mismatch for -D parameter ('g2-j;e' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 19 eval exec stap -p1 -I285v7pl -eo5\\0 -D86s -c-c*v ERROR: Safety pattern mismatch for -D parameter ('86s' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I285v7pl -eo5\\0 -D86s -c-c*v ERROR: Safety pattern mismatch for -D parameter ('86s' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 20 eval exec stap -l syscall.open* -- -p5 syscall.open syscall.open_by_handle_at syscall.openat eval exec stap --use-server -l syscall.open* -- -p5 syscall.open syscall.open_by_handle_at syscall.openat PASS: Server Argument Test 21 eval exec stap -l syscall.open* -- -rfoo syscall.open syscall.open_by_handle_at syscall.openat eval exec stap --use-server -l syscall.open* -- -rfoo syscall.open syscall.open_by_handle_at syscall.openat PASS: Server Argument Test 22 executing: stap -p1 -I/ 1\\nbzg3 -ebf -Do -ckrll=\\\;oh -S4 --use-server spawn stap -p1 -I/ 1\nbzg3 -ebf -Do -ckrll=\;oh -S4 --use-server Unable to send / to the server Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 23 executing: stap -p1 -I / 1\\nbzg3 -ebf -Do -ckrll=\\\;oh -S4 --use-server spawn stap -p1 -I / 1\nbzg3 -ebf -Do -ckrll=\;oh -S4 --use-server Unable to send / to the server Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 24 executing: stap -p1 1\\nbzg3 -ebf -Do -ckrll=\\\;oh -S4 -I/ --use-server spawn stap -p1 1\nbzg3 -ebf -Do -ckrll=\;oh -S4 -I/ --use-server Unable to send / to the server Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 25 executing: stap -p1 1\\nbzg3 -ebf -Do -ckrll=\\\;oh -S4 -I / --use-server spawn stap -p1 1\nbzg3 -ebf -Do -ckrll=\;oh -S4 -I / --use-server Unable to send / to the server Passes: via server failed. Try again with another '-v' option. PASS: Server Argument Test 26 eval exec stap -p1 -I -e\\\;/ -Dhn6 -cejijqmi0 -S3-k - ERROR: Safety pattern mismatch for -S parameter ('3-k' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I -e\\\;/ -Dhn6 -cejijqmi0 -S3-k - ERROR: Safety pattern mismatch for -S parameter ('3-k' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Server Argument Test 27 executing: stap -p1 -I/ -e/ -D -c\\n1v\\\;nd8 -S-- --use-server spawn stap -p1 -I/ -e/ -D -c\n1v\;nd8 -S-- --use-server ERROR: Safety pattern mismatch for -D parameter ('-c\n1v\;nd8' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap -p1 -I/ -e/ -D -c\\n1v\\\;nd8 -S-- ERROR: Safety pattern mismatch for -D parameter ('-c\n1v\;nd8' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I/ -e/ -D -c\\n1v\\\;nd8 -S-- ERROR: Safety pattern mismatch for -D parameter ('-c\n1v\;nd8' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Server Argument Test 28 executing: stap -p1 -I/ -e0xzu -Dxrk -c*sum8fe -St546jn --use-server spawn stap -p1 -I/ -e0xzu -Dxrk -c*sum8fe -St546jn --use-server ERROR: Safety pattern mismatch for -S parameter ('t546jn' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap -p1 -I/ -e0xzu -Dxrk -c*sum8fe -St546jn ERROR: Safety pattern mismatch for -S parameter ('t546jn' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I/ -e0xzu -Dxrk -c*sum8fe -St546jn ERROR: Safety pattern mismatch for -S parameter ('t546jn' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Server Argument Test 29 Iteration 0 eval exec stap -p1 -Ij/sb -e wr -Dik/ -cv\;o -Sl\\o ERROR: Safety pattern mismatch for -D parameter ('ik/' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Ij/sb -e wr -Dik/ -cv\;o -Sl\\o ERROR: Safety pattern mismatch for -D parameter ('ik/' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 0 Iteration 1 eval exec stap -p1 -I -ex\\g -Du=wx\; -c97gd\\2ht\; -Sc/st\;a4 ERROR: Safety pattern mismatch for -D parameter ('u=wx;' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I -ex\\g -Du=wx\; -c97gd\\2ht\; -Sc/st\;a4 ERROR: Safety pattern mismatch for -D parameter ('u=wx;' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 1 Iteration 2 eval exec stap -p1 -Ib -enyw\nx -Dk10jm=8f6 -cgj -Sl-q ERROR: Safety pattern mismatch for -S parameter ('l-q' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Ib -enyw\nx -Dk10jm=8f6 -cgj -Sl-q ERROR: Safety pattern mismatch for -S parameter ('l-q' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 2 Iteration 3 eval exec stap -p1 -I5\\s0\;yd -em1e/ -D\"v -cnwdzxd -S0l5jak=q ERROR: Safety pattern mismatch for -D parameter ('"v' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I5\\s0\;yd -em1e/ -D\"v -cnwdzxd -S0l5jak=q ERROR: Safety pattern mismatch for -D parameter ('"v' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 3 Iteration 4 eval exec stap -p1 -Iyv3gv -evn\" \\\nh\" -Ddhq -ccq 2pbl -S8vw ERROR: Safety pattern mismatch for -S parameter ('8vw' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Iyv3gv -evn\" \\\nh\" -Ddhq -ccq 2pbl -S8vw ERROR: Safety pattern mismatch for -S parameter ('8vw' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 4 Iteration 5 eval exec stap -p1 -I/oj0lu\"h -eq u3 -D\\a -cvf8 7g/\"\n -Sg1begj ERROR: Safety pattern mismatch for -D parameter ('\a' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I/oj0lu\"h -eq u3 -D\\a -cvf8 7g/\"\n -Sg1begj ERROR: Safety pattern mismatch for -D parameter ('\a' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 5 Iteration 6 eval exec stap -p1 -Iy -e2unoxayvh -Dv\;k -c5wqiux -Sej\"u ERROR: Safety pattern mismatch for -D parameter ('v;k' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Iy -e2unoxayvh -Dv\;k -c5wqiux -Sej\"u ERROR: Safety pattern mismatch for -D parameter ('v;k' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 6 Iteration 7 eval exec stap -p1 -Ie6pwlg8 -ecvk=so71 -Dznp\"- -cx\\gn -S4oq8ml' ERROR: Safety pattern mismatch for -D parameter ('znp"-' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Ie6pwlg8 -ecvk=so71 -Dznp\"- -cx\\gn -S4oq8ml' ERROR: Safety pattern mismatch for -D parameter ('znp"-' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 7 Iteration 8 eval exec stap -p1 -Iiuh\n -edd1 -Dt -c2 -S7/ ERROR: Safety pattern mismatch for -S parameter ('7/' vs. '^[0-9]+(,[0-9]+)?$') rc=1 eval exec stap --use-server -p1 -Iiuh\n -edd1 -Dt -c2 -S7/ ERROR: Safety pattern mismatch for -S parameter ('7/' vs. '^[0-9]+(,[0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 8 Iteration 9 eval exec stap -p1 -I -e'edfo0 -Dk/q\n7 -ca\nu -S8w'9= ERROR: Safety pattern mismatch for -D parameter ('k/q 7' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 eval exec stap --use-server -p1 -I -e'edfo0 -Dk/q\n7 -ca\nu -S8w'9= ERROR: Safety pattern mismatch for -D parameter ('k/q 7' vs. '^[a-z_][a-z_0-9]*(=-?[a-z_0-9]+)?$') rc=1 PASS: Fuzzing Server Argument Test 9 Stopping the systemtap server with PID==2546 testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/server_args.exp completed in 22 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency.exp ... output: 2862 Started a systemtap server as PID==2862 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=33269 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=33269 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:33269' server_port=='33269' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:33269' Server output: Tue Aug 16 21:09:58 2016: ===== compile server pid 2862 starting as root ===== Tue Aug 16 21:09:58 2016: Using network address [::]:33269 Client/Server tests will be run by contacting the server directly as amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency1.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency1.stp executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency2.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency2.stp executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency3.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency3.stp executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency1.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency1.stp executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency2.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency2.stp executing: stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency3.stp spawn stap --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:33269 -p4 /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency3.stp Input file 'script/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency2.stp' is missing. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. Input file 'script/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency1.stp' is missing. Pass 1: parse failed. [man error::pass1] Passes: via server failed. Try again with another '-v' option. Server ouput: Tue Aug 16 21:09:58 2016: ===== compile server pid 2862 starting as root ===== Tue Aug 16 21:09:58 2016: Using network address [::]:33269 Tue Aug 16 21:09:58 2016: Using a maximum of 6 threads Tue Aug 16 21:09:58 2016: Certificate found in database /root/systemtap_write/systemtap/testsuite/.systemtap-root/ssl/server Tue Aug 16 21:09:58 2016: Not Valid Before: Wed Aug 17 01:09:17 2016 UTC Tue Aug 16 21:09:58 2016: Not Valid After: Thu Aug 17 01:09:17 2017 UTC Tue Aug 16 21:09:58 2016: Certificate is valid Tue Aug 16 21:09:58 2016: Adding Avahi service 'Systemtap Compile Server on amd-seattle-19.khw.lab.eng.bos.redh' Tue Aug 16 21:09:59 2016: Avahi service 'Systemtap Compile Server on amd-seattle-19.khw.lab.eng.bos.redh' successfully established. Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:20144 Tue Aug 16 21:10:00 2016: Processing 1 request... Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:20656 Tue Aug 16 21:10:00 2016: Processing 2 concurrent requests... Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:21168 Tue Aug 16 21:10:00 2016: Processing 3 concurrent requests... Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:21680 Tue Aug 16 21:10:00 2016: Processing 4 concurrent requests... Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:22192 Tue Aug 16 21:10:00 2016: Processing 5 concurrent requests... Tue Aug 16 21:10:00 2016: Accepted connection from [::ffff:10.16.184.195]:22704 Tue Aug 16 21:10:00 2016: Processing 6 concurrent requests... PASS: server_concurrency Stopping the systemtap server with PID==2862 testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/server_concurrency.exp completed in 76 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/server_locale.exp ... output: 4038 Started a systemtap server as PID==4038 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=38801 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=38801 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:46809 [::]:35149 [::]:33269 [::]:38801' server_port=='38801' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:38801' executing: env "LANG=en_US\n.utf8" stap -e {probe begin{printf("Hello\n"); exit();}} --use-server spawn env LANG=en_US .utf8 stap -e probe begin{printf("Hello\n"); exit();} --use-server Server: Localization key=value line '.utf8' cannot be parsed PASS: Embedded '\n' in Env Vars executing: env "LANG=en_US;.utf8" stap -e {probe begin{printf("Hello\n"); exit();}} --use-server spawn env LANG=en_US;.utf8 stap -e probe begin{printf("Hello\n"); exit();} --use-server Server: Localization value 'en_US;.utf8' contains illegal characters PASS: Embedded ';' in Env Vars executing: env LANG=en_US.utf-8@toronto=test stap -e {probe begin{printf("Hello\n"); exit();}} --use-server spawn env LANG=en_US.utf-8@toronto=test stap -e probe begin{printf("Hello\n"); exit();} --use-server Hello PASS: Use of '_.-@=' in Env Vars executing: env LANG=fr_FR.utf8 stap -e {probe begin{printf("Bonjour\n"); exit();}} --use-server spawn env LANG=fr_FR.utf8 stap -e probe begin{printf("Bonjour\n"); exit();} --use-server Bonjour PASS: LANG Proper Syntax Test (French) executing: env LANG=en_US.utf8 stap -e {probe begin{printf("Hello\n"); exit();}} --use-server spawn env LANG=en_US.utf8 stap -e probe begin{printf("Hello\n"); exit();} --use-server Hello PASS: LANG Proper Syntax Test (English) executing: env LANG=fr_FR.utf8 stap -e {probe begin{printf("Hello); exit();}} --use-server spawn env LANG=fr_FR.utf8 stap -e probe begin{printf("Hello); exit();} --use-server parse error: Ne peut trouver la guillemet fermaPASS: LANG Bad Syntax Test (French) executing: env LANG=en_US.utf8 stap -e {probe begin{printf("Hello); exit();}} --use-server spawn env LANG=en_US.utf8 stap -e probe begin{printf("Hello); exit();} --use-server parse error: Could not find matching closing quote atPASS: LANG Bad Syntax Test (English) Stopping the systemtap server with PID==4038 testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/server_locale.exp completed in 25 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.server/server_req_size.exp ... output: 4717 Started a systemtap server as PID==4717 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=42479 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=42479 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:42479' server_port=='42479' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:42479' Stopping the systemtap server with PID==4717 output: 4752 Started a systemtap server as PID==4752 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=39667 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=39667 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:42479 [::]:39667' server_port=='39667' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:39667' starting /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:39667 spawn1 stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:39667 spawn stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:39667 [/tmp/stapmydEfN/server.zip] End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of /tmp/stapmydEfN/server.zip or /tmp/stapmydEfN/server.zip.zip, and cannot find /tmp/stapmydEfN/server.zip.ZIP, period. WARNING: unzip exited with status: 9 Unable to unzip the server response '/tmp/stapmydEfN/server.zip' Passes: via server failed. Try again with another '-v' option. wait results: 4775 exp36 0 1 PASS: server request size --max-compressed-request Stopping the systemtap server with PID==4752 output: 4799 Started a systemtap server as PID==4799 stap --list-servers returned: res==0 Systemtap Compile Server Status for 'online,trusted,compatible' host=amd-seattle-19.local address=10.16.184.195 port=40359 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" grep for servers returned: res==0 host=amd-seattle-19.local address=10.16.184.195 port=40359 sysinfo="4.8.0-rc1uprobes+ arm64" version=3.1 certinfo="00:a7:47:43:a8" server_address=='[::]:42479 [::]:39667 [::]:40359' server_port=='40359' server_spec=='amd-seattle-19.khw.lab.eng.bos.redhat.com:40359' starting /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:40359 spawn1 stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:40359 spawn stap -p5 /root/systemtap_write/systemtap/testsuite/systemtap.server/hello.stp --use-server=amd-seattle-19.khw.lab.eng.bos.redhat.com:40359 [/tmp/stapu6ZvEP/server.zip] End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of /tmp/stapu6ZvEP/server.zip or /tmp/stapu6ZvEP/server.zip.zip, and cannot find /tmp/stapu6ZvEP/server.zip.ZIP, period. WARNING: unzip exited with status: 9 Unable to unzip the server response '/tmp/stapu6ZvEP/server.zip' Passes: via server failed. Try again with another '-v' option. wait results: 4822 exp36 0 1 PASS: server request size --max-request-size Stopping the systemtap server with PID==4799 testcase /root/systemtap_write/systemtap/testsuite/systemtap.server/server_req_size.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.exp ... PASS: speculate compile starting /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.stp spawn1 stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.stp spawn stap -p4 /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.stp /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b04be4074d89c9fb6948bdbfdaf7cbe_75820.ko wait results: 4849 exp36 0 0 PASS: speculate -p4 spawn stap /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.stp -c ./speculate open(/tmp/junky_bad) = 3 write(3, 0x420238, 512) = 512 write(3, 0x420038, 512) = 512 write(3, 0x0, 512) = -14 PASS: speculate -p5 testcase /root/systemtap_write/systemtap/testsuite/systemtap.speculate/speculate.exp completed in 15 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/all_kernel_functions.exp ... UNTESTED: all_kernel_functions is disabled testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/all_kernel_functions.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.exp ... spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp 0 exp conversions.stp 0 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapUek5He" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/402real ms. Pass 2: analyzed script: 31 probes, 34 functions, 1 embed, 0 globals using 54912virt/43712res/6080shr/38464data kb, in 0usr/10sys/13real ms. function recursion-analysis: max-nesting 2 non-recursive 1 statements for probe probe_2789 1 statements for probe probe_2790 1 statements for probe probe_2791 1 statements for probe probe_2792 1 statements for probe probe_2793 1 statements for probe probe_2794 probe_2795 elided, duplicates probe_2792 1 statements for probe probe_2796 2 statements for probe probe_2797 1 statements for probe probe_2798 2 statements for probe probe_2799 2 statements for probe probe_2800 2 statements for probe probe_2801 2 statements for probe probe_2802 2 statements for probe probe_2803 3 statements for probe probe_2804 1 statements for probe probe_2805 1 statements for probe probe_2806 2 statements for probe probe_2807 1 statements for probe probe_2808 2 statements for probe probe_2809 3 statements for probe probe_2810 4 statements for probe probe_2811 3 statements for probe probe_2812 4 statements for probe probe_2813 3 statements for probe probe_2814 4 statements for probe probe_2815 3 statements for probe probe_2816 4 statements for probe probe_2817 2 statements for probe probe_2818 probe 30 ('timer.s(900)') locks nothing 1 statements for probe probe_2819 Pass 3: translated to C into "/tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728_src.c" using 55040virt/47616res/6976shr/38592data kb, in 0usr/10sys/8real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapUek5He modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728_src.o CC [M] /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728_aux_0.o LD [M] /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.mod.o LD [M] /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_9b9f41b877af41632e14a60ee6b64805_11728.ko" in 0usr/4200sys/4254real ms. Cache cleaning skipped, interval not reached 276 s / 300 s. Copying /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/stap_9b9f41b877af41632e14a60ee6b64805_11728.ko Copying /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/stap_9b9f41b877af41632e14a60ee6b64805_11728.c Copying /tmp/stapUek5He/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.ko staprun:insert_module:183 Module stap_9b9f41b877af41632e14a60ee6b64805__5355 inserted from file /tmp/stapUek5He/stap_9b9f41b877af41632e14a60ee6b64805_11728.ko ERROR: kernel string copy fault at 0x (null) [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user char copy fault 0x0 [man error::fault] WARNING: user long copy fault 0x0 [man error::fault] WARNING: user int copy fault 0x0 [man error::fault] WARNING: user short copy fault 0x0 [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:14:21 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:13:15 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:12:21 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:11:15 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel char copy fault at 0x (null) [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel short copy fault at 0x (null) [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel long copy fault at 0x (null) [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 000000000x00x0 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_9b9f41b877af41632e14a60ee6b64805__5355 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/509real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapUek5He Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapUek5He" done exp conversions.stp 0 22 PASS: conversions.stp 0 done conversions.stp 0 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp 0xffffffff exp conversions.stp 0xffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapLWGw4G" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54400virt/43776res/6080shr/37952data kb, in 0usr/400sys/403real ms. Pass 2: analyzed script: 31 probes, 34 functions, 1 embed, 0 globals using 54976virt/43776res/6080shr/38528data kb, in 0usr/10sys/13real ms. function recursion-analysis: max-nesting 2 non-recursive 1 statements for probe probe_2789 1 statements for probe probe_2790 1 statements for probe probe_2791 1 statements for probe probe_2792 1 statements for probe probe_2793 1 statements for probe probe_2794 probe_2795 elided, duplicates probe_2792 1 statements for probe probe_2796 2 statements for probe probe_2797 1 statements for probe probe_2798 2 statements for probe probe_2799 2 statements for probe probe_2800 2 statements for probe probe_2801 2 statements for probe probe_2802 2 statements for probe probe_2803 3 statements for probe probe_2804 1 statements for probe probe_2805 1 statements for probe probe_2806 2 statements for probe probe_2807 1 statements for probe probe_2808 2 statements for probe probe_2809 3 statements for probe probe_2810 4 statements for probe probe_2811 3 statements for probe probe_2812 4 statements for probe probe_2813 3 statements for probe probe_2814 4 statements for probe probe_2815 3 statements for probe probe_2816 4 statements for probe probe_2817 2 statements for probe probe_2818 probe 30 ('timer.s(900)') locks nothing 1 statements for probe probe_2819 Pass 3: translated to C into "/tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980_src.c" using 55104virt/47680res/6976shr/38656data kb, in 0usr/10sys/8real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapLWGw4G modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980_src.o CC [M] /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980_aux_0.o LD [M] /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.mod.o LD [M] /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_38d346033bf447b61a570e192864f5f1_11980.ko" in 0usr/4220sys/4266real ms. Cache cleaning skipped, interval not reached 282 s / 300 s. Copying /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/38/stap_38d346033bf447b61a570e192864f5f1_11980.ko Copying /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/38/stap_38d346033bf447b61a570e192864f5f1_11980.c Copying /tmp/stapLWGw4G/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.ko staprun:insert_module:183 Module stap_38d346033bf447b61a570e192864f5f1__5611 inserted from file /tmp/stapLWGw4G/stap_38d346033bf447b61a570e192864f5f1_11980.ko ERROR: kernel string copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user char copy fault 0xffffffff [man error::fault] WARNING: user long copy fault 0xffffffff [man error::fault] WARNING: user int copy fault 0xffffffff [man error::fault] WARNING: user short copy fault 0xffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:14:21 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:13:15 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:12:21 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:11:15 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel char copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel short copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel long copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 000000000xffffffff0xffffffff WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_38d346033bf447b61a570e192864f5f1__5611 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/485real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapLWGw4G Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapLWGw4G" done exp conversions.stp 0xffffffff 22 PASS: conversions.stp 0xffffffff done conversions.stp 0xffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp 0xffffffffffffffff exp conversions.stp 0xffffffffffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapSbbenc" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/400real ms. Pass 2: analyzed script: 31 probes, 34 functions, 1 embed, 0 globals using 54912virt/43712res/6080shr/38464data kb, in 0usr/10sys/13real ms. function recursion-analysis: max-nesting 2 non-recursive 1 statements for probe probe_2789 1 statements for probe probe_2790 1 statements for probe probe_2791 1 statements for probe probe_2792 1 statements for probe probe_2793 1 statements for probe probe_2794 probe_2795 elided, duplicates probe_2792 1 statements for probe probe_2796 2 statements for probe probe_2797 1 statements for probe probe_2798 2 statements for probe probe_2799 2 statements for probe probe_2800 2 statements for probe probe_2801 2 statements for probe probe_2802 2 statements for probe probe_2803 3 statements for probe probe_2804 1 statements for probe probe_2805 1 statements for probe probe_2806 2 statements for probe probe_2807 1 statements for probe probe_2808 2 statements for probe probe_2809 3 statements for probe probe_2810 4 statements for probe probe_2811 3 statements for probe probe_2812 4 statements for probe probe_2813 3 statements for probe probe_2814 4 statements for probe probe_2815 3 statements for probe probe_2816 4 statements for probe probe_2817 2 statements for probe probe_2818 probe 30 ('timer.s(900)') locks nothing 1 statements for probe probe_2819 Pass 3: translated to C into "/tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756_src.c" using 55040virt/47616res/6976shr/38592data kb, in 0usr/10sys/8real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapSbbenc modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756_src.o CC [M] /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756_aux_0.o LD [M] /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.mod.o LD [M] /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko" in 0usr/4210sys/4261real ms. Cache cleaning skipped, interval not reached 287 s / 300 s. Copying /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko Copying /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.c Copying /tmp/stapSbbenc/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko staprun:insert_module:183 Module stap_809025f1a5ed4dc6119a29a4f4786fe2__5863 inserted from file /tmp/stapSbbenc/stap_809025f1a5ed4dc6119a29a4f4786fe2_11756.ko ERROR: kernel string copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user char copy fault 0xffffffffffffffff [man error::fault] WARNING: user long copy fault 0xffffffffffffffff [man error::fault] WARNING: user int copy fault 0xffffffffffffffff [man error::fault] WARNING: user short copy fault 0xffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:14:21 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:13:15 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:12:21 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.stp:11:15 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel char copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel short copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel long copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 000000000xffffffffffffffff0xffffffffffffffff WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_809025f1a5ed4dc6119a29a4f4786fe2__5863 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/512real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapSbbenc Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapSbbenc" done exp conversions.stp 0xffffffffffffffff 22 PASS: conversions.stp 0xffffffffffffffff done conversions.stp 0xffffffffffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp 0 exp conversions_trace.stp 0 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapJMkNkh" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/390sys/416real ms. Attempting to extract kernel debuginfo build ID from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux.id Attempting to extract kernel debuginfo build ID from /sys/kernel/notes focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 64640virt/57728res/7360shr/48192data kb, in 0usr/1830sys/1870real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2788 probe 1 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2789 probe 2 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2790 probe 3 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2791 probe 4 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2792 probe 5 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2793 probe 6 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2794 probe 7 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2795 probe 8 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2796 probe 9 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2797 probe 10 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2798 probe 11 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2799 probe 12 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2800 probe 13 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2801 probe 14 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2802 probe 15 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2803 probe 16 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2804 probe 17 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2805 probe 18 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2806 probe 19 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2807 probe 20 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2808 probe 21 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2809 probe 22 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2810 probe 23 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2811 probe 24 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2812 probe 25 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2813 probe 26 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2814 probe 27 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2815 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2816 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2817 Pass 3: translated to C into "/tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964_src.c" using 64640virt/57728res/7360shr/48192data kb, in 0usr/30sys/22real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapJMkNkh modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964_aux_0.o CC [M] /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964_src.o CC [M] /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964_aux_1.o LD [M] /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.mod.o LD [M] /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_9969b890aee7ac22aa016417c0521fd5_14964.ko" in 0usr/6240sys/5822real ms. Cleaning cache, interval reached 300 s > 300 s. Cache cleaning successful, removed entries: /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_390b1d009f6fbf446e0b744f4287791f_13226.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_390b1d009f6fbf446e0b744f4287791f_13226.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_390b1d009f6fbf446e0b744f4287791f_13226_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/stap_4349e26052baba499386ed18fe495b85_13409.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/stap_4349e26052baba499386ed18fe495b85_13409.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/stap_4349e26052baba499386ed18fe495b85_13409_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0f7baaac7bd6f1aea612f5b8d42844e_4295.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0f7baaac7bd6f1aea612f5b8d42844e_4295.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/stap_a0f7baaac7bd6f1aea612f5b8d42844e_4295_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b21a7072c290405978487fb948314a75_4478.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b21a7072c290405978487fb948314a75_4478.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b21a7072c290405978487fb948314a75_4478_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff35143e486ce94f74cfc8cd82ff269c_70196.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff35143e486ce94f74cfc8cd82ff269c_70196.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff35143e486ce94f74cfc8cd82ff269c_70196_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58926e646b238ae072d9c402dc0e76a1_70379.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58926e646b238ae072d9c402dc0e76a1_70379.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58926e646b238ae072d9c402dc0e76a1_70379_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_748a5b7089b1d56c4cc1f9c61cf4ddf6_146136.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_748a5b7089b1d56c4cc1f9c61cf4ddf6_146136.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/74/stap_748a5b7089b1d56c4cc1f9c61cf4ddf6_146136_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0af8d5c59d1a11bee85fe90ff214bd10_146319.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0af8d5c59d1a11bee85fe90ff214bd10_146319.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0af8d5c59d1a11bee85fe90ff214bd10_146319_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9cb9bf8a81aec7436b5abad5b1d51de2_10363_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1897651bdad9a9a0ee55a8cdc94e315_10949.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1897651bdad9a9a0ee55a8cdc94e315_10949.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1897651bdad9a9a0ee55a8cdc94e315_10949_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea51d8afa650a674edec1f922ce94df9_12655.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea51d8afa650a674edec1f922ce94df9_12655.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_ea51d8afa650a674edec1f922ce94df9_12655_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf61bb11d672ef092c144e0dd2d48a51_2634.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf61bb11d672ef092c144e0dd2d48a51_2634.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf61bb11d672ef092c144e0dd2d48a51_2634_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_001878cda9b05dc95c2c07a82e43fcf0_11721.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_001878cda9b05dc95c2c07a82e43fcf0_11721.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_001878cda9b05dc95c2c07a82e43fcf0_11721_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/79/stap_797e61116fa3cea69c5d10f03dabfb32_14686.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/79/stap_797e61116fa3cea69c5d10f03dabfb32_14686.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/79/stap_797e61116fa3cea69c5d10f03dabfb32_14686_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04d903e9127ae870713cdace88cbffee_14738.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04d903e9127ae870713cdace88cbffee_14738.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04d903e9127ae870713cdace88cbffee_14738_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b77ebe75446757fdb2c4088ba83c49c_14726.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b77ebe75446757fdb2c4088ba83c49c_14726.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b77ebe75446757fdb2c4088ba83c49c_14726_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15e806970cd259677be25eae8210efc7_14778.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15e806970cd259677be25eae8210efc7_14778.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15e806970cd259677be25eae8210efc7_14778_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c5c76a684a9dd9c7c69f032abd5c6ac_14790.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c5c76a684a9dd9c7c69f032abd5c6ac_14790.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c5c76a684a9dd9c7c69f032abd5c6ac_14790_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_673c686d93fc58b2a650307c7e3c19be_14842.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_673c686d93fc58b2a650307c7e3c19be_14842.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_673c686d93fc58b2a650307c7e3c19be_14842_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c24e6a7f98dfba8264fb76878d883ddb_14830.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c24e6a7f98dfba8264fb76878d883ddb_14830.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c24e6a7f98dfba8264fb76878d883ddb_14830_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_73a631fb61420bd96f4f17c5027fae5d_14882.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_73a631fb61420bd96f4f17c5027fae5d_14882.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_73a631fb61420bd96f4f17c5027fae5d_14882_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71f316a5e49ab71e5578de80f42f0b0b_9411.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71f316a5e49ab71e5578de80f42f0b0b_9411.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71f316a5e49ab71e5578de80f42f0b0b_9411_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02d4c97f319f81b4d05f95d19e55879e_2357.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02d4c97f319f81b4d05f95d19e55879e_2357.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02d4c97f319f81b4d05f95d19e55879e_2357_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bbfeae1692660d2cbedc7d35cf06e85f_2357.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bbfeae1692660d2cbedc7d35cf06e85f_2357.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bbfeae1692660d2cbedc7d35cf06e85f_2357_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5de59c952472103f4123af3e0fb253e0_2155.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5de59c952472103f4123af3e0fb253e0_2155.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5de59c952472103f4123af3e0fb253e0_2155_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/stap_8507b248bce6beea48c17cae509fe1ee_2174.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/stap_8507b248bce6beea48c17cae509fe1ee_2174.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/stap_8507b248bce6beea48c17cae509fe1ee_2174_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e26bf0f32bf0ac66b2714eb0748e3d1_2415.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e26bf0f32bf0ac66b2714eb0748e3d1_2415.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e26bf0f32bf0ac66b2714eb0748e3d1_2415_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30b8b41ef087975fec3bd2609d48c5a5_2414.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30b8b41ef087975fec3bd2609d48c5a5_2414.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30b8b41ef087975fec3bd2609d48c5a5_2414_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bc3cd309dc3e5e2cf7d89ac290f8b29_2414.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bc3cd309dc3e5e2cf7d89ac290f8b29_2414.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bc3cd309dc3e5e2cf7d89ac290f8b29_2414_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f05f9b76b3c1449b4fe309055da66c69_2414.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f05f9b76b3c1449b4fe309055da66c69_2414.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f05f9b76b3c1449b4fe309055da66c69_2414_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_085e31e91820ab169e442df6cdcceecd_2414.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_085e31e91820ab169e442df6cdcceecd_2414.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_085e31e91820ab169e442df6cdcceecd_2414_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_16ff9421d2cb1dcb14e801daf258fc7a_2871.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_16ff9421d2cb1dcb14e801daf258fc7a_2871.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_16ff9421d2cb1dcb14e801daf258fc7a_2871_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30db331a0d9f5c801f75315559d9d24c_2263.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30db331a0d9f5c801f75315559d9d24c_2263.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30db331a0d9f5c801f75315559d9d24c_2263_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0dbe69c2b02c1c98c5fcbceef885505_5059.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0dbe69c2b02c1c98c5fcbceef885505_5059.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0dbe69c2b02c1c98c5fcbceef885505_5059_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ef5411fe401d5d07521398be07be707_6954.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ef5411fe401d5d07521398be07be707_6954.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ef5411fe401d5d07521398be07be707_6954_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6e102c40c45af4a58d59012a68602ac_1618.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6e102c40c45af4a58d59012a68602ac_1618.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6e102c40c45af4a58d59012a68602ac_1618_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_246e026e7428c3ba40f36da1821ed767_2736.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_246e026e7428c3ba40f36da1821ed767_2736.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_246e026e7428c3ba40f36da1821ed767_2736_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0ef4b8b49c7fa2565cbdf33a66e86acb_2163.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0ef4b8b49c7fa2565cbdf33a66e86acb_2163.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0ef4b8b49c7fa2565cbdf33a66e86acb_2163_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f8d7146b7d1de1b82d4f1096f280340_2675.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f8d7146b7d1de1b82d4f1096f280340_2675.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f8d7146b7d1de1b82d4f1096f280340_2675_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_46b76b372f789051565405000a0d984f_2678.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_46b76b372f789051565405000a0d984f_2678.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_46b76b372f789051565405000a0d984f_2678_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f8/stap_f818f105f7834f8f90e9764142bf349a_1758.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f8/stap_f818f105f7834f8f90e9764142bf349a_1758.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f8/stap_f818f105f7834f8f90e9764142bf349a_1758_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c931c3a7a8638a2800239cf2b7a56d0_1746.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c931c3a7a8638a2800239cf2b7a56d0_1746.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c931c3a7a8638a2800239cf2b7a56d0_1746_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/stap_13ce2e98114cba45f055c1bae520a82f_1603.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/stap_13ce2e98114cba45f055c1bae520a82f_1603.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/stap_13ce2e98114cba45f055c1bae520a82f_1603_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f0445e5bad44c26eb1b855c56b8e197f_1722.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f0445e5bad44c26eb1b855c56b8e197f_1722.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f0/stap_f0445e5bad44c26eb1b855c56b8e197f_1722_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/10/stap_109c7c895a90238c14b61d1d89a9c188_2361.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/10/stap_109c7c895a90238c14b61d1d89a9c188_2361.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/10/stap_109c7c895a90238c14b61d1d89a9c188_2361_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e06f28863a42c9b5acd660dce5e45656_1853.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e06f28863a42c9b5acd660dce5e45656_1853.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e06f28863a42c9b5acd660dce5e45656_1853_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e6/stap_e643dd850e734640a0cf5f9ad7dfce60_1853.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e6/stap_e643dd850e734640a0cf5f9ad7dfce60_1853.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e6/stap_e643dd850e734640a0cf5f9ad7dfce60_1853_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e4031c634b08063475fae88890398d5_1789.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e4031c634b08063475fae88890398d5_1789.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e4031c634b08063475fae88890398d5_1789_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/stap_23fcd00a864f688052748db5aada8388_2245.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/stap_23fcd00a864f688052748db5aada8388_2245.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/stap_23fcd00a864f688052748db5aada8388_2245_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/84/stap_84d388f14aa4bd3dcfd62f81befa825c_2189.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/84/stap_84d388f14aa4bd3dcfd62f81befa825c_2189.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/84/stap_84d388f14aa4bd3dcfd62f81befa825c_2189_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_2754116c40e3cd48cec571893e741da3_1841.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_2754116c40e3cd48cec571893e741da3_1841.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_2754116c40e3cd48cec571893e741da3_1841_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f4/stap_f4b6d25a5ab7f5936424ffbb84a4a2eb_1854.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f4/stap_f4b6d25a5ab7f5936424ffbb84a4a2eb_1854.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f4/stap_f4b6d25a5ab7f5936424ffbb84a4a2eb_1854_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b2dbdbb42bdb3553c92164b4054e0fb4_1858.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b2dbdbb42bdb3553c92164b4054e0fb4_1858.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b2/stap_b2dbdbb42bdb3553c92164b4054e0fb4_1858_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/stap_115e13286a87f6de85708c64d70eeb88_2363.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/stap_115e13286a87f6de85708c64d70eeb88_2363.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/stap_115e13286a87f6de85708c64d70eeb88_2363_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c7ebefb3fb91b447b6eaaa32ac0528c_1858.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c7ebefb3fb91b447b6eaaa32ac0528c_1858.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c7ebefb3fb91b447b6eaaa32ac0528c_1858_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_506414a2aa00882cc10fd19ab03e9083_1805.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_506414a2aa00882cc10fd19ab03e9083_1805.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_506414a2aa00882cc10fd19ab03e9083_1805_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9de08d84ce7fc9f86cf30f968262a48c_2555.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9de08d84ce7fc9f86cf30f968262a48c_2555.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9de08d84ce7fc9f86cf30f968262a48c_2555_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f52e7be28113345dbccdf7fc0ad90880_61999.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f52e7be28113345dbccdf7fc0ad90880_61999.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f52e7be28113345dbccdf7fc0ad90880_61999_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/stap_c8f28e87621d4020a17f66a0a78aa87f_77786.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/stap_c8f28e87621d4020a17f66a0a78aa87f_77786.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/stap_c8f28e87621d4020a17f66a0a78aa87f_77786_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ca/stap_caee53fcad198cd19c4990547d07f7f4_104811.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ca/stap_caee53fcad198cd19c4990547d07f7f4_104811.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ca/stap_caee53fcad198cd19c4990547d07f7f4_104811_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_76e0866b62fdf57ebb788a1d08b54206_66211.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_76e0866b62fdf57ebb788a1d08b54206_66211.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_76e0866b62fdf57ebb788a1d08b54206_66211_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/stap_e928fa5bbdfcdfca3480937b661abd2b_82015.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/stap_e928fa5bbdfcdfca3480937b661abd2b_82015.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/stap_e928fa5bbdfcdfca3480937b661abd2b_82015_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f395b19e62330a5bdb125599904d485_109085.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f395b19e62330a5bdb125599904d485_109085.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f395b19e62330a5bdb125599904d485_109085_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_68a3215e8ad377b3f18a74f71fc8174e_1636.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_68a3215e8ad377b3f18a74f71fc8174e_1636.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_68a3215e8ad377b3f18a74f71fc8174e_1636_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c2a733ab7d0f9582167ce37005fe749_1727.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c2a733ab7d0f9582167ce37005fe749_1727.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/stap_9c2a733ab7d0f9582167ce37005fe749_1727_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_9967e50f7a885c092c91594c0d7d1ff1_1825.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_9967e50f7a885c092c91594c0d7d1ff1_1825.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_9967e50f7a885c092c91594c0d7d1ff1_1825_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58862047f76badbc52d4ffadee4920c1_3588.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58862047f76badbc52d4ffadee4920c1_3588.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_58862047f76badbc52d4ffadee4920c1_3588_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e6b6e147e49a7a9a7e1fcdd184f14b8_2677.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e6b6e147e49a7a9a7e1fcdd184f14b8_2677.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e6b6e147e49a7a9a7e1fcdd184f14b8_2677_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fa/stap_fad0d1685667ecce22195acd737b0739_2774.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fa/stap_fad0d1685667ecce22195acd737b0739_2774.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fa/stap_fad0d1685667ecce22195acd737b0739_2774_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_56ea0c12b7c6d25a7af799ef800c17e8_1412_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f8/stap_f89f657a9c7d0abba8861f93d32ebffd_1570_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6b/stap_6b6d7b3d0a1a01114edb344c4eff43b6_1590_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c383048380a5f5768ecb57dfab659f2a_1507_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2d/stap_2d0846c8889fe9659216c5d21a3cc4c7_1608_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_568b6ecf6f5891e560889c1ab34215af_1763_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ba/stap_ba0c2b4f397d41a4e33b84b074c21f05_1636_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/stap_fd0ec9f06b9390bf524dc0b9d8d3a5d5_1819_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_98ab359ed183228b00e7b6f8f955d146_1644_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c74864ba651870c8bf762cff00a4c40c_1593_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6a/stap_6a411d4ea74f6444f45f538920e6e566_2020_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_15f57c3df6cb692d283be4f107e29537_1659_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bb302a0b7f3827bf28bb636577b0757_1920_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_ee18edbe9e577d16a9c84a7b486bdf52_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_ee18edbe9e577d16a9c84a7b486bdf52_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_ee18edbe9e577d16a9c84a7b486bdf52_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/97/stap_97da023f7d9c797420ae1a8e93f0d85e_2438.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/97/stap_97da023f7d9c797420ae1a8e93f0d85e_2438.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/97/stap_97da023f7d9c797420ae1a8e93f0d85e_2438_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d695d5d34fef77bedb8de0187ec5f64d_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d695d5d34fef77bedb8de0187ec5f64d_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d695d5d34fef77bedb8de0187ec5f64d_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fcc12697a9c6c02c2730548c16c54aa_2438.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fcc12697a9c6c02c2730548c16c54aa_2438.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fcc12697a9c6c02c2730548c16c54aa_2438_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf90f0de8f56e66a0865bd582cdfcae7_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf90f0de8f56e66a0865bd582cdfcae7_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf90f0de8f56e66a0865bd582cdfcae7_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4ceffe9402e358839766625e1fecede0_2440.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4ceffe9402e358839766625e1fecede0_2440.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4ceffe9402e358839766625e1fecede0_2440_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e33b1365b4348c58796d5edeb3bfde3_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e33b1365b4348c58796d5edeb3bfde3_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3e33b1365b4348c58796d5edeb3bfde3_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_77b87ed0037ad0759c57f7a50b4969f6_2438.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_77b87ed0037ad0759c57f7a50b4969f6_2438.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_77b87ed0037ad0759c57f7a50b4969f6_2438_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_89cbbbb82164887b51efdc7f617a48df_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_89cbbbb82164887b51efdc7f617a48df_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_89cbbbb82164887b51efdc7f617a48df_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62ea09481d0eb13937ba6ba6401ed973_2437.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62ea09481d0eb13937ba6ba6401ed973_2437.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62ea09481d0eb13937ba6ba6401ed973_2437_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_980ca07674c91dc310dd256234975ff6_2436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_980ca07674c91dc310dd256234975ff6_2436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_980ca07674c91dc310dd256234975ff6_2436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a1e97c766fe7d54663606e034607965_2444.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a1e97c766fe7d54663606e034607965_2444.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a1e97c766fe7d54663606e034607965_2444_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3ff091d3964e4af369d6ca0800139401_2432.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3ff091d3964e4af369d6ca0800139401_2432.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3ff091d3964e4af369d6ca0800139401_2432_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_5612b5ad301d186b2dc489c2ac96b5c3_2431.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_5612b5ad301d186b2dc489c2ac96b5c3_2431.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/stap_5612b5ad301d186b2dc489c2ac96b5c3_2431_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c0/stap_c0b1576f869d99f12ec0e5c83cae3b26_2459.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c0/stap_c0b1576f869d99f12ec0e5c83cae3b26_2459.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c0/stap_c0b1576f869d99f12ec0e5c83cae3b26_2459_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6cd545d3d072996ba4234a69666805c_2457.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6cd545d3d072996ba4234a69666805c_2457.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6cd545d3d072996ba4234a69666805c_2457_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_6244b81195658c49abced8de6bbe83ba_2455.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_6244b81195658c49abced8de6bbe83ba_2455.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_6244b81195658c49abced8de6bbe83ba_2455_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ac/stap_ac56d62ca9a753976c4d7b285bcd9cee_2453.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ac/stap_ac56d62ca9a753976c4d7b285bcd9cee_2453.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ac/stap_ac56d62ca9a753976c4d7b285bcd9cee_2453_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb22c10932bff9e375e9fbd2b36dde92_2507.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb22c10932bff9e375e9fbd2b36dde92_2507.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb22c10932bff9e375e9fbd2b36dde92_2507_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_898c6600523fffbe07d168783ecb83d1_636720.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_898c6600523fffbe07d168783ecb83d1_636720.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/stap_898c6600523fffbe07d168783ecb83d1_636720_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bca03411190b975be8f5bd134719e8a9_1189035.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bca03411190b975be8f5bd134719e8a9_1189035.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bca03411190b975be8f5bd134719e8a9_1189035_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b02a3073033445851c2a1bd14d1d1e2a_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b02a3073033445851c2a1bd14d1d1e2a_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b02a3073033445851c2a1bd14d1d1e2a_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b1e9964ca54143e1bb311ac3793c44a5_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b1e9964ca54143e1bb311ac3793c44a5_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b1e9964ca54143e1bb311ac3793c44a5_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f119a710ec1e4446caf8bb2531e4fec9_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f119a710ec1e4446caf8bb2531e4fec9_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f119a710ec1e4446caf8bb2531e4fec9_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/stap_a5e9627eba3aaaf85bc3215c7991f895_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/stap_a5e9627eba3aaaf85bc3215c7991f895_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/stap_a5e9627eba3aaaf85bc3215c7991f895_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bd6ef903c968bbd3937c6be1692e35b_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bd6ef903c968bbd3937c6be1692e35b_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bd6ef903c968bbd3937c6be1692e35b_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/stap_dc9421583abc798fbc540a19ca20cda9_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/stap_dc9421583abc798fbc540a19ca20cda9_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/stap_dc9421583abc798fbc540a19ca20cda9_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/90/stap_9034722e4a1e225d332b3347771be3ef_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/90/stap_9034722e4a1e225d332b3347771be3ef_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/90/stap_9034722e4a1e225d332b3347771be3ef_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6a7643c592192de547fb5908160dfc8_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6a7643c592192de547fb5908160dfc8_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6a7643c592192de547fb5908160dfc8_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0cf5bb77f756944cc7b3ebd46b70ccf0_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0cf5bb77f756944cc7b3ebd46b70ccf0_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0cf5bb77f756944cc7b3ebd46b70ccf0_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_154ac07d9b6debf9315a78fd2ede7cd6_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_154ac07d9b6debf9315a78fd2ede7cd6_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/stap_154ac07d9b6debf9315a78fd2ede7cd6_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e12c3bc9af6b38f8c72bffec04388b8a_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e12c3bc9af6b38f8c72bffec04388b8a_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e12c3bc9af6b38f8c72bffec04388b8a_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/95/stap_9521abc1eaf5f8c9cd023830dfc91d4b_4407.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/95/stap_9521abc1eaf5f8c9cd023830dfc91d4b_4407.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/95/stap_9521abc1eaf5f8c9cd023830dfc91d4b_4407_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_991c9be454aed1820efdd6b7745051dc_4438.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_991c9be454aed1820efdd6b7745051dc_4438.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_991c9be454aed1820efdd6b7745051dc_4438_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c3eff6843bb47d3bc6ca9183c4f72ce_4436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c3eff6843bb47d3bc6ca9183c4f72ce_4436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c3eff6843bb47d3bc6ca9183c4f72ce_4436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4f1048c230198bf430e51664b19d1786_4436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4f1048c230198bf430e51664b19d1786_4436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4f1048c230198bf430e51664b19d1786_4436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d29fb8cbaf02ffbde21c25ec60e54012_4462.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d29fb8cbaf02ffbde21c25ec60e54012_4462.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d29fb8cbaf02ffbde21c25ec60e54012_4462_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49531c0de503e5c033cdfb84e98ceb07_4462.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49531c0de503e5c033cdfb84e98ceb07_4462.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49531c0de503e5c033cdfb84e98ceb07_4462_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc95dd2663fb5618d17753dacccf32cb_4460.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc95dd2663fb5618d17753dacccf32cb_4460.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc95dd2663fb5618d17753dacccf32cb_4460_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_06c4910e5a01f0e0709237b580fa38be_4460.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_06c4910e5a01f0e0709237b580fa38be_4460.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/06/stap_06c4910e5a01f0e0709237b580fa38be_4460_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d77c40acae8d5826e6dc25a47db0635_4512.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d77c40acae8d5826e6dc25a47db0635_4512.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d77c40acae8d5826e6dc25a47db0635_4512_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d69fb9f4d200a0d59267dda1c061798_484195.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d69fb9f4d200a0d59267dda1c061798_484195.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d69fb9f4d200a0d59267dda1c061798_484195_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6c0b78e379732f748af79b528d72a40_1002613.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6c0b78e379732f748af79b528d72a40_1002613.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d6/stap_d6c0b78e379732f748af79b528d72a40_1002613_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0e969a1786e98f33e6ee45cbf330ef2f_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0e969a1786e98f33e6ee45cbf330ef2f_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0e/stap_0e969a1786e98f33e6ee45cbf330ef2f_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cd/stap_cdbd8d1819f252a8528db074e188790b_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cd/stap_cdbd8d1819f252a8528db074e188790b_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cd/stap_cdbd8d1819f252a8528db074e188790b_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e470d6555458aed8f583edc48294b574_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e470d6555458aed8f583edc48294b574_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e470d6555458aed8f583edc48294b574_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc47bccbb2b3af9b0391c5e1eef6a88b_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc47bccbb2b3af9b0391c5e1eef6a88b_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc47bccbb2b3af9b0391c5e1eef6a88b_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_0480c12ca7ec8c804eac0b54abb26518_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_0480c12ca7ec8c804eac0b54abb26518_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_0480c12ca7ec8c804eac0b54abb26518_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af99961dfda300aa3aa42a5b3eb99f9b_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af99961dfda300aa3aa42a5b3eb99f9b_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af99961dfda300aa3aa42a5b3eb99f9b_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49ae54b51717e0debbcf8153c39268ed_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49ae54b51717e0debbcf8153c39268ed_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49ae54b51717e0debbcf8153c39268ed_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62513266f571c8278d5a12d5320456ba_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62513266f571c8278d5a12d5320456ba_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/stap_62513266f571c8278d5a12d5320456ba_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c46fa01fba8da153e0960071709cc5e_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c46fa01fba8da153e0960071709cc5e_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5c/stap_5c46fa01fba8da153e0960071709cc5e_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb55312bbde92ec9c2c90a93de4cd73f_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb55312bbde92ec9c2c90a93de4cd73f_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb55312bbde92ec9c2c90a93de4cd73f_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_de73b85209b368e6136753d57a8ccefb_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_de73b85209b368e6136753d57a8ccefb_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_de73b85209b368e6136753d57a8ccefb_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/61/stap_61f037bab0e76e2d2354af76b62813b8_2061.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/61/stap_61f037bab0e76e2d2354af76b62813b8_2061.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/61/stap_61f037bab0e76e2d2354af76b62813b8_2061_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_60e618f600ebd06d1513baeda4632fed_2092.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_60e618f600ebd06d1513baeda4632fed_2092.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_60e618f600ebd06d1513baeda4632fed_2092_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_022c386c7f6bed48538cf03fda4e3540_2090.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_022c386c7f6bed48538cf03fda4e3540_2090.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_022c386c7f6bed48538cf03fda4e3540_2090_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_689f966aaed79ee696a5ec3500d997e3_2090.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_689f966aaed79ee696a5ec3500d997e3_2090.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/68/stap_689f966aaed79ee696a5ec3500d997e3_2090_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3eea124f6ba6731882b877401ac7e956_2116.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3eea124f6ba6731882b877401ac7e956_2116.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3eea124f6ba6731882b877401ac7e956_2116_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bb85a2817d51deb9f7e02e371c8410b_2116.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bb85a2817d51deb9f7e02e371c8410b_2116.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/stap_7bb85a2817d51deb9f7e02e371c8410b_2116_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bd0d2a5ddf7e9ac5e034361968debd17_2114.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bd0d2a5ddf7e9ac5e034361968debd17_2114.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/stap_bd0d2a5ddf7e9ac5e034361968debd17_2114_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0b3cff1df4427ed5d062714ab5a968fb_2114.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0b3cff1df4427ed5d062714ab5a968fb_2114.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0b3cff1df4427ed5d062714ab5a968fb_2114_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c9d378c715576fdaf36ff5edbd91086_2166.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c9d378c715576fdaf36ff5edbd91086_2166.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c9d378c715576fdaf36ff5edbd91086_2166_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d4afd9e72179d15991b932573e217df1_418504.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d4afd9e72179d15991b932573e217df1_418504.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d4afd9e72179d15991b932573e217df1_418504_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3eebbaa3ba854397b4ff2bed98cf9b5_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3eebbaa3ba854397b4ff2bed98cf9b5_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3eebbaa3ba854397b4ff2bed98cf9b5_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad1a6446c6a1677088c6c134c6451796_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad1a6446c6a1677088c6c134c6451796_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad1a6446c6a1677088c6c134c6451796_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_83fe5293e49a1e20b26513e3f6d4a3db_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_83fe5293e49a1e20b26513e3f6d4a3db_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_83fe5293e49a1e20b26513e3f6d4a3db_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_008aa25859a96631ce9b50ed8c42f3c7_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_008aa25859a96631ce9b50ed8c42f3c7_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/00/stap_008aa25859a96631ce9b50ed8c42f3c7_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53d8949729284928950a64c6db9bf7c8_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53d8949729284928950a64c6db9bf7c8_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53d8949729284928950a64c6db9bf7c8_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/stap_335a532175bbfffcc14b99c5beb0f31d_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/stap_335a532175bbfffcc14b99c5beb0f31d_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/stap_335a532175bbfffcc14b99c5beb0f31d_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5d8010f7160fb7247b61c5d02ef62b7d_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5d8010f7160fb7247b61c5d02ef62b7d_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5d/stap_5d8010f7160fb7247b61c5d02ef62b7d_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7a6b65df6390617d90e15c203f93fe9f_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7a6b65df6390617d90e15c203f93fe9f_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7a6b65df6390617d90e15c203f93fe9f_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf70adafb7a690f84083b22dc742404d_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf70adafb7a690f84083b22dc742404d_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/stap_bf70adafb7a690f84083b22dc742404d_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_082446c451d1c24c3b20980f122db80f_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_082446c451d1c24c3b20980f122db80f_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_082446c451d1c24c3b20980f122db80f_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53a54f1e7ef93022b01c7c9c0839ea29_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53a54f1e7ef93022b01c7c9c0839ea29_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_53a54f1e7ef93022b01c7c9c0839ea29_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b14498cb418f72cae6614df6543a0aa5_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b14498cb418f72cae6614df6543a0aa5_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/stap_b14498cb418f72cae6614df6543a0aa5_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c8baeb78b06f893f42b8a1f7fc050e6_5003.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c8baeb78b06f893f42b8a1f7fc050e6_5003.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c8baeb78b06f893f42b8a1f7fc050e6_5003_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91309c18f16f9caf27700832eab30374_5001.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91309c18f16f9caf27700832eab30374_5001.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91309c18f16f9caf27700832eab30374_5001_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7c2223bc7ca887f9fae2b1591d56c73c_5030.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7c2223bc7ca887f9fae2b1591d56c73c_5030.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7c2223bc7ca887f9fae2b1591d56c73c_5030_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_6000841e26ee5a1f95a93d4c96130ee7_5028.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_6000841e26ee5a1f95a93d4c96130ee7_5028.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_6000841e26ee5a1f95a93d4c96130ee7_5028_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a347652e91b3dab8a46a2945a60933_5028.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a347652e91b3dab8a46a2945a60933_5028.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a347652e91b3dab8a46a2945a60933_5028_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7ad64dbc5ce40ca4701a54de06e8758d_5026.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7ad64dbc5ce40ca4701a54de06e8758d_5026.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/stap_7ad64dbc5ce40ca4701a54de06e8758d_5026_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc11f825650ed5b9c1444e9d82e80aa3_5026.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc11f825650ed5b9c1444e9d82e80aa3_5026.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc11f825650ed5b9c1444e9d82e80aa3_5026_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f89ff8ba7e5c772e66f2a0e201ab170_5078.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f89ff8ba7e5c772e66f2a0e201ab170_5078.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3f89ff8ba7e5c772e66f2a0e201ab170_5078_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f5b5148ff775b6aa75e5b0a00cc293f3_484791.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f5b5148ff775b6aa75e5b0a00cc293f3_484791.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f5/stap_f5b5148ff775b6aa75e5b0a00cc293f3_484791_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4c21b19f659b7702fb36ac7110dbb48b_928998.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4c21b19f659b7702fb36ac7110dbb48b_928998.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/stap_4c21b19f659b7702fb36ac7110dbb48b_928998_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_2469c429ba0df0817edd600bd13d5ddd_1688_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1f/stap_1f0c9cea8c68a7bd2d33957bd6a44cc2_1520.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1f/stap_1f0c9cea8c68a7bd2d33957bd6a44cc2_1520.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1f/stap_1f0c9cea8c68a7bd2d33957bd6a44cc2_1520_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d7/stap_d78a2466acbf79e4a65f59bd4cfc9d06_59436.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d7/stap_d78a2466acbf79e4a65f59bd4cfc9d06_59436.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d7/stap_d78a2466acbf79e4a65f59bd4cfc9d06_59436_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_4099409e890d7d180007c46221d0da3d_59843.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_4099409e890d7d180007c46221d0da3d_59843.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_4099409e890d7d180007c46221d0da3d_59843_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c62b337776a2c615f03c22917b50072_60470.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c62b337776a2c615f03c22917b50072_60470.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/stap_0c62b337776a2c615f03c22917b50072_60470_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_771b059f3dd32224f66a60e7f80ecf10_59136.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_771b059f3dd32224f66a60e7f80ecf10_59136.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/77/stap_771b059f3dd32224f66a60e7f80ecf10_59136_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0a175496ad53fbde091b4a46a13ab09_60099.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0a175496ad53fbde091b4a46a13ab09_60099.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/stap_e0a175496ad53fbde091b4a46a13ab09_60099_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_8094bf750dc9a0823d666e78c8026179_7079.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_8094bf750dc9a0823d666e78c8026179_7079.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_8094bf750dc9a0823d666e78c8026179_7079_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_277c6001aa649091fbfdac94699c5d00_1658.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_277c6001aa649091fbfdac94699c5d00_1658.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_277c6001aa649091fbfdac94699c5d00_1658_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_582c2024a2dbb47cf53ff77d959fe00e_2374.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_582c2024a2dbb47cf53ff77d959fe00e_2374.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/58/stap_582c2024a2dbb47cf53ff77d959fe00e_2374_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8a4ead44532c291ed3b5a7ef340d9cf_150093.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8a4ead44532c291ed3b5a7ef340d9cf_150093.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8a4ead44532c291ed3b5a7ef340d9cf_150093_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_703f7ad11eafc480a61f4ee0f253b10c_1655.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_703f7ad11eafc480a61f4ee0f253b10c_1655.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_703f7ad11eafc480a61f4ee0f253b10c_1655_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e35e5bff162be32f1cec33058e66cbdd_5592.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e35e5bff162be32f1cec33058e66cbdd_5592.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e35e5bff162be32f1cec33058e66cbdd_5592_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_feb88f8ebaca04dba1e045622b5abd5f_22585.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_feb88f8ebaca04dba1e045622b5abd5f_22585.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_feb88f8ebaca04dba1e045622b5abd5f_22585_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f10ef91e791b8cb844ba6771a2897ceb_8929.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f10ef91e791b8cb844ba6771a2897ceb_8929.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f10ef91e791b8cb844ba6771a2897ceb_8929_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/01/stap_01d356e4b0cda19a71d11a8717fc5786_5490.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/01/stap_01d356e4b0cda19a71d11a8717fc5786_5490.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/01/stap_01d356e4b0cda19a71d11a8717fc5786_5490_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a0845d6bd87c0a584143756a8811c43_22860.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a0845d6bd87c0a584143756a8811c43_22860.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a0845d6bd87c0a584143756a8811c43_22860_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_40e30d8641cc0e3b4e3045d83e47e222_5388.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_40e30d8641cc0e3b4e3045d83e47e222_5388.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/stap_40e30d8641cc0e3b4e3045d83e47e222_5388_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_5356c48c2c3bec9a715c59eb95ac5476_19554.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_5356c48c2c3bec9a715c59eb95ac5476_19554.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_5356c48c2c3bec9a715c59eb95ac5476_19554_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3a/stap_3a68870fa75af6dcc9a68ead434a7fe7_4938.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3a/stap_3a68870fa75af6dcc9a68ead434a7fe7_4938.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3a/stap_3a68870fa75af6dcc9a68ead434a7fe7_4938_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04b9e4f04971517252b30b0dda5e25e4_1744.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04b9e4f04971517252b30b0dda5e25e4_1744.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/04/stap_04b9e4f04971517252b30b0dda5e25e4_1744_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/stap_6ddac61a8575e492a2ba53066bfad928_36306.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/stap_6ddac61a8575e492a2ba53066bfad928_36306.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/stap_6ddac61a8575e492a2ba53066bfad928_36306_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a42b16f771d5d1280970140e220a7ee_9768.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a42b16f771d5d1280970140e220a7ee_9768.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a42b16f771d5d1280970140e220a7ee_9768_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d7f2d975186c095832a417d0bc71005_2252.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d7f2d975186c095832a417d0bc71005_2252.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9d/stap_9d7f2d975186c095832a417d0bc71005_2252_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_536fd5946339469ab269f1c983f36a05_1480.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_536fd5946339469ab269f1c983f36a05_1480.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/53/stap_536fd5946339469ab269f1c983f36a05_1480_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/stap_28187e7eabcb0eab9fac4bcf5fd5128c_3395.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/stap_28187e7eabcb0eab9fac4bcf5fd5128c_3395.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/stap_28187e7eabcb0eab9fac4bcf5fd5128c_3395_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3bd72d0b3119830bc196f79839259cb_1679.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3bd72d0b3119830bc196f79839259cb_1679.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b3bd72d0b3119830bc196f79839259cb_1679_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fb/stap_fb480b7d906c4d42b49e161f4621cfbe_2143.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fb/stap_fb480b7d906c4d42b49e161f4621cfbe_2143.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fb/stap_fb480b7d906c4d42b49e161f4621cfbe_2143_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_213ef5af3fe4995862d09d1f2f1d5463_8373.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_213ef5af3fe4995862d09d1f2f1d5463_8373.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_213ef5af3fe4995862d09d1f2f1d5463_8373_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_21806c2a1528d23fa8a99ec3fbe130b8_2235.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_21806c2a1528d23fa8a99ec3fbe130b8_2235.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_21806c2a1528d23fa8a99ec3fbe130b8_2235_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_0882e371d630ba9de9fdc82d0ea9cd7b_1843.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_0882e371d630ba9de9fdc82d0ea9cd7b_1843.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/stap_0882e371d630ba9de9fdc82d0ea9cd7b_1843_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe895f1156db9422e30acacdfd819075_1582.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe895f1156db9422e30acacdfd819075_1582.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe895f1156db9422e30acacdfd819075_1582_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c281ad3f7eda1e85968f75882c7cfc1c_65012.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c281ad3f7eda1e85968f75882c7cfc1c_65012.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c2/stap_c281ad3f7eda1e85968f75882c7cfc1c_65012_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e1221a8cbd41f55dc7253cbe4b608062_1893.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e1221a8cbd41f55dc7253cbe4b608062_1893.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e1/stap_e1221a8cbd41f55dc7253cbe4b608062_1893_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e88297f75320bd405fbf15cec5deb1b7_2677.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e88297f75320bd405fbf15cec5deb1b7_2677.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e88297f75320bd405fbf15cec5deb1b7_2677_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_2148d5f9cc6ffaf3e07ac1403bdba3bd_492909.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_2148d5f9cc6ffaf3e07ac1403bdba3bd_492909.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/21/stap_2148d5f9cc6ffaf3e07ac1403bdba3bd_492909_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/25/stap_253caa2d0383224935504790c400b46d_2817.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/25/stap_253caa2d0383224935504790c400b46d_2817.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/25/stap_253caa2d0383224935504790c400b46d_2817_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bcb512e192897c658f82f4145c3aaad5_2818.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bcb512e192897c658f82f4145c3aaad5_2818.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bcb512e192897c658f82f4145c3aaad5_2818_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e42b9ab0bbea7521ad0fe34e1499c963_2818.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e42b9ab0bbea7521ad0fe34e1499c963_2818.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/stap_e42b9ab0bbea7521ad0fe34e1499c963_2818_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc4c17baffdbe339764b51a802aecd75_2825.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc4c17baffdbe339764b51a802aecd75_2825.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cc/stap_cc4c17baffdbe339764b51a802aecd75_2825_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30e357e455a9ffe5a6746cfa92728f1a_1508.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30e357e455a9ffe5a6746cfa92728f1a_1508.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30e357e455a9ffe5a6746cfa92728f1a_1508_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/stap_09b4e563a73b9ba8ff7d9ec178be7ac7_2818.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/stap_09b4e563a73b9ba8ff7d9ec178be7ac7_2818.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/stap_09b4e563a73b9ba8ff7d9ec178be7ac7_2818_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_830d5f3da4d9d47552b8cf66154b0e58_2818.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_830d5f3da4d9d47552b8cf66154b0e58_2818.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/83/stap_830d5f3da4d9d47552b8cf66154b0e58_2818_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff5d8759e38ff7909754b08857c53940_1837.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff5d8759e38ff7909754b08857c53940_1837.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff5d8759e38ff7909754b08857c53940_1837_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/stap_7eef36513dd0e39ad5a6b9c10b2e1fc8_1999.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/stap_7eef36513dd0e39ad5a6b9c10b2e1fc8_1999.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/stap_7eef36513dd0e39ad5a6b9c10b2e1fc8_1999_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b25f884bdf441f235b79690c4d5de16_1631.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b25f884bdf441f235b79690c4d5de16_1631.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b25f884bdf441f235b79690c4d5de16_1631_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/96/stap_960c8c2b9da27480e194afb8a85632ef_2083.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/96/stap_960c8c2b9da27480e194afb8a85632ef_2083.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/96/stap_960c8c2b9da27480e194afb8a85632ef_2083_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad144b57375b0fe234cc6e727ccce28e_1963.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad144b57375b0fe234cc6e727ccce28e_1963.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ad/stap_ad144b57375b0fe234cc6e727ccce28e_1963_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/72/stap_72bd346229ca0266ce623a92742d23aa_1454.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/72/stap_72bd346229ca0266ce623a92742d23aa_1454.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/72/stap_72bd346229ca0266ce623a92742d23aa_1454_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/stap_941449b40e397d4810cca0365be229a5_5298.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/stap_941449b40e397d4810cca0365be229a5_5298.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/stap_941449b40e397d4810cca0365be229a5_5298_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/59/stap_59f28319bce3049270e9ed0aefe45c20_2173.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/59/stap_59f28319bce3049270e9ed0aefe45c20_2173.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/59/stap_59f28319bce3049270e9ed0aefe45c20_2173_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b3725d7d559c04648300a4bd44ba26e_8355.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b3725d7d559c04648300a4bd44ba26e_8355.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/stap_1b3725d7d559c04648300a4bd44ba26e_8355_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/stap_d065059f58b1bc779ea6031e11c216fc_2364.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/stap_d065059f58b1bc779ea6031e11c216fc_2364.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/stap_d065059f58b1bc779ea6031e11c216fc_2364_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8be1941b924932dae3f07aec40667f46_12959_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ed73b5e3448a90494cf9cb6a8fe7243_17239.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ed73b5e3448a90494cf9cb6a8fe7243_17239.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/stap_3ed73b5e3448a90494cf9cb6a8fe7243_17239_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_556f1c54429d830b097344c29adc8684_39241.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_556f1c54429d830b097344c29adc8684_39241.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_556f1c54429d830b097344c29adc8684_39241_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af1de9de751525c1f0ca70edc6bb49e1_3141.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af1de9de751525c1f0ca70edc6bb49e1_3141.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/stap_af1de9de751525c1f0ca70edc6bb49e1_3141_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2fdbb5453c168f8be2163265d82bb52_12579.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2fdbb5453c168f8be2163265d82bb52_12579.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d2fdbb5453c168f8be2163265d82bb52_12579_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71b22fbe9f5bbc601003f59c057bf53d_50087.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71b22fbe9f5bbc601003f59c057bf53d_50087.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/71/stap_71b22fbe9f5bbc601003f59c057bf53d_50087_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30c4e0096b9c77c60588afeeb7b534da_50410.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30c4e0096b9c77c60588afeeb7b534da_50410.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_30c4e0096b9c77c60588afeeb7b534da_50410_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78f2a4494552f61d1b74f3bfa24cb601_24844.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78f2a4494552f61d1b74f3bfa24cb601_24844.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78f2a4494552f61d1b74f3bfa24cb601_24844_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c916ab4771b789c4d46c158719e530d5_54077.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c916ab4771b789c4d46c158719e530d5_54077.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c916ab4771b789c4d46c158719e530d5_54077_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_eadb98f44afd17ed2098f57c46643efe_65363.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_eadb98f44afd17ed2098f57c46643efe_65363.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ea/stap_eadb98f44afd17ed2098f57c46643efe_65363_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02185c1b3ffa63cbd27dbf5f79a248d1_2019.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02185c1b3ffa63cbd27dbf5f79a248d1_2019.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/02/stap_02185c1b3ffa63cbd27dbf5f79a248d1_2019_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/26/stap_26573ac8e0b80919a49446163a3e2d5f_21214.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/26/stap_26573ac8e0b80919a49446163a3e2d5f_21214.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/26/stap_26573ac8e0b80919a49446163a3e2d5f_21214_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/stap_059aac0db88ef8a7ed30919568a1f456_61167.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/stap_059aac0db88ef8a7ed30919568a1f456_61167.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/stap_059aac0db88ef8a7ed30919568a1f456_61167_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_160b89451477626bab96a376dab52301_67709.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_160b89451477626bab96a376dab52301_67709.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/stap_160b89451477626bab96a376dab52301_67709_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/07/stap_07ee38c706c54318ccfeb058cc7a3912_1475.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/07/stap_07ee38c706c54318ccfeb058cc7a3912_1475.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/07/stap_07ee38c706c54318ccfeb058cc7a3912_1475_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/stap_75edad2f7c8de993e212369d6d67a659_14243.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/stap_75edad2f7c8de993e212369d6d67a659_14243.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/stap_75edad2f7c8de993e212369d6d67a659_14243_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d3/stap_d353260f11d57d0f793f8ac501cd80ea_14455.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d3/stap_d353260f11d57d0f793f8ac501cd80ea_14455.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d3/stap_d353260f11d57d0f793f8ac501cd80ea_14455_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce873035971922f4c8ccbaeec315b6a9_3236.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce873035971922f4c8ccbaeec315b6a9_3236.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce873035971922f4c8ccbaeec315b6a9_3236_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff8b72fdb690f5cdc377c08e06895ac6_1972.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff8b72fdb690f5cdc377c08e06895ac6_1972.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ff/stap_ff8b72fdb690f5cdc377c08e06895ac6_1972_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_468ca47598ad345d4a56a9a5d99bdcc3_1546.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_468ca47598ad345d4a56a9a5d99bdcc3_1546.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_468ca47598ad345d4a56a9a5d99bdcc3_1546_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bffea313b9004d787f5f5d3f7358a7d_15464.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bffea313b9004d787f5f5d3f7358a7d_15464.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/stap_0bffea313b9004d787f5f5d3f7358a7d_15464_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a8/stap_a8f015ca82e4d6d17dcc4bcbfe12f1c4_6805.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a8/stap_a8f015ca82e4d6d17dcc4bcbfe12f1c4_6805.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a8/stap_a8f015ca82e4d6d17dcc4bcbfe12f1c4_6805_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c1/stap_c1824536adea5df59fd259b2f42a3200_3647.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c1/stap_c1824536adea5df59fd259b2f42a3200_3647.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c1/stap_c1824536adea5df59fd259b2f42a3200_3647_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6a89ee935f3ae312aaec50e3c2fb5ff_7336.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6a89ee935f3ae312aaec50e3c2fb5ff_7336.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f6/stap_f6a89ee935f3ae312aaec50e3c2fb5ff_7336_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fdc5dd0a61eb16fa9a915dc5e55dc0e_443952.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fdc5dd0a61eb16fa9a915dc5e55dc0e_443952.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3f/stap_3fdc5dd0a61eb16fa9a915dc5e55dc0e_443952_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_706fd03f248bcbfd31f38b67cf098fc2_15945.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_706fd03f248bcbfd31f38b67cf098fc2_15945.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_706fd03f248bcbfd31f38b67cf098fc2_15945_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce6f37f63a0edf9310660506b7b1b78a_274705.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce6f37f63a0edf9310660506b7b1b78a_274705.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce6f37f63a0edf9310660506b7b1b78a_274705_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_80e56e6761174bf99b9b3421ec192d28_302439.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_80e56e6761174bf99b9b3421ec192d28_302439.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/80/stap_80e56e6761174bf99b9b3421ec192d28_302439_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9ae1900c5b99efb3c85cfea063afc71e_408023.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9ae1900c5b99efb3c85cfea063afc71e_408023.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9ae1900c5b99efb3c85cfea063afc71e_408023_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4fa57a700b171854b33f4ff64d2a97a8_1768.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4fa57a700b171854b33f4ff64d2a97a8_1768.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4f/stap_4fa57a700b171854b33f4ff64d2a97a8_1768_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/stap_4a497faefcdbc6d9115524ca0d7fd1c6_1580.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/stap_4a497faefcdbc6d9115524ca0d7fd1c6_1580.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/stap_4a497faefcdbc6d9115524ca0d7fd1c6_1580_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b0ba6c5e129c1175beee05ff666ef6c_1465.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b0ba6c5e129c1175beee05ff666ef6c_1465.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2b/stap_2b0ba6c5e129c1175beee05ff666ef6c_1465_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_70ab4289da7ede37ef29d7712e23aa17_1427.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_70ab4289da7ede37ef29d7712e23aa17_1427.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/70/stap_70ab4289da7ede37ef29d7712e23aa17_1427_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d462f96f2eddf50006cdc912ba55fc72_4310.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d462f96f2eddf50006cdc912ba55fc72_4310.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d4/stap_d462f96f2eddf50006cdc912ba55fc72_4310_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_679c464e3992644d9cf470b22514b76b_2241.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_679c464e3992644d9cf470b22514b76b_2241.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_679c464e3992644d9cf470b22514b76b_2241_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0a3411d56370c9a97c9a4205ffc075d8_3015.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0a3411d56370c9a97c9a4205ffc075d8_3015.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0a/stap_0a3411d56370c9a97c9a4205ffc075d8_3015_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3d/stap_3d0c65ced8efe3934ef3d240ff7d2636_1713.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3d/stap_3d0c65ced8efe3934ef3d240ff7d2636_1713.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3d/stap_3d0c65ced8efe3934ef3d240ff7d2636_1713_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a42fa0779187012715974e7b2533254_168581.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a42fa0779187012715974e7b2533254_168581.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8a/stap_8a42fa0779187012715974e7b2533254_168581_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_dea19d05e165761075bec451dc590442_260019.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_dea19d05e165761075bec451dc590442_260019.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/stap_dea19d05e165761075bec451dc590442_260019_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f3365e77823e34646c6a7c0148a1832_28072.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f3365e77823e34646c6a7c0148a1832_28072.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/stap_5f3365e77823e34646c6a7c0148a1832_28072_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d62c8bb37512810e9855bd275938262_131508.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d62c8bb37512810e9855bd275938262_131508.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d62c8bb37512810e9855bd275938262_131508_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c947e0f5afa89d1a90a5c94f574202e8_14231.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c947e0f5afa89d1a90a5c94f574202e8_14231.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/stap_c947e0f5afa89d1a90a5c94f574202e8_14231_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b7803eea2b71d596ca26013daafb696_213398.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b7803eea2b71d596ca26013daafb696_213398.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b7803eea2b71d596ca26013daafb696_213398_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c7e86d7e3bb46037a7204242ab8ab1b2_418813.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c7e86d7e3bb46037a7204242ab8ab1b2_418813.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c7e86d7e3bb46037a7204242ab8ab1b2_418813_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_9388a5248e9d8976187a55001e59d355_11042.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_9388a5248e9d8976187a55001e59d355_11042.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/93/stap_9388a5248e9d8976187a55001e59d355_11042_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb7f10989f74a9b20b696689140c4096_12886.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb7f10989f74a9b20b696689140c4096_12886.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb7f10989f74a9b20b696689140c4096_12886_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f258fe738c42d4feb84c4a44021e9108_1925.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f258fe738c42d4feb84c4a44021e9108_1925.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f2/stap_f258fe738c42d4feb84c4a44021e9108_1925_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stap_5a69bfb20f69c59a33fe21b1e5a9d3dc_1545.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stap_5a69bfb20f69c59a33fe21b1e5a9d3dc_1545.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stap_5a69bfb20f69c59a33fe21b1e5a9d3dc_1545_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91daf2ecb02af7698aa756c4dbebf3ab_1718.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91daf2ecb02af7698aa756c4dbebf3ab_1718.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/91/stap_91daf2ecb02af7698aa756c4dbebf3ab_1718_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/stap_6c5fddc840ae050e585f7a20f3b3477e_1815.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/stap_6c5fddc840ae050e585f7a20f3b3477e_1815.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/stap_6c5fddc840ae050e585f7a20f3b3477e_1815_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_306f69d765a474b160113a9c76745918_1894.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_306f69d765a474b160113a9c76745918_1894.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/30/stap_306f69d765a474b160113a9c76745918_1894_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_481244e0d3f02b56fa0a5bdde9929631_4934.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_481244e0d3f02b56fa0a5bdde9929631_4934.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/stap_481244e0d3f02b56fa0a5bdde9929631_4934_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_5477d53bcf1eca9e368f44265e21f225_2724.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_5477d53bcf1eca9e368f44265e21f225_2724.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/stap_5477d53bcf1eca9e368f44265e21f225_2724_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1e/stap_1e898fe1e201e097a14a61c2e29fbd7f_2808.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1e/stap_1e898fe1e201e097a14a61c2e29fbd7f_2808.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1e/stap_1e898fe1e201e097a14a61c2e29fbd7f_2808_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_464b680f26908f4e9db445953f069038_2759.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_464b680f26908f4e9db445953f069038_2759.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/46/stap_464b680f26908f4e9db445953f069038_2759_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7cefa962bf53befb10b1dc8bddda5eaa_19435.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7cefa962bf53befb10b1dc8bddda5eaa_19435.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/stap_7cefa962bf53befb10b1dc8bddda5eaa_19435_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a2a2ee7ae5ae30f60c047bd9bcf511_79107.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a2a2ee7ae5ae30f60c047bd9bcf511_79107.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/stap_50a2a2ee7ae5ae30f60c047bd9bcf511_79107_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49faa2fd40ebf354e50cfead36d3e8c0_2149.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49faa2fd40ebf354e50cfead36d3e8c0_2149.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/49/stap_49faa2fd40ebf354e50cfead36d3e8c0_2149_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b80ef8490ac63a874ff8cca3869f20d_2283.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b80ef8490ac63a874ff8cca3869f20d_2283.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8b/stap_8b80ef8490ac63a874ff8cca3869f20d_2283_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_399ddd165ed8dbf5123bb79b851a34f6_2579.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_399ddd165ed8dbf5123bb79b851a34f6_2579.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/39/stap_399ddd165ed8dbf5123bb79b851a34f6_2579_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_992c0db71680494f59b87f06b2f3d446_18995.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_992c0db71680494f59b87f06b2f3d446_18995.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_992c0db71680494f59b87f06b2f3d446_18995_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_999ac8eb9e238466b784af14d7f9f5d0_75165.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_999ac8eb9e238466b784af14d7f9f5d0_75165.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_999ac8eb9e238466b784af14d7f9f5d0_75165_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/65/stap_6566859b8d50e7fe5655aa333861e3c3_3079.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/65/stap_6566859b8d50e7fe5655aa333861e3c3_3079.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/65/stap_6566859b8d50e7fe5655aa333861e3c3_3079_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc592ab5026cc50b100f2a161a810f07_1536.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc592ab5026cc50b100f2a161a810f07_1536.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/stap_fc592ab5026cc50b100f2a161a810f07_1536_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2e/stap_2eb27ed07dac7fbdcf806d96d0505a7a_9508.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2e/stap_2eb27ed07dac7fbdcf806d96d0505a7a_9508.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/2e/stap_2eb27ed07dac7fbdcf806d96d0505a7a_9508_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cbe695a7986ac2f5d994ffae8281b2f5_1649.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cbe695a7986ac2f5d994ffae8281b2f5_1649.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cb/stap_cbe695a7986ac2f5d994ffae8281b2f5_1649_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dba93a9d6bde3131eb3fc4363c740afe_2190.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dba93a9d6bde3131eb3fc4363c740afe_2190.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_dba93a9d6bde3131eb3fc4363c740afe_2190_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc1fc1d351349797bbd42c5f7784c79e_66169.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc1fc1d351349797bbd42c5f7784c79e_66169.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc1fc1d351349797bbd42c5f7784c79e_66169_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6a/stap_6ab0026847c2c8fe27473a747777d718_253811.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6a/stap_6ab0026847c2c8fe27473a747777d718_253811.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6a/stap_6ab0026847c2c8fe27473a747777d718_253811_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6883fa6e342ed2ef3127676da6a2a2c_22071.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6883fa6e342ed2ef3127676da6a2a2c_22071.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/stap_a6883fa6e342ed2ef3127676da6a2a2c_22071_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e24b8f2ec701ce0d67d1bd49e4e8161_4729.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e24b8f2ec701ce0d67d1bd49e4e8161_4729.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5e/stap_5e24b8f2ec701ce0d67d1bd49e4e8161_4729_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d53eb14416acd05d681a0b5304794618_2526.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d53eb14416acd05d681a0b5304794618_2526.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d53eb14416acd05d681a0b5304794618_2526_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/51/stap_5114ce7d5b445326dd7429945af3feb2_3601.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/51/stap_5114ce7d5b445326dd7429945af3feb2_3601.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/51/stap_5114ce7d5b445326dd7429945af3feb2_3601_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/18/stap_183ff6b2eb09c1533ed6e3b12b51bac8_8367.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/18/stap_183ff6b2eb09c1533ed6e3b12b51bac8_8367.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/18/stap_183ff6b2eb09c1533ed6e3b12b51bac8_8367_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a255a963ae5f39ce38518a82fcc0c96_29865.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a255a963ae5f39ce38518a82fcc0c96_29865.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1a/stap_1a255a963ae5f39ce38518a82fcc0c96_29865_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d26f34a89c40ccef546cec2a05f2bc64_3502.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d26f34a89c40ccef546cec2a05f2bc64_3502.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/stap_d26f34a89c40ccef546cec2a05f2bc64_3502_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/stap_8c939fcd086d56bfbcdee80abf6d0b40_5907.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/stap_8c939fcd086d56bfbcdee80abf6d0b40_5907.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/stap_8c939fcd086d56bfbcdee80abf6d0b40_5907_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_674f1589786fc921a9aa757c38e6fa33_2724.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_674f1589786fc921a9aa757c38e6fa33_2724.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/stap_674f1589786fc921a9aa757c38e6fa33_2724_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f9/stap_f9e93db890b0e2682737db14cfad0509_58320.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f9/stap_f9e93db890b0e2682737db14cfad0509_58320.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f9/stap_f9e93db890b0e2682737db14cfad0509_58320_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_98cbebf2f294267a35382158f0fd2768_7466.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_98cbebf2f294267a35382158f0fd2768_7466.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/98/stap_98cbebf2f294267a35382158f0fd2768_7466_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b4448b7a67b0af35fb7b48f3899484e8_1855.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b4448b7a67b0af35fb7b48f3899484e8_1855.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b4/stap_b4448b7a67b0af35fb7b48f3899484e8_1855_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_eeccf1a7616d9c54b62e0ea4959eefa0_3656.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_eeccf1a7616d9c54b62e0ea4959eefa0_3656.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ee/stap_eeccf1a7616d9c54b62e0ea4959eefa0_3656_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c78a80dad50fbf3200e75d11de134e0e_5522.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c78a80dad50fbf3200e75d11de134e0e_5522.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c7/stap_c78a80dad50fbf3200e75d11de134e0e_5522_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_768f77daea2570a5a9014f082ef26cf4_85577.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_768f77daea2570a5a9014f082ef26cf4_85577.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/76/stap_768f77daea2570a5a9014f082ef26cf4_85577_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/stap_3c02ed8924b81afd33ad0fdd5e71d68b_113283.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/stap_3c02ed8924b81afd33ad0fdd5e71d68b_113283.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/stap_3c02ed8924b81afd33ad0fdd5e71d68b_113283_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/81/stap_81c4c8ba32754c8aa92fada90ed8ec4e_12326.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/81/stap_81c4c8ba32754c8aa92fada90ed8ec4e_12326.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/81/stap_81c4c8ba32754c8aa92fada90ed8ec4e_12326_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_55774570edcd89b5c3dbf2d2c312a5e6_62050.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_55774570edcd89b5c3dbf2d2c312a5e6_62050.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/55/stap_55774570edcd89b5c3dbf2d2c312a5e6_62050_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3254909aa6b0b6d39eb74be48a24140_1756.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3254909aa6b0b6d39eb74be48a24140_1756.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a3254909aa6b0b6d39eb74be48a24140_1756_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9adaf0f6205a664628c5864132c1fbdb_1901.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9adaf0f6205a664628c5864132c1fbdb_1901.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9adaf0f6205a664628c5864132c1fbdb_1901_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8573e40a4f11dfc03cf9ae3567bbfd0_58114.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8573e40a4f11dfc03cf9ae3567bbfd0_58114.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/stap_e8573e40a4f11dfc03cf9ae3567bbfd0_58114_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/52/stap_528246675b9b762bae0c58a7b307e2f9_133080.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/52/stap_528246675b9b762bae0c58a7b307e2f9_133080.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/52/stap_528246675b9b762bae0c58a7b307e2f9_133080_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1d/stap_1df0e67715fa2a6dc9054f082f574074_14632.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1d/stap_1df0e67715fa2a6dc9054f082f574074_14632.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1d/stap_1df0e67715fa2a6dc9054f082f574074_14632_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf638f08e71f6140e0ffc2016dfc9068_12593.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf638f08e71f6140e0ffc2016dfc9068_12593.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/cf/stap_cf638f08e71f6140e0ffc2016dfc9068_12593_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b5/stap_b5a800e0f68aa802ab996577fc27c259_2270.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b5/stap_b5a800e0f68aa802ab996577fc27c259_2270.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b5/stap_b5a800e0f68aa802ab996577fc27c259_2270_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bb6377977877893595ffabc821ec0338_4067.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bb6377977877893595ffabc821ec0338_4067.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bb/stap_bb6377977877893595ffabc821ec0338_4067_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/df/stap_df6613d288107e3c74c57b995a1f5d33_291499.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/df/stap_df6613d288107e3c74c57b995a1f5d33_291499.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/df/stap_df6613d288107e3c74c57b995a1f5d33_291499_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb56e4dae9463a859dbcac709154eb65_5202.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb56e4dae9463a859dbcac709154eb65_5202.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eb56e4dae9463a859dbcac709154eb65_5202_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78578076181b5ada2d8ba03fcbb98e6f_1154189.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78578076181b5ada2d8ba03fcbb98e6f_1154189.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/78/stap_78578076181b5ada2d8ba03fcbb98e6f_1154189_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b314e66d3cf4b12cafd1f6af0ac613fa_9327.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b314e66d3cf4b12cafd1f6af0ac613fa_9327.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b3/stap_b314e66d3cf4b12cafd1f6af0ac613fa_9327_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e3c632dc12b4f8fad12be03619009029_557995.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e3c632dc12b4f8fad12be03619009029_557995.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/stap_e3c632dc12b4f8fad12be03619009029_557995_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9afe158c59b9d4e86ab8f5dc3efcb002_596378.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9afe158c59b9d4e86ab8f5dc3efcb002_596378.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9a/stap_9afe158c59b9d4e86ab8f5dc3efcb002_596378_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d94d17d04de793c32a2dc3947591f535_1476.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d94d17d04de793c32a2dc3947591f535_1476.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d94d17d04de793c32a2dc3947591f535_1476_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f15a6ddda16b73dfe6054948c547b549_1372.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f15a6ddda16b73dfe6054948c547b549_1372.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f15a6ddda16b73dfe6054948c547b549_1372_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b6/stap_b6be04983850037c006f7710bdb540fa_23466.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b6/stap_b6be04983850037c006f7710bdb540fa_23466.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b6/stap_b6be04983850037c006f7710bdb540fa_23466_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_276480e662901fc0daf2455c24ba348e_5895.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_276480e662901fc0daf2455c24ba348e_5895.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/27/stap_276480e662901fc0daf2455c24ba348e_5895_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d9a1cd052a5dceba107ef420bdb5eef7_9268.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d9a1cd052a5dceba107ef420bdb5eef7_9268.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d9a1cd052a5dceba107ef420bdb5eef7_9268_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5cf25146c9f85cd9fb7f6a2d0d6489c_23216.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5cf25146c9f85cd9fb7f6a2d0d6489c_23216.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5cf25146c9f85cd9fb7f6a2d0d6489c_23216_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c31f53adcfb3fa4fe6388c96f70c9286_8023.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c31f53adcfb3fa4fe6388c96f70c9286_8023.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c31f53adcfb3fa4fe6388c96f70c9286_8023_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/stap_a225984a8816ad1b4dd55bbf419f31dc_28734.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/stap_a225984a8816ad1b4dd55bbf419f31dc_28734.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/stap_a225984a8816ad1b4dd55bbf419f31dc_28734_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/stap_34ad6d003cc03d2e7ec81171b87f57ee_78218.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/stap_34ad6d003cc03d2e7ec81171b87f57ee_78218.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/stap_34ad6d003cc03d2e7ec81171b87f57ee_78218_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc22f7df4d15b884fb0a3517f3e32ba7_23008.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc22f7df4d15b884fb0a3517f3e32ba7_23008.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bc/stap_bc22f7df4d15b884fb0a3517f3e32ba7_23008_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/stap_c4f4f43ef3ce7490eb8d2af8de7a239f_35075.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/stap_c4f4f43ef3ce7490eb8d2af8de7a239f_35075.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/stap_c4f4f43ef3ce7490eb8d2af8de7a239f_35075_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1f1cc249de26563179e5cdcb708a8df_43137.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1f1cc249de26563179e5cdcb708a8df_43137.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f1/stap_f1f1cc249de26563179e5cdcb708a8df_43137_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5204b708d7c87a87ecd3e2be5aa61a3_43230.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5204b708d7c87a87ecd3e2be5aa61a3_43230.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d5/stap_d5204b708d7c87a87ecd3e2be5aa61a3_43230_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1ccfe203696fcd59f98c4dfe9e51f878_26708.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1ccfe203696fcd59f98c4dfe9e51f878_26708.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1ccfe203696fcd59f98c4dfe9e51f878_26708_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d95006b0b21bdd3cfaf80c78ee2354e6_2633.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d95006b0b21bdd3cfaf80c78ee2354e6_2633.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/stap_d95006b0b21bdd3cfaf80c78ee2354e6_2633_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/57/stap_57ebf29cc53c4fcc3c13b028f9c1515a_2486.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/57/stap_57ebf29cc53c4fcc3c13b028f9c1515a_2486.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/57/stap_57ebf29cc53c4fcc3c13b028f9c1515a_2486_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/stap_4290bcd174846fa555cc7a0fd2d95bec_20741.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/stap_4290bcd174846fa555cc7a0fd2d95bec_20741.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/stap_4290bcd174846fa555cc7a0fd2d95bec_20741_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7c7562c23fa27bfbaab82bc0fcd4999_1599.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7c7562c23fa27bfbaab82bc0fcd4999_1599.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b7/stap_b7c7562c23fa27bfbaab82bc0fcd4999_1599_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_2458932dab3979fee842ce5366cc8ffc_1677.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_2458932dab3979fee842ce5366cc8ffc_1677.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/24/stap_2458932dab3979fee842ce5366cc8ffc_1677_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/stap_eba13177e363e1d49b09d9b70bbcf7d7_1675_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_db5a3552c5524f332581256e03791802_123136.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_db5a3552c5524f332581256e03791802_123136.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/db/stap_db5a3552c5524f332581256e03791802_123136_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c11700cf8da8aff6a15f2e044e445d3_2236.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c11700cf8da8aff6a15f2e044e445d3_2236.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1c/stap_1c11700cf8da8aff6a15f2e044e445d3_2236_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce793264c39a7ecf096b862bdbd9048a_5757.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce793264c39a7ecf096b862bdbd9048a_5757.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/stap_ce793264c39a7ecf096b862bdbd9048a_5757_hash.log /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c319da852c4fa9c52fd25000e25ef9c7_2160.c /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c319da852c4fa9c52fd25000e25ef9c7_2160.ko /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c3/stap_c319da852c4fa9c52fd25000e25ef9c7_2160_hash.log Copying /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_9969b890aee7ac22aa016417c0521fd5_14964.ko Copying /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/99/stap_9969b890aee7ac22aa016417c0521fd5_14964.c Copying /tmp/stapJMkNkh/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.ko staprun:insert_module:183 Module stap_9969b890aee7ac22aa016417c0521fd5__6126 inserted from file /tmp/stapJMkNkh/stap_9969b890aee7ac22aa016417c0521fd5_14964.ko ERROR: kernel string copy fault at 0x (null) [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: kernel long copy fault at 0x (null) [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel short copy fault at 0x (null) [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel char copy fault at 0x (null) [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:48:3 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:54:9 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:60:3 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:66:9 ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user short copy fault 0x0 [man error::fault] WARNING: user int copy fault 0x0 [man error::fault] WARNING: user long copy fault 0x0 [man error::fault] WARNING: user char copy fault 0x0 [man error::fault] 0x00x000000000 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_9969b890aee7ac22aa016417c0521fd5__6126 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/3580real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapJMkNkh Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapJMkNkh" done exp conversions_trace.stp 0 22 PASS: conversions_trace.stp 0 done conversions_trace.stp 0 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp 0xffffffff exp conversions_trace.stp 0xffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapyA69vU" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/405real ms. Attempting to extract kernel debuginfo build ID from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux.id Attempting to extract kernel debuginfo build ID from /sys/kernel/notes focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 64640virt/57728res/7360shr/48192data kb, in 0usr/1820sys/1864real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2788 probe 1 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2789 probe 2 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2790 probe 3 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2791 probe 4 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2792 probe 5 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2793 probe 6 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2794 probe 7 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2795 probe 8 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2796 probe 9 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2797 probe 10 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2798 probe 11 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2799 probe 12 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2800 probe 13 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2801 probe 14 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2802 probe 15 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2803 probe 16 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2804 probe 17 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2805 probe 18 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2806 probe 19 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2807 probe 20 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2808 probe 21 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2809 probe 22 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2810 probe 23 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2811 probe 24 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2812 probe 25 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2813 probe 26 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2814 probe 27 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2815 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2816 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2817 Pass 3: translated to C into "/tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216_src.c" using 64640virt/57728res/7360shr/48192data kb, in 0usr/20sys/22real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapyA69vU modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216_aux_0.o CC [M] /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216_src.o CC [M] /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216_aux_1.o LD [M] /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.mod.o LD [M] /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko" in 0usr/6250sys/5825real ms. Cache cleaning skipped, interval not reached 12 s / 300 s. Copying /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko Copying /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/stap_ec31b30119a7e2c802ce55e3207e2168_15216.c Copying /tmp/stapyA69vU/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko staprun:insert_module:183 Module stap_ec31b30119a7e2c802ce55e3207e2168__6386 inserted from file /tmp/stapyA69vU/stap_ec31b30119a7e2c802ce55e3207e2168_15216.ko ERROR: kernel string copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: kernel long copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel short copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel char copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:48:3 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:54:9 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:60:3 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:66:9 ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user short copy fault 0xffffffff [man error::fault] WARNING: user int copy fault 0xffffffff [man error::fault] WARNING: user long copy fault 0xffffffff [man error::fault] WARNING: user char copy fault 0xffffffff [man error::fault] 0xffffffff0xffffffff00000000 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_ec31b30119a7e2c802ce55e3207e2168__6386 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/3544real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapyA69vU Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapyA69vU" done exp conversions_trace.stp 0xffffffff 22 PASS: conversions_trace.stp 0xffffffff done conversions_trace.stp 0xffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp 0xffffffffffffffff exp conversions_trace.stp 0xffffffffffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stap6j1FDP" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/408real ms. Attempting to extract kernel debuginfo build ID from /lib/modules/4.8.0-rc1uprobes+/build/vmlinux.id Attempting to extract kernel debuginfo build ID from /sys/kernel/notes focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o' = [0x10000-0x10028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_051edc2e0e9662bed93b2906c484fc3f_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o' = [0x20100-0x20228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/05/tracequery_05af577b7ff6237c90c41f33b5ca6ceb_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o' = [0x30300-0x30348, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/08/tracequery_08137092ff938f281fc0c36531ca88c9_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o' = [0x40400-0x40470, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09726b2ad1707b5757bb57fb757dcf6a_961.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o' = [0x50500-0x50508, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/09/tracequery_09ca514cc2298adf5ecc15feb56def49_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o' = [0x60600-0x60668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0b/tracequery_0b32ae1f2cafb3b1b3e74b90909d8ce1_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o' = [0x70700-0x70700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0c/tracequery_0cc1240e4a4a09ecf5e12d8ae48c1f6b_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o' = [0x80700-0x80708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0d/tracequery_0d44ae79770e7babac5ce4a61ef0a51f_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o' = [0x90800-0x90848, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/0f/tracequery_0f4c8b7444716734f1f39140535eec09_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o' = [0xa0900-0xa09c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/11/tracequery_1100424c936ddd74fa20188888b4137b_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o' = [0xb0a00-0xb0dd0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12148849525875b3fee0e019dd9c922b_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o' = [0xc0e00-0xc0e48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_1270cf2c0c7791b1f3db4c864792bc09_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o' = [0xd0f00-0xd1208, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/12/tracequery_12eb3cccc89f8a4bd1a6985f709281ee_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o' = [0xe1300-0xe1330, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/13/tracequery_13f9e445794ed44219d212f2c1c94951_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o' = [0xf1400-0xf15e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/14/tracequery_14eebc12097b7d0fabcbb41e2cfeb7d9_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o' = [0x101600-0x101748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/15/tracequery_15890e71ded1456909e5154e2694ede3_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o' = [0x111800-0x1118e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/16/tracequery_16776dd266def3d26ff7a35e25ff14f0_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o' = [0x121900-0x121988, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/1b/tracequery_1b9eb8e4aae2a300e2d1a395c73b4d8b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o' = [0x131a00-0x131a48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/23/tracequery_239b946f99132674bfdbc246564d0f6e_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o' = [0x141b00-0x141d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/28/tracequery_28ca034b7ed9a4c0681e75cbed27cfd6_922.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o' = [0x151e00-0x151f08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/33/tracequery_33c582555a2353d02e2c77cf2b744c81_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o' = [0x162000-0x162048, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/34/tracequery_345c42cfab99fc3cb2afbd8493aae21f_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o' = [0x172100-0x172230, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3c/tracequery_3c4d4532fdc2928f32c5e6aa014574cf_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o' = [0x182300-0x182368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/3e/tracequery_3ef9b90a1d5dc1a2d8841b7eb1966f64_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o' = [0x192400-0x1926c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/40/tracequery_40bc0f4e6da7176fcae78ea6dffb9b9f_952.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o' = [0x1a2700-0x1a2728, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/41/tracequery_41ed6c9a54180e09b36a41362ee90e7b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o' = [0x1b2800-0x1b28e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/42/tracequery_42fbb0c6603ef5b7adea269a892fa89b_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o' = [0x1c2900-0x1c2d28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/43/tracequery_43b50e43611a6270c0c293741ac5a503_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o' = [0x1d2e00-0x1d3010, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/45/tracequery_4557309094ee9449fe1594b3f37fc378_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o' = [0x1e3100-0x1e3408, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/48/tracequery_486789c9e84847336691d131fc39cdb7_956.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o' = [0x1f3500-0x1f3528, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4a/tracequery_4aa81ce0aadf24c9a3889451486275a6_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o' = [0x203600-0x204450, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4c/tracequery_4c67a1fe0af99f25a94deb9b7751a996_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o' = [0x214500-0x2145f0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/4d/tracequery_4db2679f87400054801c15d084442c77_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o' = [0x224600-0x224648, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_50154238ac9fb3df83ef67edef6b15fd_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o' = [0x234700-0x234928, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/50/tracequery_506b4bc8f2ea1fb3f3b2400db21f6b50_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o' = [0x244a00-0x244b88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54b138dd598cafb5054e0732bfe8b2ae_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o' = [0x254c00-0x254fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/54/tracequery_54d5524ac7c3b74ddd9d853a28940694_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o' = [0x265000-0x2650a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/56/tracequery_56ab36a90e8f23d6b95a4ca23ce9b0d4_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o' = [0x275100-0x2779c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5f/tracequery_5f56d4dc930d89097336da6a37b50106_929.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o' = [0x287a00-0x287cc8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/tracequery_60911a34899490da353fdcc254a7876d_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o' = [0x297d00-0x297d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/62/tracequery_62a6083c30834247b4bcbb14030f827f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o' = [0x2a7e00-0x2a89e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/64/tracequery_64ba38cfd0c4e0dce31edd331c9770cd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o' = [0x2b8a00-0x2b8b50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/67/tracequery_67c93712eab062d1ec7f039edbc942ae_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o' = [0x2c8c00-0x2c8c48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6c/tracequery_6c4b69d32a007d1d5c6211c925d786da_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o' = [0x2d8d00-0x2d8d48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6d/tracequery_6dcca98223c3de000e198b996fcd5a60_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o' = [0x2e8e00-0x2e8e08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6ef825f89a14d0100e84234aa3924817_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o' = [0x2f8f00-0x2f8fe8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/6e/tracequery_6efc4b0b90866b2c4e79a24d1c5836fe_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o' = [0x309000-0x309028, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/75/tracequery_75ecda535a6ae279301b33bd0552593f_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o' = [0x319100-0x319100, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7a/tracequery_7ac278a4b150deaf79ca117d21a7cfdc_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o' = [0x329100-0x3292a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7b8fb28526efba4443fb5ebd4fa09c1b_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o' = [0x339300-0x339300, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7b/tracequery_7bd21ab1b3b2404b76866073787f2190_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o' = [0x349300-0x349328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7c/tracequery_7cdc211e897d9b095e302434d86c3063_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o' = [0x359400-0x35a630, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7e10b065c211fb415bb02694cabc0ac2_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o' = [0x36a700-0x36a7e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7e/tracequery_7ee13e7571553af1453017c01004fb5e_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o' = [0x37a800-0x37a8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/7f/tracequery_7ff1de082917b4e2a8d66aa3eea92411_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o' = [0x38a900-0x38ab68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_82077b7ce16a5933fffb4c42c567f7a3_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o' = [0x39ac00-0x39acb0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/82/tracequery_823e1d3b34acb7a3cad906113d95bd30_960.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o' = [0x3aad00-0x3aada8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/85/tracequery_85d825640323e3b86d2cb3c91df13bdd_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o' = [0x3bae00-0x3baf50, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/87/tracequery_87ae0441f45b374d0072adbe4ed7b792_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o' = [0x3cb000-0x3cb088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/89/tracequery_89e40a7a80b80d8f4a477fc18c98f2e7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o' = [0x3db100-0x3db168, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8c/tracequery_8cf25d2a3ac2b76bd51cb04778653c95_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o' = [0x3eb200-0x3eb2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8e/tracequery_8e33b0c3761de8b42e6ebdc9782fc9d7_964.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o' = [0x3fb300-0x3fb4e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/94/tracequery_94718df366aae1d32548713a7e8bce21_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o' = [0x40b500-0x40b668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9b/tracequery_9bcc33a0bddb5cdf0ff345a24c5cab7e_944.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o' = [0x41b700-0x41b748, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/9c/tracequery_9c21e559d56dfcce70df987738d7fda3_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o' = [0x42b800-0x42b8a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a0/tracequery_a07213c30f4b0d7c4ce1d4bc69f9b007_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o' = [0x43b900-0x43b950, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a1/tracequery_a11b9b5a4da61604cb2e0e84a1c2dfdf_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o' = [0x44ba00-0x44ba68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a2/tracequery_a23c0eb5a90976bfc70b08e42daa54ee_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o' = [0x45bb00-0x45bb48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a5/tracequery_a53565571749e6cf5fb0d972fad1ed80_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o' = [0x46bc00-0x46bc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a6/tracequery_a64b6826c83928e5424f866439b320a6_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o' = [0x47bd00-0x47bd68, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a9/tracequery_a95ac193ac805bc886a6fc8fdaf6d089_932.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o' = [0x48be00-0x48bf30, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ae/tracequery_ae1bae9fa0606511ce50818502c00f58_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o' = [0x49c000-0x49c058, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/af/tracequery_afb17c2814a671f788cd07151bac4347_946.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o' = [0x4ac100-0x4ac128, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b017e878ba643a734baa7346c6a8bfc8_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o' = [0x4bc200-0x4bc248, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/tracequery_b05869206693a84ccb8efe97dd8cacfb_959.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o' = [0x4cc300-0x4cc3d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b1/tracequery_b1233a01913edac52297245a07aba0da_943.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o' = [0x4dc400-0x4dc610, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bd/tracequery_bd50f81159e164eea958503914ab994d_928.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o' = [0x4ec700-0x4ec708, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be52e1ab5ae242af60f6acf6c4a6912d_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o' = [0x4fc800-0x4fca08, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/be/tracequery_be701c31d97dc87a2cf91bd14bcd3ed5_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o' = [0x50cb00-0x50cb88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/bf/tracequery_bf327eb728b42a4bc500bf3cda510943_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o' = [0x51cc00-0x51cc48, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c4/tracequery_c4ba54cf4a6f825d722dad61edeb636c_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o' = [0x52cd00-0x52cd28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c5/tracequery_c56ee2b81f7600697863a6fbddecf70d_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o' = [0x53ce00-0x53ce28, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c814bf12fe95bdbff2bd87090db39b63_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o' = [0x54cf00-0x54d008, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c8/tracequery_c8c2d1fd839c14aa9b7cf749d9b8bcc7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o' = [0x55d100-0x55d1c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c90508d45256d1e23721bbabb27fb557_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o' = [0x56d200-0x56d228, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/c9/tracequery_c9e54caa5f0d37d27f0fc85ad65f451c_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o' = [0x57d300-0x57d4d0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ce/tracequery_ceaa586b85dfe6438f8e3270f7f89621_940.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o' = [0x58d500-0x58d6c8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d022e5c20467047df0991f5b1c9b71fc_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o' = [0x59d700-0x59d758, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d0/tracequery_d0c5cf21c7607ab577595d546eab9c69_953.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o' = [0x5ad800-0x5ad8e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d2/tracequery_d2cfc7365970377cce3300a07ee79f83_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o' = [0x5bd900-0x5bd9a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d80766980eb7f0b9a08b5da74f000523_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o' = [0x5cda00-0x5ce068, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d8/tracequery_d85208c2461182366757ed4927124c57_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o' = [0x5de100-0x5de2a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/d9/tracequery_d90e125c1cd7474bb3f6a1819553f13a_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o' = [0x5ee300-0x5ee328, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dc4e6d87cfea999f2fae150986e49d78_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o' = [0x5fe400-0x5fe400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/dc/tracequery_dcb3072ba249da2632a727e1d2781949_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o' = [0x60e400-0x60e448, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/de/tracequery_de9a77336a5b1d47f65e673341f2b742_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o' = [0x61e500-0x61e500, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e016716a8f40c8666f9a77f2756acf12_931.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o' = [0x62e500-0x62e530, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e0/tracequery_e0b273bd04c2cd4010290347a0454072_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o' = [0x63e600-0x63e668, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e3/tracequery_e3ac468c9adc6508791a3f64aaf06d28_947.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o' = [0x64e700-0x64e700, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e4/tracequery_e43eeb4af94693a45faa21fb7b09bd31_945.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o' = [0x65e700-0x65e750, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e5/tracequery_e59ae81f0bc6baf46764decfce62e6bc_962.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o' = [0x66e800-0x66e890, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8d1181f4d85117c058d339bd4c90cbb_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o' = [0x67e900-0x67ea88, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e8/tracequery_e8db7f486e510abdc68f73edd0a7f3f0_934.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o' = [0x68eb00-0x68f088, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/e9/tracequery_e993141f2a5138ddcd3f1201540c5c98_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o' = [0x69f100-0x69f1e8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_eb5390d4f3425d660affa05803069549_937.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o' = [0x6af200-0x6af308, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/eb/tracequery_ebfc080b26789bb09b10cf16797423ea_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o' = [0x6bf400-0x6bf400, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ec/tracequery_ec9402a7ebbbd85693f7b6e3918c8501_930.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o' = [0x6cf400-0x6cf490, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_ef0b269bfa16e990ff8a7211583a0f0e_938.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o' = [0x6df500-0x6df5a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/ef/tracequery_efb2f35655f16428f57196705ecba019_924.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o' = [0x6ef600-0x6ef808, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f3/tracequery_f32debf0078726f165be72e110d5d189_927.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o' = [0x6ff900-0x6ffae8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7af4535e6a3e5ee4674d4b49ddaa669_936.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o' = [0x70fb00-0x70fbf0, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/f7/tracequery_f7c17af4f85740b7c08af2fc8126b29f_939.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o' = [0x71fc00-0x71fc90, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fc/tracequery_fc48b3e3e77517bf7378ffafe6eec746_941.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o' = [0x72fd00-0x730368, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fd64efb72fe2e77608d070b4aacc6758_935.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o' = [0x740400-0x740468, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fda1b674aceb052cb0cc014d69a2e5f7_933.o ELF machine arm64| (code 183) focused on module '/root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o' = [0x750500-0x7506a8, bias 0 file /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fd/tracequery_fdd6ae367934749fd448661db178e3c4_934.o ELF machine arm64| (code 183) Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 64640virt/57728res/7360shr/48192data kb, in 0usr/1840sys/1877real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2788 probe 1 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2789 probe 2 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2790 probe 3 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2791 probe 4 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2792 probe 5 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2793 probe 6 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2794 probe 7 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2795 probe 8 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2796 probe 9 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2797 probe 10 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2798 probe 11 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2799 probe 12 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2800 probe 13 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2801 probe 14 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2802 probe 15 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2803 probe 16 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2804 probe 17 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2805 probe 18 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 3 statements for probe probe_2806 probe 19 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 4 statements for probe probe_2807 probe 20 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2808 probe 21 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2809 probe 22 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2810 probe 23 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2811 probe 24 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2812 probe 25 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2813 probe 26 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 5 statements for probe probe_2814 probe 27 ('kernel.trace("sched:sched_switch")') locks __global_hits[rw] 6 statements for probe probe_2815 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2816 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2817 Pass 3: translated to C into "/tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992_src.c" using 64640virt/57728res/7360shr/48192data kb, in 0usr/20sys/22real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stap6j1FDP modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992_aux_0.o CC [M] /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992_src.o CC [M] /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992_aux_1.o LD [M] /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.mod.o LD [M] /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko" in 0usr/6240sys/5828real ms. Cache cleaning skipped, interval not reached 24 s / 300 s. Copying /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko Copying /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/b0/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.c Copying /tmp/stap6j1FDP/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko staprun:insert_module:183 Module stap_b02e8f01efd8ddc0a8f8893d650acd3e__6646 inserted from file /tmp/stap6j1FDP/stap_b02e8f01efd8ddc0a8f8893d650acd3e_14992.ko ERROR: kernel string copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: kernel long copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel short copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel char copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:48:3 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:54:9 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:60:3 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_trace.stp:66:9 ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user short copy fault 0xffffffffffffffff [man error::fault] WARNING: user int copy fault 0xffffffffffffffff [man error::fault] WARNING: user long copy fault 0xffffffffffffffff [man error::fault] WARNING: user char copy fault 0xffffffffffffffff [man error::fault] 0xffffffffffffffff0xffffffffffffffff00000000 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_b02e8f01efd8ddc0a8f8893d650acd3e__6646 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/3600real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stap6j1FDP Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stap6j1FDP" done exp conversions_trace.stp 0xffffffffffffffff 22 PASS: conversions_trace.stp 0xffffffffffffffff done conversions_trace.stp 0xffffffffffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp 0 exp conversions_profile.stp 0 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapmM5UTL" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/410sys/421real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55296virt/47872res/7168shr/38848data kb, in 0usr/20sys/20real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2791 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2795 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2803 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2807 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2811 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2815 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2819 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2823 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2827 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2831 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2835 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2839 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2843 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2847 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2851 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2855 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2859 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2863 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2867 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2871 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2875 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2879 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2883 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2887 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2891 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2895 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2899 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2900 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2901 Pass 3: translated to C into "/tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356_src.c" using 55296virt/48256res/7296shr/38848data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapmM5UTL modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356_src.o CC [M] /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356_aux_0.o LD [M] /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.mod.o LD [M] /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_736a8491781caba39e17b5e93fdd037f_15356.ko" in 0usr/4690sys/4764real ms. Cache cleaning skipped, interval not reached 33 s / 300 s. Copying /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_736a8491781caba39e17b5e93fdd037f_15356.ko Copying /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/73/stap_736a8491781caba39e17b5e93fdd037f_15356.c Copying /tmp/stapmM5UTL/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.ko staprun:insert_module:183 Module stap_736a8491781caba39e17b5e93fdd037f__6898 inserted from file /tmp/stapmM5UTL/stap_736a8491781caba39e17b5e93fdd037f_15356.ko ERROR: kernel char copy fault at 0x (null) [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:60:3 WARNING: user int copy fault 0x0 [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user long copy fault 0x0 [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:66:9 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user char copy fault 0x0 [man error::fault] ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:48:3 WARNING: user short copy fault 0x0 [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: kernel string copy fault at 0x (null) [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: kernel long copy fault at 0x (null) [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:54:9 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel short copy fault at 0x (null) [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 00x0000000x000 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_736a8491781caba39e17b5e93fdd037f__6898 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/80sys/3538real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapmM5UTL Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapmM5UTL" done exp conversions_profile.stp 0 22 PASS: conversions_profile.stp 0 done conversions_profile.stp 0 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp 0xffffffff exp conversions_profile.stp 0xffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapr8WG6P" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/406real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55168virt/47936res/7168shr/38720data kb, in 0usr/20sys/20real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2791 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2795 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2803 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2807 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2811 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2815 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2819 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2823 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2827 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2831 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2835 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2839 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2843 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2847 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2851 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2855 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2859 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2863 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2867 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2871 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2875 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2879 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2883 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2887 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2891 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2895 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2899 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2900 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2901 Pass 3: translated to C into "/tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608_src.c" using 55360virt/48256res/7296shr/38912data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapr8WG6P modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608_src.o CC [M] /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608_aux_0.o LD [M] /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.mod.o LD [M] /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko" in 0usr/4680sys/4743real ms. Cache cleaning skipped, interval not reached 42 s / 300 s. Copying /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko Copying /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/8d/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.c Copying /tmp/stapr8WG6P/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko staprun:insert_module:183 Module stap_8d7c51674c37f8a2d53c3ab355a8c205__7150 inserted from file /tmp/stapr8WG6P/stap_8d7c51674c37f8a2d53c3ab355a8c205_15608.ko ERROR: kernel char copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:60:3 WARNING: user long copy fault 0xffffffff [man error::fault] WARNING: user int copy fault 0xffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:66:9 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:48:3 WARNING: user char copy fault 0xffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user short copy fault 0xffffffff [man error::fault] ERROR: kernel string copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel long copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:54:9 ERROR: kernel short copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 00xffffffff000000xffffffff00 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_8d7c51674c37f8a2d53c3ab355a8c205__7150 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/80sys/3578real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapr8WG6P Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapr8WG6P" done exp conversions_profile.stp 0xffffffff 22 PASS: conversions_profile.stp 0xffffffff done conversions_profile.stp 0xffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp 0xffffffffffffffff exp conversions_profile.stp 0xffffffffffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stap2OjKVO" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43776res/6080shr/37888data kb, in 0usr/400sys/404real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55296virt/47936res/7168shr/38848data kb, in 0usr/20sys/20real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2791 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2795 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2803 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2807 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2811 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2815 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2819 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2823 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2827 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2831 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2835 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2839 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2843 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2847 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2851 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2855 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2859 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2863 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2867 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2871 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2875 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2879 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2883 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2887 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2891 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2895 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2899 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2900 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2901 Pass 3: translated to C into "/tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384_src.c" using 55296virt/48320res/7296shr/38848data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stap2OjKVO modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384_src.o CC [M] /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384_aux_0.o LD [M] /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.mod.o LD [M] /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_446f476cfce3a5116550b4d7437f61e0_15384.ko" in 0usr/4670sys/4733real ms. Cache cleaning skipped, interval not reached 51 s / 300 s. Copying /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/44/stap_446f476cfce3a5116550b4d7437f61e0_15384.ko Copying /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/44/stap_446f476cfce3a5116550b4d7437f61e0_15384.c Copying /tmp/stap2OjKVO/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.ko staprun:insert_module:183 Module stap_446f476cfce3a5116550b4d7437f61e0__7402 inserted from file /tmp/stap2OjKVO/stap_446f476cfce3a5116550b4d7437f61e0_15384.ko ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:60:3 ERROR: kernel short copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 WARNING: user long copy fault 0xffffffffffffffff [man error::fault] WARNING: user int copy fault 0xffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: kernel char copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:66:9 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 WARNING: user short copy fault 0xffffffffffffffff [man error::fault] WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user char copy fault 0xffffffffffffffff [man error::fault] ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:48:3 ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: kernel string copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_profile.stp:54:9 ERROR: kernel long copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 00000xffffffffffffffff00000xffffffffffffffff WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_446f476cfce3a5116550b4d7437f61e0__7402 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/90sys/3570real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stap2OjKVO Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stap2OjKVO" done exp conversions_profile.stp 0xffffffffffffffff 22 PASS: conversions_profile.stp 0xffffffffffffffff done conversions_profile.stp 0xffffffffffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp 0 exp conversions_perf.stp 0 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapN1XUTR" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43776res/6080shr/37888data kb, in 0usr/410sys/428real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55232virt/47424res/6784shr/38784data kb, in 0usr/20sys/17real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2790 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2793 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2796 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2802 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2805 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2808 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2811 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2814 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2817 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2820 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2823 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2826 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2829 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2832 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2835 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2838 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2841 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2844 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2847 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2850 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2853 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2856 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2859 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2862 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2865 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2868 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2871 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2872 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2873 Pass 3: translated to C into "/tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908_src.c" using 55232virt/47808res/6912shr/38784data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapN1XUTR modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908_src.o CC [M] /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908_aux_0.o LD [M] /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.mod.o LD [M] /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_6054e228e74c3fd10dbccdb304434e16_14908.ko" in 0usr/4690sys/4743real ms. Cache cleaning skipped, interval not reached 61 s / 300 s. Copying /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_6054e228e74c3fd10dbccdb304434e16_14908.ko Copying /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/60/stap_6054e228e74c3fd10dbccdb304434e16_14908.c Copying /tmp/stapN1XUTR/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.ko staprun:insert_module:183 Module stap_6054e228e74c3fd10dbccdb304434e16__7657 inserted from file /tmp/stapN1XUTR/stap_6054e228e74c3fd10dbccdb304434e16_14908.ko ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:60:3 ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 WARNING: user int copy fault 0x0 [man error::fault] WARNING: user long copy fault 0x0 [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:66:9 WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:48:3 ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel string copy fault at 0x (null) [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user char copy fault 0x0 [man error::fault] WARNING: user short copy fault 0x0 [man error::fault] ERROR: user string copy fault -14 at (null) [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel long copy fault at 0x (null) [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 WARNING: user string copy fault -14 at (null) [man error::fault] ERROR: kernel int copy fault at 0x (null) [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: read fault [man error::fault] at 0x (null) ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:54:9 ERROR: kernel short copy fault at 0x (null) [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: kernel char copy fault at 0x (null) [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 0000x00000x000 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_6054e228e74c3fd10dbccdb304434e16__7657 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/3577real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapN1XUTR Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapN1XUTR" done exp conversions_perf.stp 0 22 PASS: conversions_perf.stp 0 done conversions_perf.stp 0 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp 0xffffffff exp conversions_perf.stp 0xffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stapv3KJ3S" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/402real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55232virt/47424res/6784shr/38784data kb, in 0usr/20sys/16real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2790 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2793 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2796 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2802 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2805 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2808 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2811 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2814 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2817 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2820 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2823 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2826 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2829 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2832 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2835 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2838 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2841 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2844 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2847 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2850 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2853 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2856 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2859 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2862 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2865 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2868 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2871 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2872 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2873 Pass 3: translated to C into "/tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160_src.c" using 55232virt/47808res/6912shr/38784data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stapv3KJ3S modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160_src.o CC [M] /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160_aux_0.o LD [M] /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.mod.o LD [M] /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko" in 0usr/4680sys/4742real ms. Cache cleaning skipped, interval not reached 70 s / 300 s. Copying /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko Copying /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/fe/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.c Copying /tmp/stapv3KJ3S/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko staprun:insert_module:183 Module stap_fe01a93b1b4b30028abf0a91acc36b09__7910 inserted from file /tmp/stapv3KJ3S/stap_fe01a93b1b4b30028abf0a91acc36b09_15160.ko ERROR: kernel char copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:60:3 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 WARNING: user long copy fault 0xffffffff [man error::fault] WARNING: user int copy fault 0xffffffff [man error::fault] WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:66:9 ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:48:3 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] WARNING: user char copy fault 0xffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel string copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user short copy fault 0xffffffff [man error::fault] ERROR: user string copy fault -14 at 00000000ffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel long copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 WARNING: user string copy fault -14 at 00000000ffffffff [man error::fault] ERROR: read fault [man error::fault] at 0x00000000ffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:54:9 ERROR: kernel int copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: kernel short copy fault at 0x00000000ffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 0000xffffffff0000xffffffff00 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_fe01a93b1b4b30028abf0a91acc36b09__7910 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/80sys/3550real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stapv3KJ3S Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stapv3KJ3S" done exp conversions_perf.stp 0xffffffff 22 PASS: conversions_perf.stp 0xffffffff done conversions_perf.stp 0xffffffff 22 spawn stap -vv -DMAXSKIPPED=99999 -DMAXERRORS=40 /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp 0xffffffffffffffff exp conversions_perf.stp 0xffffffffffffffff 0 Extra options in /root/systemtap_write/systemtap/testsuite/.systemtap-root/rc: 3 Systemtap translator/driver (version 3.1/0.166, commit release-3.0-208-gba1635087e19) Copyright (C) 2005-2016 Red Hat, Inc. and others This is free software; see the source for copying conditions. tested kernel versions: 2.6.18 ... 4.6-rc enabled features: AVAHI JAVA LIBRPM LIBSQLITE3 NLS NSS READLINE Created temporary directory "/tmp/stappVkCvR" Session arch: arm64 release: 4.8.0-rc1uprobes+ Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 5, processed: 5 Searched for library macro files: "/root/systemtap_write/install/share/systemtap/tapset", found: 9, processed: 9 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux/arm64", found: 2, processed: 2 Searched: "/root/systemtap_write/install/share/systemtap/tapset/linux", found: 72, processed: 72 Searched: "/root/systemtap_write/install/share/systemtap/tapset/arm64", found: 1, processed: 1 Searched: "/root/systemtap_write/install/share/systemtap/tapset", found: 26, processed: 26 Pass 1: parsed user script and 115 library scripts using 54336virt/43712res/6080shr/37888data kb, in 0usr/400sys/401real ms. perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= perf probe type=1 config=0 period=1000000 process= counter= Pass 2: analyzed script: 30 probes, 34 functions, 1 embed, 1 global using 55104virt/43712res/6080shr/38656data kb, in 0usr/20sys/16real ms. function recursion-analysis: max-nesting 2 non-recursive probe 0 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2790 probe 1 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2793 probe 2 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2796 probe 3 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2799 probe 4 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2802 probe 5 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2805 probe 6 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2808 probe 7 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2811 probe 8 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2814 probe 9 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2817 probe 10 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2820 probe 11 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2823 probe 12 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2826 probe 13 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2829 probe 14 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2832 probe 15 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2835 probe 16 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2838 probe 17 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2841 probe 18 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 3 statements for probe probe_2844 probe 19 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 4 statements for probe probe_2847 probe 20 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2850 probe 21 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2853 probe 22 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2856 probe 23 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2859 probe 24 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2862 probe 25 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2865 probe 26 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 5 statements for probe probe_2868 probe 27 ('perf.type(1).config(0).sample(1000000)') locks __global_hits[rw] 6 statements for probe probe_2871 probe 28 ('timer.s(3)') locks nothing 2 statements for probe probe_2872 probe 29 ('timer.s(900)') locks nothing 1 statements for probe probe_2873 Pass 3: translated to C into "/tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936_src.c" using 55232virt/47872res/6976shr/38784data kb, in 0usr/20sys/19real ms. Pass 4: using cached /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Running env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/libexec/systemtap:/root/systemtap_write/install/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin make -C /lib/modules/4.8.0-rc1uprobes+/build M=/tmp/stappVkCvR modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm64 --no-print-directory -j9 CC [M] /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936_src.o CC [M] /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936_aux_0.o LD [M] /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.o Building modules, stage 2. MODPOST 1 modules CC /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.mod.o LD [M] /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.ko Spawn waitpid result (0x0): 0 Pass 4: compiled C into "stap_a37b7c0cf32af366da5963c552043174_14936.ko" in 0usr/4680sys/4734real ms. Cache cleaning skipped, interval not reached 78 s / 300 s. Copying /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.ko to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a37b7c0cf32af366da5963c552043174_14936.ko Copying /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936_src.c to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/a3/stap_a37b7c0cf32af366da5963c552043174_14936.c Copying /tmp/stappVkCvR/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h to /root/systemtap_write/systemtap/testsuite/.systemtap-root/cache/5a/stapconf_5aca386a9efe90080a8a37066e080c3a_854.h Pass 5: starting run. Running /root/systemtap_write/install/bin/staprun -v -R /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.ko staprun:insert_module:183 Module stap_a37b7c0cf32af366da5963c552043174__8162 inserted from file /tmp/stappVkCvR/stap_a37b7c0cf32af366da5963c552043174_14936.ko WARNING: user int copy fault 0xffffffffffffffff [man error::fault] ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:66:9 WARNING: user long copy fault 0xffffffffffffffff [man error::fault] ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:48:3 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: kernel string copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] WARNING: user char copy fault 0xffffffffffffffff [man error::fault] ERROR: kernel long copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'sprintf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:54:9 WARNING: user short copy fault 0xffffffffffffffff [man error::fault] ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 ERROR: kernel int copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 ERROR: user string copy fault -14 at ffffffffffffffff [man error::fault] near identifier 'user_string_n' at /root/systemtap_write/install/share/systemtap/tapset/uconversions.stp:118:10 WARNING: user string copy fault -14 at ffffffffffffffff [man error::fault] ERROR: kernel short copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 ERROR: read fault [man error::fault] at 0xffffffffffffffff ((((unsigned char *)(ptr)))) near identifier 'printf' at /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions_perf.stp:60:3 ERROR: kernel char copy fault at 0xffffffffffffffff [man error::fault] near identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 00xffffffffffffffff000000xffffffffffffffff00 WARNING: Number of errors: 12, skipped probes: 0 stapio:cleanup_and_exit:510 detach=0 stapio:cleanup_and_exit:527 closing control channel staprun:remove_module:284 Module stap_a37b7c0cf32af366da5963c552043174__8162 removed. Spawn waitpid result (0x100): 1 WARNING: /root/systemtap_write/install/bin/staprun exited with status: 1 Pass 5: run completed in 0usr/70sys/3570real ms. Pass 5: run failed. [man error::pass5] Running rm -rf /tmp/stappVkCvR Spawn waitpid result (0x0): 0 Removed temporary directory "/tmp/stappVkCvR" done exp conversions_perf.stp 0xffffffffffffffff 22 PASS: conversions_perf.stp 0xffffffffffffffff done conversions_perf.stp 0xffffffffffffffff 22 testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/conversions.exp completed in 110 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/current.exp ... executing: stap -v -g -w /root/systemtap_write/systemtap/testsuite/systemtap.stress/current.stp spawn stap -v -g -w /root/systemtap_write/systemtap/testsuite/systemtap.stress/current.stp Pass 1: parsed user script and 115 library scripts using 54080virt/44992res/5888shr/37632data kb, in 0usr/400sys/405real ms. Pass 2: analyzed script: 1108 probes, 4 functions, 0 embeds, 1 global using 508416virt/499712res/7616shr/491968data kb, in 0usr/13250sys/31432real ms. Pass 3: translated to C into "/tmp/stapivrfeU/stap_5539761d7e8f830b0fce2ba58706b350_531915_src.c" using 508416virt/500160res/7808shr/491968data kb, in 0usr/14800sys/14991real ms. Pass 4: compiled C into "stap_5539761d7e8f830b0fce2ba58706b350_531915.ko" in 0usr/4810sys/4864real ms. Pass 5: starting run. systemtap starting probe PASS: systemtap.stress/current.stp startup PASS: systemtap.stress/current.stp load generation Executing: kill -INT -8170 systemtap ending probe count = 74666 sum = 672696 min = 4 max = 14 avg = 9 systemtap test success systemtap test success PASS: systemtap.stress/current.stp shutdown and output Pass 5: run completed in 0usr/930sys/11045real ms. metric: systemtap.stress/current.stp 0 400 405 0 13250 31432 0 14800 14991 0 4810 4864 0 930 11045 Executing: kill -INT -8170 testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/current.exp completed in 63 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/parallel_exec.exp ... spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null close close close close close close spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null spawn stap -e probe syscall.open { if (pid() != target()) next log("open") } probe syscall.close { if (pid() != target()) next log("close") } -c cat /etc/hosts > /dev/null PASS: parallel execute - load generation close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close close PASS: parallel execute testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/parallel_exec.exp completed in 19 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/tapset_functions.exp ... PASS: tapset_functions_stress (got output of stap --dump-functions) UNTESTED: tapset_functions_stress (commit() blacklisted) UNTESTED: tapset_functions_stress (delete_stopwatch() blacklisted) UNTESTED: tapset_functions_stress (discard() blacklisted) UNTESTED: tapset_functions_stress (mdelay() blacklisted) UNTESTED: tapset_functions_stress (panic() blacklisted) UNTESTED: tapset_functions_stress (qsq_start() blacklisted) UNTESTED: tapset_functions_stress (raise() blacklisted) UNTESTED: tapset_functions_stress (start_stopwatch() blacklisted) UNTESTED: tapset_functions_stress (udelay() blacklisted) FAIL: testscript WARNING: never-assigned global variable 'qs_stime' (similar: qs_stime, qs_rtime, qs_utime, qs_wtime, qs_rlentime): identifier 'qs_stime' at /root/systemtap_write/install/share/systemtap/tapset/queue_stats.stp:32:21 source: @__private30 global qs_stime, qs_utime, qs_dcount ^ /tmp/stapRalkyE/stap_3e26d55acdada2f72bdc16f2d588cbc5_950842_src.c: In function 'function___global_bio_rw_num__overload_0': /tmp/stapRalkyE/stap_3e26d55acdada2f72bdc16f2d588cbc5_950842_src.c:194588:89: error: 'REQ_WRITE' undeclared (first use in this function) l->__retvalue = ((l->l_rw) & ((((int64_t) (/* pure */ /* unprivileged */ /* stable */ REQ_WRITE))))); ^ /tmp/stapRalkyE/stap_3e26d55acdada2f72bdc16f2d588cbc5_950842_src.c:194588:89: note: each undeclared identifier is reported only once for each function it appears in make[4]: *** [/tmp/stapRalkyE/stap_3e26d55acdada2f72bdc16f2d588cbc5_950842_src.o] Error 1 make[3]: *** [_module_/tmp/stapRalkyE] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] child process exited abnormally PASS: dmesg check testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/tapset_functions.exp completed in 55 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.stress/whitelist.exp ... UNTESTED: whitelist is disabled testcase /root/systemtap_write/systemtap/testsuite/systemtap.stress/whitelist.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/dot.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/dot.stp PASS: systemtap.string/dot.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/dot.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/isinstr.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/isinstr.stp PASS: systemtap.string/isinstr.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/isinstr.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/sprint.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/sprint.stp PASS: systemtap.string/sprint.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/sprint.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/sprintln.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/sprintln.stp PASS: systemtap.string/sprintln.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/sprintln.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/str_replace.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/str_replace.stp -DMAXSTRINGLEN=128 PASS: systemtap.string/str_replace.stp -DMAXSTRINGLEN=128 testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/str_replace.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/strcmp.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/strcmp.stp PASS: systemtap.string/strcmp.stp executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/strcmp.stp -u PASS: systemtap.string/strcmp.stp -u testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/strcmp.exp completed in 9 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/string_quoted.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/string_quoted.stp PASS: systemtap.string/string_quoted.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/string_quoted.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/strlen.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/strlen.stp -DMAXSTRINGLEN=64 PASS: systemtap.string/strlen.stp -DMAXSTRINGLEN=64 testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/strlen.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/strtol.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/strtol.stp PASS: systemtap.string/strtol.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/strtol.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/substr.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/substr.stp PASS: systemtap.string/substr.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/substr.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/text_str.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/text_str.stp PASS: systemtap.string/text_str.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/text_str.exp completed in 5 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/tokenize.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/tokenize.stp PASS: systemtap.string/tokenize.stp testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/tokenize.exp completed in 4 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.string/user_string_n_quoted.exp ... executing: stap /root/systemtap_write/systemtap/testsuite/systemtap.string/user_string_n_quoted.stp -c {echo this_is_a_test > /dev/null} PASS: systemtap.string/user_string_n_quoted.stp -c {echo this_is_a_test > /dev/null} testcase /root/systemtap_write/systemtap/testsuite/systemtap.string/user_string_n_quoted.exp completed in 8 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nd_syscall.exp ... nd_syscall.ko PASS: /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nd_sys.stp compilation i: 0 flags: arch: m64 size: 64 Testing 64-bit accept nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoNUW25/accept (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoNUW25/accept PASS: 64-bit accept nd_syscall Testing 64-bit accept4 nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAxPAFt/accept4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAxPAFt/accept4 PASS: 64-bit accept4 nd_syscall Testing 64-bit access nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/access.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOBhXrY/access (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/access.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOBhXrY/access PASS: 64-bit access nd_syscall Testing 64-bit acct nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/acct.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBTcCiL/acct (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/acct.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBTcCiL/acct PASS: 64-bit acct nd_syscall Testing 64-bit adjtimex nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/adjtimex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTH7MRx/adjtimex (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/adjtimex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTH7MRx/adjtimex PASS: 64-bit adjtimex nd_syscall Testing 64-bit aio nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/aio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestppEdfH/aio (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/aio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestppEdfH/aio PASS: 64-bit aio nd_syscall Testing 64-bit alarm nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/alarm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3ff9zF/alarm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/alarm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3ff9zF/alarm PASS: 64-bit alarm nd_syscall Testing 64-bit arch_prctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/arch_prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestVCF9HN/arch_prctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/arch_prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestVCF9HN/arch_prctl UNSUPPORTED: 64-bit arch_prctl nd_syscall not supported on this arch Testing 64-bit bind nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bind.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9jYaV7/bind (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bind.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9jYaV7/bind PASS: 64-bit bind nd_syscall Testing 64-bit bpf nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bpf.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHh9yrG/bpf (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bpf.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHh9yrG/bpf PASS: 64-bit bpf nd_syscall Testing 64-bit brk nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/brk.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2DjEQI/brk (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/brk.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2DjEQI/brk PASS: 64-bit brk nd_syscall Testing 64-bit capability nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/capability.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgPfs7f/capability (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/capability.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgPfs7f/capability PASS: 64-bit capability nd_syscall Testing 64-bit chmod nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chmod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest482rj1/chmod (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chmod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest482rj1/chmod PASS: 64-bit chmod nd_syscall Testing 64-bit chroot nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chroot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdGHeBw/chroot (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chroot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdGHeBw/chroot PASS: 64-bit chroot nd_syscall Testing 64-bit clock nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthSyNrd/clock (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthSyNrd/clock PASS: 64-bit clock nd_syscall Testing 64-bit clone nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clone.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9cmEV2/clone (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clone.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9cmEV2/clone PASS: 64-bit clone nd_syscall Testing 64-bit connect nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/connect.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest05uUjg/connect (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/connect.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest05uUjg/connect PASS: 64-bit connect nd_syscall Testing 64-bit copy_file_range nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/copy_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI1QpBC/copy_file_range (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/copy_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI1QpBC/copy_file_range UNSUPPORTED: 64-bit copy_file_range nd_syscall not supported on this arch Testing 64-bit dcookie nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dcookie.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLtR2Kf/dcookie (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dcookie.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLtR2Kf/dcookie PASS: 64-bit dcookie nd_syscall Testing 64-bit dir nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestePaBQC/dir (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestePaBQC/dir PASS: 64-bit dir nd_syscall Testing 64-bit domainname nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/domainname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlcstMC/domainname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/domainname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlcstMC/domainname PASS: 64-bit domainname nd_syscall Testing 64-bit dup nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1Abi1w/dup (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1Abi1w/dup PASS: 64-bit dup nd_syscall Testing 64-bit eventfd nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/eventfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestE6NJ7e/eventfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/eventfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestE6NJ7e/eventfd PASS: 64-bit eventfd nd_syscall Testing 64-bit execve nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execve.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrRqVSZ/execve (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execve.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrRqVSZ/execve PASS: 64-bit execve nd_syscall Testing 64-bit execveat nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execveat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlFURiA/execveat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execveat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlFURiA/execveat PASS: 64-bit execveat nd_syscall Testing 64-bit exit nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIUfssM/exit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIUfssM/exit PASS: 64-bit exit nd_syscall Testing 64-bit exit_group nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit_group.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDosAx0/exit_group (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit_group.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDosAx0/exit_group PASS: 64-bit exit_group nd_syscall Testing 64-bit fadvise64 nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fadvise64.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3iJDVc/fadvise64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fadvise64.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3iJDVc/fadvise64 PASS: 64-bit fadvise64 nd_syscall Testing 64-bit fallocate nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fallocate.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestO1W9AR/fallocate (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fallocate.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestO1W9AR/fallocate PASS: 64-bit fallocate nd_syscall Testing 64-bit fanotify nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fanotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestiLiVW2/fanotify (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fanotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestiLiVW2/fanotify PASS: 64-bit fanotify nd_syscall Testing 64-bit flock nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/flock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkrpKeL/flock (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/flock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkrpKeL/flock PASS: 64-bit flock nd_syscall Testing 64-bit forkwait nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/forkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0aUqsE/forkwait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/forkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0aUqsE/forkwait PASS: 64-bit forkwait nd_syscall Testing 64-bit futex nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8AfXkX/futex (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8AfXkX/futex PASS: 64-bit futex nd_syscall Testing 64-bit futimes nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futimes.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestceonQ6/futimes (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futimes.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestceonQ6/futimes PASS: 64-bit futimes nd_syscall Testing 64-bit fxattr nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestr80Zxd/fxattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestr80Zxd/fxattr PASS: 64-bit fxattr nd_syscall Testing 64-bit getcpu nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getcpu.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1xCw4u/getcpu (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getcpu.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1xCw4u/getcpu PASS: 64-bit getcpu nd_syscall Testing 64-bit getdents nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getdents.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttwTs5n/getdents (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getdents.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttwTs5n/getdents PASS: 64-bit getdents nd_syscall Testing 64-bit getgroups nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI6QNHj/getgroups (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI6QNHj/getgroups getgroups FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestI6QNHj/getgroups" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3fff8ba5ba0) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestI6QNHj/getgroups", ["/root/systemtap_write/systemtap/testsuite/staptestI6QNHj/getgroups"], [/* 54 vars */]) = 0 getgroups: brk (0x0) = 959119360 getgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 getgroups: fstat (3, 0x3fffdbd4f70) = 0 getgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff94ab0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5160, 832) = 832 getgroups: fstat (3, 0x3fffdbd4ff0) = 0 getgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94a80000 getgroups: mmap2 (0x3ff94a90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff94a90000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5130, 832) = 832 getgroups: fstat (3, 0x3fffdbd4fc0) = 0 getgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff949c0000 getgroups: mmap2 (0x3ff94a60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff94a60000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5100, 832) = 832 getgroups: fstat (3, 0x3fffdbd4f90) = 0 getgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94840000 getgroups: mmap2 (0x3ff949a0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff949a0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd4fb0, 832) = 832 getgroups: fstat (3, 0x3fffdbd4e40) = 0 getgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94800000 getgroups: mmap2 (0x3ff94820000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff94820000 getgroups: close (3) = 0 getgroups: mprotect (0x3ff949a0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94820000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94a60000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94a90000, 65536, PROT_READ) = 0 getgroups: mprotect (0x410000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94b00000, 65536, PROT_READ) = 0 getgroups: munmap (0x3ff94ab0000, 39708) = 0 getgroups: set_robust_list (0x3ff94b13f30, 24) = 0 getgroups: rt_sigaction (0x20, {0x3ff94806314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigaction (0x21, {0x3ff948063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 getgroups: getrlimit (RLIMIT_STACK, 0x3fffdbd5db0) = 0 getgroups: getgroups (65536, 0x3fffdb95d90) = 0 getgroups: getgroups (-1, 0x3fffdb95d90) = -22 (EINVAL) getgroups: getgroups (65536, 0xffffffffffffffff) = 0 getgroups: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) getgroups: brk (0x0) = 959119360 getgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fffdbd4ff0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 getgroups: fstat (3, 0x3fffdbd4f70) = 0 getgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff94ab0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5160, 832) = 832 getgroups: fstat (3, 0x3fffdbd4ff0) = 0 getgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94a80000 getgroups: mmap2 (0x3ff94a90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff94a90000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5130, 832) = 832 getgroups: fstat (3, 0x3fffdbd4fc0) = 0 getgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff949c0000 getgroups: mmap2 (0x3ff94a60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff94a60000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd5100, 832) = 832 getgroups: fstat (3, 0x3fffdbd4f90) = 0 getgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94840000 getgroups: mmap2 (0x3ff949a0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff949a0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3fffdbd4fb0, 832) = 832 getgroups: fstat (3, 0x3fffdbd4e40) = 0 getgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94800000 getgroups: mmap2 (0x3ff94820000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff94820000 getgroups: close (3) = 0 getgroups: mprotect (0x3ff949a0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94820000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94a60000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94a90000, 65536, PROT_READ) = 0 getgroups: mprotect (0x410000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff94b00000, 65536, PROT_READ) = 0 getgroups: munmap (0x3ff94ab0000, 39708) = 0 getgroups: set_robust_list (0x3ff94b13f30, 24) = 0 getgroups: rt_sigaction (0x20, {0x3ff94806314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigaction (0x21, {0x3ff948063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 getgroups: getrlimit (RLIMIT_STACK, 0x3fffdbd5db0) = 0 *getgroups: getgroups (65536, 0x3fffdb95d90) = 0 *getgroups: getgroups (-1, 0x3fffdb95d90) = -22 (EINVAL) getgroups: getgroups (65536, 0xffffffffffffffff) = 0 getgroups: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- getgroups: getgroups \([\-0-9]+, 0x[f]+\) = -[\-0-9]+ \(EFAULT\) FAIL: 64-bit getgroups nd_syscall Testing 64-bit getitimer nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestwHcbnZ/getitimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestwHcbnZ/getitimer PASS: 64-bit getitimer nd_syscall Testing 64-bit getpeername nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpeername.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrZfl7k/getpeername (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpeername.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrZfl7k/getpeername PASS: 64-bit getpeername nd_syscall Testing 64-bit getpriority nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkVUuqQ/getpriority (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkVUuqQ/getpriority PASS: 64-bit getpriority nd_syscall Testing 64-bit getrandom nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrandom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMaR9c/getrandom (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrandom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMaR9c/getrandom PASS: 64-bit getrandom nd_syscall Testing 64-bit getrlimit nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestbQuzrN/getrlimit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestbQuzrN/getrlimit PASS: 64-bit getrlimit nd_syscall Testing 64-bit getrusage nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrusage.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestCYN6N8/getrusage (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrusage.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestCYN6N8/getrusage PASS: 64-bit getrusage nd_syscall Testing 64-bit getsid nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta0KhxY/getsid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta0KhxY/getsid PASS: 64-bit getsid nd_syscall Testing 64-bit getsockname nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestVJXzHK/getsockname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestVJXzHK/getsockname PASS: 64-bit getsockname nd_syscall Testing 64-bit getsockopt nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgu7455/getsockopt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgu7455/getsockopt PASS: 64-bit getsockopt nd_syscall Testing 64-bit handle_at nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/handle_at.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestX7vfyn/handle_at (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/handle_at.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestX7vfyn/handle_at PASS: 64-bit handle_at nd_syscall Testing 64-bit hostname nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/hostname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoQSDzi/hostname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/hostname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoQSDzi/hostname PASS: 64-bit hostname nd_syscall Testing 64-bit inotify nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/inotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9vcHWE/inotify (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/inotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9vcHWE/inotify PASS: 64-bit inotify nd_syscall Testing 64-bit ioctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest75qCVa/ioctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest75qCVa/ioctl PASS: 64-bit ioctl nd_syscall Testing 64-bit ioperm nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioperm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestogXeSw/ioperm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioperm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestogXeSw/ioperm UNSUPPORTED: 64-bit ioperm nd_syscall not supported on this arch Testing 64-bit ioprio nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioprio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7sL0si/ioprio (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioprio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7sL0si/ioprio PASS: 64-bit ioprio nd_syscall Testing 64-bit itimer nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/itimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIGyGDi/itimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/itimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIGyGDi/itimer PASS: 64-bit itimer nd_syscall Testing 64-bit kcmp nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kcmp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestS2r4t9/kcmp (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kcmp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestS2r4t9/kcmp PASS: 64-bit kcmp nd_syscall Testing 64-bit kexec_load nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kexec_load.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestefVwBH/kexec_load (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kexec_load.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestefVwBH/kexec_load PASS: 64-bit kexec_load nd_syscall Testing 64-bit keyctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/keyctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfjmwMr/keyctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/keyctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfjmwMr/keyctl PASS: 64-bit keyctl nd_syscall Testing 64-bit kill nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kill.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWJZg9k/kill (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kill.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWJZg9k/kill PASS: 64-bit kill nd_syscall Testing 64-bit link nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/link.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHKCSn8/link (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/link.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHKCSn8/link PASS: 64-bit link nd_syscall Testing 64-bit listen nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/listen.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWg9WNT/listen (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/listen.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWg9WNT/listen PASS: 64-bit listen nd_syscall Testing 64-bit lseek nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lseek.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfmKo6X/lseek (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lseek.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfmKo6X/lseek PASS: 64-bit lseek nd_syscall Testing 64-bit lxattr nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD5O6db/lxattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD5O6db/lxattr PASS: 64-bit lxattr nd_syscall Testing 64-bit madvise nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/madvise.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFiiPLk/madvise (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/madvise.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFiiPLk/madvise PASS: 64-bit madvise nd_syscall Testing 64-bit membarrier nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/membarrier.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaD7cEC/membarrier (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/membarrier.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaD7cEC/membarrier UNSUPPORTED: 64-bit membarrier nd_syscall not supported on this arch Testing 64-bit memfd_create nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/memfd_create.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZH9QT8/memfd_create (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/memfd_create.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZH9QT8/memfd_create PASS: 64-bit memfd_create nd_syscall Testing 64-bit mempolicy nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mempolicy.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestu1nV8d/mempolicy (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mempolicy.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestu1nV8d/mempolicy PASS: 64-bit mempolicy nd_syscall Testing 64-bit mincore nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mincore.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestiYkPu1/mincore (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mincore.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestiYkPu1/mincore PASS: 64-bit mincore nd_syscall Testing 64-bit mknod nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mknod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7RN3V0/mknod (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mknod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7RN3V0/mknod PASS: 64-bit mknod nd_syscall Testing 64-bit mmap nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mmap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0XWhs7/mmap (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mmap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0XWhs7/mmap PASS: 64-bit mmap nd_syscall Testing 64-bit modify_ldt nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/modify_ldt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpgiOLl/modify_ldt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/modify_ldt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpgiOLl/modify_ldt UNSUPPORTED: 64-bit modify_ldt nd_syscall not supported on this arch Testing 64-bit module nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/module.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0Uu7Im/module (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/module.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0Uu7Im/module PASS: 64-bit module nd_syscall Testing 64-bit mount nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mount.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttLUO35/mount (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mount.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttLUO35/mount PASS: 64-bit mount nd_syscall Testing 64-bit mq nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mq.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest749exm/mq (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mq.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest749exm/mq PASS: 64-bit mq nd_syscall Testing 64-bit msg_queue nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/msg_queue.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBnHuK4/msg_queue (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/msg_queue.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBnHuK4/msg_queue PASS: 64-bit msg_queue nd_syscall Testing 64-bit net1 nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/net1.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestojz3aS/net1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/net1.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestojz3aS/net1 PASS: 64-bit net1 nd_syscall Testing 64-bit nfsservctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nfsservctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHsA4Z9/nfsservctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nfsservctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHsA4Z9/nfsservctl UNSUPPORTED: 64-bit nfsservctl nd_syscall not supported on this arch Testing 64-bit nice nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nice.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDiDHIQ/nice (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nice.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDiDHIQ/nice UNSUPPORTED: 64-bit nice nd_syscall not supported on this arch Testing 64-bit numa nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/numa.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1vcMxx/numa (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/numa.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1vcMxx/numa PASS: 64-bit numa nd_syscall Testing 64-bit openclose nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/openclose.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzwQnJj/openclose (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/openclose.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzwQnJj/openclose PASS: 64-bit openclose nd_syscall Testing 64-bit perf_event nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/perf_event.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdZPYUk/perf_event (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/perf_event.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdZPYUk/perf_event PASS: 64-bit perf_event nd_syscall Testing 64-bit personality nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/personality.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuJhx2A/personality (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/personality.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuJhx2A/personality PASS: 64-bit personality nd_syscall Testing 64-bit pgid nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pgid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPR1Crb/pgid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pgid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPR1Crb/pgid PASS: 64-bit pgid nd_syscall Testing 64-bit pipe nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pipe.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestibfmeR/pipe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pipe.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestibfmeR/pipe PASS: 64-bit pipe nd_syscall Testing 64-bit pivot_root nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pivot_root.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9UL7NA/pivot_root (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pivot_root.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9UL7NA/pivot_root PASS: 64-bit pivot_root nd_syscall Testing 64-bit poll nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/poll.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestw2eYcx/poll (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/poll.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestw2eYcx/poll PASS: 64-bit poll nd_syscall Testing 64-bit prctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPKvMRn/prctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPKvMRn/prctl PASS: 64-bit prctl nd_syscall Testing 64-bit pread nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pread.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest4TKT3m/pread (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pread.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest4TKT3m/pread PASS: 64-bit pread nd_syscall Testing 64-bit preadv nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/preadv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestS3JM4b/preadv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/preadv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestS3JM4b/preadv PASS: 64-bit preadv nd_syscall Testing 64-bit prlimit nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthiozsi/prlimit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthiozsi/prlimit PASS: 64-bit prlimit nd_syscall Testing 64-bit process_vm nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/process_vm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEtMFo9/process_vm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/process_vm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEtMFo9/process_vm PASS: 64-bit process_vm nd_syscall Testing 64-bit ptrace nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ptrace.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestna9HDn/ptrace (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ptrace.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestna9HDn/ptrace PASS: 64-bit ptrace nd_syscall Testing 64-bit pwrite nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJrH41R/pwrite (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJrH41R/pwrite PASS: 64-bit pwrite nd_syscall Testing 64-bit pwritev nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwritev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxjciNB/pwritev (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwritev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxjciNB/pwritev PASS: 64-bit pwritev nd_syscall Testing 64-bit quotactl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/quotactl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoxCKeM/quotactl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/quotactl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoxCKeM/quotactl PASS: 64-bit quotactl nd_syscall Testing 64-bit readahead nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readahead.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMEREfZ/readahead (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readahead.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMEREfZ/readahead PASS: 64-bit readahead nd_syscall Testing 64-bit readdir nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readdir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHyIBf0/readdir (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readdir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHyIBf0/readdir UNSUPPORTED: 64-bit readdir nd_syscall not supported on this arch Testing 64-bit readv nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyDdw9o/readv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyDdw9o/readv PASS: 64-bit readv nd_syscall Testing 64-bit readwrite nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestED1Lkf/readwrite (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestED1Lkf/readwrite PASS: 64-bit readwrite nd_syscall Testing 64-bit reboot nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/reboot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestydu1Wp/reboot (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/reboot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestydu1Wp/reboot PASS: 64-bit reboot nd_syscall Testing 64-bit recv nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjCyedO/recv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjCyedO/recv PASS: 64-bit recv nd_syscall Testing 64-bit recvfrom nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvfrom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvLw0T9/recvfrom (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvfrom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvLw0T9/recvfrom PASS: 64-bit recvfrom nd_syscall Testing 64-bit recvmmsg nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestW0U8w4/recvmmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestW0U8w4/recvmmsg PASS: 64-bit recvmmsg nd_syscall Testing 64-bit recvmsg nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPTfO9j/recvmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPTfO9j/recvmsg PASS: 64-bit recvmsg nd_syscall Testing 64-bit remap_file_pages nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/remap_file_pages.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMSYQmw/remap_file_pages (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/remap_file_pages.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMSYQmw/remap_file_pages PASS: 64-bit remap_file_pages nd_syscall Testing 64-bit rename nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rename.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesto5Tndy/rename (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rename.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesto5Tndy/rename PASS: 64-bit rename nd_syscall Testing 64-bit restart_syscall nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/restart_syscall.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest4tW0s8/restart_syscall (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/restart_syscall.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest4tW0s8/restart_syscall PASS: 64-bit restart_syscall nd_syscall Testing 64-bit robust_list nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/robust_list.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest70FhID/robust_list (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/robust_list.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest70FhID/robust_list PASS: 64-bit robust_list nd_syscall Testing 64-bit rt_signal nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rt_signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvJ4lx0/rt_signal (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rt_signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvJ4lx0/rt_signal PASS: 64-bit rt_signal nd_syscall Testing 64-bit sched nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMVYxP/sched (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMVYxP/sched sched FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestoMVYxP/sched" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffc4d06a60) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestoMVYxP/sched", ["/root/systemtap_write/systemtap/testsuite/staptestoMVYxP/sched"], [/* 54 vars */]) = 0 sched: brk (0x0) = 509018112 sched: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched: fstat (3, 0x3fff4d92240) = 0 sched: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb04e0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92430, 832) = 832 sched: fstat (3, 0x3fff4d922c0) = 0 sched: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb04b0000 sched: mmap2 (0x3ffb04c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb04c0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92400, 832) = 832 sched: fstat (3, 0x3fff4d92290) = 0 sched: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb03f0000 sched: mmap2 (0x3ffb0490000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb0490000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d923d0, 832) = 832 sched: fstat (3, 0x3fff4d92260) = 0 sched: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb0270000 sched: mmap2 (0x3ffb03d0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb03d0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92280, 832) = 832 sched: fstat (3, 0x3fff4d92110) = 0 sched: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb0230000 sched: mmap2 (0x3ffb0250000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb0250000 sched: close (3) = 0 sched: mprotect (0x3ffb03d0000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0250000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0490000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb04c0000, 65536, PROT_READ) = 0 sched: mprotect (0x410000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0530000, 65536, PROT_READ) = 0 sched: munmap (0x3ffb04e0000, 39708) = 0 sched: set_robust_list (0x3ffb0543f30, 24) = 0 sched: rt_sigaction (0x20, {0x3ffb0236314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigaction (0x21, {0x3ffb02363f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched: getrlimit (RLIMIT_STACK, 0x3fff4d93080) = 0 sched: sched_getparam (0, 0x3fff4d93058) = 0 sched: sched_yield () = 0 sched: sched_getparam (-1, 0x3fff4d93058) = -22 (EINVAL) sched: sched_getparam (0, 0xffffffffffffffff) = -14 (EFAULT) sched: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched: brk (0x0) = 509018112 sched: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fff4d922c0, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched: fstat (3, 0x3fff4d92240) = 0 sched: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb04e0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92430, 832) = 832 sched: fstat (3, 0x3fff4d922c0) = 0 sched: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb04b0000 sched: mmap2 (0x3ffb04c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb04c0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92400, 832) = 832 sched: fstat (3, 0x3fff4d92290) = 0 sched: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb03f0000 sched: mmap2 (0x3ffb0490000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb0490000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d923d0, 832) = 832 sched: fstat (3, 0x3fff4d92260) = 0 sched: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb0270000 sched: mmap2 (0x3ffb03d0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb03d0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3fff4d92280, 832) = 832 sched: fstat (3, 0x3fff4d92110) = 0 sched: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb0230000 sched: mmap2 (0x3ffb0250000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb0250000 sched: close (3) = 0 sched: mprotect (0x3ffb03d0000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0250000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0490000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb04c0000, 65536, PROT_READ) = 0 sched: mprotect (0x410000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffb0530000, 65536, PROT_READ) = 0 sched: munmap (0x3ffb04e0000, 39708) = 0 sched: set_robust_list (0x3ffb0543f30, 24) = 0 sched: rt_sigaction (0x20, {0x3ffb0236314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigaction (0x21, {0x3ffb02363f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched: getrlimit (RLIMIT_STACK, 0x3fff4d93080) = 0 *sched: sched_getparam (0, 0x3fff4d93058) = 0 sched: sched_yield () = 0 sched: sched_getparam (-1, 0x3fff4d93058) = -22 (EINVAL) sched: sched_getparam (0, 0xffffffffffffffff) = -14 (EFAULT) sched: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched: sched_setparam \(0, [x0-9a-fA-F]+\) = 0 sched: sched_get_priority_max \(SCHED_OTHER\) = 0 sched: sched_get_priority_max \(SCHED_BATCH\) = 0 sched: sched_get_priority_max \(SCHED_IDLE\) = 0 sched: sched_get_priority_max \(SCHED_FIFO\) = [\-0-9]+ sched: sched_get_priority_max \(SCHED_RR\) = [\-0-9]+ sched: sched_get_priority_min \(SCHED_OTHER\) = 0 sched: sched_yield \(\) = 0 sched: sched_getparam \(-1, [x0-9a-fA-F]+\) = [\-0-9]+ sched: sched_getparam \(0, 0x[f]+\) = [\-0-9]+ sched: sched_setparam \(-1, [x0-9a-fA-F]+\) = [\-0-9]+ sched: sched_setparam \(0, 0x[f]+\) = [\-0-9]+ sched: sched_get_priority_max \(0xffffffff\) = [\-0-9]+ sched: sched_get_priority_min \(0xffffffff\) = [\-0-9]+ FAIL: 64-bit sched nd_syscall Testing 64-bit sched_attr nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_attr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestq0j6Qi/sched_attr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_attr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestq0j6Qi/sched_attr PASS: 64-bit sched_attr nd_syscall Testing 64-bit sched_getaffinity nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPZEzIb/sched_getaffinity (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPZEzIb/sched_getaffinity PASS: 64-bit sched_getaffinity nd_syscall Testing 64-bit sched_getscheduler nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWFAMwJ/sched_getscheduler (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWFAMwJ/sched_getscheduler PASS: 64-bit sched_getscheduler nd_syscall Testing 64-bit sched_rr_get_interval nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_rr_get_interval.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcCHsIc/sched_rr_get_interval (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_rr_get_interval.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcCHsIc/sched_rr_get_interval PASS: 64-bit sched_rr_get_interval nd_syscall Testing 64-bit sched_setaffinity nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXEo89e/sched_setaffinity (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXEo89e/sched_setaffinity sched_setaffinity FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestXEo89e/sched_setaffinity" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3fff5c48c30) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestXEo89e/sched_setaffinity", ["/root/systemtap_write/systemtap/testsuite/staptestXEo89e/sched_setaffinity"], [/* 54 vars */]) = 0 sched_setaffini: brk (0x0) = 753991680 sched_setaffini: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: fstat (3, 0x3ffd4c43560) = 0 sched_setaffini: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff99eb0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c43750, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c435e0) = 0 sched_setaffini: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99e80000 sched_setaffini: mmap2 (0x3ff99e90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff99e90000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c43720, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c435b0) = 0 sched_setaffini: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99dc0000 sched_setaffini: mmap2 (0x3ff99e60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff99e60000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c436f0, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c43580) = 0 sched_setaffini: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99c40000 sched_setaffini: mmap2 (0x3ff99da0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff99da0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c435a0, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c43430) = 0 sched_setaffini: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99c00000 sched_setaffini: mmap2 (0x3ff99c20000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff99c20000 sched_setaffini: close (3) = 0 sched_setaffini: mprotect (0x3ff99da0000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99c20000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99e60000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99e90000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99f00000, 65536, PROT_READ) = 0 sched_setaffini: munmap (0x3ff99eb0000, 39708) = 0 sched_setaffini: set_robust_list (0x3ff99f13f30, 24) = 0 sched_setaffini: rt_sigaction (0x20, {0x3ff99c06314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigaction (0x21, {0x3ff99c063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setaffini: getrlimit (RLIMIT_STACK, 0x3ffd4c443a0) = 0 sched_setaffini: sched_getaffinity (0, 128, 0x3ffd4c44300) = 8 sched_setaffini: sched_getaffinity (15231, 128, 0x3ffd4c44220) = 8 sched_setaffini: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched_setaffini: brk (0x0) = 753991680 sched_setaffini: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd4c435e0, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: fstat (3, 0x3ffd4c43560) = 0 sched_setaffini: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff99eb0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c43750, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c435e0) = 0 sched_setaffini: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99e80000 sched_setaffini: mmap2 (0x3ff99e90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff99e90000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c43720, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c435b0) = 0 sched_setaffini: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99dc0000 sched_setaffini: mmap2 (0x3ff99e60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff99e60000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c436f0, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c43580) = 0 sched_setaffini: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99c40000 sched_setaffini: mmap2 (0x3ff99da0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff99da0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffd4c435a0, 832) = 832 sched_setaffini: fstat (3, 0x3ffd4c43430) = 0 sched_setaffini: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff99c00000 sched_setaffini: mmap2 (0x3ff99c20000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff99c20000 sched_setaffini: close (3) = 0 sched_setaffini: mprotect (0x3ff99da0000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99c20000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99e60000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99e90000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ff99f00000, 65536, PROT_READ) = 0 sched_setaffini: munmap (0x3ff99eb0000, 39708) = 0 sched_setaffini: set_robust_list (0x3ff99f13f30, 24) = 0 sched_setaffini: rt_sigaction (0x20, {0x3ff99c06314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigaction (0x21, {0x3ff99c063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setaffini: getrlimit (RLIMIT_STACK, 0x3ffd4c443a0) = 0 *sched_setaffini: sched_getaffinity (0, 128, 0x3ffd4c44300) = 8 sched_setaffini: sched_getaffinity (15231, 128, 0x3ffd4c44220) = 8 sched_setaffini: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched_setaffini: sched_setaffinity \(0, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(-1, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(0, 4294967295, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(0, [x0-9a-fA-F]+, 0x[f]+\) = [\-0-9]+ FAIL: 64-bit sched_setaffinity nd_syscall Testing 64-bit sched_setscheduler nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJnekLY/sched_setscheduler (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJnekLY/sched_setscheduler sched_setscheduler FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestJnekLY/sched_setscheduler" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffdbd2cdb0) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestJnekLY/sched_setscheduler", ["/root/systemtap_write/systemtap/testsuite/staptestJnekLY/sched_setscheduler"], [/* 54 vars */]) = 0 sched_setschedu: brk (0x0) = 1004994560 sched_setschedu: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: fstat (3, 0x3ffd22e4960) = 0 sched_setschedu: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff83100000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4b50, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e49e0) = 0 sched_setschedu: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff830d0000 sched_setschedu: mmap2 (0x3ff830e0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff830e0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4b20, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e49b0) = 0 sched_setschedu: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff83010000 sched_setschedu: mmap2 (0x3ff830b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff830b0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4af0, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e4980) = 0 sched_setschedu: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff82e90000 sched_setschedu: mmap2 (0x3ff82ff0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff82ff0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e49a0, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e4830) = 0 sched_setschedu: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff82e50000 sched_setschedu: mmap2 (0x3ff82e70000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff82e70000 sched_setschedu: close (3) = 0 sched_setschedu: mprotect (0x3ff82ff0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff82e70000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff830b0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff830e0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff83150000, 65536, PROT_READ) = 0 sched_setschedu: munmap (0x3ff83100000, 39708) = 0 sched_setschedu: set_robust_list (0x3ff83163f30, 24) = 0 sched_setschedu: rt_sigaction (0x20, {0x3ff82e56314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigaction (0x21, {0x3ff82e563f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setschedu: getrlimit (RLIMIT_STACK, 0x3ffd22e57a0) = 0 sched_setschedu: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched_setschedu: brk (0x0) = 1004994560 sched_setschedu: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd22e49e0, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: fstat (3, 0x3ffd22e4960) = 0 sched_setschedu: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff83100000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4b50, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e49e0) = 0 sched_setschedu: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff830d0000 sched_setschedu: mmap2 (0x3ff830e0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff830e0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4b20, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e49b0) = 0 sched_setschedu: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff83010000 sched_setschedu: mmap2 (0x3ff830b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff830b0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e4af0, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e4980) = 0 sched_setschedu: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff82e90000 sched_setschedu: mmap2 (0x3ff82ff0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff82ff0000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffd22e49a0, 832) = 832 sched_setschedu: fstat (3, 0x3ffd22e4830) = 0 sched_setschedu: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff82e50000 sched_setschedu: mmap2 (0x3ff82e70000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff82e70000 sched_setschedu: close (3) = 0 sched_setschedu: mprotect (0x3ff82ff0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff82e70000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff830b0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff830e0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff83150000, 65536, PROT_READ) = 0 sched_setschedu: munmap (0x3ff83100000, 39708) = 0 sched_setschedu: set_robust_list (0x3ff83163f30, 24) = 0 sched_setschedu: rt_sigaction (0x20, {0x3ff82e56314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigaction (0x21, {0x3ff82e563f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setschedu: getrlimit (RLIMIT_STACK, 0x3ffd22e57a0) = 0 sched_setschedu: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched_setschedu: sched_setscheduler \(999999, SCHED_OTHER, [x0-9a-fA-F]+\) = -[\-0-9]+ \(ESRCH\) sched_setschedu: sched_setscheduler \(-1, SCHED_FIFO, [x0-9a-fA-F]+\) = -[\-0-9]+ \(EINVAL\) sched_setschedu: sched_setscheduler \(0, SCHED_RESET_ON_FORK\|SCHED_FIFO, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setschedu: sched_setscheduler \(0, 0xffffffff, [x0-9a-fA-F]+\) = -[\-0-9]+ \(EINVAL\) sched_setschedu: sched_setscheduler \(0, SCHED_OTHER, 0x[f]+\) = -[\-0-9]+ \(EFAULT\) FAIL: 64-bit sched_setscheduler nd_syscall Testing 64-bit seccomp nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/seccomp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOXRtdV/seccomp (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/seccomp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOXRtdV/seccomp PASS: 64-bit seccomp nd_syscall Testing 64-bit select nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/select.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD4Q0SV/select (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/select.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD4Q0SV/select PASS: 64-bit select nd_syscall Testing 64-bit semctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest12j1su/semctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest12j1su/semctl PASS: 64-bit semctl nd_syscall Testing 64-bit semget nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestezzR0k/semget (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestezzR0k/semget PASS: 64-bit semget nd_syscall Testing 64-bit semop nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semop.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNRl5gR/semop (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semop.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNRl5gR/semop PASS: 64-bit semop nd_syscall Testing 64-bit send nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/send.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdE7pQX/send (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/send.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdE7pQX/send PASS: 64-bit send nd_syscall Testing 64-bit sendfile nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendfile.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzLM7nD/sendfile (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendfile.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzLM7nD/sendfile PASS: 64-bit sendfile nd_syscall Testing 64-bit sendmmsg nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOeai6y/sendmmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOeai6y/sendmmsg PASS: 64-bit sendmmsg nd_syscall Testing 64-bit sendmsg nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnbvUp1/sendmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnbvUp1/sendmsg PASS: 64-bit sendmsg nd_syscall Testing 64-bit sendto nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendto.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDI02Uz/sendto (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendto.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDI02Uz/sendto PASS: 64-bit sendto nd_syscall Testing 64-bit set_tid_address nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/set_tid_address.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest6rHYZh/set_tid_address (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/set_tid_address.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest6rHYZh/set_tid_address set_tid_address FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptest6rHYZh/set_tid_address" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffc92d8820) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptest6rHYZh/set_tid_address", ["/root/systemtap_write/systemtap/testsuite/staptest6rHYZh/set_tid_address"], [/* 54 vars */]) = 0 set_tid_address: brk (0x0) = 375914496 set_tid_address: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: fstat (3, 0x3fffc825ca0) = 0 set_tid_address: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff84c50000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e90, 832) = 832 set_tid_address: fstat (3, 0x3fffc825d20) = 0 set_tid_address: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff84c20000 set_tid_address: mmap2 (0x3ff84c30000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff84c30000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e60, 832) = 832 set_tid_address: fstat (3, 0x3fffc825cf0) = 0 set_tid_address: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff84b60000 set_tid_address: mmap2 (0x3ff84c00000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff84c00000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e30, 832) = 832 set_tid_address: fstat (3, 0x3fffc825cc0) = 0 set_tid_address: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff849e0000 set_tid_address: mmap2 (0x3ff84b40000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff84b40000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825ce0, 832) = 832 set_tid_address: fstat (3, 0x3fffc825b70) = 0 set_tid_address: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff849a0000 set_tid_address: mmap2 (0x3ff849c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff849c0000 set_tid_address: close (3) = 0 set_tid_address: mprotect (0x3ff84b40000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff849c0000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84c00000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84c30000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x410000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84ca0000, 65536, PROT_READ) = 0 set_tid_address: munmap (0x3ff84c50000, 39708) = 0 set_tid_address: set_robust_list (0x3ff84cb3f30, 24) = 0 set_tid_address: rt_sigaction (0x20, {0x3ff849a6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigaction (0x21, {0x3ff849a63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 set_tid_address: getrlimit (RLIMIT_STACK, 0x3fffc826ae0) = 0 set_tid_address: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) set_tid_address: brk (0x0) = 375914496 set_tid_address: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fffc825d20, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: fstat (3, 0x3fffc825ca0) = 0 set_tid_address: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff84c50000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e90, 832) = 832 set_tid_address: fstat (3, 0x3fffc825d20) = 0 set_tid_address: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff84c20000 set_tid_address: mmap2 (0x3ff84c30000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff84c30000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e60, 832) = 832 set_tid_address: fstat (3, 0x3fffc825cf0) = 0 set_tid_address: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff84b60000 set_tid_address: mmap2 (0x3ff84c00000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff84c00000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825e30, 832) = 832 set_tid_address: fstat (3, 0x3fffc825cc0) = 0 set_tid_address: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff849e0000 set_tid_address: mmap2 (0x3ff84b40000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff84b40000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fffc825ce0, 832) = 832 set_tid_address: fstat (3, 0x3fffc825b70) = 0 set_tid_address: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff849a0000 set_tid_address: mmap2 (0x3ff849c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff849c0000 set_tid_address: close (3) = 0 set_tid_address: mprotect (0x3ff84b40000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff849c0000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84c00000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84c30000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x410000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff84ca0000, 65536, PROT_READ) = 0 set_tid_address: munmap (0x3ff84c50000, 39708) = 0 set_tid_address: set_robust_list (0x3ff84cb3f30, 24) = 0 set_tid_address: rt_sigaction (0x20, {0x3ff849a6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigaction (0x21, {0x3ff849a63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 set_tid_address: getrlimit (RLIMIT_STACK, 0x3fffc826ae0) = 0 set_tid_address: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- set_tid_address: set_tid_address \(0x[f]+\) = [\-0-9]+ set_tid_address: set_tid_address \([x0-9a-fA-F]+\) = [\-0-9]+ set_tid_address: set_tid_address \(0x0\) = [\-0-9]+ FAIL: 64-bit set_tid_address nd_syscall Testing 64-bit setgroups nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyzxBpf/setgroups (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyzxBpf/setgroups setgroups FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/nd_syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestyzxBpf/setgroups" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffddd83e50) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestyzxBpf/setgroups", ["/root/systemtap_write/systemtap/testsuite/staptestyzxBpf/setgroups"], [/* 54 vars */]) = 0 setgroups: brk (0x0) = 206503936 setgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 setgroups: fstat (3, 0x3ffe4135000) = 0 setgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff94170000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe41351f0, 832) = 832 setgroups: fstat (3, 0x3ffe4135080) = 0 setgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94140000 setgroups: mmap2 (0x3ff94150000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff94150000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe41351c0, 832) = 832 setgroups: fstat (3, 0x3ffe4135050) = 0 setgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94080000 setgroups: mmap2 (0x3ff94120000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff94120000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe4135190, 832) = 832 setgroups: fstat (3, 0x3ffe4135020) = 0 setgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff93f00000 setgroups: mmap2 (0x3ff94060000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff94060000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe4135040, 832) = 832 setgroups: fstat (3, 0x3ffe4134ed0) = 0 setgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff93ec0000 setgroups: mmap2 (0x3ff93ee0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff93ee0000 setgroups: close (3) = 0 setgroups: mprotect (0x3ff94060000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff93ee0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff94120000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff94150000, 65536, PROT_READ) = 0 setgroups: mprotect (0x410000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff941c0000, 65536, PROT_READ) = 0 setgroups: munmap (0x3ff94170000, 39708) = 0 setgroups: set_robust_list (0x3ff941d3f30, 24) = 0 setgroups: rt_sigaction (0x20, {0x3ff93ec6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigaction (0x21, {0x3ff93ec63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 setgroups: getrlimit (RLIMIT_STACK, 0x3ffe4135e40) = 0 setgroups: getgroups (65536, 0x3ffe40f5e18) = 0 setgroups: setgroups (0, 0x3ffe40f5e18) = 0 setgroups: setgroups (-1, 0x3ffe40f5e18) = -22 (EINVAL) setgroups: setgroups (0, 0xffffffffffffffff) = 0 setgroups: exit_group (0) = WARNING: probe kprobe.function("sys_sched_setaffinity").return (sys_sched_setaffinity+0) registration error (rc -22) WARNING: probe kprobe.function("sys_sched_setaffinity") (sys_sched_setaffinity+0) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) setgroups: brk (0x0) = 206503936 setgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffe4135080, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 setgroups: fstat (3, 0x3ffe4135000) = 0 setgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff94170000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe41351f0, 832) = 832 setgroups: fstat (3, 0x3ffe4135080) = 0 setgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94140000 setgroups: mmap2 (0x3ff94150000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff94150000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe41351c0, 832) = 832 setgroups: fstat (3, 0x3ffe4135050) = 0 setgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff94080000 setgroups: mmap2 (0x3ff94120000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff94120000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe4135190, 832) = 832 setgroups: fstat (3, 0x3ffe4135020) = 0 setgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff93f00000 setgroups: mmap2 (0x3ff94060000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff94060000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffe4135040, 832) = 832 setgroups: fstat (3, 0x3ffe4134ed0) = 0 setgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff93ec0000 setgroups: mmap2 (0x3ff93ee0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff93ee0000 setgroups: close (3) = 0 setgroups: mprotect (0x3ff94060000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff93ee0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff94120000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff94150000, 65536, PROT_READ) = 0 setgroups: mprotect (0x410000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ff941c0000, 65536, PROT_READ) = 0 setgroups: munmap (0x3ff94170000, 39708) = 0 setgroups: set_robust_list (0x3ff941d3f30, 24) = 0 setgroups: rt_sigaction (0x20, {0x3ff93ec6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigaction (0x21, {0x3ff93ec63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 setgroups: getrlimit (RLIMIT_STACK, 0x3ffe4135e40) = 0 *setgroups: getgroups (65536, 0x3ffe40f5e18) = 0 *setgroups: setgroups (0, 0x3ffe40f5e18) = 0 *setgroups: setgroups (-1, 0x3ffe40f5e18) = -22 (EINVAL) setgroups: setgroups (0, 0xffffffffffffffff) = 0 setgroups: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- setgroups: setgroups \([\-0-9]+, 0x[f]+\) = -[\-0-9]+ FAIL: 64-bit setgroups nd_syscall Testing 64-bit setitimer nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXnpFC0/setitimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXnpFC0/setitimer PASS: 64-bit setitimer nd_syscall Testing 64-bit setns nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setns.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestp4agTc/setns (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setns.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestp4agTc/setns PASS: 64-bit setns nd_syscall Testing 64-bit setpriority nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPAxMl2/setpriority (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPAxMl2/setpriority PASS: 64-bit setpriority nd_syscall Testing 64-bit setsid nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnzYNrI/setsid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnzYNrI/setsid PASS: 64-bit setsid nd_syscall Testing 64-bit setsockopt nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestigUMEj/setsockopt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestigUMEj/setsockopt PASS: 64-bit setsockopt nd_syscall Testing 64-bit shmat nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJYAfUq/shmat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJYAfUq/shmat PASS: 64-bit shmat nd_syscall Testing 64-bit shmget nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrQtTth/shmget (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrQtTth/shmget PASS: 64-bit shmget nd_syscall Testing 64-bit shutdown nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shutdown.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnQ0D2K/shutdown (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shutdown.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnQ0D2K/shutdown PASS: 64-bit shutdown nd_syscall Testing 64-bit sigaltstack nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigaltstack.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttqN2xP/sigaltstack (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigaltstack.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttqN2xP/sigaltstack PASS: 64-bit sigaltstack nd_syscall Testing 64-bit sigmask nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigmask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmnTACf/sigmask (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigmask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmnTACf/sigmask UNSUPPORTED: 64-bit sigmask nd_syscall not supported on this arch Testing 64-bit signal nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZ19FZx/signal (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZ19FZx/signal PASS: 64-bit signal nd_syscall Testing 64-bit signalfd nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signalfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFoP1nX/signalfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signalfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFoP1nX/signalfd PASS: 64-bit signalfd nd_syscall Testing 64-bit socket nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socket.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZCyQxt/socket (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socket.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZCyQxt/socket PASS: 64-bit socket nd_syscall Testing 64-bit socketpair nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socketpair.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestedkzTY/socketpair (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socketpair.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestedkzTY/socketpair PASS: 64-bit socketpair nd_syscall Testing 64-bit stat nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/stat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti7oDAS/stat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/stat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti7oDAS/stat PASS: 64-bit stat nd_syscall Testing 64-bit statfs nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/statfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFnv1Rz/statfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/statfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFnv1Rz/statfs PASS: 64-bit statfs nd_syscall Testing 64-bit swap nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/swap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOosCcF/swap (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/swap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOosCcF/swap PASS: 64-bit swap nd_syscall Testing 64-bit sync nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyD07dI/sync (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyD07dI/sync PASS: 64-bit sync nd_syscall Testing 64-bit sync_file_range nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdevL1g/sync_file_range (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdevL1g/sync_file_range PASS: 64-bit sync_file_range nd_syscall Testing 64-bit syncfs nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syncfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7hNCat/syncfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syncfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7hNCat/syncfs PASS: 64-bit syncfs nd_syscall Testing 64-bit sysctl nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZ5BeyB/sysctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZ5BeyB/sysctl UNSUPPORTED: 64-bit sysctl nd_syscall not supported on this arch Testing 64-bit sysfs nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTcdsX2/sysfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTcdsX2/sysfs UNSUPPORTED: 64-bit sysfs nd_syscall not supported on this arch Testing 64-bit sysinfo nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysinfo.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9gszLK/sysinfo (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysinfo.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9gszLK/sysinfo PASS: 64-bit sysinfo nd_syscall Testing 64-bit syslog nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syslog.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcwn2mq/syslog (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syslog.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcwn2mq/syslog PASS: 64-bit syslog nd_syscall Testing 64-bit tee nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/tee.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttKjeT4/tee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/tee.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttKjeT4/tee PASS: 64-bit tee nd_syscall Testing 64-bit thread_area nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/thread_area.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIUNXUD/thread_area (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/thread_area.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIUNXUD/thread_area UNSUPPORTED: 64-bit thread_area nd_syscall not supported on this arch Testing 64-bit timer nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQKtvyl/timer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQKtvyl/timer PASS: 64-bit timer nd_syscall Testing 64-bit timerfd nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timerfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBb7oCt/timerfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timerfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBb7oCt/timerfd PASS: 64-bit timerfd nd_syscall Testing 64-bit times nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/times.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestElkd64/times (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/times.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestElkd64/times PASS: 64-bit times nd_syscall Testing 64-bit trunc nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/trunc.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvsWqX1/trunc (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/trunc.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvsWqX1/trunc PASS: 64-bit trunc nd_syscall Testing 64-bit uid nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlowmj7/uid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlowmj7/uid PASS: 64-bit uid nd_syscall Testing 64-bit uid16 nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid16.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI8Nlux/uid16 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid16.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI8Nlux/uid16 UNSUPPORTED: 64-bit uid16 nd_syscall not supported on this arch Testing 64-bit umask nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/umask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgx0iAW/umask (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/umask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgx0iAW/umask PASS: 64-bit umask nd_syscall Testing 64-bit uname nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestUNAc9G/uname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestUNAc9G/uname PASS: 64-bit uname nd_syscall Testing 64-bit unlink nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unlink.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthesByg/unlink (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unlink.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthesByg/unlink PASS: 64-bit unlink nd_syscall Testing 64-bit unshare nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unshare.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestg1u2bV/unshare (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unshare.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestg1u2bV/unshare PASS: 64-bit unshare nd_syscall Testing 64-bit uselib nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uselib.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestupkLdI/uselib (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uselib.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestupkLdI/uselib UNSUPPORTED: 64-bit uselib nd_syscall not supported on this arch Testing 64-bit userfaultfd nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/userfaultfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWQ5Xyg/userfaultfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/userfaultfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWQ5Xyg/userfaultfd UNSUPPORTED: 64-bit userfaultfd nd_syscall not supported on this arch Testing 64-bit vforkwait nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vforkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvVcfuh/vforkwait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vforkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvVcfuh/vforkwait PASS: 64-bit vforkwait nd_syscall Testing 64-bit vhangup nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vhangup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfxycfs/vhangup (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vhangup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestfxycfs/vhangup PASS: 64-bit vhangup nd_syscall Testing 64-bit wait nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEzLk8C/wait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEzLk8C/wait PASS: 64-bit wait nd_syscall Testing 64-bit wait4 nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKt7GrP/wait4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKt7GrP/wait4 PASS: 64-bit wait4 nd_syscall Testing 64-bit writev nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/writev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestV3jc03/writev (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/writev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestV3jc03/writev PASS: 64-bit writev nd_syscall Testing 64-bit xattr nd_syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/xattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlo1c0G/xattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/xattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlo1c0G/xattr PASS: 64-bit xattr nd_syscall testcase /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nd_syscall.exp completed in 353 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syscall.exp ... syscall.ko PASS: /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sys.stp compilation Testing 64-bit accept syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8t5yF5/accept (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8t5yF5/accept PASS: 64-bit accept syscall Testing 64-bit accept4 syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI5IR12/accept4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/accept4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI5IR12/accept4 PASS: 64-bit accept4 syscall Testing 64-bit access syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/access.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgBDK8G/access (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/access.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgBDK8G/access PASS: 64-bit access syscall Testing 64-bit acct syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/acct.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3dT0Fe/acct (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/acct.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3dT0Fe/acct PASS: 64-bit acct syscall Testing 64-bit adjtimex syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/adjtimex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest6guS3Y/adjtimex (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/adjtimex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest6guS3Y/adjtimex PASS: 64-bit adjtimex syscall Testing 64-bit aio syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/aio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHmaijK/aio (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/aio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHmaijK/aio PASS: 64-bit aio syscall Testing 64-bit alarm syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/alarm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSxOSJs/alarm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/alarm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSxOSJs/alarm PASS: 64-bit alarm syscall Testing 64-bit arch_prctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/arch_prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjk9ZlC/arch_prctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/arch_prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjk9ZlC/arch_prctl UNSUPPORTED: 64-bit arch_prctl syscall not supported on this arch Testing 64-bit bind syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bind.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRC9bsb/bind (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bind.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRC9bsb/bind PASS: 64-bit bind syscall Testing 64-bit bpf syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bpf.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRAMPtU/bpf (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/bpf.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRAMPtU/bpf PASS: 64-bit bpf syscall Testing 64-bit brk syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/brk.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestb2Pi3c/brk (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/brk.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestb2Pi3c/brk PASS: 64-bit brk syscall Testing 64-bit capability syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/capability.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestinoC8h/capability (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/capability.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestinoC8h/capability PASS: 64-bit capability syscall Testing 64-bit chmod syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chmod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLppzRC/chmod (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chmod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLppzRC/chmod PASS: 64-bit chmod syscall Testing 64-bit chroot syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chroot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNJPcfX/chroot (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/chroot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNJPcfX/chroot PASS: 64-bit chroot syscall Testing 64-bit clock syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthBobEP/clock (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthBobEP/clock PASS: 64-bit clock syscall Testing 64-bit clone syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clone.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgEyIxf/clone (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/clone.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgEyIxf/clone PASS: 64-bit clone syscall Testing 64-bit connect syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/connect.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQRrJ4b/connect (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/connect.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQRrJ4b/connect PASS: 64-bit connect syscall Testing 64-bit copy_file_range syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/copy_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti6imnL/copy_file_range (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/copy_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti6imnL/copy_file_range UNSUPPORTED: 64-bit copy_file_range syscall not supported on this arch Testing 64-bit dcookie syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dcookie.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDx8ADf/dcookie (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dcookie.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDx8ADf/dcookie PASS: 64-bit dcookie syscall Testing 64-bit dir syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestx7jHxi/dir (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestx7jHxi/dir PASS: 64-bit dir syscall Testing 64-bit domainname syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/domainname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJdW6pU/domainname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/domainname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJdW6pU/domainname PASS: 64-bit domainname syscall Testing 64-bit dup syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmnzjMk/dup (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/dup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmnzjMk/dup PASS: 64-bit dup syscall Testing 64-bit eventfd syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/eventfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxK2YpM/eventfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/eventfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxK2YpM/eventfd PASS: 64-bit eventfd syscall Testing 64-bit execve syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execve.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdZtz2g/execve (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execve.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestdZtz2g/execve PASS: 64-bit execve syscall Testing 64-bit execveat syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execveat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWGfCIa/execveat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/execveat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWGfCIa/execveat PASS: 64-bit execveat syscall Testing 64-bit exit syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSrAwXt/exit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSrAwXt/exit PASS: 64-bit exit syscall Testing 64-bit exit_group syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit_group.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestbVOrKC/exit_group (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/exit_group.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestbVOrKC/exit_group PASS: 64-bit exit_group syscall Testing 64-bit fadvise64 syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fadvise64.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAy182L/fadvise64 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fadvise64.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAy182L/fadvise64 PASS: 64-bit fadvise64 syscall Testing 64-bit fallocate syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fallocate.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWTDA0U/fallocate (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fallocate.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWTDA0U/fallocate PASS: 64-bit fallocate syscall Testing 64-bit fanotify syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fanotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZwLtCf/fanotify (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fanotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZwLtCf/fanotify PASS: 64-bit fanotify syscall Testing 64-bit flock syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/flock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyg2Xij/flock (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/flock.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyg2Xij/flock PASS: 64-bit flock syscall Testing 64-bit forkwait syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/forkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttjT6of/forkwait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/forkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesttjT6of/forkwait PASS: 64-bit forkwait syscall Testing 64-bit futex syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestqGwt9V/futex (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futex.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestqGwt9V/futex PASS: 64-bit futex syscall Testing 64-bit futimes syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futimes.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9bTY5B/futimes (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/futimes.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9bTY5B/futimes PASS: 64-bit futimes syscall Testing 64-bit fxattr syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestk6wrpT/fxattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/fxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestk6wrpT/fxattr PASS: 64-bit fxattr syscall Testing 64-bit getcpu syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getcpu.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1If1Zv/getcpu (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getcpu.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1If1Zv/getcpu PASS: 64-bit getcpu syscall Testing 64-bit getdents syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getdents.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyF2NEY/getdents (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getdents.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyF2NEY/getdents PASS: 64-bit getdents syscall Testing 64-bit getgroups syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpETfP6/getgroups (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpETfP6/getgroups getgroups FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestpETfP6/getgroups" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffe45b9e20) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestpETfP6/getgroups", ["/root/systemtap_write/systemtap/testsuite/staptestpETfP6/getgroups"], [/* 54 vars */]) = 0 getgroups: brk (0x0) = 747307008 getgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 getgroups: fstat (3, 0x3ffdf6f9e20) = 0 getgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff9bbf0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6fa010, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9ea0) = 0 getgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9bbc0000 getgroups: mmap2 (0x3ff9bbd0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff9bbd0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9fe0, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9e70) = 0 getgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9bb00000 getgroups: mmap2 (0x3ff9bba0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff9bba0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9fb0, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9e40) = 0 getgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9b980000 getgroups: mmap2 (0x3ff9bae0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff9bae0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9e60, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9cf0) = 0 getgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9b940000 getgroups: mmap2 (0x3ff9b960000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff9b960000 getgroups: close (3) = 0 getgroups: mprotect (0x3ff9bae0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9b960000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bba0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bbd0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x410000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bc40000, 65536, PROT_READ) = 0 getgroups: munmap (0x3ff9bbf0000, 39708) = 0 getgroups: set_robust_list (0x3ff9bc53f30, 24) = 0 getgroups: rt_sigaction (0x20, {0x3ff9b946314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigaction (0x21, {0x3ff9b9463f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 getgroups: getrlimit (RLIMIT_STACK, 0x3ffdf6fac60) = 0 getgroups: getgroups (65536, 0x3ffdf6bac40) = 0 getgroups: getgroups (-1, 0x3ffdf6bac40) = -22 (EINVAL) getgroups: getgroups (65536, 0xffffffffffffffff) = 0 getgroups: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) getgroups: brk (0x0) = 747307008 getgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) getgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffdf6f9ea0, 0x0) = -2 (ENOENT) getgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 getgroups: fstat (3, 0x3ffdf6f9e20) = 0 getgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff9bbf0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6fa010, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9ea0) = 0 getgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9bbc0000 getgroups: mmap2 (0x3ff9bbd0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff9bbd0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9fe0, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9e70) = 0 getgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9bb00000 getgroups: mmap2 (0x3ff9bba0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff9bba0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9fb0, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9e40) = 0 getgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9b980000 getgroups: mmap2 (0x3ff9bae0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff9bae0000 getgroups: close (3) = 0 getgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 getgroups: read (3, 0x3ffdf6f9e60, 832) = 832 getgroups: fstat (3, 0x3ffdf6f9cf0) = 0 getgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff9b940000 getgroups: mmap2 (0x3ff9b960000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff9b960000 getgroups: close (3) = 0 getgroups: mprotect (0x3ff9bae0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9b960000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bba0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bbd0000, 65536, PROT_READ) = 0 getgroups: mprotect (0x410000, 65536, PROT_READ) = 0 getgroups: mprotect (0x3ff9bc40000, 65536, PROT_READ) = 0 getgroups: munmap (0x3ff9bbf0000, 39708) = 0 getgroups: set_robust_list (0x3ff9bc53f30, 24) = 0 getgroups: rt_sigaction (0x20, {0x3ff9b946314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigaction (0x21, {0x3ff9b9463f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 getgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 getgroups: getrlimit (RLIMIT_STACK, 0x3ffdf6fac60) = 0 *getgroups: getgroups (65536, 0x3ffdf6bac40) = 0 *getgroups: getgroups (-1, 0x3ffdf6bac40) = -22 (EINVAL) getgroups: getgroups (65536, 0xffffffffffffffff) = 0 getgroups: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- getgroups: getgroups \([\-0-9]+, 0x[f]+\) = -[\-0-9]+ \(EFAULT\) FAIL: 64-bit getgroups syscall Testing 64-bit getitimer syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJTkXTi/getitimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJTkXTi/getitimer PASS: 64-bit getitimer syscall Testing 64-bit getpeername syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpeername.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFRCkc9/getpeername (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpeername.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFRCkc9/getpeername PASS: 64-bit getpeername syscall Testing 64-bit getpriority syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestilV9r8/getpriority (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestilV9r8/getpriority PASS: 64-bit getpriority syscall Testing 64-bit getrandom syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrandom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWqa04i/getrandom (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrandom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWqa04i/getrandom PASS: 64-bit getrandom syscall Testing 64-bit getrlimit syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRFpubV/getrlimit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRFpubV/getrlimit PASS: 64-bit getrlimit syscall Testing 64-bit getrusage syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrusage.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAoxonY/getrusage (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getrusage.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestAoxonY/getrusage PASS: 64-bit getrusage syscall Testing 64-bit getsid syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestN6Wt0i/getsid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestN6Wt0i/getsid PASS: 64-bit getsid syscall Testing 64-bit getsockname syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestF1izIF/getsockname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestF1izIF/getsockname PASS: 64-bit getsockname syscall Testing 64-bit getsockopt syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestq6rRIq/getsockopt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/getsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestq6rRIq/getsockopt PASS: 64-bit getsockopt syscall Testing 64-bit handle_at syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/handle_at.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestsk6Q0y/handle_at (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/handle_at.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestsk6Q0y/handle_at PASS: 64-bit handle_at syscall Testing 64-bit hostname syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/hostname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWGIHVb/hostname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/hostname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWGIHVb/hostname PASS: 64-bit hostname syscall Testing 64-bit inotify syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/inotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestndrgDR/inotify (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/inotify.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestndrgDR/inotify PASS: 64-bit inotify syscall Testing 64-bit ioctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpMZmiR/ioctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpMZmiR/ioctl PASS: 64-bit ioctl syscall Testing 64-bit ioperm syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioperm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7OSn2T/ioperm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioperm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7OSn2T/ioperm UNSUPPORTED: 64-bit ioperm syscall not supported on this arch Testing 64-bit ioprio syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioprio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkxnOjL/ioprio (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ioprio.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestkxnOjL/ioprio PASS: 64-bit ioprio syscall Testing 64-bit itimer syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/itimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKdFQz6/itimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/itimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKdFQz6/itimer PASS: 64-bit itimer syscall Testing 64-bit kcmp syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kcmp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaJCJlF/kcmp (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kcmp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaJCJlF/kcmp PASS: 64-bit kcmp syscall Testing 64-bit kexec_load syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kexec_load.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestahgPxv/kexec_load (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kexec_load.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestahgPxv/kexec_load PASS: 64-bit kexec_load syscall Testing 64-bit keyctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/keyctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1hsfTT/keyctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/keyctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest1hsfTT/keyctl PASS: 64-bit keyctl syscall Testing 64-bit kill syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kill.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthhOtdE/kill (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/kill.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesthhOtdE/kill PASS: 64-bit kill syscall Testing 64-bit link syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/link.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBg4VRT/link (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/link.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBg4VRT/link PASS: 64-bit link syscall Testing 64-bit listen syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/listen.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHUXWFK/listen (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/listen.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHUXWFK/listen PASS: 64-bit listen syscall Testing 64-bit lseek syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lseek.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlkBNu3/lseek (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lseek.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlkBNu3/lseek PASS: 64-bit lseek syscall Testing 64-bit lxattr syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBs17Bf/lxattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/lxattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBs17Bf/lxattr PASS: 64-bit lxattr syscall Testing 64-bit madvise syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/madvise.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLgxY2G/madvise (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/madvise.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLgxY2G/madvise PASS: 64-bit madvise syscall Testing 64-bit membarrier syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/membarrier.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRsA1IU/membarrier (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/membarrier.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRsA1IU/membarrier UNSUPPORTED: 64-bit membarrier syscall not supported on this arch Testing 64-bit memfd_create syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/memfd_create.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvI64A1/memfd_create (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/memfd_create.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvI64A1/memfd_create PASS: 64-bit memfd_create syscall Testing 64-bit mempolicy syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mempolicy.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzSxwIq/mempolicy (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mempolicy.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzSxwIq/mempolicy PASS: 64-bit mempolicy syscall Testing 64-bit mincore syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mincore.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLidlAk/mincore (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mincore.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestLidlAk/mincore PASS: 64-bit mincore syscall Testing 64-bit mknod syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mknod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaKCwZh/mknod (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mknod.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaKCwZh/mknod PASS: 64-bit mknod syscall Testing 64-bit mmap syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mmap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxOsH04/mmap (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mmap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestxOsH04/mmap PASS: 64-bit mmap syscall Testing 64-bit modify_ldt syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/modify_ldt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrt65aZ/modify_ldt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/modify_ldt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestrt65aZ/modify_ldt UNSUPPORTED: 64-bit modify_ldt syscall not supported on this arch Testing 64-bit module syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/module.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestomyAoF/module (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/module.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestomyAoF/module PASS: 64-bit module syscall Testing 64-bit mount syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mount.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzwRpYj/mount (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mount.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzwRpYj/mount PASS: 64-bit mount syscall Testing 64-bit mq syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mq.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestByo74z/mq (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/mq.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestByo74z/mq PASS: 64-bit mq syscall Testing 64-bit msg_queue syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/msg_queue.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDo7hx2/msg_queue (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/msg_queue.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDo7hx2/msg_queue PASS: 64-bit msg_queue syscall Testing 64-bit net1 syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/net1.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIHnoGf/net1 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/net1.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIHnoGf/net1 PASS: 64-bit net1 syscall Testing 64-bit nfsservctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nfsservctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRX52Kp/nfsservctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nfsservctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRX52Kp/nfsservctl UNSUPPORTED: 64-bit nfsservctl syscall not supported on this arch Testing 64-bit nice syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nice.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9rnBnG/nice (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/nice.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9rnBnG/nice UNSUPPORTED: 64-bit nice syscall not supported on this arch Testing 64-bit numa syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/numa.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI1a73d/numa (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/numa.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestI1a73d/numa PASS: 64-bit numa syscall Testing 64-bit openclose syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/openclose.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestU1anG4/openclose (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/openclose.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestU1anG4/openclose PASS: 64-bit openclose syscall Testing 64-bit perf_event syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/perf_event.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD2RcMO/perf_event (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/perf_event.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestD2RcMO/perf_event PASS: 64-bit perf_event syscall Testing 64-bit personality syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/personality.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEKnJQ6/personality (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/personality.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEKnJQ6/personality PASS: 64-bit personality syscall Testing 64-bit pgid syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pgid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSAcYOf/pgid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pgid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSAcYOf/pgid PASS: 64-bit pgid syscall Testing 64-bit pipe syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pipe.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestL4U3Lj/pipe (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pipe.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestL4U3Lj/pipe PASS: 64-bit pipe syscall Testing 64-bit pivot_root syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pivot_root.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjAGhqH/pivot_root (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pivot_root.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjAGhqH/pivot_root PASS: 64-bit pivot_root syscall Testing 64-bit poll syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/poll.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestK4gBfz/poll (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/poll.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestK4gBfz/poll PASS: 64-bit poll syscall Testing 64-bit prctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestG1Mrg3/prctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestG1Mrg3/prctl PASS: 64-bit prctl syscall Testing 64-bit pread syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pread.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNlvNOk/pread (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pread.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNlvNOk/pread PASS: 64-bit pread syscall Testing 64-bit preadv syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/preadv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvb2vav/preadv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/preadv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvb2vav/preadv PASS: 64-bit preadv syscall Testing 64-bit prlimit syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJwySNF/prlimit (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/prlimit.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestJwySNF/prlimit PASS: 64-bit prlimit syscall Testing 64-bit process_vm syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/process_vm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZxtVwu/process_vm (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/process_vm.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestZxtVwu/process_vm PASS: 64-bit process_vm syscall Testing 64-bit ptrace syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ptrace.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPmrGQ2/ptrace (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/ptrace.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPmrGQ2/ptrace PASS: 64-bit ptrace syscall Testing 64-bit pwrite syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyPK8cv/pwrite (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestyPK8cv/pwrite PASS: 64-bit pwrite syscall Testing 64-bit pwritev syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwritev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDIobcb/pwritev (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/pwritev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestDIobcb/pwritev PASS: 64-bit pwritev syscall Testing 64-bit quotactl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/quotactl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXtacDz/quotactl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/quotactl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXtacDz/quotactl PASS: 64-bit quotactl syscall Testing 64-bit readahead syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readahead.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7X8jIp/readahead (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readahead.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7X8jIp/readahead PASS: 64-bit readahead syscall Testing 64-bit readdir syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readdir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHgCrBd/readdir (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readdir.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestHgCrBd/readdir UNSUPPORTED: 64-bit readdir syscall not supported on this arch Testing 64-bit readv syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPRVRbZ/readv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPRVRbZ/readv PASS: 64-bit readv syscall Testing 64-bit readwrite syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestz8Kyab/readwrite (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/readwrite.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestz8Kyab/readwrite PASS: 64-bit readwrite syscall Testing 64-bit reboot syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/reboot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzj8PMa/reboot (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/reboot.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzj8PMa/reboot PASS: 64-bit reboot syscall Testing 64-bit recv syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXs0dop/recv (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recv.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXs0dop/recv PASS: 64-bit recv syscall Testing 64-bit recvfrom syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvfrom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest99DOW8/recvfrom (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvfrom.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest99DOW8/recvfrom PASS: 64-bit recvfrom syscall Testing 64-bit recvmmsg syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaI1ubL/recvmmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaI1ubL/recvmmsg PASS: 64-bit recvmmsg syscall Testing 64-bit recvmsg syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOu4WQc/recvmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/recvmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestOu4WQc/recvmsg PASS: 64-bit recvmsg syscall Testing 64-bit remap_file_pages syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/remap_file_pages.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestYAGcXM/remap_file_pages (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/remap_file_pages.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestYAGcXM/remap_file_pages PASS: 64-bit remap_file_pages syscall Testing 64-bit rename syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rename.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNzs6Ow/rename (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rename.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNzs6Ow/rename PASS: 64-bit rename syscall Testing 64-bit restart_syscall syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/restart_syscall.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti3pWnQ/restart_syscall (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/restart_syscall.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesti3pWnQ/restart_syscall PASS: 64-bit restart_syscall syscall Testing 64-bit robust_list syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/robust_list.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgjd03q/robust_list (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/robust_list.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgjd03q/robust_list PASS: 64-bit robust_list syscall Testing 64-bit rt_signal syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rt_signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta6FCHf/rt_signal (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/rt_signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta6FCHf/rt_signal PASS: 64-bit rt_signal syscall Testing 64-bit sched syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuLy1XW/sched (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuLy1XW/sched sched FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestuLy1XW/sched" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffdbb13580) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestuLy1XW/sched", ["/root/systemtap_write/systemtap/testsuite/staptestuLy1XW/sched"], [/* 54 vars */]) = 0 sched: brk (0x0) = 131137536 sched: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched: fstat (3, 0x3ffd394d0b0) = 0 sched: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffaa3d0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d2a0, 832) = 832 sched: fstat (3, 0x3ffd394d130) = 0 sched: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa3a0000 sched: mmap2 (0x3ffaa3b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffaa3b0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d270, 832) = 832 sched: fstat (3, 0x3ffd394d100) = 0 sched: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa2e0000 sched: mmap2 (0x3ffaa380000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffaa380000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d240, 832) = 832 sched: fstat (3, 0x3ffd394d0d0) = 0 sched: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa160000 sched: mmap2 (0x3ffaa2c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffaa2c0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d0f0, 832) = 832 sched: fstat (3, 0x3ffd394cf80) = 0 sched: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa120000 sched: mmap2 (0x3ffaa140000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffaa140000 sched: close (3) = 0 sched: mprotect (0x3ffaa2c0000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa140000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa380000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa3b0000, 65536, PROT_READ) = 0 sched: mprotect (0x410000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa420000, 65536, PROT_READ) = 0 sched: munmap (0x3ffaa3d0000, 39708) = 0 sched: set_robust_list (0x3ffaa433f30, 24) = 0 sched: rt_sigaction (0x20, {0x3ffaa126314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigaction (0x21, {0x3ffaa1263f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched: getrlimit (RLIMIT_STACK, 0x3ffd394def0) = 0 sched: sched_getparam (0, 0x3ffd394dec8) = 0 sched: sched_yield () = 0 sched: sched_getparam (-1, 0x3ffd394dec8) = -22 (EINVAL) sched: sched_getparam (0, 0xffffffffffffffff) = -14 (EFAULT) sched: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched: brk (0x0) = 131137536 sched: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffd394d130, 0x0) = -2 (ENOENT) sched: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched: fstat (3, 0x3ffd394d0b0) = 0 sched: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffaa3d0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d2a0, 832) = 832 sched: fstat (3, 0x3ffd394d130) = 0 sched: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa3a0000 sched: mmap2 (0x3ffaa3b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffaa3b0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d270, 832) = 832 sched: fstat (3, 0x3ffd394d100) = 0 sched: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa2e0000 sched: mmap2 (0x3ffaa380000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffaa380000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d240, 832) = 832 sched: fstat (3, 0x3ffd394d0d0) = 0 sched: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa160000 sched: mmap2 (0x3ffaa2c0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffaa2c0000 sched: close (3) = 0 sched: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched: read (3, 0x3ffd394d0f0, 832) = 832 sched: fstat (3, 0x3ffd394cf80) = 0 sched: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffaa120000 sched: mmap2 (0x3ffaa140000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffaa140000 sched: close (3) = 0 sched: mprotect (0x3ffaa2c0000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa140000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa380000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa3b0000, 65536, PROT_READ) = 0 sched: mprotect (0x410000, 65536, PROT_READ) = 0 sched: mprotect (0x3ffaa420000, 65536, PROT_READ) = 0 sched: munmap (0x3ffaa3d0000, 39708) = 0 sched: set_robust_list (0x3ffaa433f30, 24) = 0 sched: rt_sigaction (0x20, {0x3ffaa126314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigaction (0x21, {0x3ffaa1263f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched: getrlimit (RLIMIT_STACK, 0x3ffd394def0) = 0 *sched: sched_getparam (0, 0x3ffd394dec8) = 0 sched: sched_yield () = 0 sched: sched_getparam (-1, 0x3ffd394dec8) = -22 (EINVAL) sched: sched_getparam (0, 0xffffffffffffffff) = -14 (EFAULT) sched: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched: sched_setparam \(0, [x0-9a-fA-F]+\) = 0 sched: sched_get_priority_max \(SCHED_OTHER\) = 0 sched: sched_get_priority_max \(SCHED_BATCH\) = 0 sched: sched_get_priority_max \(SCHED_IDLE\) = 0 sched: sched_get_priority_max \(SCHED_FIFO\) = [\-0-9]+ sched: sched_get_priority_max \(SCHED_RR\) = [\-0-9]+ sched: sched_get_priority_min \(SCHED_OTHER\) = 0 sched: sched_yield \(\) = 0 sched: sched_getparam \(-1, [x0-9a-fA-F]+\) = [\-0-9]+ sched: sched_getparam \(0, 0x[f]+\) = [\-0-9]+ sched: sched_setparam \(-1, [x0-9a-fA-F]+\) = [\-0-9]+ sched: sched_setparam \(0, 0x[f]+\) = [\-0-9]+ sched: sched_get_priority_max \(0xffffffff\) = [\-0-9]+ sched: sched_get_priority_min \(0xffffffff\) = [\-0-9]+ FAIL: 64-bit sched syscall Testing 64-bit sched_attr syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_attr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestM6zlpd/sched_attr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_attr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestM6zlpd/sched_attr PASS: 64-bit sched_attr syscall Testing 64-bit sched_getaffinity syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFy5Gqp/sched_getaffinity (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFy5Gqp/sched_getaffinity PASS: 64-bit sched_getaffinity syscall Testing 64-bit sched_getscheduler syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestGYjctT/sched_getscheduler (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_getscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestGYjctT/sched_getscheduler PASS: 64-bit sched_getscheduler syscall Testing 64-bit sched_rr_get_interval syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_rr_get_interval.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXbbVZw/sched_rr_get_interval (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_rr_get_interval.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestXbbVZw/sched_rr_get_interval PASS: 64-bit sched_rr_get_interval syscall Testing 64-bit sched_setaffinity syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFKJx31/sched_setaffinity (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setaffinity.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestFKJx31/sched_setaffinity sched_setaffinity FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestFKJx31/sched_setaffinity" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffe3d8fd60) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestFKJx31/sched_setaffinity", ["/root/systemtap_write/systemtap/testsuite/staptestFKJx31/sched_setaffinity"], [/* 54 vars */]) = 0 sched_setaffini: brk (0x0) = 953352192 sched_setaffini: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: fstat (3, 0x3ffcf5246b0) = 0 sched_setaffini: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb5fb0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf5248a0, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524730) = 0 sched_setaffini: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5f80000 sched_setaffini: mmap2 (0x3ffb5f90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb5f90000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf524870, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524700) = 0 sched_setaffini: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5ec0000 sched_setaffini: mmap2 (0x3ffb5f60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb5f60000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf524840, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf5246d0) = 0 sched_setaffini: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5d40000 sched_setaffini: mmap2 (0x3ffb5ea0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb5ea0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf5246f0, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524580) = 0 sched_setaffini: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5d00000 sched_setaffini: mmap2 (0x3ffb5d20000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb5d20000 sched_setaffini: close (3) = 0 sched_setaffini: mprotect (0x3ffb5ea0000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5d20000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5f60000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5f90000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb6000000, 65536, PROT_READ) = 0 sched_setaffini: munmap (0x3ffb5fb0000, 39708) = 0 sched_setaffini: set_robust_list (0x3ffb6013f30, 24) = 0 sched_setaffini: rt_sigaction (0x20, {0x3ffb5d06314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigaction (0x21, {0x3ffb5d063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setaffini: getrlimit (RLIMIT_STACK, 0x3ffcf5254f0) = 0 sched_setaffini: sched_getaffinity (0, 128, 0x3ffcf525450) = 8 sched_setaffini: sched_getaffinity (19183, 128, 0x3ffcf525370) = 8 sched_setaffini: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched_setaffini: brk (0x0) = 953352192 sched_setaffini: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setaffini: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffcf524730, 0x0) = -2 (ENOENT) sched_setaffini: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: fstat (3, 0x3ffcf5246b0) = 0 sched_setaffini: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb5fb0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf5248a0, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524730) = 0 sched_setaffini: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5f80000 sched_setaffini: mmap2 (0x3ffb5f90000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb5f90000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf524870, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524700) = 0 sched_setaffini: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5ec0000 sched_setaffini: mmap2 (0x3ffb5f60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb5f60000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf524840, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf5246d0) = 0 sched_setaffini: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5d40000 sched_setaffini: mmap2 (0x3ffb5ea0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb5ea0000 sched_setaffini: close (3) = 0 sched_setaffini: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setaffini: read (3, 0x3ffcf5246f0, 832) = 832 sched_setaffini: fstat (3, 0x3ffcf524580) = 0 sched_setaffini: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb5d00000 sched_setaffini: mmap2 (0x3ffb5d20000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb5d20000 sched_setaffini: close (3) = 0 sched_setaffini: mprotect (0x3ffb5ea0000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5d20000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5f60000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb5f90000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setaffini: mprotect (0x3ffb6000000, 65536, PROT_READ) = 0 sched_setaffini: munmap (0x3ffb5fb0000, 39708) = 0 sched_setaffini: set_robust_list (0x3ffb6013f30, 24) = 0 sched_setaffini: rt_sigaction (0x20, {0x3ffb5d06314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigaction (0x21, {0x3ffb5d063f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setaffini: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setaffini: getrlimit (RLIMIT_STACK, 0x3ffcf5254f0) = 0 *sched_setaffini: sched_getaffinity (0, 128, 0x3ffcf525450) = 8 sched_setaffini: sched_getaffinity (19183, 128, 0x3ffcf525370) = 8 sched_setaffini: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched_setaffini: sched_setaffinity \(0, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(-1, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(0, 4294967295, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setaffini: sched_setaffinity \(0, [x0-9a-fA-F]+, 0x[f]+\) = [\-0-9]+ FAIL: 64-bit sched_setaffinity syscall Testing 64-bit sched_setscheduler syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnAQNrB/sched_setscheduler (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sched_setscheduler.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnAQNrB/sched_setscheduler sched_setscheduler FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestnAQNrB/sched_setscheduler" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffd9c9a870) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestnAQNrB/sched_setscheduler", ["/root/systemtap_write/systemtap/testsuite/staptestnAQNrB/sched_setscheduler"], [/* 54 vars */]) = 0 sched_setschedu: brk (0x0) = 284622848 sched_setschedu: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: fstat (3, 0x3ffeb18f3c0) = 0 sched_setschedu: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff8b760000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f5b0, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f440) = 0 sched_setschedu: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b730000 sched_setschedu: mmap2 (0x3ff8b740000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8b740000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f580, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f410) = 0 sched_setschedu: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b670000 sched_setschedu: mmap2 (0x3ff8b710000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff8b710000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f550, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f3e0) = 0 sched_setschedu: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b4f0000 sched_setschedu: mmap2 (0x3ff8b650000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff8b650000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f400, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f290) = 0 sched_setschedu: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b4b0000 sched_setschedu: mmap2 (0x3ff8b4d0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff8b4d0000 sched_setschedu: close (3) = 0 sched_setschedu: mprotect (0x3ff8b650000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b4d0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b710000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b740000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b7b0000, 65536, PROT_READ) = 0 sched_setschedu: munmap (0x3ff8b760000, 39708) = 0 sched_setschedu: set_robust_list (0x3ff8b7c3f30, 24) = 0 sched_setschedu: rt_sigaction (0x20, {0x3ff8b4b6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigaction (0x21, {0x3ff8b4b63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setschedu: getrlimit (RLIMIT_STACK, 0x3ffeb190200) = 0 sched_setschedu: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) sched_setschedu: brk (0x0) = 284622848 sched_setschedu: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) sched_setschedu: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffeb18f440, 0x0) = -2 (ENOENT) sched_setschedu: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: fstat (3, 0x3ffeb18f3c0) = 0 sched_setschedu: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff8b760000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f5b0, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f440) = 0 sched_setschedu: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b730000 sched_setschedu: mmap2 (0x3ff8b740000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff8b740000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f580, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f410) = 0 sched_setschedu: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b670000 sched_setschedu: mmap2 (0x3ff8b710000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff8b710000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f550, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f3e0) = 0 sched_setschedu: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b4f0000 sched_setschedu: mmap2 (0x3ff8b650000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff8b650000 sched_setschedu: close (3) = 0 sched_setschedu: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 sched_setschedu: read (3, 0x3ffeb18f400, 832) = 832 sched_setschedu: fstat (3, 0x3ffeb18f290) = 0 sched_setschedu: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff8b4b0000 sched_setschedu: mmap2 (0x3ff8b4d0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff8b4d0000 sched_setschedu: close (3) = 0 sched_setschedu: mprotect (0x3ff8b650000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b4d0000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b710000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b740000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x410000, 65536, PROT_READ) = 0 sched_setschedu: mprotect (0x3ff8b7b0000, 65536, PROT_READ) = 0 sched_setschedu: munmap (0x3ff8b760000, 39708) = 0 sched_setschedu: set_robust_list (0x3ff8b7c3f30, 24) = 0 sched_setschedu: rt_sigaction (0x20, {0x3ff8b4b6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigaction (0x21, {0x3ff8b4b63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 sched_setschedu: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 sched_setschedu: getrlimit (RLIMIT_STACK, 0x3ffeb190200) = 0 sched_setschedu: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- sched_setschedu: sched_setscheduler \(999999, SCHED_OTHER, [x0-9a-fA-F]+\) = -[\-0-9]+ \(ESRCH\) sched_setschedu: sched_setscheduler \(-1, SCHED_FIFO, [x0-9a-fA-F]+\) = -[\-0-9]+ \(EINVAL\) sched_setschedu: sched_setscheduler \(0, SCHED_RESET_ON_FORK\|SCHED_FIFO, [x0-9a-fA-F]+\) = [\-0-9]+ sched_setschedu: sched_setscheduler \(0, 0xffffffff, [x0-9a-fA-F]+\) = -[\-0-9]+ \(EINVAL\) sched_setschedu: sched_setscheduler \(0, SCHED_OTHER, 0x[f]+\) = -[\-0-9]+ \(EFAULT\) FAIL: 64-bit sched_setscheduler syscall Testing 64-bit seccomp syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/seccomp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmOQRhQ/seccomp (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/seccomp.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmOQRhQ/seccomp PASS: 64-bit seccomp syscall Testing 64-bit select syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/select.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8axVZO/select (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/select.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8axVZO/select PASS: 64-bit select syscall Testing 64-bit semctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMJW7BY/semctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMJW7BY/semctl PASS: 64-bit semctl syscall Testing 64-bit semget syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTR9DX0/semget (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestTR9DX0/semget PASS: 64-bit semget syscall Testing 64-bit semop syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semop.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmSt8Ii/semop (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/semop.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmSt8Ii/semop PASS: 64-bit semop syscall Testing 64-bit send syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/send.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0w39jm/send (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/send.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest0w39jm/send PASS: 64-bit send syscall Testing 64-bit sendfile syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendfile.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmyxeZS/sendfile (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendfile.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmyxeZS/sendfile PASS: 64-bit sendfile syscall Testing 64-bit sendmmsg syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestqpgYjZ/sendmmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestqpgYjZ/sendmmsg PASS: 64-bit sendmmsg syscall Testing 64-bit sendmsg syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBXOQKk/sendmsg (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendmsg.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestBXOQKk/sendmsg PASS: 64-bit sendmsg syscall Testing 64-bit sendto syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendto.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3wnaJe/sendto (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sendto.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest3wnaJe/sendto PASS: 64-bit sendto syscall Testing 64-bit set_tid_address syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/set_tid_address.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestL4jOrs/set_tid_address (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/set_tid_address.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestL4jOrs/set_tid_address set_tid_address FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptestL4jOrs/set_tid_address" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3fff9fe81e0) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptestL4jOrs/set_tid_address", ["/root/systemtap_write/systemtap/testsuite/staptestL4jOrs/set_tid_address"], [/* 54 vars */]) = 0 set_tid_address: brk (0x0) = 682622976 set_tid_address: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: fstat (3, 0x3fff9ae9e30) = 0 set_tid_address: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff7ec80000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9aea020, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9eb0) = 0 set_tid_address: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7ec50000 set_tid_address: mmap2 (0x3ff7ec60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff7ec60000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9ff0, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9e80) = 0 set_tid_address: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7eb90000 set_tid_address: mmap2 (0x3ff7ec30000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff7ec30000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9fc0, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9e50) = 0 set_tid_address: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7ea10000 set_tid_address: mmap2 (0x3ff7eb70000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff7eb70000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9e70, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9d00) = 0 set_tid_address: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7e9d0000 set_tid_address: mmap2 (0x3ff7e9f0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff7e9f0000 set_tid_address: close (3) = 0 set_tid_address: mprotect (0x3ff7eb70000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7e9f0000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ec30000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ec60000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x410000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ecd0000, 65536, PROT_READ) = 0 set_tid_address: munmap (0x3ff7ec80000, 39708) = 0 set_tid_address: set_robust_list (0x3ff7ece3f30, 24) = 0 set_tid_address: rt_sigaction (0x20, {0x3ff7e9d6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigaction (0x21, {0x3ff7e9d63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 set_tid_address: getrlimit (RLIMIT_STACK, 0x3fff9aeac70) = 0 set_tid_address: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) set_tid_address: brk (0x0) = 682622976 set_tid_address: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) set_tid_address: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3fff9ae9eb0, 0x0) = -2 (ENOENT) set_tid_address: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: fstat (3, 0x3fff9ae9e30) = 0 set_tid_address: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ff7ec80000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9aea020, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9eb0) = 0 set_tid_address: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7ec50000 set_tid_address: mmap2 (0x3ff7ec60000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ff7ec60000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9ff0, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9e80) = 0 set_tid_address: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7eb90000 set_tid_address: mmap2 (0x3ff7ec30000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ff7ec30000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9fc0, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9e50) = 0 set_tid_address: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7ea10000 set_tid_address: mmap2 (0x3ff7eb70000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ff7eb70000 set_tid_address: close (3) = 0 set_tid_address: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 set_tid_address: read (3, 0x3fff9ae9e70, 832) = 832 set_tid_address: fstat (3, 0x3fff9ae9d00) = 0 set_tid_address: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ff7e9d0000 set_tid_address: mmap2 (0x3ff7e9f0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ff7e9f0000 set_tid_address: close (3) = 0 set_tid_address: mprotect (0x3ff7eb70000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7e9f0000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ec30000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ec60000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x410000, 65536, PROT_READ) = 0 set_tid_address: mprotect (0x3ff7ecd0000, 65536, PROT_READ) = 0 set_tid_address: munmap (0x3ff7ec80000, 39708) = 0 set_tid_address: set_robust_list (0x3ff7ece3f30, 24) = 0 set_tid_address: rt_sigaction (0x20, {0x3ff7e9d6314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigaction (0x21, {0x3ff7e9d63f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 set_tid_address: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 set_tid_address: getrlimit (RLIMIT_STACK, 0x3fff9aeac70) = 0 set_tid_address: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- set_tid_address: set_tid_address \(0x[f]+\) = [\-0-9]+ set_tid_address: set_tid_address \([x0-9a-fA-F]+\) = [\-0-9]+ set_tid_address: set_tid_address \(0x0\) = [\-0-9]+ FAIL: 64-bit set_tid_address syscall Testing 64-bit setgroups syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesteRuUAT/setgroups (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setgroups.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesteRuUAT/setgroups setgroups FAILED. output of "staprun -R /root/systemtap_write/systemtap/testsuite/syscall.ko -c /root/systemtap_write/systemtap/testsuite/staptesteRuUAT/setgroups" was: ------------------------------------------ stapio: rt_sigreturn () = -4 (EINTR) stapio: rt_sigaction (SIGUSR1, {SIG_DFL}, 0x0, 8) = 0 stapio: rt_sigprocmask (SIG_SETMASK, [EMPTY], 0x0, 8) = 0 stapio: setitimer (ITIMER_REAL, [0.000000,0.000000], 0x3ffc035fdc0) = 0 stapio: execve ("/root/systemtap_write/systemtap/testsuite/staptesteRuUAT/setgroups", ["/root/systemtap_write/systemtap/testsuite/staptesteRuUAT/setgroups"], [/* 54 vars */]) = 0 setgroups: brk (0x0) = 821035008 setgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 setgroups: fstat (3, 0x3ffff697bb0) = 0 setgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb4500000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697da0, 832) = 832 setgroups: fstat (3, 0x3ffff697c30) = 0 setgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb44d0000 setgroups: mmap2 (0x3ffb44e0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb44e0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697d70, 832) = 832 setgroups: fstat (3, 0x3ffff697c00) = 0 setgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4410000 setgroups: mmap2 (0x3ffb44b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb44b0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697d40, 832) = 832 setgroups: fstat (3, 0x3ffff697bd0) = 0 setgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4290000 setgroups: mmap2 (0x3ffb43f0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb43f0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697bf0, 832) = 832 setgroups: fstat (3, 0x3ffff697a80) = 0 setgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4250000 setgroups: mmap2 (0x3ffb4270000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb4270000 setgroups: close (3) = 0 setgroups: mprotect (0x3ffb43f0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb4270000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb44b0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb44e0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x410000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb4550000, 65536, PROT_READ) = 0 setgroups: munmap (0x3ffb4500000, 39708) = 0 setgroups: set_robust_list (0x3ffb4563f30, 24) = 0 setgroups: rt_sigaction (0x20, {0x3ffb4256314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigaction (0x21, {0x3ffb42563f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 setgroups: getrlimit (RLIMIT_STACK, 0x3ffff6989f0) = 0 setgroups: getgroups (65536, 0x3ffff6589c8) = 0 setgroups: setgroups (0, 0x3ffff6589c8) = 0 setgroups: setgroups (-1, 0x3ffff6589c8) = -22 (EINVAL) setgroups: setgroups (0, 0xffffffffffffffff) = 0 setgroups: exit_group (0) = WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").return (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").return (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").return (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").return (address 0xfffffc0008105620) registration error (rc -22) WARNING: probe kernel.function("SyS_set_tid_address@kernel/fork.c:1234").call (address 0xfffffc00080cb528) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_setaffinity@kernel/sched/core.c:4716").call (address 0xfffffc00081051b0) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_min@kernel/sched/core.c:5040").call (address 0xfffffc0008105688) registration error (rc -22) WARNING: probe kernel.function("SyS_sched_get_priority_max@kernel/sched/core.c:5013").call (address 0xfffffc0008105620) registration error (rc -22) ------------------------------------------ RESULTS: ('*' = MATCHED EXPECTED) setgroups: brk (0x0) = 821035008 setgroups: faccessat (AT_FDCWD, "/etc/ld.so.preload", R_OK) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/aarch64", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/tls", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/aarch64", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap/librt.so.1", O_RDONLY|O_CLOEXEC) = -2 (ENOENT) setgroups: fstatat (AT_FDCWD, "/root/systemtap_write/install/lib/systemtap", 0x3ffff697c30, 0x0) = -2 (ENOENT) setgroups: openat (AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 setgroups: fstat (3, 0x3ffff697bb0) = 0 setgroups: mmap2 (0x0, 39708, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ffb4500000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697da0, 832) = 832 setgroups: fstat (3, 0x3ffff697c30) = 0 setgroups: mmap2 (0x0, 131904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb44d0000 setgroups: mmap2 (0x3ffb44e0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x3ffb44e0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697d70, 832) = 832 setgroups: fstat (3, 0x3ffff697c00) = 0 setgroups: mmap2 (0x0, 721576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4410000 setgroups: mmap2 (0x3ffb44b0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 589824) = 0x3ffb44b0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697d40, 832) = 832 setgroups: fstat (3, 0x3ffff697bd0) = 0 setgroups: mmap2 (0x0, 1528816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4290000 setgroups: mmap2 (0x3ffb43f0000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 1376256) = 0x3ffb43f0000 setgroups: close (3) = 0 setgroups: openat (AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 setgroups: read (3, 0x3ffff697bf0, 832) = 832 setgroups: fstat (3, 0x3ffff697a80) = 0 setgroups: mmap2 (0x0, 213912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ffb4250000 setgroups: mmap2 (0x3ffb4270000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 65536) = 0x3ffb4270000 setgroups: close (3) = 0 setgroups: mprotect (0x3ffb43f0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb4270000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb44b0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb44e0000, 65536, PROT_READ) = 0 setgroups: mprotect (0x410000, 65536, PROT_READ) = 0 setgroups: mprotect (0x3ffb4550000, 65536, PROT_READ) = 0 setgroups: munmap (0x3ffb4500000, 39708) = 0 setgroups: set_robust_list (0x3ffb4563f30, 24) = 0 setgroups: rt_sigaction (0x20, {0x3ffb4256314, SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigaction (0x21, {0x3ffb42563f4, SA_RESTART|SA_SIGINFO, 0x0, [EMPTY]}, 0x0, 8) = 0 setgroups: rt_sigprocmask (SIG_UNBLOCK, [EMPTY], 0x0, 8) = 0 setgroups: getrlimit (RLIMIT_STACK, 0x3ffff6989f0) = 0 *setgroups: getgroups (65536, 0x3ffff6589c8) = 0 *setgroups: setgroups (0, 0x3ffff6589c8) = 0 *setgroups: setgroups (-1, 0x3ffff6589c8) = -22 (EINVAL) setgroups: setgroups (0, 0xffffffffffffffff) = 0 setgroups: exit_group (0) = --------- EXPECTED and NOT MATCHED ---------- setgroups: setgroups \([\-0-9]+, 0x[f]+\) = -[\-0-9]+ FAIL: 64-bit setgroups syscall Testing 64-bit setitimer syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestX17mVL/setitimer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setitimer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestX17mVL/setitimer PASS: 64-bit setitimer syscall Testing 64-bit setns syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setns.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest5nLIwZ/setns (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setns.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest5nLIwZ/setns PASS: 64-bit setns syscall Testing 64-bit setpriority syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSbWCjB/setpriority (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setpriority.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSbWCjB/setpriority PASS: 64-bit setpriority syscall Testing 64-bit setsid syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNFtKh7/setsid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNFtKh7/setsid PASS: 64-bit setsid syscall Testing 64-bit setsockopt syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgs3cjE/setsockopt (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/setsockopt.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestgs3cjE/setsockopt PASS: 64-bit setsockopt syscall Testing 64-bit shmat syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnaPoWn/shmat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnaPoWn/shmat PASS: 64-bit shmat syscall Testing 64-bit shmget syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptests8Ylyp/shmget (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shmget.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptests8Ylyp/shmget PASS: 64-bit shmget syscall Testing 64-bit shutdown syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shutdown.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestF9vAWz/shutdown (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/shutdown.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestF9vAWz/shutdown PASS: 64-bit shutdown syscall Testing 64-bit sigaltstack syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigaltstack.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2fS3z8/sigaltstack (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigaltstack.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2fS3z8/sigaltstack PASS: 64-bit sigaltstack syscall Testing 64-bit sigmask syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigmask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaHerDn/sigmask (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sigmask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaHerDn/sigmask UNSUPPORTED: 64-bit sigmask syscall not supported on this arch Testing 64-bit signal syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcDRsnK/signal (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signal.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcDRsnK/signal PASS: 64-bit signal syscall Testing 64-bit signalfd syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signalfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjCA1NU/signalfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/signalfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestjCA1NU/signalfd PASS: 64-bit signalfd syscall Testing 64-bit socket syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socket.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlcY8yS/socket (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socket.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestlcY8yS/socket PASS: 64-bit socket syscall Testing 64-bit socketpair syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socketpair.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcQnT23/socketpair (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/socketpair.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcQnT23/socketpair PASS: 64-bit socketpair syscall Testing 64-bit stat syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/stat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmMIgqM/stat (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/stat.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestmMIgqM/stat PASS: 64-bit stat syscall Testing 64-bit statfs syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/statfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWuVoyd/statfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/statfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestWuVoyd/statfs PASS: 64-bit statfs syscall Testing 64-bit swap syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/swap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQp5sWX/swap (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/swap.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestQp5sWX/swap PASS: 64-bit swap syscall Testing 64-bit sync syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta3a81Y/sync (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesta3a81Y/sync PASS: 64-bit sync syscall Testing 64-bit sync_file_range syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaLNPU1/sync_file_range (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sync_file_range.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestaLNPU1/sync_file_range PASS: 64-bit sync_file_range syscall Testing 64-bit syncfs syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syncfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMK5PYt/syncfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syncfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestMK5PYt/syncfs PASS: 64-bit syncfs syscall Testing 64-bit sysctl syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestO8RKbr/sysctl (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysctl.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestO8RKbr/sysctl UNSUPPORTED: 64-bit sysctl syscall not supported on this arch Testing 64-bit sysfs syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestykRMuH/sysfs (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysfs.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestykRMuH/sysfs UNSUPPORTED: 64-bit sysfs syscall not supported on this arch Testing 64-bit sysinfo syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysinfo.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzoWOLN/sysinfo (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/sysinfo.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestzoWOLN/sysinfo PASS: 64-bit sysinfo syscall Testing 64-bit syslog syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syslog.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNn8gLn/syslog (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syslog.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestNn8gLn/syslog PASS: 64-bit syslog syscall Testing 64-bit tee syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/tee.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuxU7sU/tee (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/tee.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestuxU7sU/tee PASS: 64-bit tee syscall Testing 64-bit thread_area syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/thread_area.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7WFpXC/thread_area (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/thread_area.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest7WFpXC/thread_area UNSUPPORTED: 64-bit thread_area syscall not supported on this arch Testing 64-bit timer syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKZnhgB/timer (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timer.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestKZnhgB/timer PASS: 64-bit timer syscall Testing 64-bit timerfd syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timerfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPB8IyU/timerfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/timerfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPB8IyU/timerfd PASS: 64-bit timerfd syscall Testing 64-bit times syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/times.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesty5MqJj/times (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/times.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptesty5MqJj/times PASS: 64-bit times syscall Testing 64-bit trunc syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/trunc.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRqeXaz/trunc (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/trunc.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestRqeXaz/trunc PASS: 64-bit trunc syscall Testing 64-bit uid syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnMjRMW/uid (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestnMjRMW/uid PASS: 64-bit uid syscall Testing 64-bit uid16 syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid16.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMQa0a/uid16 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uid16.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoMQa0a/uid16 UNSUPPORTED: 64-bit uid16 syscall not supported on this arch Testing 64-bit umask syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/umask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcuZqrE/umask (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/umask.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestcuZqrE/umask PASS: 64-bit umask syscall Testing 64-bit uname syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIU0z0g/uname (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uname.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestIU0z0g/uname PASS: 64-bit uname syscall Testing 64-bit unlink syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unlink.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEQy6Al/unlink (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unlink.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestEQy6Al/unlink PASS: 64-bit unlink syscall Testing 64-bit unshare syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unshare.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2pyWSB/unshare (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/unshare.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest2pyWSB/unshare PASS: 64-bit unshare syscall Testing 64-bit uselib syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uselib.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9LpLoo/uselib (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/uselib.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest9LpLoo/uselib UNSUPPORTED: 64-bit uselib syscall not supported on this arch Testing 64-bit userfaultfd syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/userfaultfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPHkffu/userfaultfd (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/userfaultfd.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestPHkffu/userfaultfd UNSUPPORTED: 64-bit userfaultfd syscall not supported on this arch Testing 64-bit vforkwait syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vforkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSL8R1v/vforkwait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vforkwait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestSL8R1v/vforkwait PASS: 64-bit vforkwait syscall Testing 64-bit vhangup syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vhangup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest5gVsPX/vhangup (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/vhangup.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest5gVsPX/vhangup PASS: 64-bit vhangup syscall Testing 64-bit wait syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpXObZe/wait (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestpXObZe/wait PASS: 64-bit wait syscall Testing 64-bit wait4 syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8zg1NG/wait4 (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/wait4.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptest8zg1NG/wait4 PASS: 64-bit wait4 syscall Testing 64-bit writev syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/writev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvRIllv/writev (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/writev.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestvRIllv/writev PASS: 64-bit writev syscall Testing 64-bit xattr syscall Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/xattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoeubG9/xattr (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.syscall/xattr.c -lrt -lm -o /root/systemtap_write/systemtap/testsuite/staptestoeubG9/xattr PASS: 64-bit xattr syscall testcase /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syscall.exp completed in 401 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syscall_consistency.exp ... PASS: listing syscall.* PASS: listing nd_syscall.* testcase /root/systemtap_write/systemtap/testsuite/systemtap.syscall/syscall_consistency.exp completed in 7 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/pr16806.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so PASS: pr16806 library compile Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -DNOSLEEP -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -DNOSLEEP -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop PASS: pr16806 exe compile PASS: pr16806 ko compile PASS: pr16806 testcase /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/pr16806.exp completed in 68 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_embedded_C.exp ... kernel version 4.8.0 Looking for tapset scripts in /root/systemtap_write/systemtap/testsuite/../tapset Looking for tapset scripts in /root/systemtap_write/systemtap/testsuite/../tapset/aarch64 Looking for tapset scripts in /root/systemtap_write/systemtap/testsuite/../tapset/linux Looking for tapset scripts in /root/systemtap_write/systemtap/testsuite/../tapset/linux/aarch64 eval exec /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/embeddedc.awk /root/systemtap_write/systemtap/testsuite/../tapset/linux/atomic.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/aux_syscalls.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/context-caller.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/context-envvar.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/context-symbols.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/context-unwind.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/context.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/conversions-guru.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/conversions.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ctime.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/dentry.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/dev.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/endian.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/guru-delay.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/guru-signal.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/inet.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/inet_sock.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ioblock.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ioscheduler.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ip.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ipmib-filter-default.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ipmib.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/irq.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/json.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/kprocess.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/kretprobe.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/linuxmib-filter-default.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/linuxmib.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/loadavg.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/logging.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/memory.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nd_syscalls.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nd_syscalls2.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/netfilter.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/networking.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nfs.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nfs_proc.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nfsd.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/nfsderrno.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/panic.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/perf.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/proc_mem.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/pstrace.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/rcu.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/rlimit.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/rpc.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/scheduler.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/scsi.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/signal.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/socket.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/syscall_table.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/syscalls.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/syscalls2.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/syscalls_cfg_trunc.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/target_set.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/task.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/task_ancestry.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/task_time.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/tcp.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/tcpmib-filter-default.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/tcpmib.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/timestamp.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/timestamp_gtod.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/timestamp_monotonic.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/tty.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/tzinfo.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ucontext-symbols.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ucontext-unwind.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/ucontext.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/udp.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/utrace.stp /root/systemtap_write/systemtap/testsuite/../tapset/linux/vfs.stp prototype_info contains 1 items PASS: unprivileged embedded C: Obtain list tapset functions containing embedded C testing atomic_read(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { atomic_read(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'atomic_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:16:10 source: function atomic_read:long(addr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is atomic_read PASS: unprivileged embedded C: privileged: --unprivileged: atomic_read(long) testing atomic_long_read(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { atomic_long_read(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'atomic_long_read' at /root/systemtap_write/install/share/systemtap/tapset/linux/atomic.stp:36:10 source: function atomic_long_read:long(addr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is atomic_long_read PASS: unprivileged embedded C: privileged: --privilege=stapusr: atomic_long_read(long) testing _stp_syscall_nr ();privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_syscall_nr () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_syscall_nr' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:119:10 source: function _stp_syscall_nr:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_syscall_nr PASS: unprivileged embedded C: privileged: --unprivileged: _stp_syscall_nr () testing _struct_timeval_u(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_timeval_u(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_timeval_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:154:10 source: function _struct_timeval_u:string(uaddr:long, n:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_timeval_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_timeval_u(long, long) testing _struct_compat_timeval_u(long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_compat_timeval_u(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_timeval_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:181:10 source: function _struct_compat_timeval_u:string(uaddr:long, n:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_timeval_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_compat_timeval_u(long, long) testing _struct_timezone_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_timezone_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_timezone_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:212:10 source: function _struct_timezone_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_timezone_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_timezone_u(long) testing _stp_clock_nanosleep_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_clock_nanosleep_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_clock_nanosleep_flags_str' at :1:15 source: probe begin { _stp_clock_nanosleep_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_clock_nanosleep_flags_str(0) } ^ funcname is _stp_clock_nanosleep_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_clock_nanosleep_flags_str(long) testing _struct_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_utimbuf_actime(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_utimbuf_actime' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:249:10 source: function _struct_utimbuf_actime:long(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_utimbuf_actime PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_utimbuf_actime(long) testing _struct_utimbuf_modtime(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_utimbuf_modtime(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_utimbuf_modtime' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:265:10 source: function _struct_utimbuf_modtime:long(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_utimbuf_modtime PASS: unprivileged embedded C: privileged: --unprivileged: _struct_utimbuf_modtime(long) testing _struct_compat_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_compat_utimbuf_actime(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_utimbuf_actime' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:281:10 source: function _struct_compat_utimbuf_actime:long(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_utimbuf_actime PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_compat_utimbuf_actime(long) testing _struct_compat_utimbuf_modtime(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_compat_utimbuf_modtime(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_utimbuf_modtime' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:299:10 source: function _struct_compat_utimbuf_modtime:long(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_utimbuf_modtime PASS: unprivileged embedded C: privileged: --unprivileged: _struct_compat_utimbuf_modtime(long) testing _struct_timespec_u(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_timespec_u(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_timespec_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:315:10 source: function _struct_timespec_u:string(uaddr:long, n:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_timespec_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_timespec_u(long, long) testing _struct_compat_timespec_u(long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_compat_timespec_u(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_timespec_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:358:10 source: function _struct_compat_timespec_u:string(uaddr:long, n:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_timespec_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_compat_timespec_u(long, long) testing _struct_itimerspec_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_itimerspec_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_itimerspec_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:404:10 source: function _struct_itimerspec_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_itimerspec_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_itimerspec_u(long) testing _struct_compat_itimerspec_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_compat_itimerspec_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_itimerspec_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:422:10 source: function _struct_compat_itimerspec_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_itimerspec_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_compat_itimerspec_u(long) testing _struct_itimerval_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_itimerval_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_itimerval_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:445:10 source: function _struct_itimerval_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_itimerval_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_itimerval_u(long) testing _struct_compat_itimerval_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_compat_itimerval_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_itimerval_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:463:10 source: function _struct_compat_itimerval_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_itimerval_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_compat_itimerval_u(long) testing _struct_sockaddr_u_ip_addr(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ip_addr(long, long) testing _struct_sockaddr_u_tcp_port(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_tcp_port(long, long) testing _struct_sockaddr_u_sa_family(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_sa_family(long, long) testing _struct_sockaddr_u_ipv6_flowinfo(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ipv6_flowinfo(long, long) testing _struct_sockaddr_u_ipv6_scope_id(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ipv6_scope_id(long, long) testing _struct_sockaddr_u(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u(long, long) testing _struct_rlimit_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_rlimit_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_rlimit_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:799:10 source: function _struct_rlimit_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_rlimit_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_rlimit_u(long) testing _fildes_index_u (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _fildes_index_u (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_fildes_index_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:816:10 source: function _fildes_index_u:long (uaddr:long, index:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _fildes_index_u PASS: unprivileged embedded C: privileged: --unprivileged: _fildes_index_u (long, long) testing __sem_flags(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __sem_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__sem_flags' at :1:15 source: probe begin { __sem_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __sem_flags(0) } ^ funcname is __sem_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: __sem_flags(long) testing __get_argv(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_argv(long, long) testing __get_compat_argv(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_compat_argv(long, long) testing __count_envp(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __count_envp(long) testing __count_compat_envp(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __count_compat_envp(long) testing _adjtx_mode_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _adjtx_mode_str(long) testing _getrandom_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _getrandom_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_getrandom_flags_str' at :1:15 source: probe begin { _getrandom_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _getrandom_flags_str(0) } ^ funcname is _getrandom_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _getrandom_flags_str(long) testing _inotify_watch_mask_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _inotify_watch_mask_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_inotify_watch_mask_str' at :1:15 source: probe begin { _inotify_watch_mask_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _inotify_watch_mask_str(0) } ^ funcname is _inotify_watch_mask_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _inotify_watch_mask_str(long) testing _sigprocmask_how_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sigprocmask_how_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sigprocmask_how_str' at :1:15 source: probe begin { _sigprocmask_how_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sigprocmask_how_str(0) } ^ funcname is _sigprocmask_how_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sigprocmask_how_str(long) testing _itimer_which_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _itimer_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_itimer_which_str' at :1:15 source: probe begin { _itimer_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _itimer_which_str(0) } ^ funcname is _itimer_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _itimer_which_str(long) testing _nfsctl_cmd_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _nfsctl_cmd_str(0) }} semantic error: unresolved function (similar: _fcntl_cmd_str, _flock_cmd_str, _quotactl_cmd_str, _stp_keyctl_cmd_str, _stp_msgctl_cmd_str): identifier '_nfsctl_cmd_str' at :1:15 source: probe begin { _nfsctl_cmd_str(0) } ^ Pass 2: analysis failed. [man error::pass2] funcname is _nfsctl_cmd_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _nfsctl_cmd_str(long) testing _get_wc_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _get_wc_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_get_wc_str' at :1:15 source: probe begin { _get_wc_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _get_wc_str(0) } ^ funcname is _get_wc_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _get_wc_str(long) testing _flock_cmd_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _flock_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_flock_cmd_str' at :1:15 source: probe begin { _flock_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _flock_cmd_str(0) } ^ funcname is _flock_cmd_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _flock_cmd_str(long) testing _sys_pipe2_flag_str (long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _sys_pipe2_flag_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sys_pipe2_flag_str' at :1:15 source: probe begin { _sys_pipe2_flag_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sys_pipe2_flag_str (0) } ^ funcname is _sys_pipe2_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _sys_pipe2_flag_str (long) testing _sys_open_flag_str (long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sys_open_flag_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sys_open_flag_str' at :1:15 source: probe begin { _sys_open_flag_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sys_open_flag_str (0) } ^ funcname is _sys_open_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sys_open_flag_str (long) testing _access_mode_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _access_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_access_mode_str' at :1:15 source: probe begin { _access_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _access_mode_str(0) } ^ funcname is _access_mode_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _access_mode_str(long) testing _mknod_mode_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _mknod_mode_str(long) testing _msync_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _msync_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_msync_flag_str' at :1:15 source: probe begin { _msync_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _msync_flag_str(0) } ^ funcname is _msync_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _msync_flag_str(long) testing _internal_wait_opt_str(long, long, string);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _internal_wait_opt_str(0, 0, "0") }} semantic error: unresolved function (similar: _wait4_opt_str, _futex_wake_op_str, _wait_status_str, text_str, _dfd_str): identifier '_internal_wait_opt_str' at :1:15 source: probe begin { _internal_wait_opt_str(0, 0, "0") } ^ Pass 2: analysis failed. [man error::pass2] funcname is _internal_wait_opt_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _internal_wait_opt_str(long, long, string) testing _waitid_opt_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _waitid_opt_str(0) }} semantic error: unresolved function (similar: _wait4_opt_str, _waitid_which_str, _futex_op_str, _dfd_str, text_str): identifier '_waitid_opt_str' at :1:15 source: probe begin { _waitid_opt_str(0) } ^ Pass 2: analysis failed. [man error::pass2] funcname is _waitid_opt_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _waitid_opt_str(long) testing _wait4_opt_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _wait4_opt_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_wait4_opt_str' at :1:15 source: probe begin { _wait4_opt_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _wait4_opt_str(0) } ^ funcname is _wait4_opt_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _wait4_opt_str(long) testing WIFEXITED(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WIFEXITED(long) testing WEXITSTATUS(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WEXITSTATUS(long) testing WTERMSIG(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WTERMSIG(long) testing _wait_status_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _wait_status_str(long) testing _seccomp_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _seccomp_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seccomp_flags_str' at :1:15 source: probe begin { _seccomp_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seccomp_flags_str(0) } ^ funcname is _seccomp_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _seccomp_flags_str(long) testing _msg_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _msg_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_msg_flags_str' at :1:15 source: probe begin { _msg_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _msg_flags_str(0) } ^ funcname is _msg_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _msg_flags_str(long) testing _sendflags_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sendflags_str(long) testing _recvflags_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _recvflags_str(long) testing _mfd_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mfd_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mfd_flags_str' at :1:15 source: probe begin { _mfd_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mfd_flags_str(0) } ^ funcname is _mfd_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _mfd_flags_str(long) testing _stp_mlock2_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_mlock2_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_mlock2_str' at :1:15 source: probe begin { _stp_mlock2_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_mlock2_str(0) } ^ funcname is _stp_mlock2_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_mlock2_str(long) testing _mlockall_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mlockall_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mlockall_flags_str' at :1:15 source: probe begin { _mlockall_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mlockall_flags_str(0) } ^ funcname is _mlockall_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _mlockall_flags_str(long) testing _module_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _module_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_module_flags_str' at :1:15 source: probe begin { _module_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _module_flags_str(0) } ^ funcname is _module_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _module_flags_str(long) testing _sched_policy_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sched_policy_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sched_policy_str' at :1:15 source: probe begin { _sched_policy_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sched_policy_str(0) } ^ funcname is _sched_policy_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sched_policy_str(long) testing _priority_which_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _priority_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_priority_which_str' at :1:15 source: probe begin { _priority_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _priority_which_str(0) } ^ funcname is _priority_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _priority_which_str(long) testing _shutdown_how_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _shutdown_how_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_shutdown_how_str' at :1:15 source: probe begin { _shutdown_how_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _shutdown_how_str(0) } ^ funcname is _shutdown_how_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _shutdown_how_str(long) testing _reboot_magic_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _reboot_magic_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_reboot_magic_str' at :1:15 source: probe begin { _reboot_magic_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _reboot_magic_str(0) } ^ funcname is _reboot_magic_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _reboot_magic_str(long) testing _reboot_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _reboot_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_reboot_flag_str' at :1:15 source: probe begin { _reboot_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _reboot_flag_str(0) } ^ funcname is _reboot_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _reboot_flag_str(long) testing _waitid_which_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _waitid_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_waitid_which_str' at :1:15 source: probe begin { _waitid_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _waitid_which_str(0) } ^ funcname is _waitid_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _waitid_which_str(long) testing _futex_op_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _futex_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_futex_op_str' at :1:15 source: probe begin { _futex_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _futex_op_str(0) } ^ funcname is _futex_op_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _futex_op_str(long) testing _futex_wake_op_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _futex_wake_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_futex_wake_op_str' at :1:15 source: probe begin { _futex_wake_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _futex_wake_op_str(0) } ^ funcname is _futex_wake_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _futex_wake_op_str(long) testing _mountflags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mountflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mountflags_str' at :1:15 source: probe begin { _mountflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mountflags_str(0) } ^ funcname is _mountflags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _mountflags_str(long) testing _umountflags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _umountflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_umountflags_str' at :1:15 source: probe begin { _umountflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _umountflags_str(0) } ^ funcname is _umountflags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _umountflags_str(long) testing _statfs_f_type_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _statfs_f_type_str(long) testing _mremap_flags(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mremap_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mremap_flags' at :1:15 source: probe begin { _mremap_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mremap_flags(0) } ^ funcname is _mremap_flags PASS: unprivileged embedded C: unprivileged: --unprivileged: _mremap_flags(long) testing _madvice_advice_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _madvice_advice_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_madvice_advice_str' at :1:15 source: probe begin { _madvice_advice_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _madvice_advice_str(0) } ^ funcname is _madvice_advice_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _madvice_advice_str(long) testing _fadvice_advice_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _fadvice_advice_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fadvice_advice_str' at :1:15 source: probe begin { _fadvice_advice_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fadvice_advice_str(0) } ^ funcname is _fadvice_advice_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _fadvice_advice_str(long) testing _fcntl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _fcntl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fcntl_cmd_str' at :1:15 source: probe begin { _fcntl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fcntl_cmd_str(0) } ^ funcname is _fcntl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _fcntl_cmd_str(long) testing _seek_whence_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _seek_whence_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seek_whence_str' at :1:15 source: probe begin { _seek_whence_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seek_whence_str(0) } ^ funcname is _seek_whence_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _seek_whence_str(long) testing _quotactl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _quotactl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_cmd_str' at :1:15 source: probe begin { _quotactl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_cmd_str(0) } ^ funcname is _quotactl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _quotactl_cmd_str(long) testing _quotactl_subcmd(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _quotactl_subcmd(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_subcmd' at :1:15 source: probe begin { _quotactl_subcmd(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_subcmd(0) } ^ funcname is _quotactl_subcmd PASS: unprivileged embedded C: unprivileged: --unprivileged: _quotactl_subcmd(long) testing _quotactl_quota_type_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _quotactl_quota_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_quota_type_str' at :1:15 source: probe begin { _quotactl_quota_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_quota_type_str(0) } ^ funcname is _quotactl_quota_type_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _quotactl_quota_type_str(long) testing _struct_dqblk_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_dqblk_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_dqblk_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:2346:10 source: function _struct_dqblk_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_dqblk_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_dqblk_u(long) testing _struct_dqinfo_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_dqinfo_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_dqinfo_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:2370:10 source: function _struct_dqinfo_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_dqinfo_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_dqinfo_u(long) testing _sockopt_optname_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sockopt_optname_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sockopt_optname_str' at :1:15 source: probe begin { _sockopt_optname_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sockopt_optname_str(0) } ^ funcname is _sockopt_optname_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sockopt_optname_str(long) testing _sockopt_level_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _sockopt_level_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sockopt_level_str' at :1:15 source: probe begin { _sockopt_level_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sockopt_level_str(0) } ^ funcname is _sockopt_level_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _sockopt_level_str(long) testing _sock_family_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sock_family_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_family_str' at :1:15 source: probe begin { _sock_family_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_family_str(0) } ^ funcname is _sock_family_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sock_family_str(long) testing _sock_type_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _sock_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_type_str' at :1:15 source: probe begin { _sock_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_type_str(0) } ^ funcname is _sock_type_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _sock_type_str(long) testing _sock_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sock_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_flags_str' at :1:15 source: probe begin { _sock_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_flags_str(0) } ^ funcname is _sock_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sock_flags_str(long) testing _sock_protocol_str(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_protocol_str(long, long) testing _opoll_op_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _opoll_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_opoll_op_str' at :1:15 source: probe begin { _opoll_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _opoll_op_str(0) } ^ funcname is _opoll_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _opoll_op_str(long) testing _epoll_events_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _epoll_events_str(long) testing _rlimit_resource_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _rlimit_resource_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_rlimit_resource_str' at :1:15 source: probe begin { _rlimit_resource_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _rlimit_resource_str(0) } ^ funcname is _rlimit_resource_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _rlimit_resource_str(long) testing _rusage_who_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _rusage_who_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_rusage_who_str' at :1:15 source: probe begin { _rusage_who_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _rusage_who_str(0) } ^ funcname is _rusage_who_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _rusage_who_str(long) testing __short(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { __short(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__short' at :1:15 source: probe begin { __short(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __short(0) } ^ funcname is __short PASS: unprivileged embedded C: unprivileged: --unprivileged: __short(long) testing __ushort(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __ushort(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__ushort' at :1:15 source: probe begin { __ushort(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __ushort(0) } ^ funcname is __ushort PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: __ushort(long) testing __int32(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { __int32(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__int32' at :1:15 source: probe begin { __int32(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __int32(0) } ^ funcname is __int32 PASS: unprivileged embedded C: unprivileged: --unprivileged: __int32(long) testing __uint32(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __uint32(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__uint32' at :1:15 source: probe begin { __uint32(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __uint32(0) } ^ funcname is __uint32 PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: __uint32(long) testing __ulong(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { __ulong(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__ulong' at :1:15 source: probe begin { __ulong(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __ulong(0) } ^ funcname is __ulong PASS: unprivileged embedded C: unprivileged: --unprivileged: __ulong(long) testing __long(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __long(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__long' at :1:15 source: probe begin { __long(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __long(0) } ^ funcname is __long PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: __long(long) testing _dfd_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dfd_str(long) testing _adjtimex_return_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _adjtimex_return_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_adjtimex_return_str' at :1:15 source: probe begin { _adjtimex_return_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _adjtimex_return_str(0) } ^ funcname is _adjtimex_return_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _adjtimex_return_str(long) testing _signal_name(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _signal_name(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_signal_name' at :1:15 source: probe begin { _signal_name(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _signal_name(0) } ^ funcname is _signal_name PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _signal_name(long) testing _semctl_cmd(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _semctl_cmd(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_semctl_cmd' at :1:15 source: probe begin { _semctl_cmd(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _semctl_cmd(0) } ^ funcname is _semctl_cmd PASS: unprivileged embedded C: unprivileged: --unprivileged: _semctl_cmd(long) testing _stp_sigset_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_sigset_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_sigset_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3037:10 source: function _stp_sigset_u:string(setptr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_sigset_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _stp_sigset_u(long) testing _stp_compat_sigset_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_compat_sigset_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_sigset_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3053:10 source: function _stp_compat_sigset_u:string(setptr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_sigset_u PASS: unprivileged embedded C: privileged: --unprivileged: _stp_compat_sigset_u(long) testing __fork_flags(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __fork_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__fork_flags' at :1:15 source: probe begin { __fork_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __fork_flags(0) } ^ funcname is __fork_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: __fork_flags(long) testing _at_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _at_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_at_flag_str' at :1:15 source: probe begin { _at_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _at_flag_str(0) } ^ funcname is _at_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _at_flag_str(long) testing _epoll_create1_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _epoll_create1_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_epoll_create1_flag_str' at :1:15 source: probe begin { _epoll_create1_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _epoll_create1_flag_str(0) } ^ funcname is _epoll_create1_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _epoll_create1_flag_str(long) testing _eventfd2_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _eventfd2_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_eventfd2_flag_str' at :1:15 source: probe begin { _eventfd2_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _eventfd2_flag_str(0) } ^ funcname is _eventfd2_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _eventfd2_flag_str(long) testing _signalfd4_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _signalfd4_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_signalfd4_flags_str' at :1:15 source: probe begin { _signalfd4_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _signalfd4_flags_str(0) } ^ funcname is _signalfd4_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _signalfd4_flags_str(long) testing _inotify_init1_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _inotify_init1_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_inotify_init1_flag_str' at :1:15 source: probe begin { _inotify_init1_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _inotify_init1_flag_str(0) } ^ funcname is _inotify_init1_flag_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _inotify_init1_flag_str(long) testing _dup3_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _dup3_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_dup3_flag_str' at :1:15 source: probe begin { _dup3_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _dup3_flag_str(0) } ^ funcname is _dup3_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _dup3_flag_str(long) testing _shmat_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _shmat_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_shmat_flags_str' at :1:15 source: probe begin { _shmat_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _shmat_flags_str(0) } ^ funcname is _shmat_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _shmat_flags_str(long) testing _mprotect_prot_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _mprotect_prot_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mprotect_prot_str' at :1:15 source: probe begin { _mprotect_prot_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mprotect_prot_str(0) } ^ funcname is _mprotect_prot_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _mprotect_prot_str(long) testing _mmap_flags(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mmap_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mmap_flags' at :1:15 source: probe begin { _mmap_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mmap_flags(0) } ^ funcname is _mmap_flags PASS: unprivileged embedded C: unprivileged: --unprivileged: _mmap_flags(long) testing get_mmap_args (long);privileged UNTESTED: unprivileged embedded C: privileged: --privilege=stapusr: get_mmap_args (long) (deprecated) testing _sighandler_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _sighandler_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sighandler_str' at :1:15 source: probe begin { _sighandler_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sighandler_str(0) } ^ funcname is _sighandler_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _sighandler_str(long) testing _stp_sigmask_str(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_sigmask_str(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_sigmask_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3430:10 source: function _stp_sigmask_str:string(sigmask:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_sigmask_str PASS: unprivileged embedded C: privileged: --unprivileged: _stp_sigmask_str(long) testing _struct_sigaction_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_sigaction_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_sigaction_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3439:10 source: function _struct_sigaction_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_sigaction_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_sigaction_u(long) testing _struct_sigaction32_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_sigaction32_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_sigaction32_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3456:10 source: function _struct_sigaction32_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_sigaction32_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_sigaction32_u(long) testing _struct_old_sigaction32_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_old_sigaction32_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_old_sigaction32_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3513:10 source: function _struct_old_sigaction32_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_old_sigaction32_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_old_sigaction32_u(long) testing irqflags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { irqflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'irqflags_str' at :1:15 source: probe begin { irqflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { irqflags_str(0) } ^ funcname is irqflags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: irqflags_str(long) testing _ptrace_options_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _ptrace_options_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_ptrace_options_str' at :1:15 source: probe begin { _ptrace_options_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _ptrace_options_str(0) } ^ funcname is _ptrace_options_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _ptrace_options_str(long) testing _ptrace_argstr(long, long, long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _ptrace_argstr(long, long, long, long) testing _ptrace_return_geteventmsg_data(long,long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _ptrace_return_geteventmsg_data(long,long) testing _swapon_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _swapon_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_swapon_flags_str' at :1:15 source: probe begin { _swapon_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _swapon_flags_str(0) } ^ funcname is _swapon_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _swapon_flags_str(long) testing _stp_shmget_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_shmget_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_shmget_flags_str' at :1:15 source: probe begin { _stp_shmget_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_shmget_flags_str(0) } ^ funcname is _stp_shmget_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_shmget_flags_str(long) testing _stp_msgget_key_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _stp_msgget_key_str(long) testing _stp_msgctl_cmd_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_msgctl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_msgctl_cmd_str' at :1:15 source: probe begin { _stp_msgctl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_msgctl_cmd_str(0) } ^ funcname is _stp_msgctl_cmd_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_msgctl_cmd_str(long) testing _stp_msgflg_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_msgflg_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_msgflg_str' at :1:15 source: probe begin { _stp_msgflg_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_msgflg_str(0) } ^ funcname is _stp_msgflg_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_msgflg_str(long) testing _stp_compat_msgrcv_msgbuf(long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_compat_msgrcv_msgbuf(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_msgrcv_msgbuf' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:4068:10 source: function _stp_compat_msgrcv_msgbuf:long(uaddr:long, version:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_msgrcv_msgbuf PASS: unprivileged embedded C: privileged: --unprivileged: _stp_compat_msgrcv_msgbuf(long, long) testing _stp_compat_msgrcv_msgtyp(long, long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_compat_msgrcv_msgtyp(0, 0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_msgrcv_msgtyp' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:4089:10 source: function _stp_compat_msgrcv_msgtyp:long(uaddr:long, version:long, msgtyp:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_msgrcv_msgtyp PASS: unprivileged embedded C: privileged: --privilege=stapusr: _stp_compat_msgrcv_msgtyp(long, long, long) testing _stp_xattr_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_xattr_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_xattr_flags_str' at :1:15 source: probe begin { _stp_xattr_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_xattr_flags_str(0) } ^ funcname is _stp_xattr_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_xattr_flags_str(long) testing _stp_xattr_val_str(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_xattr_val_str(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_xattr_val_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:4127:10 source: function _stp_xattr_val_str:string(uaddr:long, size:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_xattr_val_str PASS: unprivileged embedded C: privileged: --privilege=stapusr: _stp_xattr_val_str(long, long) testing _stp_ioprio_which_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_ioprio_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_ioprio_which_str' at :1:15 source: probe begin { _stp_ioprio_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_ioprio_which_str(0) } ^ funcname is _stp_ioprio_which_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_ioprio_which_str(long) testing _stp_ioprio_value_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_ioprio_value_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_ioprio_value_str' at :1:15 source: probe begin { _stp_ioprio_value_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_ioprio_value_str(0) } ^ funcname is _stp_ioprio_value_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_ioprio_value_str(long) testing _mempolicy_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _mempolicy_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mempolicy_flags_str' at :1:15 source: probe begin { _mempolicy_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mempolicy_flags_str(0) } ^ funcname is _mempolicy_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _mempolicy_flags_str(long) testing _mempolicy_mode_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _mempolicy_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mempolicy_mode_str' at :1:15 source: probe begin { _mempolicy_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mempolicy_mode_str(0) } ^ funcname is _mempolicy_mode_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _mempolicy_mode_str(long) testing _stp_keyctl_cmd_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_keyctl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_cmd_str' at :1:15 source: probe begin { _stp_keyctl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_cmd_str(0) } ^ funcname is _stp_keyctl_cmd_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_keyctl_cmd_str(long) testing _stp_keyctl_keyring_shortcut_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_keyctl_keyring_shortcut_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_keyring_shortcut_str' at :1:15 source: probe begin { _stp_keyctl_keyring_shortcut_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_keyring_shortcut_str(0) } ^ funcname is _stp_keyctl_keyring_shortcut_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_keyctl_keyring_shortcut_str(long) testing _stp_keyctl_default_keyrings_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_keyctl_default_keyrings_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_default_keyrings_str' at :1:15 source: probe begin { _stp_keyctl_default_keyrings_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_default_keyrings_str(0) } ^ funcname is _stp_keyctl_default_keyrings_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_keyctl_default_keyrings_str(long) testing _stp_keyctl_perm_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_keyctl_perm_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_perm_str' at :1:15 source: probe begin { _stp_keyctl_perm_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_perm_str(0) } ^ funcname is _stp_keyctl_perm_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_keyctl_perm_str(long) testing _finit_module_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _finit_module_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_finit_module_flags_str' at :1:15 source: probe begin { _finit_module_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _finit_module_flags_str(0) } ^ funcname is _finit_module_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _finit_module_flags_str(long) testing _prctl_argstr(long, long, long, long, long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _prctl_argstr(0, 0, 0, 0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_prctl_argstr' at :1:15 source: probe begin { _prctl_argstr(0, 0, 0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _prctl_argstr(0, 0, 0, 0, 0) } ^ funcname is _prctl_argstr PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _prctl_argstr(long, long, long, long, long) testing _stp_timerfd_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_timerfd_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_timerfd_flags_str' at :1:15 source: probe begin { _stp_timerfd_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_timerfd_flags_str(0) } ^ funcname is _stp_timerfd_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_timerfd_flags_str(long) testing _stp_splice_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_splice_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_splice_flags_str' at :1:15 source: probe begin { _stp_splice_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_splice_flags_str(0) } ^ funcname is _stp_splice_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_splice_flags_str(long) testing _stp_fallocate_mode_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_fallocate_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_fallocate_mode_str' at :1:15 source: probe begin { _stp_fallocate_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_fallocate_mode_str(0) } ^ funcname is _stp_fallocate_mode_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _stp_fallocate_mode_str(long) testing _stp_arch_prctl_func_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_arch_prctl_func_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_arch_prctl_func_str' at :1:15 source: probe begin { _stp_arch_prctl_func_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_arch_prctl_func_str(0) } ^ funcname is _stp_arch_prctl_func_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _stp_arch_prctl_func_str(long) testing _struct_timex_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_timex_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_timex_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5132:10 source: function _struct_timex_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_timex_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_timex_u(long) testing _struct_compat_timex_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_compat_timex_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_timex_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5163:10 source: function _struct_compat_timex_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_timex_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_compat_timex_u(long) testing _sync_file_range_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _sync_file_range_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sync_file_range_flags_str' at :1:15 source: probe begin { _sync_file_range_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sync_file_range_flags_str(0) } ^ funcname is _sync_file_range_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _sync_file_range_flags_str(long) testing _stp_siginfo_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_siginfo_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_siginfo_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5328:10 source: function _stp_siginfo_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_siginfo_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _stp_siginfo_u(long) testing _stp_compat_siginfo_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_compat_siginfo_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_siginfo_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5474:10 source: function _stp_compat_siginfo_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_siginfo_u PASS: unprivileged embedded C: privileged: --unprivileged: _stp_compat_siginfo_u(long) testing _struct_tms_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_tms_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_tms_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5621:10 source: function _struct_tms_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_tms_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_tms_u(long) testing _struct_sysinfo_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _struct_sysinfo_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_sysinfo_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5648:10 source: function _struct_sysinfo_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_sysinfo_u PASS: unprivileged embedded C: privileged: --unprivileged: _struct_sysinfo_u(long) testing _kexec_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _kexec_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kexec_flags_str' at :1:15 source: probe begin { _kexec_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kexec_flags_str(0) } ^ funcname is _kexec_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _kexec_flags_str(long) testing _kexec_file_load_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _kexec_file_load_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kexec_file_load_flags_str' at :1:15 source: probe begin { _kexec_file_load_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kexec_file_load_flags_str(0) } ^ funcname is _kexec_file_load_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _kexec_file_load_flags_str(long) testing _stp_sigaltstack_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _stp_sigaltstack_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_sigaltstack_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5741:10 source: function _stp_sigaltstack_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_sigaltstack_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _stp_sigaltstack_u(long) testing _stp_compat_sigaltstack_u(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _stp_compat_sigaltstack_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_sigaltstack_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5764:10 source: function _stp_compat_sigaltstack_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_sigaltstack_u PASS: unprivileged embedded C: privileged: --unprivileged: _stp_compat_sigaltstack_u(long) testing _renameat2_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _renameat2_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_renameat2_flags_str' at :1:15 source: probe begin { _renameat2_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _renameat2_flags_str(0) } ^ funcname is _renameat2_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _renameat2_flags_str(long) testing _fanotify_init_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _fanotify_init_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_init_flags_str' at :1:15 source: probe begin { _fanotify_init_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_init_flags_str(0) } ^ funcname is _fanotify_init_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _fanotify_init_flags_str(long) testing _fanotify_mark_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _fanotify_mark_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_mark_flags_str' at :1:15 source: probe begin { _fanotify_mark_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_mark_flags_str(0) } ^ funcname is _fanotify_mark_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _fanotify_mark_flags_str(long) testing _fanotify_mark_mask_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _fanotify_mark_mask_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_mark_mask_str' at :1:15 source: probe begin { _fanotify_mark_mask_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_mark_mask_str(0) } ^ funcname is _fanotify_mark_mask_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _fanotify_mark_mask_str(long) testing _perf_event_open_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _perf_event_open_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_perf_event_open_flags_str' at :1:15 source: probe begin { _perf_event_open_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _perf_event_open_flags_str(0) } ^ funcname is _perf_event_open_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _perf_event_open_flags_str(long) testing _kcmp_type_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _kcmp_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kcmp_type_str' at :1:15 source: probe begin { _kcmp_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kcmp_type_str(0) } ^ funcname is _kcmp_type_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _kcmp_type_str(long) testing _struct_sched_attr_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _struct_sched_attr_u(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_sched_attr_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5967:10 source: function _struct_sched_attr_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_sched_attr_u PASS: unprivileged embedded C: privileged: --privilege=stapusr: _struct_sched_attr_u(long) testing _seccomp_op_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _seccomp_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seccomp_op_str' at :1:15 source: probe begin { _seccomp_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seccomp_op_str(0) } ^ funcname is _seccomp_op_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _seccomp_op_str(long) testing _bpf_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _bpf_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_bpf_cmd_str' at :1:15 source: probe begin { _bpf_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _bpf_cmd_str(0) } ^ funcname is _bpf_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _bpf_cmd_str(long) testing _membarrier_cmd_str(long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _membarrier_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_membarrier_cmd_str' at :1:15 source: probe begin { _membarrier_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _membarrier_cmd_str(0) } ^ funcname is _membarrier_cmd_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _membarrier_cmd_str(long) testing _userfaultfd_flags_str (long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _userfaultfd_flags_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_userfaultfd_flags_str' at :1:15 source: probe begin { _userfaultfd_flags_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _userfaultfd_flags_str (0) } ^ funcname is _userfaultfd_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: _userfaultfd_flags_str (long) testing _preadv2_flags_str (long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _preadv2_flags_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_preadv2_flags_str' at :1:15 source: probe begin { _preadv2_flags_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _preadv2_flags_str (0) } ^ funcname is _preadv2_flags_str PASS: unprivileged embedded C: unprivileged: --unprivileged: _preadv2_flags_str (long) testing callers (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: callers (long) testing caller();no embedded C UNTESTED: unprivileged embedded C: no embedded C: caller() testing caller_addr ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: caller_addr () testing _caller_match (long, long, string, string, long);myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _caller_match (0, 0, "0", "0", 0) }} # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_caller_match' at :1:15 source: probe begin { _caller_match (0, 0, "0", "0", 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _caller_match (0, 0, "0", "0", 0) } ^ funcname is _caller_match PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _caller_match (long, long, string, string, long) testing env_var(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: env_var(string) testing stack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: stack (long) testing print_stack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_stack(string) testing sprint_stack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_stack(string) testing probefunc ();privileged UNTESTED: unprivileged embedded C: privileged: --unprivileged: probefunc () (rewritten pure) testing probemod ();privileged eval exec stap -p2 --unprivileged -e {probe begin { probemod () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'probemod' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:149:10 source: function probemod:string () %{ /* pure */ /* stable */ ^ Pass 2: analysis failed. [man error::pass2] funcname is probemod PASS: unprivileged embedded C: privileged: --unprivileged: probemod () testing modname (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { modname (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'modname' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:189:10 source: function modname:string (addr: long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is modname PASS: unprivileged embedded C: privileged: --privilege=stapusr: modname (long) testing symname (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { symname (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symname' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:227:10 source: function symname:string (addr: long) %{ /* pure */ /* pragma:symbols */ ^ Pass 2: analysis failed. [man error::pass2] funcname is symname PASS: unprivileged embedded C: privileged: --unprivileged: symname (long) testing symdata (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { symdata (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symdata' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:244:10 source: function symdata:string (addr: long) %{ /* pure */ /* pragma:symbols */ ^ Pass 2: analysis failed. [man error::pass2] funcname is symdata PASS: unprivileged embedded C: privileged: --privilege=stapusr: symdata (long) testing print_syms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_syms (string) testing sprint_syms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_syms (string) testing symfileline (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { symfileline (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symfileline' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:312:10 source: function symfileline:string (addr:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is symfileline PASS: unprivileged embedded C: privileged: --unprivileged: symfileline (long) testing symfile (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { symfile (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symfile' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:326:10 source: function symfile:string (addr:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is symfile PASS: unprivileged embedded C: privileged: --privilege=stapusr: symfile (long) testing symline (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { symline (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symline' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:340:10 source: function symline:string (addr:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is symline PASS: unprivileged embedded C: privileged: --unprivileged: symline (long) testing print_backtrace ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { print_backtrace () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'print_backtrace' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp:23:10 source: function print_backtrace () %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is print_backtrace PASS: unprivileged embedded C: privileged: --privilege=stapusr: print_backtrace () testing sprint_backtrace ();privileged eval exec stap -p2 --unprivileged -e {probe begin { sprint_backtrace () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sprint_backtrace' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp:43:10 source: function sprint_backtrace:string () %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is sprint_backtrace PASS: unprivileged embedded C: privileged: --unprivileged: sprint_backtrace () testing backtrace ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { backtrace () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'backtrace' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-unwind.stp:57:10 source: function backtrace:string () %{ /* pure */ /* stable */ /* pragma:unwind */ ^ Pass 2: analysis failed. [man error::pass2] funcname is backtrace PASS: unprivileged embedded C: privileged: --privilege=stapusr: backtrace () testing task_backtrace (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_backtrace (long) testing execname ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { execname () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'execname' at :1:15 source: probe begin { execname () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { execname () } ^ funcname is execname PASS: unprivileged embedded C: unprivileged: --unprivileged: execname () testing pid ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: pid () testing ns_pid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ns_pid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_pid' at :1:15 source: probe begin { ns_pid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_pid () } ^ funcname is ns_pid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ns_pid () testing tid ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: tid () testing ns_tid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { ns_tid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_tid' at :1:15 source: probe begin { ns_tid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_tid () } ^ funcname is ns_tid PASS: unprivileged embedded C: unprivileged: --unprivileged: ns_tid () testing ppid();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ppid() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ppid' at :1:15 source: probe begin { ppid() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ppid() } ^ funcname is ppid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ppid() testing ns_ppid();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { ns_ppid() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_ppid' at :1:15 source: probe begin { ns_ppid() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_ppid() } ^ funcname is ns_ppid PASS: unprivileged embedded C: unprivileged: --unprivileged: ns_ppid() testing pgrp ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { pgrp () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'pgrp' at :1:15 source: probe begin { pgrp () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { pgrp () } ^ funcname is pgrp PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: pgrp () testing ns_pgrp ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { ns_pgrp () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_pgrp' at :1:15 source: probe begin { ns_pgrp () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_pgrp () } ^ funcname is ns_pgrp PASS: unprivileged embedded C: unprivileged: --unprivileged: ns_pgrp () testing sid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { sid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sid' at :1:15 source: probe begin { sid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sid () } ^ funcname is sid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: sid () testing ns_sid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { ns_sid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_sid' at :1:15 source: probe begin { ns_sid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_sid () } ^ funcname is ns_sid PASS: unprivileged embedded C: unprivileged: --unprivileged: ns_sid () testing pexecname ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { pexecname () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'pexecname' at :1:15 source: probe begin { pexecname () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { pexecname () } ^ funcname is pexecname PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: pexecname () testing gid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { gid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'gid' at :1:15 source: probe begin { gid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { gid () } ^ funcname is gid PASS: unprivileged embedded C: unprivileged: --unprivileged: gid () testing ns_gid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ns_gid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_gid' at :1:15 source: probe begin { ns_gid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_gid () } ^ funcname is ns_gid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ns_gid () testing egid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { egid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'egid' at :1:15 source: probe begin { egid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { egid () } ^ funcname is egid PASS: unprivileged embedded C: unprivileged: --unprivileged: egid () testing ns_egid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ns_egid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_egid' at :1:15 source: probe begin { ns_egid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_egid () } ^ funcname is ns_egid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ns_egid () testing uid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { uid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'uid' at :1:15 source: probe begin { uid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { uid () } ^ funcname is uid PASS: unprivileged embedded C: unprivileged: --unprivileged: uid () testing ns_uid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ns_uid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_uid' at :1:15 source: probe begin { ns_uid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_uid () } ^ funcname is ns_uid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ns_uid () testing euid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { euid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'euid' at :1:15 source: probe begin { euid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { euid () } ^ funcname is euid PASS: unprivileged embedded C: unprivileged: --unprivileged: euid () testing ns_euid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ns_euid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_euid' at :1:15 source: probe begin { ns_euid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_euid () } ^ funcname is ns_euid PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: ns_euid () testing is_myproc ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { is_myproc () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'is_myproc' at :1:15 source: probe begin { is_myproc () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { is_myproc () } ^ funcname is is_myproc PASS: unprivileged embedded C: unprivileged: --unprivileged: is_myproc () testing cpuid ();privileged UNTESTED: unprivileged embedded C: privileged: --privilege=stapusr: cpuid () (deprecated) testing cpu ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { cpu () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cpu' at :1:15 source: probe begin { cpu () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cpu () } ^ funcname is cpu PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: cpu () testing registers_valid ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { registers_valid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'registers_valid' at :1:15 source: probe begin { registers_valid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { registers_valid () } ^ funcname is registers_valid PASS: unprivileged embedded C: unprivileged: --unprivileged: registers_valid () testing user_mode ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { user_mode () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'user_mode' at :1:15 source: probe begin { user_mode () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { user_mode () } ^ funcname is user_mode PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: user_mode () testing is_return ();privileged eval exec stap -p2 --unprivileged -e {probe begin { is_return () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'is_return' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:357:10 source: function is_return:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is is_return PASS: unprivileged embedded C: privileged: --unprivileged: is_return () testing target ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: target () testing module_name ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { module_name () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'module_name' at :1:15 source: probe begin { module_name () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { module_name () } ^ funcname is module_name PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: module_name () testing module_size();privileged eval exec stap -p2 --unprivileged -e {probe begin { module_size() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'module_size' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:403:10 source: function module_size:string() %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is module_size PASS: unprivileged embedded C: privileged: --unprivileged: module_size() testing stp_pid ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { stp_pid () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'stp_pid' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:430:10 source: function stp_pid:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is stp_pid PASS: unprivileged embedded C: privileged: --privilege=stapusr: stp_pid () testing remote_id ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: remote_id () testing remote_uri ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { remote_uri () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'remote_uri' at :1:15 source: probe begin { remote_uri () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { remote_uri () } ^ funcname is remote_uri PASS: unprivileged embedded C: unprivileged: --unprivileged: remote_uri () testing stack_size ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { stack_size () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'stack_size' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:470:10 source: function stack_size:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is stack_size PASS: unprivileged embedded C: privileged: --privilege=stapusr: stack_size () testing stack_used ();privileged eval exec stap -p2 --unprivileged -e {probe begin { stack_used () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'stack_used' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:481:10 source: function stack_used:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is stack_used PASS: unprivileged embedded C: privileged: --unprivileged: stack_used () testing stack_unused ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { stack_unused () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'stack_unused' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:493:10 source: function stack_unused:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is stack_unused PASS: unprivileged embedded C: privileged: --privilege=stapusr: stack_unused () testing addr ();privileged eval exec stap -p2 --unprivileged -e {probe begin { addr () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'addr' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:507:10 source: function addr:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is addr PASS: unprivileged embedded C: privileged: --unprivileged: addr () testing uaddr ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { uaddr () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'uaddr' at :1:15 source: probe begin { uaddr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { uaddr () } ^ funcname is uaddr PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: uaddr () testing cmdline_args(long, long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_args(long, long, string) testing cmdline_arg(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_arg(long) testing cmdline_str();no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_str() testing set_kernel_string (long, string);privileged eval exec stap -p2 --unprivileged -e {probe begin { set_kernel_string (0, "0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:18:10 source: function set_kernel_string (addr:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string PASS: unprivileged embedded C: privileged: --unprivileged: set_kernel_string (long, string) testing set_kernel_string_n (long, long, string);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { set_kernel_string_n (0, 0, "0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_string_n' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:38:10 source: function set_kernel_string_n (addr:long, n:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string_n PASS: unprivileged embedded C: privileged: --privilege=stapusr: set_kernel_string_n (long, long, string) testing set_kernel_long (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { set_kernel_long (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:58:10 source: function set_kernel_long (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_long PASS: unprivileged embedded C: privileged: --unprivileged: set_kernel_long (long, long) testing set_kernel_int (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { set_kernel_int (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:77:10 source: function set_kernel_int (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_int PASS: unprivileged embedded C: privileged: --privilege=stapusr: set_kernel_int (long, long) testing set_kernel_short (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { set_kernel_short (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:96:10 source: function set_kernel_short (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_short PASS: unprivileged embedded C: privileged: --unprivileged: set_kernel_short (long, long) testing set_kernel_char (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { set_kernel_char (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:115:10 source: function set_kernel_char (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_char PASS: unprivileged embedded C: privileged: --privilege=stapusr: set_kernel_char (long, long) testing set_kernel_pointer (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { set_kernel_pointer (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_pointer' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:134:10 source: function set_kernel_pointer (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_pointer PASS: unprivileged embedded C: privileged: --unprivileged: set_kernel_pointer (long, long) testing kernel_string (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_string (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:18:10 source: function kernel_string:string (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_string (long) testing kernel_string (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string (long, string) testing kernel_string2 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2 (long, string) testing kernel_string_quoted (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_string_quoted (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string_quoted' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:63:10 source: function kernel_string_quoted:string (addr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string_quoted PASS: unprivileged embedded C: privileged: --unprivileged: kernel_string_quoted (long) testing kernel_string_n (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_string_n (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string_n' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:82:10 source: function kernel_string_n:string (addr:long, n:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string_n PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_string_n (long, long) testing kernel_string_utf32 (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_string_utf32 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string_utf32' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:102:10 source: function kernel_string_utf32:string (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string_utf32 PASS: unprivileged embedded C: privileged: --unprivileged: kernel_string_utf32 (long) testing kernel_string_utf32 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_utf32 (long, string) testing kernel_string2_utf32 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2_utf32 (long, string) testing kernel_string_quoted_utf32 (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_quoted_utf32 (long) testing kernel_string_utf16 (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_string_utf16 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string_utf16' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:168:10 source: function kernel_string_utf16:string (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string_utf16 PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_string_utf16 (long) testing kernel_string_utf16 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_utf16 (long, string) testing kernel_string2_utf16 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2_utf16 (long, string) testing kernel_string_quoted_utf16 (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_quoted_utf16 (long) testing kernel_long (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_long (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 source: function kernel_long:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_long PASS: unprivileged embedded C: privileged: --unprivileged: kernel_long (long) testing kernel_int (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_int (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:265:10 source: function kernel_int:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_int PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_int (long) testing kernel_short (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_short (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:282:10 source: function kernel_short:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_short PASS: unprivileged embedded C: privileged: --unprivileged: kernel_short (long) testing kernel_char (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_char (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:299:10 source: function kernel_char:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_char PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_char (long) testing kernel_pointer (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_pointer (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_pointer' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:317:10 source: function kernel_pointer:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_pointer PASS: unprivileged embedded C: privileged: --unprivileged: kernel_pointer (long) testing kernel_buffer_quoted (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_buffer_quoted (0, 0) }} semantic error: embedded expression may not be used when --privilege=stapusr is specified: embedded-code at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:342:44 source: return kernel_buffer_quoted(addr, inlen, %{ /* pure */ MAXSTRINGLEN%}) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_buffer_quoted PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_buffer_quoted (long, long) testing kernel_buffer_quoted (long, long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { kernel_buffer_quoted (0, 0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_buffer_quoted' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:360:10 source: function kernel_buffer_quoted:string (addr:long, inlen:long, outlen:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_buffer_quoted PASS: unprivileged embedded C: privileged: --unprivileged: kernel_buffer_quoted (long, long, long) testing kernel_buffer_quoted_error (long, long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { kernel_buffer_quoted_error (0, 0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_buffer_quoted_error' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:383:10 source: function kernel_buffer_quoted_error:string (addr:long, inlen:long, outlen:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_buffer_quoted_error PASS: unprivileged embedded C: privileged: --privilege=stapusr: kernel_buffer_quoted_error (long, long, long) testing ctime(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { ctime(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ctime' at /root/systemtap_write/install/share/systemtap/tapset/linux/ctime.stp:46:10 source: function ctime:string(epochsecs:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is ctime PASS: unprivileged embedded C: privileged: --unprivileged: ctime(long) testing ctime();no embedded C UNTESTED: unprivileged embedded C: no embedded C: ctime() testing d_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: d_name(long) testing inode_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inode_name(long) testing inode_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inode_path(long) testing reverse_path_walk(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: reverse_path_walk(long) testing real_mount(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: real_mount(long) testing task_dentry_path(long,long,long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_dentry_path(long,long,long) testing d_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: d_path(long) testing fullpath_struct_nameidata(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_nameidata(long) testing fullpath_struct_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_path(long) testing fullpath_struct_file(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_file(long, long) testing MAJOR(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { MAJOR(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'MAJOR' at /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp:18:10 source: function MAJOR:long(dev:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is MAJOR PASS: unprivileged embedded C: privileged: --privilege=stapusr: MAJOR(long) testing MINOR(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { MINOR(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'MINOR' at /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp:29:10 source: function MINOR:long(dev:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is MINOR PASS: unprivileged embedded C: privileged: --unprivileged: MINOR(long) testing MKDEV(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { MKDEV(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'MKDEV' at /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp:41:10 source: function MKDEV:long(major:long, minor:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is MKDEV PASS: unprivileged embedded C: privileged: --privilege=stapusr: MKDEV(long, long) testing usrdev2kerndev(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { usrdev2kerndev(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'usrdev2kerndev' at /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp:51:10 source: function usrdev2kerndev:long(dev:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is usrdev2kerndev PASS: unprivileged embedded C: privileged: --unprivileged: usrdev2kerndev(long) testing bdevname(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bdevname(long) testing big_endian2 (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { big_endian2 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'big_endian2' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:1:10 source: function big_endian2:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is big_endian2 PASS: unprivileged embedded C: privileged: --privilege=stapusr: big_endian2 (long) testing big_endian4 (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { big_endian4 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'big_endian4' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:5:10 source: function big_endian4:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is big_endian4 PASS: unprivileged embedded C: privileged: --unprivileged: big_endian4 (long) testing big_endian8 (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { big_endian8 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'big_endian8' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:9:10 source: function big_endian8:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is big_endian8 PASS: unprivileged embedded C: privileged: --privilege=stapusr: big_endian8 (long) testing little_endian2 (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { little_endian2 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'little_endian2' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:13:10 source: function little_endian2:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is little_endian2 PASS: unprivileged embedded C: privileged: --unprivileged: little_endian2 (long) testing little_endian4 (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { little_endian4 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'little_endian4' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:17:10 source: function little_endian4:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is little_endian4 PASS: unprivileged embedded C: privileged: --privilege=stapusr: little_endian4 (long) testing little_endian8 (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { little_endian8 (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'little_endian8' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:21:10 source: function little_endian8:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is little_endian8 PASS: unprivileged embedded C: privileged: --unprivileged: little_endian8 (long) testing mdelay(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { mdelay(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'mdelay' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp:30:10 source: function mdelay(ms:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is mdelay PASS: unprivileged embedded C: privileged: --privilege=stapusr: mdelay(long) testing udelay(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { udelay(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'udelay' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp:42:10 source: function udelay(us:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is udelay PASS: unprivileged embedded C: privileged: --unprivileged: udelay(long) testing raise(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { raise(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'raise' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-signal.stp:25:10 source: function raise(signo:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is raise PASS: unprivileged embedded C: privileged: --privilege=stapusr: raise(long) testing htonll (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { htonll (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'htonll' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:13:10 source: function htonll:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be64 ((u64) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is htonll PASS: unprivileged embedded C: privileged: --unprivileged: htonll (long) testing htonl (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { htonl (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'htonl' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:19:10 source: function htonl:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be32 ((u32) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is htonl PASS: unprivileged embedded C: privileged: --privilege=stapusr: htonl (long) testing htons (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { htons (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'htons' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:25:10 source: function htons:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be16 ((u16) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is htons PASS: unprivileged embedded C: privileged: --unprivileged: htons (long) testing ntohll (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ntohll (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ntohll' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:31:10 source: function ntohll:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) be64_to_cpu ((u64) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is ntohll PASS: unprivileged embedded C: privileged: --privilege=stapusr: ntohll (long) testing ntohl (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { ntohl (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ntohl' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:37:10 source: function ntohl:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) be32_to_cpu ((u32) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is ntohl PASS: unprivileged embedded C: privileged: --unprivileged: ntohl (long) testing ntohs (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ntohs (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ntohs' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:43:10 source: function ntohs:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) be16_to_cpu ((u16) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is ntohs PASS: unprivileged embedded C: privileged: --privilege=stapusr: ntohs (long) testing inet_get_local_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inet_get_local_port(long) testing inet_get_ip_source(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inet_get_ip_source(long) testing daddr_to_string(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: daddr_to_string(long) testing bio_rw_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bio_rw_num(long) testing bio_rw_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bio_rw_str(long) testing disk_major_from_request(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { disk_major_from_request(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'disk_major_from_request' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp:360:10 source: function disk_major_from_request:long(var_q:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is disk_major_from_request PASS: unprivileged embedded C: privileged: --unprivileged: disk_major_from_request(long) testing disk_minor_from_request(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { disk_minor_from_request(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'disk_minor_from_request' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp:382:10 source: function disk_minor_from_request:long(var_q:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is disk_minor_from_request PASS: unprivileged embedded C: privileged: --privilege=stapusr: disk_minor_from_request(long) testing format_ipaddr (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { format_ipaddr (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'format_ipaddr' at /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp:28:10 source: function format_ipaddr:string (addr:long, family:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is format_ipaddr PASS: unprivileged embedded C: privileged: --unprivileged: format_ipaddr (long, long) testing ip_ntop (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ip_ntop (long) testing __ip_sock_saddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_saddr (long) testing __ip_sock_daddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_daddr (long) testing __ip_sock_family (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_family (long) testing __get_skb_iphdr(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { __get_skb_iphdr(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '__get_skb_iphdr' at /root/systemtap_write/install/share/systemtap/tapset/linux/ip.stp:125:10 source: function __get_skb_iphdr:long(skb:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is __get_skb_iphdr PASS: unprivileged embedded C: privileged: --privilege=stapusr: __get_skb_iphdr(long) testing __ip_skb_proto (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_proto (long) testing __ip_skb_saddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_saddr (long) testing __ip_skb_daddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_daddr (long) testing ipmib_filter_key (long, long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_filter_key (long, long, long) testing ipmib_remote_addr (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_remote_addr (long, long) testing ipmib_local_addr (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_local_addr (long, long) testing ipmib_tcp_remote_port (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_tcp_remote_port (long, long) testing ipmib_tcp_local_port (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_tcp_local_port (long, long) testing ipmib_get_proto (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_get_proto (long) testing _input_route_type (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _input_route_type (long) testing json_set_prefix(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_set_prefix(string) testing json_add_numeric_metric(string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_numeric_metric(string, string, string) testing json_add_string_metric(string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_string_metric(string, string) testing json_add_array(string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array(string, string) testing json_add_array_numeric_metric(string, string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array_numeric_metric(string, string, string, string) testing json_add_array_string_metric(string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array_string_metric(string, string, string) testing _get_kretprobe_long(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _get_kretprobe_long(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_get_kretprobe_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp:30:10 source: function _get_kretprobe_long:long(i:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is _get_kretprobe_long PASS: unprivileged embedded C: privileged: --unprivileged: _get_kretprobe_long(long) testing _set_kretprobe_long(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _set_kretprobe_long(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_set_kretprobe_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp:38:10 source: function _set_kretprobe_long(i:long, value:long) %{ /* impure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is _set_kretprobe_long PASS: unprivileged embedded C: privileged: --privilege=stapusr: _set_kretprobe_long(long, long) testing _get_kretprobe_string(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { _get_kretprobe_string(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_get_kretprobe_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp:47:10 source: function _get_kretprobe_string:string(i:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is _get_kretprobe_string PASS: unprivileged embedded C: privileged: --unprivileged: _get_kretprobe_string(long) testing _set_kretprobe_string(long, string);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _set_kretprobe_string(0, "0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_set_kretprobe_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp:56:10 source: function _set_kretprobe_string(i:long, value:string) %{ /* impure */ /* unmodified-fnargs */ ^ Pass 2: analysis failed. [man error::pass2] funcname is _set_kretprobe_string PASS: unprivileged embedded C: privileged: --privilege=stapusr: _set_kretprobe_string(long, string) testing linuxmib_filter_key (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: linuxmib_filter_key (long, long) testing get_loadavg_index (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { get_loadavg_index (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'get_loadavg_index' at /root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp:32:10 source: function get_loadavg_index:long (indx:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is get_loadavg_index PASS: unprivileged embedded C: privileged: --unprivileged: get_loadavg_index (long) testing sprint_loadavg ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { sprint_loadavg () }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sprint_loadavg' at /root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp:50:10 source: function sprint_loadavg:string () %{ /* pure */ /* stable */ ^ Pass 2: analysis failed. [man error::pass2] funcname is sprint_loadavg PASS: unprivileged embedded C: privileged: --privilege=stapusr: sprint_loadavg () testing ftrace (string);privileged eval exec stap -p2 --unprivileged -e {probe begin { ftrace ("0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ftrace' at /root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp:19:10 source: function ftrace (msg:string) %{ /* unmodified-fnargs */ ^ Pass 2: analysis failed. [man error::pass2] funcname is ftrace PASS: unprivileged embedded C: privileged: --unprivileged: ftrace (string) testing printk (long,string);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { printk (0,"0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'printk' at /root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp:44:10 source: function printk (level:long,msg:string) %{ /* guru */ /* unmodified-fnargs */ ^ Pass 2: analysis failed. [man error::pass2] funcname is printk PASS: unprivileged embedded C: privileged: --privilege=stapusr: printk (long,string) testing vm_fault_contains (long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { vm_fault_contains (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'vm_fault_contains' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:27:10 source: function vm_fault_contains:long (value:long, test:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is vm_fault_contains PASS: unprivileged embedded C: privileged: --unprivileged: vm_fault_contains (long, long) testing addr_to_node(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { addr_to_node(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'addr_to_node' at /root/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:102:10 source: function addr_to_node:long(addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is addr_to_node PASS: unprivileged embedded C: privileged: --privilege=stapusr: addr_to_node(long) testing get_netdev_name (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_netdev_name (long) testing __nfs_version (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __nfs_version (long) testing __file_inode (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_inode (long) testing __iov_length (long, long, long, long);privileged eval exec stap -p2 --unprivileged -e {probe begin { __iov_length (0, 0, 0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '__iov_length' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfs.stp:187:10 source: function __iov_length:long (iov:long, nr_segs:long, check_flag:long, access_flags:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is __iov_length PASS: unprivileged embedded C: privileged: --unprivileged: __iov_length (long, long, long, long) testing AF_INET();no embedded C UNTESTED: unprivileged embedded C: no embedded C: AF_INET() testing AF_INET6();no embedded C UNTESTED: unprivileged embedded C: no embedded C: AF_INET6() testing NFS_I(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_I(long) testing NFS_SERVER(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_SERVER(long) testing stap_NFS_CLIENT(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: stap_NFS_CLIENT(long) testing NFS_PROTO(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_PROTO(long) testing get_ip_from_client(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { get_ip_from_client(0) }} # global embedded code %{ /* For AF_INET */ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'get_ip_from_client' at :1:15 source: probe begin { get_ip_from_client(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_ip_from_client(0) } ^ funcname is get_ip_from_client PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: get_ip_from_client(long) testing get_prot_from_client(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_prot_from_client(long) testing get_ip(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_ip(long) testing get_prot(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_prot(long) testing __getfh_inode(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __getfh_inode(long) testing nfs3_cmode(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { nfs3_cmode(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'nfs3_cmode' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp:51:10 source: function nfs3_cmode:string(cmode:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is nfs3_cmode PASS: unprivileged embedded C: privileged: --unprivileged: nfs3_cmode(long) testing nfs4_ctype(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { nfs4_ctype(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'nfs4_ctype' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp:71:10 source: function nfs4_ctype:string(cmode:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is nfs4_ctype PASS: unprivileged embedded C: privileged: --privilege=stapusr: nfs4_ctype(long) testing ftype(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { ftype(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'ftype' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp:112:10 source: function ftype:string(type:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is ftype PASS: unprivileged embedded C: privileged: --unprivileged: ftype(long) testing nfsderror(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { nfsderror(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'nfsderror' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfsderrno.stp:125:10 source: function nfsderror:string(err:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is nfsderror PASS: unprivileged embedded C: privileged: --privilege=stapusr: nfsderror(long) testing panic(string);privileged eval exec stap -p2 --unprivileged -e {probe begin { panic("0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'panic' at /root/systemtap_write/install/share/systemtap/tapset/linux/panic.stp:28:10 source: function panic(msg:string) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is panic PASS: unprivileged embedded C: privileged: --unprivileged: panic(string) testing proc_mem_size ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size () testing proc_mem_size (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size (long) testing proc_mem_size_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size_pid (long) testing proc_mem_rss ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss () testing proc_mem_rss (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss (long) testing proc_mem_rss_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss_pid (long) testing proc_mem_shr ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr () testing proc_mem_shr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr (long) testing proc_mem_shr_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr_pid (long) testing proc_mem_txt ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt () testing proc_mem_txt (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt (long) testing proc_mem_txt_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt_pid (long) testing proc_mem_data ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data () testing proc_mem_data (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data (long) testing proc_mem_data_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data_pid (long) testing mem_page_size ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: mem_page_size () testing bytes_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bytes_to_string (long) testing pages_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pages_to_string (long) testing proc_mem_string ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string () testing proc_mem_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string (long) testing proc_mem_string_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string_pid (long) testing pstrace(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pstrace(long) testing rcu_dereference (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { rcu_dereference (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'rcu_dereference' at /root/systemtap_write/install/share/systemtap/tapset/linux/rcu.stp:13:10 source: function rcu_dereference:long (protected_pointer:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is rcu_dereference PASS: unprivileged embedded C: privileged: --privilege=stapusr: rcu_dereference (long) testing rlimit_from_str (string);privileged eval exec stap -p2 --unprivileged -e {probe begin { rlimit_from_str ("0") }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'rlimit_from_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/rlimit.stp:14:10 source: function rlimit_from_str:long (lim_str:string) ^ Pass 2: analysis failed. [man error::pass2] funcname is rlimit_from_str PASS: unprivileged embedded C: privileged: --unprivileged: rlimit_from_str (string) testing xid_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: xid_from_clnt(long) testing prog_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: prog_from_clnt(long) testing vers_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: vers_from_clnt(long) testing prot_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: prot_from_clnt(long) testing port_from_xprt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: port_from_xprt(long) testing port_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: port_from_clnt(long) testing clones_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: clones_from_clnt(long) testing tasks_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tasks_from_clnt(long) testing proc_from_msg(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_from_msg(long) testing vers_from_prog(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: vers_from_prog(long, long) testing addr_from_rqst(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: addr_from_rqst(long) testing addr_from_rqst_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: addr_from_rqst_str(long) testing container_of_task_rcu(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: container_of_task_rcu(long) testing describe_data_direction(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { describe_data_direction(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'describe_data_direction' at /root/systemtap_write/install/share/systemtap/tapset/linux/scsi.stp:21:10 source: function describe_data_direction:string(state:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is describe_data_direction PASS: unprivileged embedded C: privileged: --privilege=stapusr: describe_data_direction(long) testing describe_device_state(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { describe_device_state(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'describe_device_state' at /root/systemtap_write/install/share/systemtap/tapset/linux/scsi.stp:32:10 source: function describe_device_state:string(state:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is describe_device_state PASS: unprivileged embedded C: privileged: --unprivileged: describe_device_state(long) testing timer_pending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: timer_pending(long) testing scsi_timer_pending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: scsi_timer_pending(long) testing get_devstate_from_req(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_devstate_from_req(long) testing get_sigaction_mask(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sigaction_mask(long) testing get_sigset(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { get_sigset(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'get_sigset' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:790:10 source: function get_sigset:long(sigset:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is get_sigset PASS: unprivileged embedded C: privileged: --privilege=stapusr: get_sigset(long) testing get_sa_flags (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sa_flags (long) testing get_sa_handler (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sa_handler (long) testing sigset_mask_str (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { sigset_mask_str (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sigset_mask_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:876:10 source: function sigset_mask_str:string (mask:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is sigset_mask_str PASS: unprivileged embedded C: privileged: --unprivileged: sigset_mask_str (long) testing is_sig_blocked (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { is_sig_blocked (0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'is_sig_blocked' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:902:10 source: function is_sig_blocked:long (task:long, sig:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is is_sig_blocked PASS: unprivileged embedded C: privileged: --privilege=stapusr: is_sig_blocked (long, long) testing sa_flags_str (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { sa_flags_str (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sa_flags_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/signal.stp:917:10 source: function sa_flags_str:string (sa_flags:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is sa_flags_str PASS: unprivileged embedded C: privileged: --unprivileged: sa_flags_str (long) testing sa_handler_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sa_handler_str(long) testing signal_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: signal_str(long) testing sock_prot_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_prot_num2str(long) testing sock_prot_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_prot_str2num(string) testing sock_fam_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_fam_num2str(long) testing sock_fam_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_fam_str2num(string) testing sock_state_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_state_num2str(long) testing sock_state_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_state_str2num(string) testing sock_type_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_type_num2str(long) testing sock_type_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_type_str2num(string) testing sock_flags_num2str(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { sock_flags_num2str(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sock_flags_num2str' at /root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp:814:10 source: function sock_flags_num2str:string(flags:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is sock_flags_num2str PASS: unprivileged embedded C: privileged: --privilege=stapusr: sock_flags_num2str(long) testing msg_flags_num2str(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { msg_flags_num2str(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'msg_flags_num2str' at /root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp:847:10 source: function msg_flags_num2str:string(flags:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is msg_flags_num2str PASS: unprivileged embedded C: privileged: --unprivileged: msg_flags_num2str(long) testing _success_check(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _success_check(long) testing _sock_prot_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_prot_num(long) testing _sock_fam_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_fam_num(long) testing _sock_state_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_state_num(long) testing _sock_type_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_type_num(long) testing _sock_flags_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_flags_num(long) testing syscall_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: syscall_name(long) testing syscall_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: syscall_num(long) testing target_set_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: target_set_pid (long) testing target_set_report ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: target_set_report () testing task_current ();privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_current () }} semantic error: embedded expression may not be used when --privilege=stapusr is specified: embedded-code at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:34:20 source: return & @task(%{ /* pure */ (unsigned long)current %}) ^ in expansion of macro: operator '@ptr' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stpm:2:11 source: @cast(@ptr, "task_struct", "kernel") ^ in expansion of macro: operator '@task' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:34:14 source: return & @task(%{ /* pure */ (unsigned long)current %}) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_current PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_current () testing task_rlimit (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit (long, string) testing task_rlimit_cpu (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_cpu (long) testing task_rlimit_fsize (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_fsize (long) testing task_rlimit_data (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_data (long) testing task_rlimit_stack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_stack (long) testing task_rlimit_core (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_core (long) testing task_rlimit_rss (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rss (long) testing task_rlimit_nproc (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nproc (long) testing task_rlimit_nofile(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nofile(long) testing task_rlimit_memlock(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_memlock(long) testing task_rlimit_as(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_as(long) testing task_rlimit_locks(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_locks(long) testing task_rlimit_sigpending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_sigpending(long) testing task_rlimit_msgqueue(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_msgqueue(long) testing task_rlimit_nice(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nice(long) testing task_rlimit_rtprio(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rtprio(long) testing task_rlimit_rttime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rttime(long) testing task_parent(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_parent(long) testing task_state (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_state (long) testing task_execname (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_execname (long) testing task_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_pid (long) testing task_ns_pid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_pid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_pid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:224:10 source: function task_ns_pid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_pid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_pid (long) testing pid2task (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { pid2task (0) }} semantic error: embedded expression may not be used when --privilege=stapusr is specified: embedded-code at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:248:20 source: return & @task(%{ /* pure */ ({ ^ in expansion of macro: operator '@ptr' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stpm:2:11 source: @cast(@ptr, "task_struct", "kernel") ^ in expansion of macro: operator '@task' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:248:14 source: return & @task(%{ /* pure */ ({ ^ Pass 2: analysis failed. [man error::pass2] funcname is pid2task PASS: unprivileged embedded C: privileged: --privilege=stapusr: pid2task (long) testing pid2execname (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pid2execname (long) testing task_tid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_tid (long) testing task_ns_tid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_tid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_tid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:303:10 source: function task_ns_tid:long (task:long)%{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_tid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_tid (long) testing task_gid (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_gid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_gid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:326:10 source: function task_gid:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_gid PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_gid (long) testing task_ns_gid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_gid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_gid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:365:10 source: function task_ns_gid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_gid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_gid (long) testing task_egid (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_egid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_egid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:388:10 source: function task_egid:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_egid PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_egid (long) testing task_ns_egid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_egid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_egid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:426:10 source: function task_ns_egid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_egid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_egid (long) testing task_uid (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_uid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_uid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:449:10 source: function task_uid:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_uid PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_uid (long) testing task_ns_uid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_uid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_uid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:482:10 source: function task_ns_uid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_uid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_uid (long) testing task_euid (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_euid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_euid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:505:10 source: function task_euid:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_euid PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_euid (long) testing task_ns_euid (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_ns_euid (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_euid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:538:10 source: function task_ns_euid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_euid PASS: unprivileged embedded C: privileged: --unprivileged: task_ns_euid (long) testing task_prio (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_prio (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_prio' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:562:10 source: function task_prio:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_prio PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_prio (long) testing task_nice (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_nice (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_nice' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:576:10 source: function task_nice:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_nice PASS: unprivileged embedded C: privileged: --unprivileged: task_nice (long) testing task_cpu (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_cpu (long) testing task_open_file_handles (long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_open_file_handles (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_open_file_handles' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:602:10 source: function task_open_file_handles:long (task:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_open_file_handles PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_open_file_handles (long) testing task_max_file_handles (long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_max_file_handles (0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_max_file_handles' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:642:10 source: function task_max_file_handles:long (task:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_max_file_handles PASS: unprivileged embedded C: privileged: --unprivileged: task_max_file_handles (long) testing task_fd_lookup(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_fd_lookup(0, 0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_fd_lookup' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:676:10 source: function task_fd_lookup:long(task:long, fd:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_fd_lookup PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_fd_lookup(long, long) testing task_cwd_path(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { task_cwd_path(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_cwd_path' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:728:10 source: function task_cwd_path:long(task:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_cwd_path PASS: unprivileged embedded C: privileged: --unprivileged: task_cwd_path(long) testing task_exe_file(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { task_exe_file(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_exe_file' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:781:10 source: function task_exe_file:long(task:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_exe_file PASS: unprivileged embedded C: privileged: --privilege=stapusr: task_exe_file(long) testing task_ancestry (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_ancestry (long, long) testing task_utime ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime () testing task_utime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime(long) testing task_utime_tid(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime_tid(long) testing task_stime ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime () testing task_stime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime(long) testing task_stime_tid(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime_tid(long) testing task_start_time (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_start_time (long) testing cputime_to_msecs (long);unprivileged eval exec stap -p2 --unprivileged -e {probe begin { cputime_to_msecs (0) }} # global embedded code %{ #include /* includes asm/cputime.h */ #include /* Kernels since 2.6.37 generally have cputime_to_usecs, but not msecs. * (ref: kernel commit d57af9b2142f31a39dcfdeb30776baadfc802827) * Yet note some kernels (RHEL6) may already have both... */ #if defined(cputime_to_usecs) #if !defined(cputime_to_msecs) /* On some kernels (android 3.0 kernels), the cputime_to_usecs() macro * definition inadvertently had a semicolon on the end. The following * should handle versions of that macro with and without the extra * semi-colon. */ #define cputime_to_msecs(__ct) \ _stp_div64(NULL, ({cputime_to_usecs(__ct);}), 1000ULL) #endif /* Kernels before 2.6.37 have cputime_to_msecs, but not usecs. */ #elif defined(cputime_to_msecs) #define cputime_to_usecs(__ct) (cputime_to_msecs(__ct) * 1000ULL) /* RHEL4 (2.6.9) kernels have neither, but it's just jiffies anyway. */ #else #define cputime_to_msecs(__ct) jiffies_to_msecs(__ct) #define cputime_to_usecs(__ct) jiffies_to_usecs(__ct) #endif %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cputime_to_msecs' at :1:15 source: probe begin { cputime_to_msecs (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cputime_to_msecs (0) } ^ funcname is cputime_to_msecs PASS: unprivileged embedded C: unprivileged: --unprivileged: cputime_to_msecs (long) testing cputime_to_usecs (long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { cputime_to_usecs (0) }} # global embedded code %{ #include /* includes asm/cputime.h */ #include /* Kernels since 2.6.37 generally have cputime_to_usecs, but not msecs. * (ref: kernel commit d57af9b2142f31a39dcfdeb30776baadfc802827) * Yet note some kernels (RHEL6) may already have both... */ #if defined(cputime_to_usecs) #if !defined(cputime_to_msecs) /* On some kernels (android 3.0 kernels), the cputime_to_usecs() macro * definition inadvertently had a semicolon on the end. The following * should handle versions of that macro with and without the extra * semi-colon. */ #define cputime_to_msecs(__ct) \ _stp_div64(NULL, ({cputime_to_usecs(__ct);}), 1000ULL) #endif /* Kernels before 2.6.37 have cputime_to_msecs, but not usecs. */ #elif defined(cputime_to_msecs) #define cputime_to_usecs(__ct) (cputime_to_msecs(__ct) * 1000ULL) /* RHEL4 (2.6.9) kernels have neither, but it's just jiffies anyway. */ #else #define cputime_to_msecs(__ct) jiffies_to_msecs(__ct) #define cputime_to_usecs(__ct) jiffies_to_usecs(__ct) #endif %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cputime_to_usecs' at :1:15 source: probe begin { cputime_to_usecs (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cputime_to_usecs (0) } ^ funcname is cputime_to_usecs PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: cputime_to_usecs (long) testing msecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: msecs_to_string (long) testing usecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: usecs_to_string (long) testing nsecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: nsecs_to_string (long) testing cputime_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cputime_to_string (long) testing task_time_string ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_time_string () testing task_time_string_tid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_time_string_tid (long) testing tcp_get_info_rto(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { tcp_get_info_rto(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_get_info_rto' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:25:10 source: function tcp_get_info_rto:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_get_info_rto PASS: unprivileged embedded C: privileged: --unprivileged: tcp_get_info_rto(long) testing tcp_get_info_snd_cwnd(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { tcp_get_info_snd_cwnd(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_get_info_snd_cwnd' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:42:10 source: function tcp_get_info_snd_cwnd:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_get_info_snd_cwnd PASS: unprivileged embedded C: privileged: --privilege=stapusr: tcp_get_info_snd_cwnd(long) testing tcp_ts_get_info_state(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { tcp_ts_get_info_state(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_ts_get_info_state' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:70:10 source: function tcp_ts_get_info_state:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_ts_get_info_state PASS: unprivileged embedded C: privileged: --unprivileged: tcp_ts_get_info_state(long) testing __tcp_sock_dport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_sock_dport (long) testing __get_skb_tcphdr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_skb_tcphdr(long) testing __tcp_skb_urg (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_urg (long) testing __tcp_skb_ack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_ack (long) testing __tcp_skb_psh (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_psh (long) testing __tcp_skb_rst (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_rst (long) testing __tcp_skb_syn (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_syn (long) testing __tcp_skb_fin (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_fin (long) testing __tcp_skb_sport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_sport (long) testing __tcp_skb_dport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_dport (long) testing __tcp_sock_sport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_sock_sport (long) testing tcp_sockstate_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_sockstate_str (long) testing tcp_ts_get_info_snd_ssthresh(long);privileged eval exec stap -p2 --privilege=stapusr -e {probe begin { tcp_ts_get_info_snd_ssthresh(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_ts_get_info_snd_ssthresh' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:191:10 source: function tcp_ts_get_info_snd_ssthresh:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_ts_get_info_snd_ssthresh PASS: unprivileged embedded C: privileged: --privilege=stapusr: tcp_ts_get_info_snd_ssthresh(long) testing tcp_ts_get_info_rcv_mss(long);privileged eval exec stap -p2 --unprivileged -e {probe begin { tcp_ts_get_info_rcv_mss(0) }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_ts_get_info_rcv_mss' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:205:10 source: function tcp_ts_get_info_rcv_mss:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_ts_get_info_rcv_mss PASS: unprivileged embedded C: privileged: --unprivileged: tcp_ts_get_info_rcv_mss(long) testing tcp_sockopt_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_sockopt_str (long) testing tcp_ipv6_sockopt_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_ipv6_sockopt_str (long) testing tcpmib_filter_key (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_filter_key (long, long) testing tcpmib_get_state (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_get_state (long) testing tcpmib_local_addr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_local_addr(long) testing tcpmib_remote_addr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_remote_addr(long) testing tcpmib_local_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_local_port(long) testing tcpmib_remote_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_remote_port(long) testing get_cycles ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { get_cycles () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'get_cycles' at :1:15 source: probe begin { get_cycles () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_cycles () } ^ funcname is get_cycles PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: get_cycles () testing jiffies ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { jiffies () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'jiffies' at :1:15 source: probe begin { jiffies () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { jiffies () } ^ funcname is jiffies PASS: unprivileged embedded C: unprivileged: --unprivileged: jiffies () testing HZ ();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { HZ () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'HZ' at :1:15 source: probe begin { HZ () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { HZ () } ^ funcname is HZ PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: HZ () testing gettimeofday_ns ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { gettimeofday_ns () }} # global embedded code %{ #define STAP_NEED_GETTIMEOFDAY 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'gettimeofday_ns' at :1:15 source: probe begin { gettimeofday_ns () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { gettimeofday_ns () } ^ funcname is gettimeofday_ns PASS: unprivileged embedded C: unprivileged: --unprivileged: gettimeofday_ns () testing gettimeofday_us ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_us () testing gettimeofday_ms ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_ms () testing gettimeofday_s ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_s () testing cpu_clock_ns (long);unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { cpu_clock_ns (0) }} # global embedded code %{ // Since scripts can run from quite arbitrary contexts, we can only use // cpu_clock once it was made NMI safe. This was in commit def0a9b2 for // HAVE_UNSTABLE_SCHED_CLOCK archs (included in 2.6.32), and commit b9f8fcd5 // for the rest (included in 2.6.33). So before that, we'll just pretend that // cpu_clock and local_clock don't exist. #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) \ || (!defined (CONFIG_HAVE_UNSTABLE_SCHED_CLOCK) \ && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))) #undef STAPCONF_CPU_CLOCK #undef STAPCONF_LOCAL_CLOCK #endif // If we're falling back on gettimeofday, that machinery needs to be started. #if !defined (STAPCONF_CPU_CLOCK) #define STAP_NEED_GETTIMEOFDAY 1 #endif %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cpu_clock_ns' at :1:15 source: probe begin { cpu_clock_ns (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cpu_clock_ns (0) } ^ funcname is cpu_clock_ns PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: cpu_clock_ns (long) testing cpu_clock_us (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_us (long) testing cpu_clock_ms (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_ms (long) testing cpu_clock_s (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_s (long) testing local_clock_ns ();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { local_clock_ns () }} # global embedded code %{ // Since scripts can run from quite arbitrary contexts, we can only use // cpu_clock once it was made NMI safe. This was in commit def0a9b2 for // HAVE_UNSTABLE_SCHED_CLOCK archs (included in 2.6.32), and commit b9f8fcd5 // for the rest (included in 2.6.33). So before that, we'll just pretend that // cpu_clock and local_clock don't exist. #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) \ || (!defined (CONFIG_HAVE_UNSTABLE_SCHED_CLOCK) \ && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))) #undef STAPCONF_CPU_CLOCK #undef STAPCONF_LOCAL_CLOCK #endif // If we're falling back on gettimeofday, that machinery needs to be started. #if !defined (STAPCONF_CPU_CLOCK) #define STAP_NEED_GETTIMEOFDAY 1 #endif %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'local_clock_ns' at :1:15 source: probe begin { local_clock_ns () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { local_clock_ns () } ^ funcname is local_clock_ns PASS: unprivileged embedded C: unprivileged: --unprivileged: local_clock_ns () testing local_clock_us ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_us () testing local_clock_ms ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_ms () testing local_clock_s ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_s () testing tz_gmtoff();unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { tz_gmtoff() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'tz_gmtoff' at :1:15 source: probe begin { tz_gmtoff() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tz_gmtoff() } ^ funcname is tz_gmtoff PASS: unprivileged embedded C: unprivileged: --privilege=stapusr: tz_gmtoff() testing tz_name();unprivileged eval exec stap -p2 --unprivileged -e {probe begin { tz_name() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'tz_name' at :1:15 source: probe begin { tz_name() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tz_name() } ^ funcname is tz_name PASS: unprivileged embedded C: unprivileged: --unprivileged: tz_name() testing ustack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ustack (long) testing usymname (long);myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { usymname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymname' at :1:15 source: probe begin { usymname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymname (0) } ^ funcname is usymname PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: usymname (long) testing usymdata (long);myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { usymdata (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymdata' at :1:15 source: probe begin { usymdata (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymdata (0) } ^ funcname is usymdata PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: usymdata (long) testing print_ustack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_ustack(string) testing print_usyms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_usyms (string) testing sprint_ustack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_ustack(string) testing sprint_usyms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_usyms (string) testing usymfileline (long);myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { usymfileline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymfileline' at :1:15 source: probe begin { usymfileline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymfileline (0) } ^ funcname is usymfileline PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: usymfileline (long) testing usymfile (long);myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { usymfile (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymfile' at :1:15 source: probe begin { usymfile (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymfile (0) } ^ funcname is usymfile PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: usymfile (long) testing usymline (long);myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { usymline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymline' at :1:15 source: probe begin { usymline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymline (0) } ^ funcname is usymline PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: usymline (long) testing print_ubacktrace ();myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { print_ubacktrace () }} # functions error:unknown (msg:string) print_ubacktrace:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is print_ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: print_ubacktrace () testing sprint_ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { sprint_ubacktrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sprint_ubacktrace' at :1:15 source: probe begin { sprint_ubacktrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sprint_ubacktrace () } ^ funcname is sprint_ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: sprint_ubacktrace () testing print_ubacktrace_brief ();myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { print_ubacktrace_brief () }} # functions error:unknown (msg:string) print_ubacktrace_brief:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is print_ubacktrace_brief PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: print_ubacktrace_brief () testing ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { ubacktrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ubacktrace' at :1:15 source: probe begin { ubacktrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ubacktrace () } ^ funcname is ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: ubacktrace () testing umodname (long);myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { umodname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'umodname' at :1:15 source: probe begin { umodname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { umodname (0) } ^ funcname is umodname PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: umodname (long) testing ucallers (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ucallers (long) testing _utrace_syscall_nr ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _utrace_syscall_nr () }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_nr' at :1:15 source: probe begin { _utrace_syscall_nr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_nr () } ^ funcname is _utrace_syscall_nr PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _utrace_syscall_nr () testing _utrace_syscall_arg (long);myproc-unprivileged eval exec stap -p2 --unprivileged -e {probe begin { _utrace_syscall_arg (0) }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_arg' at :1:15 source: probe begin { _utrace_syscall_arg (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_arg (0) } ^ funcname is _utrace_syscall_arg PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: _utrace_syscall_arg (long) testing _utrace_syscall_return ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {probe begin { _utrace_syscall_return () }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_return' at :1:15 source: probe begin { _utrace_syscall_return () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_return () } ^ funcname is _utrace_syscall_return PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _utrace_syscall_return () testing __find_bdevname(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __find_bdevname(long, long) testing ppos_pos (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ppos_pos (long) testing __page_ino (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_ino (long) testing __page_dev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_dev (long) testing __page_bdev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_bdev (long) testing __file_dev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_dev (long) testing __file_ino (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_ino (long) testing __file_maxbytes (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_maxbytes (long) testing __file_filename (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_filename (long) testing _dev_minor (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dev_minor (long) testing _dev_major (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dev_major (long) testing atomic_read(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { atomic_read(0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'atomic_read' at :1:15 source: probe begin { atomic_read(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { atomic_read(0) } ^ funcname is atomic_read PASS: unprivileged embedded C: privileged: --privilege=stapsys: atomic_read(long) testing atomic_long_read(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { atomic_long_read(0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'atomic_long_read' at :1:15 source: probe begin { atomic_long_read(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { atomic_long_read(0) } ^ funcname is atomic_long_read PASS: unprivileged embedded C: privileged: --privilege=stapsys: atomic_long_read(long) testing _stp_syscall_nr ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_syscall_nr () }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_syscall_nr' at :1:15 source: probe begin { _stp_syscall_nr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_syscall_nr () } ^ funcname is _stp_syscall_nr PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_syscall_nr () testing _struct_timeval_u(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_timeval_u(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_timeval_u' at :1:15 source: probe begin { _struct_timeval_u(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_timeval_u(0, 0) } ^ funcname is _struct_timeval_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_timeval_u(long, long) testing _struct_compat_timeval_u(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_timeval_u(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_timeval_u' at :1:15 source: probe begin { _struct_compat_timeval_u(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_timeval_u(0, 0) } ^ funcname is _struct_compat_timeval_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_timeval_u(long, long) testing _struct_timezone_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_timezone_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_timezone_u' at :1:15 source: probe begin { _struct_timezone_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_timezone_u(0) } ^ funcname is _struct_timezone_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_timezone_u(long) testing _stp_clock_nanosleep_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_clock_nanosleep_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_clock_nanosleep_flags_str' at :1:15 source: probe begin { _stp_clock_nanosleep_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_clock_nanosleep_flags_str(0) } ^ funcname is _stp_clock_nanosleep_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_clock_nanosleep_flags_str(long) testing _struct_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_utimbuf_actime(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_utimbuf_actime' at :1:15 source: probe begin { _struct_utimbuf_actime(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_utimbuf_actime(0) } ^ funcname is _struct_utimbuf_actime PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_utimbuf_actime(long) testing _struct_utimbuf_modtime(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_utimbuf_modtime(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_utimbuf_modtime' at :1:15 source: probe begin { _struct_utimbuf_modtime(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_utimbuf_modtime(0) } ^ funcname is _struct_utimbuf_modtime PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_utimbuf_modtime(long) testing _struct_compat_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_utimbuf_actime(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_utimbuf_actime' at :1:15 source: probe begin { _struct_compat_utimbuf_actime(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_utimbuf_actime(0) } ^ funcname is _struct_compat_utimbuf_actime PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_utimbuf_actime(long) testing _struct_compat_utimbuf_modtime(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_utimbuf_modtime(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_utimbuf_modtime' at :1:15 source: probe begin { _struct_compat_utimbuf_modtime(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_utimbuf_modtime(0) } ^ funcname is _struct_compat_utimbuf_modtime PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_utimbuf_modtime(long) testing _struct_timespec_u(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_timespec_u(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_timespec_u' at :1:15 source: probe begin { _struct_timespec_u(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_timespec_u(0, 0) } ^ funcname is _struct_timespec_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_timespec_u(long, long) testing _struct_compat_timespec_u(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_timespec_u(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_timespec_u' at :1:15 source: probe begin { _struct_compat_timespec_u(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_timespec_u(0, 0) } ^ funcname is _struct_compat_timespec_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_timespec_u(long, long) testing _struct_itimerspec_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_itimerspec_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_itimerspec_u' at :1:15 source: probe begin { _struct_itimerspec_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_itimerspec_u(0) } ^ funcname is _struct_itimerspec_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_itimerspec_u(long) testing _struct_compat_itimerspec_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_itimerspec_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_itimerspec_u' at :1:15 source: probe begin { _struct_compat_itimerspec_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_itimerspec_u(0) } ^ funcname is _struct_compat_itimerspec_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_itimerspec_u(long) testing _struct_itimerval_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_itimerval_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_itimerval_u' at :1:15 source: probe begin { _struct_itimerval_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_itimerval_u(0) } ^ funcname is _struct_itimerval_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_itimerval_u(long) testing _struct_compat_itimerval_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_itimerval_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_itimerval_u' at :1:15 source: probe begin { _struct_compat_itimerval_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_itimerval_u(0) } ^ funcname is _struct_compat_itimerval_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_itimerval_u(long) testing _struct_sockaddr_u_ip_addr(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ip_addr(long, long) testing _struct_sockaddr_u_tcp_port(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_tcp_port(long, long) testing _struct_sockaddr_u_sa_family(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_sa_family(long, long) testing _struct_sockaddr_u_ipv6_flowinfo(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ipv6_flowinfo(long, long) testing _struct_sockaddr_u_ipv6_scope_id(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u_ipv6_scope_id(long, long) testing _struct_sockaddr_u(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _struct_sockaddr_u(long, long) testing _struct_rlimit_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_rlimit_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_rlimit_u' at :1:15 source: probe begin { _struct_rlimit_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_rlimit_u(0) } ^ funcname is _struct_rlimit_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_rlimit_u(long) testing _fildes_index_u (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fildes_index_u (0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fildes_index_u' at :1:15 source: probe begin { _fildes_index_u (0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fildes_index_u (0, 0) } ^ funcname is _fildes_index_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _fildes_index_u (long, long) testing __sem_flags(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __sem_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__sem_flags' at :1:15 source: probe begin { __sem_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __sem_flags(0) } ^ funcname is __sem_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __sem_flags(long) testing __get_argv(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_argv(long, long) testing __get_compat_argv(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_compat_argv(long, long) testing __count_envp(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __count_envp(long) testing __count_compat_envp(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __count_compat_envp(long) testing _adjtx_mode_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _adjtx_mode_str(long) testing _getrandom_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _getrandom_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_getrandom_flags_str' at :1:15 source: probe begin { _getrandom_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _getrandom_flags_str(0) } ^ funcname is _getrandom_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _getrandom_flags_str(long) testing _inotify_watch_mask_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _inotify_watch_mask_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_inotify_watch_mask_str' at :1:15 source: probe begin { _inotify_watch_mask_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _inotify_watch_mask_str(0) } ^ funcname is _inotify_watch_mask_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _inotify_watch_mask_str(long) testing _sigprocmask_how_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sigprocmask_how_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sigprocmask_how_str' at :1:15 source: probe begin { _sigprocmask_how_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sigprocmask_how_str(0) } ^ funcname is _sigprocmask_how_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sigprocmask_how_str(long) testing _itimer_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _itimer_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_itimer_which_str' at :1:15 source: probe begin { _itimer_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _itimer_which_str(0) } ^ funcname is _itimer_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _itimer_which_str(long) testing _nfsctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _nfsctl_cmd_str(0) }} semantic error: unresolved function (similar: _fcntl_cmd_str, _flock_cmd_str, _quotactl_cmd_str, _stp_keyctl_cmd_str, _stp_msgctl_cmd_str): identifier '_nfsctl_cmd_str' at :1:15 source: probe begin { _nfsctl_cmd_str(0) } ^ Pass 2: analysis failed. [man error::pass2] funcname is _nfsctl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _nfsctl_cmd_str(long) testing _get_wc_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _get_wc_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_get_wc_str' at :1:15 source: probe begin { _get_wc_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _get_wc_str(0) } ^ funcname is _get_wc_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _get_wc_str(long) testing _flock_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _flock_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_flock_cmd_str' at :1:15 source: probe begin { _flock_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _flock_cmd_str(0) } ^ funcname is _flock_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _flock_cmd_str(long) testing _sys_pipe2_flag_str (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sys_pipe2_flag_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sys_pipe2_flag_str' at :1:15 source: probe begin { _sys_pipe2_flag_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sys_pipe2_flag_str (0) } ^ funcname is _sys_pipe2_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sys_pipe2_flag_str (long) testing _sys_open_flag_str (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sys_open_flag_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sys_open_flag_str' at :1:15 source: probe begin { _sys_open_flag_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sys_open_flag_str (0) } ^ funcname is _sys_open_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sys_open_flag_str (long) testing _access_mode_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _access_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_access_mode_str' at :1:15 source: probe begin { _access_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _access_mode_str(0) } ^ funcname is _access_mode_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _access_mode_str(long) testing _mknod_mode_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _mknod_mode_str(long) testing _msync_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _msync_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_msync_flag_str' at :1:15 source: probe begin { _msync_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _msync_flag_str(0) } ^ funcname is _msync_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _msync_flag_str(long) testing _internal_wait_opt_str(long, long, string);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _internal_wait_opt_str(0, 0, "0") }} semantic error: unresolved function (similar: _wait4_opt_str, _futex_wake_op_str, _wait_status_str, text_str, _dfd_str): identifier '_internal_wait_opt_str' at :1:15 source: probe begin { _internal_wait_opt_str(0, 0, "0") } ^ Pass 2: analysis failed. [man error::pass2] funcname is _internal_wait_opt_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _internal_wait_opt_str(long, long, string) testing _waitid_opt_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _waitid_opt_str(0) }} semantic error: unresolved function (similar: _wait4_opt_str, _waitid_which_str, _futex_op_str, _dfd_str, text_str): identifier '_waitid_opt_str' at :1:15 source: probe begin { _waitid_opt_str(0) } ^ Pass 2: analysis failed. [man error::pass2] funcname is _waitid_opt_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _waitid_opt_str(long) testing _wait4_opt_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _wait4_opt_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_wait4_opt_str' at :1:15 source: probe begin { _wait4_opt_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _wait4_opt_str(0) } ^ funcname is _wait4_opt_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _wait4_opt_str(long) testing WIFEXITED(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WIFEXITED(long) testing WEXITSTATUS(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WEXITSTATUS(long) testing WTERMSIG(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: WTERMSIG(long) testing _wait_status_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _wait_status_str(long) testing _seccomp_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _seccomp_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seccomp_flags_str' at :1:15 source: probe begin { _seccomp_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seccomp_flags_str(0) } ^ funcname is _seccomp_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _seccomp_flags_str(long) testing _msg_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _msg_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_msg_flags_str' at :1:15 source: probe begin { _msg_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _msg_flags_str(0) } ^ funcname is _msg_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _msg_flags_str(long) testing _sendflags_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sendflags_str(long) testing _recvflags_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _recvflags_str(long) testing _mfd_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mfd_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mfd_flags_str' at :1:15 source: probe begin { _mfd_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mfd_flags_str(0) } ^ funcname is _mfd_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mfd_flags_str(long) testing _stp_mlock2_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_mlock2_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_mlock2_str' at :1:15 source: probe begin { _stp_mlock2_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_mlock2_str(0) } ^ funcname is _stp_mlock2_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_mlock2_str(long) testing _mlockall_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mlockall_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mlockall_flags_str' at :1:15 source: probe begin { _mlockall_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mlockall_flags_str(0) } ^ funcname is _mlockall_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mlockall_flags_str(long) testing _module_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _module_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_module_flags_str' at :1:15 source: probe begin { _module_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _module_flags_str(0) } ^ funcname is _module_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _module_flags_str(long) testing _sched_policy_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sched_policy_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sched_policy_str' at :1:15 source: probe begin { _sched_policy_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sched_policy_str(0) } ^ funcname is _sched_policy_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sched_policy_str(long) testing _priority_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _priority_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_priority_which_str' at :1:15 source: probe begin { _priority_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _priority_which_str(0) } ^ funcname is _priority_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _priority_which_str(long) testing _shutdown_how_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _shutdown_how_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_shutdown_how_str' at :1:15 source: probe begin { _shutdown_how_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _shutdown_how_str(0) } ^ funcname is _shutdown_how_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _shutdown_how_str(long) testing _reboot_magic_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _reboot_magic_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_reboot_magic_str' at :1:15 source: probe begin { _reboot_magic_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _reboot_magic_str(0) } ^ funcname is _reboot_magic_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _reboot_magic_str(long) testing _reboot_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _reboot_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_reboot_flag_str' at :1:15 source: probe begin { _reboot_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _reboot_flag_str(0) } ^ funcname is _reboot_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _reboot_flag_str(long) testing _waitid_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _waitid_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_waitid_which_str' at :1:15 source: probe begin { _waitid_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _waitid_which_str(0) } ^ funcname is _waitid_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _waitid_which_str(long) testing _futex_op_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _futex_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_futex_op_str' at :1:15 source: probe begin { _futex_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _futex_op_str(0) } ^ funcname is _futex_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _futex_op_str(long) testing _futex_wake_op_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _futex_wake_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_futex_wake_op_str' at :1:15 source: probe begin { _futex_wake_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _futex_wake_op_str(0) } ^ funcname is _futex_wake_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _futex_wake_op_str(long) testing _mountflags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mountflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mountflags_str' at :1:15 source: probe begin { _mountflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mountflags_str(0) } ^ funcname is _mountflags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mountflags_str(long) testing _umountflags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _umountflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_umountflags_str' at :1:15 source: probe begin { _umountflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _umountflags_str(0) } ^ funcname is _umountflags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _umountflags_str(long) testing _statfs_f_type_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _statfs_f_type_str(long) testing _mremap_flags(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mremap_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mremap_flags' at :1:15 source: probe begin { _mremap_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mremap_flags(0) } ^ funcname is _mremap_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mremap_flags(long) testing _madvice_advice_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _madvice_advice_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_madvice_advice_str' at :1:15 source: probe begin { _madvice_advice_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _madvice_advice_str(0) } ^ funcname is _madvice_advice_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _madvice_advice_str(long) testing _fadvice_advice_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fadvice_advice_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fadvice_advice_str' at :1:15 source: probe begin { _fadvice_advice_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fadvice_advice_str(0) } ^ funcname is _fadvice_advice_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _fadvice_advice_str(long) testing _fcntl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fcntl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fcntl_cmd_str' at :1:15 source: probe begin { _fcntl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fcntl_cmd_str(0) } ^ funcname is _fcntl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _fcntl_cmd_str(long) testing _seek_whence_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _seek_whence_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seek_whence_str' at :1:15 source: probe begin { _seek_whence_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seek_whence_str(0) } ^ funcname is _seek_whence_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _seek_whence_str(long) testing _quotactl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _quotactl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_cmd_str' at :1:15 source: probe begin { _quotactl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_cmd_str(0) } ^ funcname is _quotactl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _quotactl_cmd_str(long) testing _quotactl_subcmd(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _quotactl_subcmd(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_subcmd' at :1:15 source: probe begin { _quotactl_subcmd(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_subcmd(0) } ^ funcname is _quotactl_subcmd PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _quotactl_subcmd(long) testing _quotactl_quota_type_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _quotactl_quota_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_quotactl_quota_type_str' at :1:15 source: probe begin { _quotactl_quota_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _quotactl_quota_type_str(0) } ^ funcname is _quotactl_quota_type_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _quotactl_quota_type_str(long) testing _struct_dqblk_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_dqblk_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_dqblk_u' at :1:15 source: probe begin { _struct_dqblk_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_dqblk_u(0) } ^ funcname is _struct_dqblk_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_dqblk_u(long) testing _struct_dqinfo_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_dqinfo_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_dqinfo_u' at :1:15 source: probe begin { _struct_dqinfo_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_dqinfo_u(0) } ^ funcname is _struct_dqinfo_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_dqinfo_u(long) testing _sockopt_optname_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sockopt_optname_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sockopt_optname_str' at :1:15 source: probe begin { _sockopt_optname_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sockopt_optname_str(0) } ^ funcname is _sockopt_optname_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sockopt_optname_str(long) testing _sockopt_level_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sockopt_level_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sockopt_level_str' at :1:15 source: probe begin { _sockopt_level_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sockopt_level_str(0) } ^ funcname is _sockopt_level_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sockopt_level_str(long) testing _sock_family_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sock_family_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_family_str' at :1:15 source: probe begin { _sock_family_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_family_str(0) } ^ funcname is _sock_family_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sock_family_str(long) testing _sock_type_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sock_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_type_str' at :1:15 source: probe begin { _sock_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_type_str(0) } ^ funcname is _sock_type_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sock_type_str(long) testing _sock_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sock_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sock_flags_str' at :1:15 source: probe begin { _sock_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sock_flags_str(0) } ^ funcname is _sock_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sock_flags_str(long) testing _sock_protocol_str(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_protocol_str(long, long) testing _opoll_op_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _opoll_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_opoll_op_str' at :1:15 source: probe begin { _opoll_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _opoll_op_str(0) } ^ funcname is _opoll_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _opoll_op_str(long) testing _epoll_events_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _epoll_events_str(long) testing _rlimit_resource_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _rlimit_resource_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_rlimit_resource_str' at :1:15 source: probe begin { _rlimit_resource_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _rlimit_resource_str(0) } ^ funcname is _rlimit_resource_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _rlimit_resource_str(long) testing _rusage_who_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _rusage_who_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_rusage_who_str' at :1:15 source: probe begin { _rusage_who_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _rusage_who_str(0) } ^ funcname is _rusage_who_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _rusage_who_str(long) testing __short(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __short(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__short' at :1:15 source: probe begin { __short(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __short(0) } ^ funcname is __short PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __short(long) testing __ushort(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __ushort(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__ushort' at :1:15 source: probe begin { __ushort(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __ushort(0) } ^ funcname is __ushort PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __ushort(long) testing __int32(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __int32(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__int32' at :1:15 source: probe begin { __int32(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __int32(0) } ^ funcname is __int32 PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __int32(long) testing __uint32(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __uint32(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__uint32' at :1:15 source: probe begin { __uint32(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __uint32(0) } ^ funcname is __uint32 PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __uint32(long) testing __ulong(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __ulong(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__ulong' at :1:15 source: probe begin { __ulong(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __ulong(0) } ^ funcname is __ulong PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __ulong(long) testing __long(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __long(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__long' at :1:15 source: probe begin { __long(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __long(0) } ^ funcname is __long PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __long(long) testing _dfd_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dfd_str(long) testing _adjtimex_return_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _adjtimex_return_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_adjtimex_return_str' at :1:15 source: probe begin { _adjtimex_return_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _adjtimex_return_str(0) } ^ funcname is _adjtimex_return_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _adjtimex_return_str(long) testing _signal_name(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _signal_name(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_signal_name' at :1:15 source: probe begin { _signal_name(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _signal_name(0) } ^ funcname is _signal_name PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _signal_name(long) testing _semctl_cmd(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _semctl_cmd(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_semctl_cmd' at :1:15 source: probe begin { _semctl_cmd(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _semctl_cmd(0) } ^ funcname is _semctl_cmd PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _semctl_cmd(long) testing _stp_sigset_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_sigset_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_sigset_u' at :1:15 source: probe begin { _stp_sigset_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_sigset_u(0) } ^ funcname is _stp_sigset_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_sigset_u(long) testing _stp_compat_sigset_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_compat_sigset_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_compat_sigset_u' at :1:15 source: probe begin { _stp_compat_sigset_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_compat_sigset_u(0) } ^ funcname is _stp_compat_sigset_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_compat_sigset_u(long) testing __fork_flags(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __fork_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__fork_flags' at :1:15 source: probe begin { __fork_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __fork_flags(0) } ^ funcname is __fork_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: __fork_flags(long) testing _at_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _at_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_at_flag_str' at :1:15 source: probe begin { _at_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _at_flag_str(0) } ^ funcname is _at_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _at_flag_str(long) testing _epoll_create1_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _epoll_create1_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_epoll_create1_flag_str' at :1:15 source: probe begin { _epoll_create1_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _epoll_create1_flag_str(0) } ^ funcname is _epoll_create1_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _epoll_create1_flag_str(long) testing _eventfd2_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _eventfd2_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_eventfd2_flag_str' at :1:15 source: probe begin { _eventfd2_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _eventfd2_flag_str(0) } ^ funcname is _eventfd2_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _eventfd2_flag_str(long) testing _signalfd4_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _signalfd4_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_signalfd4_flags_str' at :1:15 source: probe begin { _signalfd4_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _signalfd4_flags_str(0) } ^ funcname is _signalfd4_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _signalfd4_flags_str(long) testing _inotify_init1_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _inotify_init1_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_inotify_init1_flag_str' at :1:15 source: probe begin { _inotify_init1_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _inotify_init1_flag_str(0) } ^ funcname is _inotify_init1_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _inotify_init1_flag_str(long) testing _dup3_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _dup3_flag_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_dup3_flag_str' at :1:15 source: probe begin { _dup3_flag_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _dup3_flag_str(0) } ^ funcname is _dup3_flag_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _dup3_flag_str(long) testing _shmat_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _shmat_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_shmat_flags_str' at :1:15 source: probe begin { _shmat_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _shmat_flags_str(0) } ^ funcname is _shmat_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _shmat_flags_str(long) testing _mprotect_prot_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mprotect_prot_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mprotect_prot_str' at :1:15 source: probe begin { _mprotect_prot_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mprotect_prot_str(0) } ^ funcname is _mprotect_prot_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mprotect_prot_str(long) testing _mmap_flags(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mmap_flags(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mmap_flags' at :1:15 source: probe begin { _mmap_flags(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mmap_flags(0) } ^ funcname is _mmap_flags PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mmap_flags(long) testing get_mmap_args (long);privileged UNTESTED: unprivileged embedded C: privileged: --privilege=stapsys: get_mmap_args (long) (deprecated) testing _sighandler_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sighandler_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sighandler_str' at :1:15 source: probe begin { _sighandler_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sighandler_str(0) } ^ funcname is _sighandler_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sighandler_str(long) testing _stp_sigmask_str(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_sigmask_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_sigmask_str' at :1:15 source: probe begin { _stp_sigmask_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_sigmask_str(0) } ^ funcname is _stp_sigmask_str PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_sigmask_str(long) testing _struct_sigaction_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_sigaction_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_sigaction_u' at :1:15 source: probe begin { _struct_sigaction_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_sigaction_u(0) } ^ funcname is _struct_sigaction_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_sigaction_u(long) testing _struct_sigaction32_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_sigaction32_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_sigaction32_u' at :1:15 source: probe begin { _struct_sigaction32_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_sigaction32_u(0) } ^ funcname is _struct_sigaction32_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_sigaction32_u(long) testing _struct_old_sigaction32_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_old_sigaction32_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_old_sigaction32_u' at :1:15 source: probe begin { _struct_old_sigaction32_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_old_sigaction32_u(0) } ^ funcname is _struct_old_sigaction32_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_old_sigaction32_u(long) testing irqflags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { irqflags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'irqflags_str' at :1:15 source: probe begin { irqflags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { irqflags_str(0) } ^ funcname is irqflags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: irqflags_str(long) testing _ptrace_options_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _ptrace_options_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_ptrace_options_str' at :1:15 source: probe begin { _ptrace_options_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _ptrace_options_str(0) } ^ funcname is _ptrace_options_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _ptrace_options_str(long) testing _ptrace_argstr(long, long, long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _ptrace_argstr(long, long, long, long) testing _ptrace_return_geteventmsg_data(long,long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _ptrace_return_geteventmsg_data(long,long) testing _swapon_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _swapon_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_swapon_flags_str' at :1:15 source: probe begin { _swapon_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _swapon_flags_str(0) } ^ funcname is _swapon_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _swapon_flags_str(long) testing _stp_shmget_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_shmget_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_shmget_flags_str' at :1:15 source: probe begin { _stp_shmget_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_shmget_flags_str(0) } ^ funcname is _stp_shmget_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_shmget_flags_str(long) testing _stp_msgget_key_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _stp_msgget_key_str(long) testing _stp_msgctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_msgctl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_msgctl_cmd_str' at :1:15 source: probe begin { _stp_msgctl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_msgctl_cmd_str(0) } ^ funcname is _stp_msgctl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_msgctl_cmd_str(long) testing _stp_msgflg_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_msgflg_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_msgflg_str' at :1:15 source: probe begin { _stp_msgflg_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_msgflg_str(0) } ^ funcname is _stp_msgflg_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_msgflg_str(long) testing _stp_compat_msgrcv_msgbuf(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_compat_msgrcv_msgbuf(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_compat_msgrcv_msgbuf' at :1:15 source: probe begin { _stp_compat_msgrcv_msgbuf(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_compat_msgrcv_msgbuf(0, 0) } ^ funcname is _stp_compat_msgrcv_msgbuf PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_compat_msgrcv_msgbuf(long, long) testing _stp_compat_msgrcv_msgtyp(long, long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_compat_msgrcv_msgtyp(0, 0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_compat_msgrcv_msgtyp' at :1:15 source: probe begin { _stp_compat_msgrcv_msgtyp(0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_compat_msgrcv_msgtyp(0, 0, 0) } ^ funcname is _stp_compat_msgrcv_msgtyp PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_compat_msgrcv_msgtyp(long, long, long) testing _stp_xattr_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_xattr_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_xattr_flags_str' at :1:15 source: probe begin { _stp_xattr_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_xattr_flags_str(0) } ^ funcname is _stp_xattr_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_xattr_flags_str(long) testing _stp_xattr_val_str(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_xattr_val_str(0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_xattr_val_str' at :1:15 source: probe begin { _stp_xattr_val_str(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_xattr_val_str(0, 0) } ^ funcname is _stp_xattr_val_str PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_xattr_val_str(long, long) testing _stp_ioprio_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_ioprio_which_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_ioprio_which_str' at :1:15 source: probe begin { _stp_ioprio_which_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_ioprio_which_str(0) } ^ funcname is _stp_ioprio_which_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_ioprio_which_str(long) testing _stp_ioprio_value_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_ioprio_value_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_ioprio_value_str' at :1:15 source: probe begin { _stp_ioprio_value_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_ioprio_value_str(0) } ^ funcname is _stp_ioprio_value_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_ioprio_value_str(long) testing _mempolicy_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mempolicy_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mempolicy_flags_str' at :1:15 source: probe begin { _mempolicy_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mempolicy_flags_str(0) } ^ funcname is _mempolicy_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mempolicy_flags_str(long) testing _mempolicy_mode_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _mempolicy_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_mempolicy_mode_str' at :1:15 source: probe begin { _mempolicy_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _mempolicy_mode_str(0) } ^ funcname is _mempolicy_mode_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _mempolicy_mode_str(long) testing _stp_keyctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_keyctl_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_cmd_str' at :1:15 source: probe begin { _stp_keyctl_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_cmd_str(0) } ^ funcname is _stp_keyctl_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_keyctl_cmd_str(long) testing _stp_keyctl_keyring_shortcut_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_keyctl_keyring_shortcut_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_keyring_shortcut_str' at :1:15 source: probe begin { _stp_keyctl_keyring_shortcut_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_keyring_shortcut_str(0) } ^ funcname is _stp_keyctl_keyring_shortcut_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_keyctl_keyring_shortcut_str(long) testing _stp_keyctl_default_keyrings_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_keyctl_default_keyrings_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_default_keyrings_str' at :1:15 source: probe begin { _stp_keyctl_default_keyrings_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_default_keyrings_str(0) } ^ funcname is _stp_keyctl_default_keyrings_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_keyctl_default_keyrings_str(long) testing _stp_keyctl_perm_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_keyctl_perm_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_keyctl_perm_str' at :1:15 source: probe begin { _stp_keyctl_perm_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_keyctl_perm_str(0) } ^ funcname is _stp_keyctl_perm_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_keyctl_perm_str(long) testing _finit_module_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _finit_module_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_finit_module_flags_str' at :1:15 source: probe begin { _finit_module_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _finit_module_flags_str(0) } ^ funcname is _finit_module_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _finit_module_flags_str(long) testing _prctl_argstr(long, long, long, long, long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _prctl_argstr(0, 0, 0, 0, 0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_prctl_argstr' at :1:15 source: probe begin { _prctl_argstr(0, 0, 0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _prctl_argstr(0, 0, 0, 0, 0) } ^ funcname is _prctl_argstr PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _prctl_argstr(long, long, long, long, long) testing _stp_timerfd_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_timerfd_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_timerfd_flags_str' at :1:15 source: probe begin { _stp_timerfd_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_timerfd_flags_str(0) } ^ funcname is _stp_timerfd_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_timerfd_flags_str(long) testing _stp_splice_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_splice_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_splice_flags_str' at :1:15 source: probe begin { _stp_splice_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_splice_flags_str(0) } ^ funcname is _stp_splice_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_splice_flags_str(long) testing _stp_fallocate_mode_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_fallocate_mode_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_fallocate_mode_str' at :1:15 source: probe begin { _stp_fallocate_mode_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_fallocate_mode_str(0) } ^ funcname is _stp_fallocate_mode_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_fallocate_mode_str(long) testing _stp_arch_prctl_func_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_arch_prctl_func_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_arch_prctl_func_str' at :1:15 source: probe begin { _stp_arch_prctl_func_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_arch_prctl_func_str(0) } ^ funcname is _stp_arch_prctl_func_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _stp_arch_prctl_func_str(long) testing _struct_timex_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_timex_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_timex_u' at :1:15 source: probe begin { _struct_timex_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_timex_u(0) } ^ funcname is _struct_timex_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_timex_u(long) testing _struct_compat_timex_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_compat_timex_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_compat_timex_u' at :1:15 source: probe begin { _struct_compat_timex_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_compat_timex_u(0) } ^ funcname is _struct_compat_timex_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_compat_timex_u(long) testing _sync_file_range_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _sync_file_range_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_sync_file_range_flags_str' at :1:15 source: probe begin { _sync_file_range_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _sync_file_range_flags_str(0) } ^ funcname is _sync_file_range_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _sync_file_range_flags_str(long) testing _stp_siginfo_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_siginfo_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_siginfo_u' at :1:15 source: probe begin { _stp_siginfo_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_siginfo_u(0) } ^ funcname is _stp_siginfo_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_siginfo_u(long) testing _stp_compat_siginfo_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_compat_siginfo_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_compat_siginfo_u' at :1:15 source: probe begin { _stp_compat_siginfo_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_compat_siginfo_u(0) } ^ funcname is _stp_compat_siginfo_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_compat_siginfo_u(long) testing _struct_tms_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_tms_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_tms_u' at :1:15 source: probe begin { _struct_tms_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_tms_u(0) } ^ funcname is _struct_tms_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_tms_u(long) testing _struct_sysinfo_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_sysinfo_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_sysinfo_u' at :1:15 source: probe begin { _struct_sysinfo_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_sysinfo_u(0) } ^ funcname is _struct_sysinfo_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_sysinfo_u(long) testing _kexec_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _kexec_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kexec_flags_str' at :1:15 source: probe begin { _kexec_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kexec_flags_str(0) } ^ funcname is _kexec_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _kexec_flags_str(long) testing _kexec_file_load_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _kexec_file_load_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kexec_file_load_flags_str' at :1:15 source: probe begin { _kexec_file_load_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kexec_file_load_flags_str(0) } ^ funcname is _kexec_file_load_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _kexec_file_load_flags_str(long) testing _stp_sigaltstack_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_sigaltstack_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_sigaltstack_u' at :1:15 source: probe begin { _stp_sigaltstack_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_sigaltstack_u(0) } ^ funcname is _stp_sigaltstack_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_sigaltstack_u(long) testing _stp_compat_sigaltstack_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _stp_compat_sigaltstack_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_stp_compat_sigaltstack_u' at :1:15 source: probe begin { _stp_compat_sigaltstack_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _stp_compat_sigaltstack_u(0) } ^ funcname is _stp_compat_sigaltstack_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _stp_compat_sigaltstack_u(long) testing _renameat2_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _renameat2_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_renameat2_flags_str' at :1:15 source: probe begin { _renameat2_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _renameat2_flags_str(0) } ^ funcname is _renameat2_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _renameat2_flags_str(long) testing _fanotify_init_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fanotify_init_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_init_flags_str' at :1:15 source: probe begin { _fanotify_init_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_init_flags_str(0) } ^ funcname is _fanotify_init_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _fanotify_init_flags_str(long) testing _fanotify_mark_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fanotify_mark_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_mark_flags_str' at :1:15 source: probe begin { _fanotify_mark_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_mark_flags_str(0) } ^ funcname is _fanotify_mark_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _fanotify_mark_flags_str(long) testing _fanotify_mark_mask_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _fanotify_mark_mask_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_fanotify_mark_mask_str' at :1:15 source: probe begin { _fanotify_mark_mask_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _fanotify_mark_mask_str(0) } ^ funcname is _fanotify_mark_mask_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _fanotify_mark_mask_str(long) testing _perf_event_open_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _perf_event_open_flags_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_perf_event_open_flags_str' at :1:15 source: probe begin { _perf_event_open_flags_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _perf_event_open_flags_str(0) } ^ funcname is _perf_event_open_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _perf_event_open_flags_str(long) testing _kcmp_type_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _kcmp_type_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_kcmp_type_str' at :1:15 source: probe begin { _kcmp_type_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _kcmp_type_str(0) } ^ funcname is _kcmp_type_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _kcmp_type_str(long) testing _struct_sched_attr_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _struct_sched_attr_u(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_struct_sched_attr_u' at :1:15 source: probe begin { _struct_sched_attr_u(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _struct_sched_attr_u(0) } ^ funcname is _struct_sched_attr_u PASS: unprivileged embedded C: privileged: --privilege=stapsys: _struct_sched_attr_u(long) testing _seccomp_op_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _seccomp_op_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_seccomp_op_str' at :1:15 source: probe begin { _seccomp_op_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _seccomp_op_str(0) } ^ funcname is _seccomp_op_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _seccomp_op_str(long) testing _bpf_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _bpf_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_bpf_cmd_str' at :1:15 source: probe begin { _bpf_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _bpf_cmd_str(0) } ^ funcname is _bpf_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _bpf_cmd_str(long) testing _membarrier_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _membarrier_cmd_str(0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_membarrier_cmd_str' at :1:15 source: probe begin { _membarrier_cmd_str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _membarrier_cmd_str(0) } ^ funcname is _membarrier_cmd_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _membarrier_cmd_str(long) testing _userfaultfd_flags_str (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _userfaultfd_flags_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_userfaultfd_flags_str' at :1:15 source: probe begin { _userfaultfd_flags_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _userfaultfd_flags_str (0) } ^ funcname is _userfaultfd_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _userfaultfd_flags_str (long) testing _preadv2_flags_str (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _preadv2_flags_str (0) }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_preadv2_flags_str' at :1:15 source: probe begin { _preadv2_flags_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _preadv2_flags_str (0) } ^ funcname is _preadv2_flags_str PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: _preadv2_flags_str (long) testing callers (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: callers (long) testing caller();no embedded C UNTESTED: unprivileged embedded C: no embedded C: caller() testing caller_addr ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: caller_addr () testing _caller_match (long, long, string, string, long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _caller_match (0, 0, "0", "0", 0) }} # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_caller_match' at :1:15 source: probe begin { _caller_match (0, 0, "0", "0", 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _caller_match (0, 0, "0", "0", 0) } ^ funcname is _caller_match PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _caller_match (long, long, string, string, long) testing env_var(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: env_var(string) testing stack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: stack (long) testing print_stack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_stack(string) testing sprint_stack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_stack(string) testing probefunc ();privileged UNTESTED: unprivileged embedded C: privileged: --privilege=stapsys: probefunc () (rewritten pure) testing probemod ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { probemod () }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'probemod' at :1:15 source: probe begin { probemod () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { probemod () } ^ funcname is probemod PASS: unprivileged embedded C: privileged: --privilege=stapsys: probemod () testing modname (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { modname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'modname' at :1:15 source: probe begin { modname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { modname (0) } ^ funcname is modname PASS: unprivileged embedded C: privileged: --privilege=stapsys: modname (long) testing symname (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { symname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'symname' at :1:15 source: probe begin { symname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { symname (0) } ^ funcname is symname PASS: unprivileged embedded C: privileged: --privilege=stapsys: symname (long) testing symdata (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { symdata (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'symdata' at :1:15 source: probe begin { symdata (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { symdata (0) } ^ funcname is symdata PASS: unprivileged embedded C: privileged: --privilege=stapsys: symdata (long) testing print_syms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_syms (string) testing sprint_syms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_syms (string) testing symfileline (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { symfileline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'symfileline' at :1:15 source: probe begin { symfileline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { symfileline (0) } ^ funcname is symfileline PASS: unprivileged embedded C: privileged: --privilege=stapsys: symfileline (long) testing symfile (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { symfile (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'symfile' at :1:15 source: probe begin { symfile (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { symfile (0) } ^ funcname is symfile PASS: unprivileged embedded C: privileged: --privilege=stapsys: symfile (long) testing symline (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { symline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'symline' at :1:15 source: probe begin { symline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { symline (0) } ^ funcname is symline PASS: unprivileged embedded C: privileged: --privilege=stapsys: symline (long) testing print_backtrace ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { print_backtrace () }} # functions error:unknown (msg:string) print_backtrace:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is print_backtrace PASS: unprivileged embedded C: privileged: --privilege=stapsys: print_backtrace () testing sprint_backtrace ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sprint_backtrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sprint_backtrace' at :1:15 source: probe begin { sprint_backtrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sprint_backtrace () } ^ funcname is sprint_backtrace PASS: unprivileged embedded C: privileged: --privilege=stapsys: sprint_backtrace () testing backtrace ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { backtrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'backtrace' at :1:15 source: probe begin { backtrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { backtrace () } ^ funcname is backtrace PASS: unprivileged embedded C: privileged: --privilege=stapsys: backtrace () testing task_backtrace (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_backtrace (long) testing execname ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { execname () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'execname' at :1:15 source: probe begin { execname () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { execname () } ^ funcname is execname PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: execname () testing pid ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: pid () testing ns_pid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_pid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_pid' at :1:15 source: probe begin { ns_pid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_pid () } ^ funcname is ns_pid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_pid () testing tid ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: tid () testing ns_tid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_tid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_tid' at :1:15 source: probe begin { ns_tid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_tid () } ^ funcname is ns_tid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_tid () testing ppid();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ppid() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ppid' at :1:15 source: probe begin { ppid() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ppid() } ^ funcname is ppid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ppid() testing ns_ppid();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_ppid() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_ppid' at :1:15 source: probe begin { ns_ppid() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_ppid() } ^ funcname is ns_ppid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_ppid() testing pgrp ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { pgrp () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'pgrp' at :1:15 source: probe begin { pgrp () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { pgrp () } ^ funcname is pgrp PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: pgrp () testing ns_pgrp ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_pgrp () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_pgrp' at :1:15 source: probe begin { ns_pgrp () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_pgrp () } ^ funcname is ns_pgrp PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_pgrp () testing sid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sid' at :1:15 source: probe begin { sid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sid () } ^ funcname is sid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: sid () testing ns_sid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_sid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_sid' at :1:15 source: probe begin { ns_sid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_sid () } ^ funcname is ns_sid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_sid () testing pexecname ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { pexecname () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'pexecname' at :1:15 source: probe begin { pexecname () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { pexecname () } ^ funcname is pexecname PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: pexecname () testing gid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { gid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'gid' at :1:15 source: probe begin { gid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { gid () } ^ funcname is gid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: gid () testing ns_gid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_gid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_gid' at :1:15 source: probe begin { ns_gid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_gid () } ^ funcname is ns_gid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_gid () testing egid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { egid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'egid' at :1:15 source: probe begin { egid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { egid () } ^ funcname is egid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: egid () testing ns_egid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_egid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_egid' at :1:15 source: probe begin { ns_egid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_egid () } ^ funcname is ns_egid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_egid () testing uid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { uid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'uid' at :1:15 source: probe begin { uid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { uid () } ^ funcname is uid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: uid () testing ns_uid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_uid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_uid' at :1:15 source: probe begin { ns_uid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_uid () } ^ funcname is ns_uid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_uid () testing euid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { euid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'euid' at :1:15 source: probe begin { euid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { euid () } ^ funcname is euid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: euid () testing ns_euid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ns_euid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ns_euid' at :1:15 source: probe begin { ns_euid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ns_euid () } ^ funcname is ns_euid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: ns_euid () testing is_myproc ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { is_myproc () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'is_myproc' at :1:15 source: probe begin { is_myproc () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { is_myproc () } ^ funcname is is_myproc PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: is_myproc () testing cpuid ();privileged UNTESTED: unprivileged embedded C: privileged: --privilege=stapsys: cpuid () (deprecated) testing cpu ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { cpu () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cpu' at :1:15 source: probe begin { cpu () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cpu () } ^ funcname is cpu PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: cpu () testing registers_valid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { registers_valid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'registers_valid' at :1:15 source: probe begin { registers_valid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { registers_valid () } ^ funcname is registers_valid PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: registers_valid () testing user_mode ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { user_mode () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'user_mode' at :1:15 source: probe begin { user_mode () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { user_mode () } ^ funcname is user_mode PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: user_mode () testing is_return ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { is_return () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'is_return' at :1:15 source: probe begin { is_return () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { is_return () } ^ funcname is is_return PASS: unprivileged embedded C: privileged: --privilege=stapsys: is_return () testing target ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: target () testing module_name ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { module_name () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'module_name' at :1:15 source: probe begin { module_name () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { module_name () } ^ funcname is module_name PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: module_name () testing module_size();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { module_size() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) module_size:string () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is module_size PASS: unprivileged embedded C: privileged: --privilege=stapsys: module_size() testing stp_pid ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { stp_pid () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'stp_pid' at :1:15 source: probe begin { stp_pid () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { stp_pid () } ^ funcname is stp_pid PASS: unprivileged embedded C: privileged: --privilege=stapsys: stp_pid () testing remote_id ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: remote_id () testing remote_uri ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { remote_uri () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'remote_uri' at :1:15 source: probe begin { remote_uri () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { remote_uri () } ^ funcname is remote_uri PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: remote_uri () testing stack_size ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { stack_size () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'stack_size' at :1:15 source: probe begin { stack_size () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { stack_size () } ^ funcname is stack_size PASS: unprivileged embedded C: privileged: --privilege=stapsys: stack_size () testing stack_used ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { stack_used () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'stack_used' at :1:15 source: probe begin { stack_used () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { stack_used () } ^ funcname is stack_used PASS: unprivileged embedded C: privileged: --privilege=stapsys: stack_used () testing stack_unused ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { stack_unused () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'stack_unused' at :1:15 source: probe begin { stack_unused () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { stack_unused () } ^ funcname is stack_unused PASS: unprivileged embedded C: privileged: --privilege=stapsys: stack_unused () testing addr ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { addr () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'addr' at :1:15 source: probe begin { addr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { addr () } ^ funcname is addr PASS: unprivileged embedded C: privileged: --privilege=stapsys: addr () testing uaddr ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { uaddr () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'uaddr' at :1:15 source: probe begin { uaddr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { uaddr () } ^ funcname is uaddr PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: uaddr () testing cmdline_args(long, long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_args(long, long, string) testing cmdline_arg(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_arg(long) testing cmdline_str();no embedded C UNTESTED: unprivileged embedded C: no embedded C: cmdline_str() testing set_kernel_string (long, string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_string (0, "0") }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:18:10 source: function set_kernel_string (addr:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_string (long, string) testing set_kernel_string_n (long, long, string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_string_n (0, 0, "0") }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_string_n' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:38:10 source: function set_kernel_string_n (addr:long, n:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string_n PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_string_n (long, long, string) testing set_kernel_long (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_long (0, 0) }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:58:10 source: function set_kernel_long (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_long PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_long (long, long) testing set_kernel_int (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_int (0, 0) }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_int' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:77:10 source: function set_kernel_int (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_int PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_int (long, long) testing set_kernel_short (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_short (0, 0) }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_short' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:96:10 source: function set_kernel_short (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_short PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_short (long, long) testing set_kernel_char (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_char (0, 0) }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:115:10 source: function set_kernel_char (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_char PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_char (long, long) testing set_kernel_pointer (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { set_kernel_pointer (0, 0) }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_pointer' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:134:10 source: function set_kernel_pointer (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_pointer PASS: unprivileged embedded C: privileged: --privilege=stapsys: set_kernel_pointer (long, long) testing kernel_string (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_string (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_string' at :1:15 source: probe begin { kernel_string (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_string (0) } ^ funcname is kernel_string PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_string (long) testing kernel_string (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string (long, string) testing kernel_string2 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2 (long, string) testing kernel_string_quoted (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_string_quoted (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_string_quoted' at :1:15 source: probe begin { kernel_string_quoted (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_string_quoted (0) } ^ funcname is kernel_string_quoted PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_string_quoted (long) testing kernel_string_n (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_string_n (0, 0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_string_n' at :1:15 source: probe begin { kernel_string_n (0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_string_n (0, 0) } ^ funcname is kernel_string_n PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_string_n (long, long) testing kernel_string_utf32 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_string_utf32 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_string_utf32' at :1:15 source: probe begin { kernel_string_utf32 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_string_utf32 (0) } ^ funcname is kernel_string_utf32 PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_string_utf32 (long) testing kernel_string_utf32 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_utf32 (long, string) testing kernel_string2_utf32 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2_utf32 (long, string) testing kernel_string_quoted_utf32 (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_quoted_utf32 (long) testing kernel_string_utf16 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_string_utf16 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_string_utf16' at :1:15 source: probe begin { kernel_string_utf16 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_string_utf16 (0) } ^ funcname is kernel_string_utf16 PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_string_utf16 (long) testing kernel_string_utf16 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_utf16 (long, string) testing kernel_string2_utf16 (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string2_utf16 (long, string) testing kernel_string_quoted_utf16 (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: kernel_string_quoted_utf16 (long) testing kernel_long (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_long (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_long' at :1:15 source: probe begin { kernel_long (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_long (0) } ^ funcname is kernel_long PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_long (long) testing kernel_int (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_int (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_int' at :1:15 source: probe begin { kernel_int (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_int (0) } ^ funcname is kernel_int PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_int (long) testing kernel_short (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_short (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_short' at :1:15 source: probe begin { kernel_short (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_short (0) } ^ funcname is kernel_short PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_short (long) testing kernel_char (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_char (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_char' at :1:15 source: probe begin { kernel_char (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_char (0) } ^ funcname is kernel_char PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_char (long) testing kernel_pointer (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_pointer (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_pointer' at :1:15 source: probe begin { kernel_pointer (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_pointer (0) } ^ funcname is kernel_pointer PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_pointer (long) testing kernel_buffer_quoted (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_buffer_quoted (0, 0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_buffer_quoted' at :1:15 source: probe begin { kernel_buffer_quoted (0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_buffer_quoted (0, 0) } ^ funcname is kernel_buffer_quoted PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_buffer_quoted (long, long) testing kernel_buffer_quoted (long, long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_buffer_quoted (0, 0, 0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_buffer_quoted' at :1:15 source: probe begin { kernel_buffer_quoted (0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_buffer_quoted (0, 0, 0) } ^ funcname is kernel_buffer_quoted PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_buffer_quoted (long, long, long) testing kernel_buffer_quoted_error (long, long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { kernel_buffer_quoted_error (0, 0, 0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'kernel_buffer_quoted_error' at :1:15 source: probe begin { kernel_buffer_quoted_error (0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { kernel_buffer_quoted_error (0, 0, 0) } ^ funcname is kernel_buffer_quoted_error PASS: unprivileged embedded C: privileged: --privilege=stapsys: kernel_buffer_quoted_error (long, long, long) testing ctime(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ctime(0) }} # global embedded code %{ #define STAP_NEED_GETTIMEOFDAY 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ctime' at :1:15 source: probe begin { ctime(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ctime(0) } ^ funcname is ctime PASS: unprivileged embedded C: privileged: --privilege=stapsys: ctime(long) testing ctime();no embedded C UNTESTED: unprivileged embedded C: no embedded C: ctime() testing d_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: d_name(long) testing inode_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inode_name(long) testing inode_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inode_path(long) testing reverse_path_walk(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: reverse_path_walk(long) testing real_mount(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: real_mount(long) testing task_dentry_path(long,long,long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_dentry_path(long,long,long) testing d_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: d_path(long) testing fullpath_struct_nameidata(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_nameidata(long) testing fullpath_struct_path(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_path(long) testing fullpath_struct_file(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: fullpath_struct_file(long, long) testing MAJOR(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { MAJOR(0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'MAJOR' at :1:15 source: probe begin { MAJOR(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { MAJOR(0) } ^ funcname is MAJOR PASS: unprivileged embedded C: privileged: --privilege=stapsys: MAJOR(long) testing MINOR(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { MINOR(0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'MINOR' at :1:15 source: probe begin { MINOR(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { MINOR(0) } ^ funcname is MINOR PASS: unprivileged embedded C: privileged: --privilege=stapsys: MINOR(long) testing MKDEV(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { MKDEV(0, 0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'MKDEV' at :1:15 source: probe begin { MKDEV(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { MKDEV(0, 0) } ^ funcname is MKDEV PASS: unprivileged embedded C: privileged: --privilege=stapsys: MKDEV(long, long) testing usrdev2kerndev(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usrdev2kerndev(0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usrdev2kerndev' at :1:15 source: probe begin { usrdev2kerndev(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usrdev2kerndev(0) } ^ funcname is usrdev2kerndev PASS: unprivileged embedded C: privileged: --privilege=stapsys: usrdev2kerndev(long) testing bdevname(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bdevname(long) testing big_endian2 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { big_endian2 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'big_endian2' at :1:15 source: probe begin { big_endian2 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { big_endian2 (0) } ^ funcname is big_endian2 PASS: unprivileged embedded C: privileged: --privilege=stapsys: big_endian2 (long) testing big_endian4 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { big_endian4 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'big_endian4' at :1:15 source: probe begin { big_endian4 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { big_endian4 (0) } ^ funcname is big_endian4 PASS: unprivileged embedded C: privileged: --privilege=stapsys: big_endian4 (long) testing big_endian8 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { big_endian8 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'big_endian8' at :1:15 source: probe begin { big_endian8 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { big_endian8 (0) } ^ funcname is big_endian8 PASS: unprivileged embedded C: privileged: --privilege=stapsys: big_endian8 (long) testing little_endian2 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { little_endian2 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'little_endian2' at :1:15 source: probe begin { little_endian2 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { little_endian2 (0) } ^ funcname is little_endian2 PASS: unprivileged embedded C: privileged: --privilege=stapsys: little_endian2 (long) testing little_endian4 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { little_endian4 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'little_endian4' at :1:15 source: probe begin { little_endian4 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { little_endian4 (0) } ^ funcname is little_endian4 PASS: unprivileged embedded C: privileged: --privilege=stapsys: little_endian4 (long) testing little_endian8 (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { little_endian8 (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'little_endian8' at :1:15 source: probe begin { little_endian8 (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { little_endian8 (0) } ^ funcname is little_endian8 PASS: unprivileged embedded C: privileged: --privilege=stapsys: little_endian8 (long) testing mdelay(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { mdelay(0) }} semantic error: function may not be used unless -g is specified: identifier 'mdelay' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp:30:10 source: function mdelay(ms:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is mdelay PASS: unprivileged embedded C: privileged: --privilege=stapsys: mdelay(long) testing udelay(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { udelay(0) }} semantic error: function may not be used unless -g is specified: identifier 'udelay' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-delay.stp:42:10 source: function udelay(us:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is udelay PASS: unprivileged embedded C: privileged: --privilege=stapsys: udelay(long) testing raise(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { raise(0) }} semantic error: function may not be used unless -g is specified: identifier 'raise' at /root/systemtap_write/install/share/systemtap/tapset/linux/guru-signal.stp:25:10 source: function raise(signo:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is raise PASS: unprivileged embedded C: privileged: --privilege=stapsys: raise(long) testing htonll (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { htonll (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'htonll' at :1:15 source: probe begin { htonll (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { htonll (0) } ^ funcname is htonll PASS: unprivileged embedded C: privileged: --privilege=stapsys: htonll (long) testing htonl (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { htonl (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'htonl' at :1:15 source: probe begin { htonl (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { htonl (0) } ^ funcname is htonl PASS: unprivileged embedded C: privileged: --privilege=stapsys: htonl (long) testing htons (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { htons (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'htons' at :1:15 source: probe begin { htons (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { htons (0) } ^ funcname is htons PASS: unprivileged embedded C: privileged: --privilege=stapsys: htons (long) testing ntohll (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ntohll (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ntohll' at :1:15 source: probe begin { ntohll (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ntohll (0) } ^ funcname is ntohll PASS: unprivileged embedded C: privileged: --privilege=stapsys: ntohll (long) testing ntohl (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ntohl (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ntohl' at :1:15 source: probe begin { ntohl (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ntohl (0) } ^ funcname is ntohl PASS: unprivileged embedded C: privileged: --privilege=stapsys: ntohl (long) testing ntohs (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ntohs (0) }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ntohs' at :1:15 source: probe begin { ntohs (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ntohs (0) } ^ funcname is ntohs PASS: unprivileged embedded C: privileged: --privilege=stapsys: ntohs (long) testing inet_get_local_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inet_get_local_port(long) testing inet_get_ip_source(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: inet_get_ip_source(long) testing daddr_to_string(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: daddr_to_string(long) testing bio_rw_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bio_rw_num(long) testing bio_rw_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bio_rw_str(long) testing disk_major_from_request(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { disk_major_from_request(0) }} # global embedded code %{ #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'disk_major_from_request' at :1:15 source: probe begin { disk_major_from_request(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { disk_major_from_request(0) } ^ funcname is disk_major_from_request PASS: unprivileged embedded C: privileged: --privilege=stapsys: disk_major_from_request(long) testing disk_minor_from_request(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { disk_minor_from_request(0) }} # global embedded code %{ #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'disk_minor_from_request' at :1:15 source: probe begin { disk_minor_from_request(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { disk_minor_from_request(0) } ^ funcname is disk_minor_from_request PASS: unprivileged embedded C: privileged: --privilege=stapsys: disk_minor_from_request(long) testing format_ipaddr (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { format_ipaddr (0, 0) }} # global embedded code %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'format_ipaddr' at :1:15 source: probe begin { format_ipaddr (0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { format_ipaddr (0, 0) } ^ funcname is format_ipaddr PASS: unprivileged embedded C: privileged: --privilege=stapsys: format_ipaddr (long, long) testing ip_ntop (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ip_ntop (long) testing __ip_sock_saddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_saddr (long) testing __ip_sock_daddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_daddr (long) testing __ip_sock_family (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_sock_family (long) testing __get_skb_iphdr(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __get_skb_iphdr(0) }} # global embedded code %{ #include #include // For AF_INET & AF_INET6 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #endif /* CONFIG_IPV6 || CONFIG_IPV6_MODULE */ %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__get_skb_iphdr' at :1:15 source: probe begin { __get_skb_iphdr(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __get_skb_iphdr(0) } ^ funcname is __get_skb_iphdr PASS: unprivileged embedded C: privileged: --privilege=stapsys: __get_skb_iphdr(long) testing __ip_skb_proto (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_proto (long) testing __ip_skb_saddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_saddr (long) testing __ip_skb_daddr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __ip_skb_daddr (long) testing ipmib_filter_key (long, long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_filter_key (long, long, long) testing ipmib_remote_addr (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_remote_addr (long, long) testing ipmib_local_addr (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_local_addr (long, long) testing ipmib_tcp_remote_port (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_tcp_remote_port (long, long) testing ipmib_tcp_local_port (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_tcp_local_port (long, long) testing ipmib_get_proto (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ipmib_get_proto (long) testing _input_route_type (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _input_route_type (long) testing json_set_prefix(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_set_prefix(string) testing json_add_numeric_metric(string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_numeric_metric(string, string, string) testing json_add_string_metric(string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_string_metric(string, string) testing json_add_array(string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array(string, string) testing json_add_array_numeric_metric(string, string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array_numeric_metric(string, string, string, string) testing json_add_array_string_metric(string, string, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: json_add_array_string_metric(string, string, string) testing _get_kretprobe_long(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _get_kretprobe_long(0) }} # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_get_kretprobe_long' at :1:15 source: probe begin { _get_kretprobe_long(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _get_kretprobe_long(0) } ^ funcname is _get_kretprobe_long PASS: unprivileged embedded C: privileged: --privilege=stapsys: _get_kretprobe_long(long) testing _set_kretprobe_long(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _set_kretprobe_long(0, 0) }} # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is _set_kretprobe_long PASS: unprivileged embedded C: privileged: --privilege=stapsys: _set_kretprobe_long(long, long) testing _get_kretprobe_string(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _get_kretprobe_string(0) }} # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_get_kretprobe_string' at :1:15 source: probe begin { _get_kretprobe_string(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _get_kretprobe_string(0) } ^ funcname is _get_kretprobe_string PASS: unprivileged embedded C: privileged: --privilege=stapsys: _get_kretprobe_string(long) testing _set_kretprobe_string(long, string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _set_kretprobe_string(0, "0") }} # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _set_kretprobe_string:unknown (i:long, value:string) error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is _set_kretprobe_string PASS: unprivileged embedded C: privileged: --privilege=stapsys: _set_kretprobe_string(long, string) testing linuxmib_filter_key (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: linuxmib_filter_key (long, long) testing get_loadavg_index (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { get_loadavg_index (0) }} # global embedded code %{ #include #define LOAD_INT(x) ((x) >> FSHIFT) #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'get_loadavg_index' at :1:15 source: probe begin { get_loadavg_index (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_loadavg_index (0) } ^ funcname is get_loadavg_index PASS: unprivileged embedded C: privileged: --privilege=stapsys: get_loadavg_index (long) testing sprint_loadavg ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sprint_loadavg () }} # global embedded code %{ #include #define LOAD_INT(x) ((x) >> FSHIFT) #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sprint_loadavg' at :1:15 source: probe begin { sprint_loadavg () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sprint_loadavg () } ^ funcname is sprint_loadavg PASS: unprivileged embedded C: privileged: --privilege=stapsys: sprint_loadavg () testing ftrace (string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ftrace ("0") }} # functions error:unknown (msg:string) ftrace:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is ftrace PASS: unprivileged embedded C: privileged: --privilege=stapsys: ftrace (string) testing printk (long,string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { printk (0,"0") }} semantic error: function may not be used unless -g is specified: identifier 'printk' at /root/systemtap_write/install/share/systemtap/tapset/linux/logging.stp:44:10 source: function printk (level:long,msg:string) %{ /* guru */ /* unmodified-fnargs */ ^ Pass 2: analysis failed. [man error::pass2] funcname is printk PASS: unprivileged embedded C: privileged: --privilege=stapsys: printk (long,string) testing vm_fault_contains (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { vm_fault_contains (0, 0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) vm_fault_contains:long (value:long, test:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is vm_fault_contains PASS: unprivileged embedded C: privileged: --privilege=stapsys: vm_fault_contains (long, long) testing addr_to_node(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { addr_to_node(0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'addr_to_node' at :1:15 source: probe begin { addr_to_node(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { addr_to_node(0) } ^ funcname is addr_to_node PASS: unprivileged embedded C: privileged: --privilege=stapsys: addr_to_node(long) testing get_netdev_name (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_netdev_name (long) testing __nfs_version (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __nfs_version (long) testing __file_inode (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_inode (long) testing __iov_length (long, long, long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { __iov_length (0, 0, 0, 0) }} # global embedded code %{ #include #include #include /* For VERIFY_READ/VERIFY_WRITE */ %} %{ /* For AF_INET */ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '__iov_length' at :1:15 source: probe begin { __iov_length (0, 0, 0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { __iov_length (0, 0, 0, 0) } ^ funcname is __iov_length PASS: unprivileged embedded C: privileged: --privilege=stapsys: __iov_length (long, long, long, long) testing AF_INET();no embedded C UNTESTED: unprivileged embedded C: no embedded C: AF_INET() testing AF_INET6();no embedded C UNTESTED: unprivileged embedded C: no embedded C: AF_INET6() testing NFS_I(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_I(long) testing NFS_SERVER(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_SERVER(long) testing stap_NFS_CLIENT(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: stap_NFS_CLIENT(long) testing NFS_PROTO(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: NFS_PROTO(long) testing get_ip_from_client(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { get_ip_from_client(0) }} # global embedded code %{ /* For AF_INET */ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'get_ip_from_client' at :1:15 source: probe begin { get_ip_from_client(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_ip_from_client(0) } ^ funcname is get_ip_from_client PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: get_ip_from_client(long) testing get_prot_from_client(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_prot_from_client(long) testing get_ip(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_ip(long) testing get_prot(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_prot(long) testing __getfh_inode(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __getfh_inode(long) testing nfs3_cmode(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { nfs3_cmode(0) }} # global embedded code %{ #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'nfs3_cmode' at :1:15 source: probe begin { nfs3_cmode(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { nfs3_cmode(0) } ^ funcname is nfs3_cmode PASS: unprivileged embedded C: privileged: --privilege=stapsys: nfs3_cmode(long) testing nfs4_ctype(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { nfs4_ctype(0) }} # global embedded code %{ #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'nfs4_ctype' at :1:15 source: probe begin { nfs4_ctype(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { nfs4_ctype(0) } ^ funcname is nfs4_ctype PASS: unprivileged embedded C: privileged: --privilege=stapsys: nfs4_ctype(long) testing ftype(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ftype(0) }} # global embedded code %{ #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ftype' at :1:15 source: probe begin { ftype(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ftype(0) } ^ funcname is ftype PASS: unprivileged embedded C: privileged: --privilege=stapsys: ftype(long) testing nfsderror(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { nfsderror(0) }} # global embedded code %{ #include #include #define nfs_ok __constant_htonl(NFS_OK) #define nfserr_perm __constant_htonl(NFSERR_PERM) #define nfserr_noent __constant_htonl(NFSERR_NOENT) #define nfserr_io __constant_htonl(NFSERR_IO) #define nfserr_nxio __constant_htonl(NFSERR_NXIO) #define nfserr_eagain __constant_htonl(NFSERR_EAGAIN) #define nfserr_acces __constant_htonl(NFSERR_ACCES) #define nfserr_exist __constant_htonl(NFSERR_EXIST) #define nfserr_xdev __constant_htonl(NFSERR_XDEV) #define nfserr_nodev __constant_htonl(NFSERR_NODEV) #define nfserr_notdir __constant_htonl(NFSERR_NOTDIR) #define nfserr_isdir __constant_htonl(NFSERR_ISDIR) #define nfserr_inval __constant_htonl(NFSERR_INVAL) #define nfserr_fbig __constant_htonl(NFSERR_FBIG) #define nfserr_nospc __constant_htonl(NFSERR_NOSPC) #define nfserr_rofs __constant_htonl(NFSERR_ROFS) #define nfserr_mlink __constant_htonl(NFSERR_MLINK) #define nfserr_opnotsupp __constant_htonl(NFSERR_OPNOTSUPP) #define nfserr_nametoolong __constant_htonl(NFSERR_NAMETOOLONG) #define nfserr_notempty __constant_htonl(NFSERR_NOTEMPTY) #define nfserr_dquot __constant_htonl(NFSERR_DQUOT) #define nfserr_stale __constant_htonl(NFSERR_STALE) #define nfserr_remote __constant_htonl(NFSERR_REMOTE) #define nfserr_wflush __constant_htonl(NFSERR_WFLUSH) #define nfserr_badhandle __constant_htonl(NFSERR_BADHANDLE) #define nfserr_notsync __constant_htonl(NFSERR_NOT_SYNC) #define nfserr_badcookie __constant_htonl(NFSERR_BAD_COOKIE) #define nfserr_notsupp __constant_htonl(NFSERR_NOTSUPP) #define nfserr_toosmall __constant_htonl(NFSERR_TOOSMALL) #define nfserr_serverfault __constant_htonl(NFSERR_SERVERFAULT) #define nfserr_badtype __constant_htonl(NFSERR_BADTYPE) #define nfserr_jukebox __constant_htonl(NFSERR_JUKEBOX) #define nfserr_denied __constant_htonl(NFSERR_DENIED) #define nfserr_deadlock __constant_htonl(NFSERR_DEADLOCK) #define nfserr_expired __constant_htonl(NFSERR_EXPIRED) #define nfserr_bad_cookie __constant_htonl(NFSERR_BAD_COOKIE) #define nfserr_same __constant_htonl(NFSERR_SAME) #define nfserr_clid_inuse __constant_htonl(NFSERR_CLID_INUSE) #define nfserr_stale_clientid __constant_htonl(NFSERR_STALE_CLIENTID) #define nfserr_resource __constant_htonl(NFSERR_RESOURCE) #define nfserr_moved __constant_htonl(NFSERR_MOVED) #define nfserr_nofilehandle __constant_htonl(NFSERR_NOFILEHANDLE) #define nfserr_minor_vers_mismatch __constant_htonl(NFSERR_MINOR_VERS_MISMATCH) #define nfserr_share_denied __constant_htonl(NFSERR_SHARE_DENIED) #define nfserr_stale_stateid __constant_htonl(NFSERR_STALE_STATEID) #define nfserr_old_stateid __constant_htonl(NFSERR_OLD_STATEID) #define nfserr_bad_stateid __constant_htonl(NFSERR_BAD_STATEID) #define nfserr_bad_seqid __constant_htonl(NFSERR_BAD_SEQID) #define nfserr_symlink __constant_htonl(NFSERR_SYMLINK) #define nfserr_not_same __constant_htonl(NFSERR_NOT_SAME) #define nfserr_restorefh __constant_htonl(NFSERR_RESTOREFH) #define nfserr_attrnotsupp __constant_htonl(NFSERR_ATTRNOTSUPP) #define nfserr_bad_xdr __constant_htonl(NFSERR_BAD_XDR) #define nfserr_openmode __constant_htonl(NFSERR_OPENMODE) #define nfserr_locks_held __constant_htonl(NFSERR_LOCKS_HELD) #define nfserr_op_illegal __constant_htonl(NFSERR_OP_ILLEGAL) #define nfserr_grace __constant_htonl(NFSERR_GRACE) #define nfserr_no_grace __constant_htonl(NFSERR_NO_GRACE) #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) #define nfserr_badname __constant_htonl(NFSERR_BADNAME) #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) #define nfserr_locked __constant_htonl(NFSERR_LOCKED) #define nfserr_wrongsec __constant_htonl(NFSERR_WRONGSEC) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) #define nfserr_badiomode __constant_htonl(NFS4ERR_BADIOMODE) #define nfserr_badlayout __constant_htonl(NFS4ERR_BADLAYOUT) #define nfserr_bad_session_digest __constant_htonl(NFS4ERR_BAD_SESSION_DIGEST) #define nfserr_badsession __constant_htonl(NFS4ERR_BADSESSION) #define nfserr_badslot __constant_htonl(NFS4ERR_BADSLOT) #define nfserr_complete_already __constant_htonl(NFS4ERR_COMPLETE_ALREADY) #define nfserr_conn_not_bound_to_session __constant_htonl(NFS4ERR_CONN_NOT_BOUND_TO_SESSION) #define nfserr_deleg_already_wanted __constant_htonl(NFS4ERR_DELEG_ALREADY_WANTED) #define nfserr_back_chan_busy __constant_htonl(NFS4ERR_BACK_CHAN_BUSY) #define nfserr_layouttrylater __constant_htonl(NFS4ERR_LAYOUTTRYLATER) #define nfserr_layoutunavailable __constant_htonl(NFS4ERR_LAYOUTUNAVAILABLE) #define nfserr_nomatching_layout __constant_htonl(NFS4ERR_NOMATCHING_LAYOUT) #define nfserr_recallconflict __constant_htonl(NFS4ERR_RECALLCONFLICT) #define nfserr_unknown_layouttype __constant_htonl(NFS4ERR_UNKNOWN_LAYOUTTYPE) #define nfserr_seq_misordered __constant_htonl(NFS4ERR_SEQ_MISORDERED) #define nfserr_sequence_pos __constant_htonl(NFS4ERR_SEQUENCE_POS) #define nfserr_req_too_big __constant_htonl(NFS4ERR_REQ_TOO_BIG) #define nfserr_rep_too_big __constant_htonl(NFS4ERR_REP_TOO_BIG) #define nfserr_rep_too_big_to_cache __constant_htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE) #define nfserr_retry_uncached_rep __constant_htonl(NFS4ERR_RETRY_UNCACHED_REP) #define nfserr_unsafe_compound __constant_htonl(NFS4ERR_UNSAFE_COMPOUND) #define nfserr_too_many_ops __constant_htonl(NFS4ERR_TOO_MANY_OPS) #define nfserr_op_not_in_session __constant_htonl(NFS4ERR_OP_NOT_IN_SESSION) #define nfserr_hash_alg_unsupp __constant_htonl(NFS4ERR_HASH_ALG_UNSUPP) #define nfserr_clientid_busy __constant_htonl(NFS4ERR_CLIENTID_BUSY) #define nfserr_pnfs_io_hole __constant_htonl(NFS4ERR_PNFS_IO_HOLE) #define nfserr_seq_false_retry __constant_htonl(NFS4ERR_SEQ_FALSE_RETRY) #define nfserr_bad_high_slot __constant_htonl(NFS4ERR_BAD_HIGH_SLOT) #define nfserr_deadsession __constant_htonl(NFS4ERR_DEADSESSION) #define nfserr_encr_alg_unsupp __constant_htonl(NFS4ERR_ENCR_ALG_UNSUPP) #define nfserr_pnfs_no_layout __constant_htonl(NFS4ERR_PNFS_NO_LAYOUT) #define nfserr_not_only_op __constant_htonl(NFS4ERR_NOT_ONLY_OP) #define nfserr_wrong_cred __constant_htonl(NFS4ERR_WRONG_CRED) #define nfserr_wrong_type __constant_htonl(NFS4ERR_WRONG_TYPE) #define nfserr_dirdeleg_unavail __constant_htonl(NFS4ERR_DIRDELEG_UNAVAIL) #define nfserr_reject_deleg __constant_htonl(NFS4ERR_REJECT_DELEG) #define nfserr_returnconflict __constant_htonl(NFS4ERR_RETURNCONFLICT) #define nfserr_deleg_revoked __constant_htonl(NFS4ERR_DELEG_REVOKED) #endif %} # functions error:unknown (msg:string) nfsderror:string (err:long) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is nfsderror PASS: unprivileged embedded C: privileged: --privilege=stapsys: nfsderror(long) testing panic(string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { panic("0") }} semantic error: function may not be used unless -g is specified: identifier 'panic' at /root/systemtap_write/install/share/systemtap/tapset/linux/panic.stp:28:10 source: function panic(msg:string) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is panic PASS: unprivileged embedded C: privileged: --privilege=stapsys: panic(string) testing proc_mem_size ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size () testing proc_mem_size (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size (long) testing proc_mem_size_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_size_pid (long) testing proc_mem_rss ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss () testing proc_mem_rss (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss (long) testing proc_mem_rss_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_rss_pid (long) testing proc_mem_shr ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr () testing proc_mem_shr (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr (long) testing proc_mem_shr_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_shr_pid (long) testing proc_mem_txt ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt () testing proc_mem_txt (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt (long) testing proc_mem_txt_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_txt_pid (long) testing proc_mem_data ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data () testing proc_mem_data (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data (long) testing proc_mem_data_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_data_pid (long) testing mem_page_size ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: mem_page_size () testing bytes_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: bytes_to_string (long) testing pages_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pages_to_string (long) testing proc_mem_string ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string () testing proc_mem_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string (long) testing proc_mem_string_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_mem_string_pid (long) testing pstrace(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pstrace(long) testing rcu_dereference (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { rcu_dereference (0) }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'rcu_dereference' at :1:15 source: probe begin { rcu_dereference (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { rcu_dereference (0) } ^ funcname is rcu_dereference PASS: unprivileged embedded C: privileged: --privilege=stapsys: rcu_dereference (long) testing rlimit_from_str (string);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { rlimit_from_str ("0") }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'rlimit_from_str' at :1:15 source: probe begin { rlimit_from_str ("0") } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { rlimit_from_str ("0") } ^ funcname is rlimit_from_str PASS: unprivileged embedded C: privileged: --privilege=stapsys: rlimit_from_str (string) testing xid_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: xid_from_clnt(long) testing prog_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: prog_from_clnt(long) testing vers_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: vers_from_clnt(long) testing prot_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: prot_from_clnt(long) testing port_from_xprt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: port_from_xprt(long) testing port_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: port_from_clnt(long) testing clones_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: clones_from_clnt(long) testing tasks_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tasks_from_clnt(long) testing proc_from_msg(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: proc_from_msg(long) testing vers_from_prog(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: vers_from_prog(long, long) testing addr_from_rqst(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: addr_from_rqst(long) testing addr_from_rqst_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: addr_from_rqst_str(long) testing container_of_task_rcu(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: container_of_task_rcu(long) testing describe_data_direction(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { describe_data_direction(0) }} # global embedded code %{ #include #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'describe_data_direction' at :1:15 source: probe begin { describe_data_direction(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { describe_data_direction(0) } ^ funcname is describe_data_direction PASS: unprivileged embedded C: privileged: --privilege=stapsys: describe_data_direction(long) testing describe_device_state(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { describe_device_state(0) }} # global embedded code %{ #include #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'describe_device_state' at :1:15 source: probe begin { describe_device_state(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { describe_device_state(0) } ^ funcname is describe_device_state PASS: unprivileged embedded C: privileged: --privilege=stapsys: describe_device_state(long) testing timer_pending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: timer_pending(long) testing scsi_timer_pending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: scsi_timer_pending(long) testing get_devstate_from_req(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_devstate_from_req(long) testing get_sigaction_mask(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sigaction_mask(long) testing get_sigset(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { get_sigset(0) }} # globals __sig[64]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'get_sigset' at :1:15 source: probe begin { get_sigset(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_sigset(0) } ^ funcname is get_sigset PASS: unprivileged embedded C: privileged: --privilege=stapsys: get_sigset(long) testing get_sa_flags (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sa_flags (long) testing get_sa_handler (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: get_sa_handler (long) testing sigset_mask_str (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sigset_mask_str (0) }} # globals __sig[64]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'sigset_mask_str' at :1:15 source: probe begin { sigset_mask_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sigset_mask_str (0) } ^ funcname is sigset_mask_str PASS: unprivileged embedded C: privileged: --privilege=stapsys: sigset_mask_str (long) testing is_sig_blocked (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { is_sig_blocked (0, 0) }} # globals __sig[64]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'is_sig_blocked' at :1:15 source: probe begin { is_sig_blocked (0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { is_sig_blocked (0, 0) } ^ funcname is is_sig_blocked PASS: unprivileged embedded C: privileged: --privilege=stapsys: is_sig_blocked (long, long) testing sa_flags_str (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sa_flags_str (0) }} # globals __sig[64]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'sa_flags_str' at :1:15 source: probe begin { sa_flags_str (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sa_flags_str (0) } ^ funcname is sa_flags_str PASS: unprivileged embedded C: privileged: --privilege=stapsys: sa_flags_str (long) testing sa_handler_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sa_handler_str(long) testing signal_str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: signal_str(long) testing sock_prot_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_prot_num2str(long) testing sock_prot_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_prot_str2num(string) testing sock_fam_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_fam_num2str(long) testing sock_fam_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_fam_str2num(string) testing sock_state_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_state_num2str(long) testing sock_state_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_state_str2num(string) testing sock_type_num2str(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_type_num2str(long) testing sock_type_str2num(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sock_type_str2num(string) testing sock_flags_num2str(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sock_flags_num2str(0) }} # global embedded code %{ #include #include %} # globals _prot_num2str[138]:string [long] _prot_str2num[138]:long [string] _fam_num2str[34]:string [long] _fam_str2num[34]:long [string] _state_num2str[5]:string [long] _state_str2num[5]:long [string] _type_num2str[11]:string [long] _type_str2num[11]:long [string] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ # locals num:long WARNING: Eliding side-effect-free expression : identifier 'sock_flags_num2str' at :1:15 source: probe begin { sock_flags_num2str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sock_flags_num2str(0) } ^ funcname is sock_flags_num2str PASS: unprivileged embedded C: privileged: --privilege=stapsys: sock_flags_num2str(long) testing msg_flags_num2str(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { msg_flags_num2str(0) }} # global embedded code %{ #include #include %} # globals _prot_num2str[138]:string [long] _prot_str2num[138]:long [string] _fam_num2str[34]:string [long] _fam_str2num[34]:long [string] _state_num2str[5]:string [long] _state_str2num[5]:long [string] _type_num2str[11]:string [long] _type_str2num[11]:long [string] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ # locals num:long WARNING: Eliding side-effect-free expression : identifier 'msg_flags_num2str' at :1:15 source: probe begin { msg_flags_num2str(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { msg_flags_num2str(0) } ^ funcname is msg_flags_num2str PASS: unprivileged embedded C: privileged: --privilege=stapsys: msg_flags_num2str(long) testing _success_check(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _success_check(long) testing _sock_prot_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_prot_num(long) testing _sock_fam_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_fam_num(long) testing _sock_state_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_state_num(long) testing _sock_type_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_type_num(long) testing _sock_flags_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _sock_flags_num(long) testing syscall_name(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: syscall_name(long) testing syscall_num(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: syscall_num(long) testing target_set_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: target_set_pid (long) testing target_set_report ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: target_set_report () testing task_current ();privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_current () }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_current' at :1:15 source: probe begin { task_current () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_current () } ^ funcname is task_current PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_current () testing task_rlimit (long, string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit (long, string) testing task_rlimit_cpu (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_cpu (long) testing task_rlimit_fsize (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_fsize (long) testing task_rlimit_data (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_data (long) testing task_rlimit_stack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_stack (long) testing task_rlimit_core (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_core (long) testing task_rlimit_rss (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rss (long) testing task_rlimit_nproc (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nproc (long) testing task_rlimit_nofile(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nofile(long) testing task_rlimit_memlock(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_memlock(long) testing task_rlimit_as(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_as(long) testing task_rlimit_locks(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_locks(long) testing task_rlimit_sigpending(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_sigpending(long) testing task_rlimit_msgqueue(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_msgqueue(long) testing task_rlimit_nice(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_nice(long) testing task_rlimit_rtprio(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rtprio(long) testing task_rlimit_rttime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_rlimit_rttime(long) testing task_parent(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_parent(long) testing task_state (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_state (long) testing task_execname (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_execname (long) testing task_pid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_pid (long) testing task_ns_pid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_pid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_pid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:224:10 source: function task_ns_pid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_pid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_pid (long) testing pid2task (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { pid2task (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'pid2task' at :1:15 source: probe begin { pid2task (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { pid2task (0) } ^ funcname is pid2task PASS: unprivileged embedded C: privileged: --privilege=stapsys: pid2task (long) testing pid2execname (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: pid2execname (long) testing task_tid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_tid (long) testing task_ns_tid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_tid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_tid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:303:10 source: function task_ns_tid:long (task:long)%{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_tid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_tid (long) testing task_gid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_gid (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_gid' at :1:15 source: probe begin { task_gid (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_gid (0) } ^ funcname is task_gid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_gid (long) testing task_ns_gid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_gid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_gid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:365:10 source: function task_ns_gid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_gid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_gid (long) testing task_egid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_egid (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_egid' at :1:15 source: probe begin { task_egid (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_egid (0) } ^ funcname is task_egid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_egid (long) testing task_ns_egid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_egid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_egid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:426:10 source: function task_ns_egid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_egid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_egid (long) testing task_uid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_uid (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_uid' at :1:15 source: probe begin { task_uid (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_uid (0) } ^ funcname is task_uid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_uid (long) testing task_ns_uid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_uid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_uid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:482:10 source: function task_ns_uid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_uid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_uid (long) testing task_euid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_euid (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_euid' at :1:15 source: probe begin { task_euid (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_euid (0) } ^ funcname is task_euid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_euid (long) testing task_ns_euid (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_ns_euid (0) }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_euid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:538:10 source: function task_ns_euid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_euid PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_ns_euid (long) testing task_prio (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_prio (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_prio' at :1:15 source: probe begin { task_prio (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_prio (0) } ^ funcname is task_prio PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_prio (long) testing task_nice (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_nice (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_nice' at :1:15 source: probe begin { task_nice (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_nice (0) } ^ funcname is task_nice PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_nice (long) testing task_cpu (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_cpu (long) testing task_open_file_handles (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_open_file_handles (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_open_file_handles' at :1:15 source: probe begin { task_open_file_handles (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_open_file_handles (0) } ^ funcname is task_open_file_handles PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_open_file_handles (long) testing task_max_file_handles (long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_max_file_handles (0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_max_file_handles' at :1:15 source: probe begin { task_max_file_handles (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_max_file_handles (0) } ^ funcname is task_max_file_handles PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_max_file_handles (long) testing task_fd_lookup(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_fd_lookup(0, 0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_fd_lookup' at :1:15 source: probe begin { task_fd_lookup(0, 0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_fd_lookup(0, 0) } ^ funcname is task_fd_lookup PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_fd_lookup(long, long) testing task_cwd_path(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_cwd_path(0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_cwd_path' at :1:15 source: probe begin { task_cwd_path(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_cwd_path(0) } ^ funcname is task_cwd_path PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_cwd_path(long) testing task_exe_file(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { task_exe_file(0) }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'task_exe_file' at :1:15 source: probe begin { task_exe_file(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { task_exe_file(0) } ^ funcname is task_exe_file PASS: unprivileged embedded C: privileged: --privilege=stapsys: task_exe_file(long) testing task_ancestry (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_ancestry (long, long) testing task_utime ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime () testing task_utime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime(long) testing task_utime_tid(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_utime_tid(long) testing task_stime ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime () testing task_stime(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime(long) testing task_stime_tid(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_stime_tid(long) testing task_start_time (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_start_time (long) testing cputime_to_msecs (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { cputime_to_msecs (0) }} # global embedded code %{ #include /* includes asm/cputime.h */ #include /* Kernels since 2.6.37 generally have cputime_to_usecs, but not msecs. * (ref: kernel commit d57af9b2142f31a39dcfdeb30776baadfc802827) * Yet note some kernels (RHEL6) may already have both... */ #if defined(cputime_to_usecs) #if !defined(cputime_to_msecs) /* On some kernels (android 3.0 kernels), the cputime_to_usecs() macro * definition inadvertently had a semicolon on the end. The following * should handle versions of that macro with and without the extra * semi-colon. */ #define cputime_to_msecs(__ct) \ _stp_div64(NULL, ({cputime_to_usecs(__ct);}), 1000ULL) #endif /* Kernels before 2.6.37 have cputime_to_msecs, but not usecs. */ #elif defined(cputime_to_msecs) #define cputime_to_usecs(__ct) (cputime_to_msecs(__ct) * 1000ULL) /* RHEL4 (2.6.9) kernels have neither, but it's just jiffies anyway. */ #else #define cputime_to_msecs(__ct) jiffies_to_msecs(__ct) #define cputime_to_usecs(__ct) jiffies_to_usecs(__ct) #endif %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cputime_to_msecs' at :1:15 source: probe begin { cputime_to_msecs (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cputime_to_msecs (0) } ^ funcname is cputime_to_msecs PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: cputime_to_msecs (long) testing cputime_to_usecs (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { cputime_to_usecs (0) }} # global embedded code %{ #include /* includes asm/cputime.h */ #include /* Kernels since 2.6.37 generally have cputime_to_usecs, but not msecs. * (ref: kernel commit d57af9b2142f31a39dcfdeb30776baadfc802827) * Yet note some kernels (RHEL6) may already have both... */ #if defined(cputime_to_usecs) #if !defined(cputime_to_msecs) /* On some kernels (android 3.0 kernels), the cputime_to_usecs() macro * definition inadvertently had a semicolon on the end. The following * should handle versions of that macro with and without the extra * semi-colon. */ #define cputime_to_msecs(__ct) \ _stp_div64(NULL, ({cputime_to_usecs(__ct);}), 1000ULL) #endif /* Kernels before 2.6.37 have cputime_to_msecs, but not usecs. */ #elif defined(cputime_to_msecs) #define cputime_to_usecs(__ct) (cputime_to_msecs(__ct) * 1000ULL) /* RHEL4 (2.6.9) kernels have neither, but it's just jiffies anyway. */ #else #define cputime_to_msecs(__ct) jiffies_to_msecs(__ct) #define cputime_to_usecs(__ct) jiffies_to_usecs(__ct) #endif %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cputime_to_usecs' at :1:15 source: probe begin { cputime_to_usecs (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cputime_to_usecs (0) } ^ funcname is cputime_to_usecs PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: cputime_to_usecs (long) testing msecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: msecs_to_string (long) testing usecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: usecs_to_string (long) testing nsecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: nsecs_to_string (long) testing cputime_to_string (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cputime_to_string (long) testing task_time_string ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_time_string () testing task_time_string_tid (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: task_time_string_tid (long) testing tcp_get_info_rto(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tcp_get_info_rto(0) }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'tcp_get_info_rto' at :1:15 source: probe begin { tcp_get_info_rto(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tcp_get_info_rto(0) } ^ funcname is tcp_get_info_rto PASS: unprivileged embedded C: privileged: --privilege=stapsys: tcp_get_info_rto(long) testing tcp_get_info_snd_cwnd(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tcp_get_info_snd_cwnd(0) }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'tcp_get_info_snd_cwnd' at :1:15 source: probe begin { tcp_get_info_snd_cwnd(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tcp_get_info_snd_cwnd(0) } ^ funcname is tcp_get_info_snd_cwnd PASS: unprivileged embedded C: privileged: --privilege=stapsys: tcp_get_info_snd_cwnd(long) testing tcp_ts_get_info_state(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tcp_ts_get_info_state(0) }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'tcp_ts_get_info_state' at :1:15 source: probe begin { tcp_ts_get_info_state(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tcp_ts_get_info_state(0) } ^ funcname is tcp_ts_get_info_state PASS: unprivileged embedded C: privileged: --privilege=stapsys: tcp_ts_get_info_state(long) testing __tcp_sock_dport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_sock_dport (long) testing __get_skb_tcphdr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __get_skb_tcphdr(long) testing __tcp_skb_urg (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_urg (long) testing __tcp_skb_ack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_ack (long) testing __tcp_skb_psh (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_psh (long) testing __tcp_skb_rst (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_rst (long) testing __tcp_skb_syn (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_syn (long) testing __tcp_skb_fin (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_fin (long) testing __tcp_skb_sport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_sport (long) testing __tcp_skb_dport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_skb_dport (long) testing __tcp_sock_sport (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __tcp_sock_sport (long) testing tcp_sockstate_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_sockstate_str (long) testing tcp_ts_get_info_snd_ssthresh(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tcp_ts_get_info_snd_ssthresh(0) }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'tcp_ts_get_info_snd_ssthresh' at :1:15 source: probe begin { tcp_ts_get_info_snd_ssthresh(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tcp_ts_get_info_snd_ssthresh(0) } ^ funcname is tcp_ts_get_info_snd_ssthresh PASS: unprivileged embedded C: privileged: --privilege=stapsys: tcp_ts_get_info_snd_ssthresh(long) testing tcp_ts_get_info_rcv_mss(long);privileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tcp_ts_get_info_rcv_mss(0) }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'tcp_ts_get_info_rcv_mss' at :1:15 source: probe begin { tcp_ts_get_info_rcv_mss(0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tcp_ts_get_info_rcv_mss(0) } ^ funcname is tcp_ts_get_info_rcv_mss PASS: unprivileged embedded C: privileged: --privilege=stapsys: tcp_ts_get_info_rcv_mss(long) testing tcp_sockopt_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_sockopt_str (long) testing tcp_ipv6_sockopt_str (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcp_ipv6_sockopt_str (long) testing tcpmib_filter_key (long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_filter_key (long, long) testing tcpmib_get_state (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_get_state (long) testing tcpmib_local_addr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_local_addr(long) testing tcpmib_remote_addr(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_remote_addr(long) testing tcpmib_local_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_local_port(long) testing tcpmib_remote_port(long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: tcpmib_remote_port(long) testing get_cycles ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { get_cycles () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'get_cycles' at :1:15 source: probe begin { get_cycles () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { get_cycles () } ^ funcname is get_cycles PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: get_cycles () testing jiffies ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { jiffies () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'jiffies' at :1:15 source: probe begin { jiffies () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { jiffies () } ^ funcname is jiffies PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: jiffies () testing HZ ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { HZ () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'HZ' at :1:15 source: probe begin { HZ () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { HZ () } ^ funcname is HZ PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: HZ () testing gettimeofday_ns ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { gettimeofday_ns () }} # global embedded code %{ #define STAP_NEED_GETTIMEOFDAY 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'gettimeofday_ns' at :1:15 source: probe begin { gettimeofday_ns () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { gettimeofday_ns () } ^ funcname is gettimeofday_ns PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: gettimeofday_ns () testing gettimeofday_us ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_us () testing gettimeofday_ms ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_ms () testing gettimeofday_s ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: gettimeofday_s () testing cpu_clock_ns (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { cpu_clock_ns (0) }} # global embedded code %{ // Since scripts can run from quite arbitrary contexts, we can only use // cpu_clock once it was made NMI safe. This was in commit def0a9b2 for // HAVE_UNSTABLE_SCHED_CLOCK archs (included in 2.6.32), and commit b9f8fcd5 // for the rest (included in 2.6.33). So before that, we'll just pretend that // cpu_clock and local_clock don't exist. #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) \ || (!defined (CONFIG_HAVE_UNSTABLE_SCHED_CLOCK) \ && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))) #undef STAPCONF_CPU_CLOCK #undef STAPCONF_LOCAL_CLOCK #endif // If we're falling back on gettimeofday, that machinery needs to be started. #if !defined (STAPCONF_CPU_CLOCK) #define STAP_NEED_GETTIMEOFDAY 1 #endif %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'cpu_clock_ns' at :1:15 source: probe begin { cpu_clock_ns (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { cpu_clock_ns (0) } ^ funcname is cpu_clock_ns PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: cpu_clock_ns (long) testing cpu_clock_us (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_us (long) testing cpu_clock_ms (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_ms (long) testing cpu_clock_s (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: cpu_clock_s (long) testing local_clock_ns ();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { local_clock_ns () }} # global embedded code %{ // Since scripts can run from quite arbitrary contexts, we can only use // cpu_clock once it was made NMI safe. This was in commit def0a9b2 for // HAVE_UNSTABLE_SCHED_CLOCK archs (included in 2.6.32), and commit b9f8fcd5 // for the rest (included in 2.6.33). So before that, we'll just pretend that // cpu_clock and local_clock don't exist. #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) \ || (!defined (CONFIG_HAVE_UNSTABLE_SCHED_CLOCK) \ && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))) #undef STAPCONF_CPU_CLOCK #undef STAPCONF_LOCAL_CLOCK #endif // If we're falling back on gettimeofday, that machinery needs to be started. #if !defined (STAPCONF_CPU_CLOCK) #define STAP_NEED_GETTIMEOFDAY 1 #endif %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'local_clock_ns' at :1:15 source: probe begin { local_clock_ns () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { local_clock_ns () } ^ funcname is local_clock_ns PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: local_clock_ns () testing local_clock_us ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_us () testing local_clock_ms ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_ms () testing local_clock_s ();no embedded C UNTESTED: unprivileged embedded C: no embedded C: local_clock_s () testing tz_gmtoff();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tz_gmtoff() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'tz_gmtoff' at :1:15 source: probe begin { tz_gmtoff() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tz_gmtoff() } ^ funcname is tz_gmtoff PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: tz_gmtoff() testing tz_name();unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { tz_name() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'tz_name' at :1:15 source: probe begin { tz_name() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { tz_name() } ^ funcname is tz_name PASS: unprivileged embedded C: unprivileged: --privilege=stapsys: tz_name() testing ustack (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ustack (long) testing usymname (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usymname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymname' at :1:15 source: probe begin { usymname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymname (0) } ^ funcname is usymname PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: usymname (long) testing usymdata (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usymdata (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymdata' at :1:15 source: probe begin { usymdata (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymdata (0) } ^ funcname is usymdata PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: usymdata (long) testing print_ustack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_ustack(string) testing print_usyms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: print_usyms (string) testing sprint_ustack(string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_ustack(string) testing sprint_usyms (string);no embedded C UNTESTED: unprivileged embedded C: no embedded C: sprint_usyms (string) testing usymfileline (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usymfileline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymfileline' at :1:15 source: probe begin { usymfileline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymfileline (0) } ^ funcname is usymfileline PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: usymfileline (long) testing usymfile (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usymfile (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymfile' at :1:15 source: probe begin { usymfile (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymfile (0) } ^ funcname is usymfile PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: usymfile (long) testing usymline (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { usymline (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'usymline' at :1:15 source: probe begin { usymline (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { usymline (0) } ^ funcname is usymline PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: usymline (long) testing print_ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { print_ubacktrace () }} # functions error:unknown (msg:string) print_ubacktrace:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is print_ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: print_ubacktrace () testing sprint_ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { sprint_ubacktrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'sprint_ubacktrace' at :1:15 source: probe begin { sprint_ubacktrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { sprint_ubacktrace () } ^ funcname is sprint_ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: sprint_ubacktrace () testing print_ubacktrace_brief ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { print_ubacktrace_brief () }} # functions error:unknown (msg:string) print_ubacktrace_brief:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is print_ubacktrace_brief PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: print_ubacktrace_brief () testing ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { ubacktrace () }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'ubacktrace' at :1:15 source: probe begin { ubacktrace () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { ubacktrace () } ^ funcname is ubacktrace PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: ubacktrace () testing umodname (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { umodname (0) }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'umodname' at :1:15 source: probe begin { umodname (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { umodname (0) } ^ funcname is umodname PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: umodname (long) testing ucallers (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ucallers (long) testing _utrace_syscall_nr ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _utrace_syscall_nr () }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_nr' at :1:15 source: probe begin { _utrace_syscall_nr () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_nr () } ^ funcname is _utrace_syscall_nr PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_nr () testing _utrace_syscall_arg (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _utrace_syscall_arg (0) }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_arg' at :1:15 source: probe begin { _utrace_syscall_arg (0) } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_arg (0) } ^ funcname is _utrace_syscall_arg PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_arg (long) testing _utrace_syscall_return ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {probe begin { _utrace_syscall_return () }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier '_utrace_syscall_return' at :1:15 source: probe begin { _utrace_syscall_return () } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe begin { _utrace_syscall_return () } ^ funcname is _utrace_syscall_return PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_return () testing __find_bdevname(long, long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __find_bdevname(long, long) testing ppos_pos (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: ppos_pos (long) testing __page_ino (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_ino (long) testing __page_dev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_dev (long) testing __page_bdev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __page_bdev (long) testing __file_dev (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_dev (long) testing __file_ino (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_ino (long) testing __file_maxbytes (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_maxbytes (long) testing __file_filename (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: __file_filename (long) testing _dev_minor (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dev_minor (long) testing _dev_major (long);no embedded C UNTESTED: unprivileged embedded C: no embedded C: _dev_major (long) testing atomic_read(long);privileged testing atomic_long_read(long);privileged testing _stp_syscall_nr ();privileged testing _struct_timeval_u(long, long);privileged testing _struct_compat_timeval_u(long, long);privileged eval exec stap -p2 --unprivileged -e {function foo() { _struct_compat_timeval_u(0, 0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_timeval_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:181:10 source: function _struct_compat_timeval_u:string(uaddr:long, n:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_timeval_u PASS: unprivileged embedded C (transitive): privileged: --unprivileged: _struct_compat_timeval_u(long, long) testing _struct_timezone_u(long);privileged testing _stp_clock_nanosleep_flags_str(long);unprivileged testing _struct_utimbuf_actime(long);privileged testing _struct_utimbuf_modtime(long);privileged testing _struct_compat_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _struct_compat_utimbuf_actime(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_utimbuf_actime' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:281:10 source: function _struct_compat_utimbuf_actime:long(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_utimbuf_actime PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _struct_compat_utimbuf_actime(long) testing _struct_compat_utimbuf_modtime(long);privileged testing _struct_timespec_u(long, long);privileged testing _struct_compat_timespec_u(long, long);privileged testing _struct_itimerspec_u(long);privileged testing _struct_compat_itimerspec_u(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { _struct_compat_itimerspec_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_compat_itimerspec_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:422:10 source: function _struct_compat_itimerspec_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_compat_itimerspec_u PASS: unprivileged embedded C (transitive): privileged: --unprivileged: _struct_compat_itimerspec_u(long) testing _struct_itimerval_u(long);privileged testing _struct_compat_itimerval_u(long);privileged testing _struct_sockaddr_u_ip_addr(long, long);no embedded C testing _struct_sockaddr_u_tcp_port(long, long);no embedded C testing _struct_sockaddr_u_sa_family(long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _struct_sockaddr_u_sa_family(long, long) testing _struct_sockaddr_u_ipv6_flowinfo(long, long);no embedded C testing _struct_sockaddr_u_ipv6_scope_id(long, long);no embedded C testing _struct_sockaddr_u(long, long);no embedded C testing _struct_rlimit_u(long);privileged testing _fildes_index_u (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _fildes_index_u (0, 0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_fildes_index_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:816:10 source: function _fildes_index_u:long (uaddr:long, index:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _fildes_index_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _fildes_index_u (long, long) testing __sem_flags(long);unprivileged testing __get_argv(long, long);no embedded C testing __get_compat_argv(long, long);no embedded C testing __count_envp(long);no embedded C testing __count_compat_envp(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __count_compat_envp(long) testing _adjtx_mode_str(long);no embedded C testing _getrandom_flags_str(long);unprivileged testing _inotify_watch_mask_str(long);unprivileged testing _sigprocmask_how_str(long);unprivileged testing _itimer_which_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _itimer_which_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:55 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:41 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _itimer_which_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _itimer_which_str(long) testing _nfsctl_cmd_str(long);unprivileged testing _get_wc_str(long);unprivileged testing _flock_cmd_str(long);unprivileged testing _sys_pipe2_flag_str (long);unprivileged testing _sys_open_flag_str (long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _sys_open_flag_str (0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _sys_open_flag_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _sys_open_flag_str (long) testing _access_mode_str(long);unprivileged testing _mknod_mode_str(long);no embedded C testing _msync_flag_str(long);unprivileged testing _internal_wait_opt_str(long, long, string);unprivileged testing _waitid_opt_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _waitid_opt_str(0) } probe begin { foo() }} semantic error: unresolved function (similar: _wait4_opt_str, _waitid_which_str, _futex_op_str, _dfd_str, text_str): identifier '_waitid_opt_str' at :1:18 source: function foo() { _waitid_opt_str(0) } probe begin { foo() } ^ Pass 2: analysis failed. [man error::pass2] funcname is _waitid_opt_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _waitid_opt_str(long) testing _wait4_opt_str(long);unprivileged testing WIFEXITED(long);no embedded C testing WEXITSTATUS(long);no embedded C testing WTERMSIG(long);no embedded C testing _wait_status_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _wait_status_str(long) testing _seccomp_flags_str(long);unprivileged testing _msg_flags_str(long);unprivileged testing _sendflags_str(long);no embedded C testing _recvflags_str(long);no embedded C testing _mfd_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _mfd_flags_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:52 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:38 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mfd_flags_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _mfd_flags_str(long) testing _stp_mlock2_str(long);unprivileged testing _mlockall_flags_str(long);unprivileged testing _module_flags_str(long);unprivileged testing _sched_policy_str(long);unprivileged testing _priority_which_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _priority_which_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _priority_which_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _priority_which_str(long) testing _shutdown_how_str(long);unprivileged testing _reboot_magic_str(long);unprivileged testing _reboot_flag_str(long);unprivileged testing _waitid_which_str(long);unprivileged testing _futex_op_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _futex_op_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _futex_op_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _futex_op_str(long) testing _futex_wake_op_str(long);unprivileged testing _mountflags_str(long);unprivileged testing _umountflags_str(long);unprivileged testing _statfs_f_type_str(long);no embedded C testing _mremap_flags(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _mremap_flags(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mremap_flags PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _mremap_flags(long) testing _madvice_advice_str(long);unprivileged testing _fadvice_advice_str(long);unprivileged testing _fcntl_cmd_str(long);unprivileged testing _seek_whence_str(long);unprivileged testing _quotactl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _quotactl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:55 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:41 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _quotactl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _quotactl_cmd_str(long) testing _quotactl_subcmd(long);unprivileged testing _quotactl_quota_type_str(long);unprivileged testing _struct_dqblk_u(long);privileged testing _struct_dqinfo_u(long);privileged testing _sockopt_optname_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _sockopt_optname_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:58 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:44 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _sockopt_optname_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _sockopt_optname_str(long) testing _sockopt_level_str(long);unprivileged testing _sock_family_str(long);unprivileged testing _sock_type_str(long);unprivileged testing _sock_flags_str(long);unprivileged testing _sock_protocol_str(long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _sock_protocol_str(long, long) testing _opoll_op_str(long);unprivileged testing _epoll_events_str(long);no embedded C testing _rlimit_resource_str(long);unprivileged testing _rusage_who_str(long);unprivileged testing __short(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { __short(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:45 source: function foo() { __short(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:31 source: function foo() { __short(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { __short(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is __short PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: __short(long) testing __ushort(long);unprivileged testing __int32(long);unprivileged testing __uint32(long);unprivileged testing __ulong(long);unprivileged testing __long(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { __long(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:44 source: function foo() { __long(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:30 source: function foo() { __long(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { __long(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is __long PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: __long(long) testing _dfd_str(long);no embedded C testing _adjtimex_return_str(long);unprivileged testing _signal_name(long);unprivileged testing _semctl_cmd(long);unprivileged testing _stp_sigset_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _stp_sigset_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_sigset_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3037:10 source: function _stp_sigset_u:string(setptr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_sigset_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _stp_sigset_u(long) testing _stp_compat_sigset_u(long);privileged testing __fork_flags(long);unprivileged testing _at_flag_str(long);unprivileged testing _epoll_create1_flag_str(long);unprivileged testing _eventfd2_flag_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _eventfd2_flag_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _eventfd2_flag_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _eventfd2_flag_str(long) testing _signalfd4_flags_str(long);unprivileged testing _inotify_init1_flag_str(long);unprivileged testing _dup3_flag_str(long);unprivileged testing _shmat_flags_str(long);unprivileged testing _mprotect_prot_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _mprotect_prot_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mprotect_prot_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _mprotect_prot_str(long) testing _mmap_flags(long);unprivileged testing get_mmap_args (long);privileged testing _sighandler_str(long);unprivileged testing _stp_sigmask_str(long);privileged testing _struct_sigaction_u(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { _struct_sigaction_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_sigaction_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:3439:10 source: function _struct_sigaction_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_sigaction_u PASS: unprivileged embedded C (transitive): privileged: --unprivileged: _struct_sigaction_u(long) testing _struct_sigaction32_u(long);privileged testing _struct_old_sigaction32_u(long);privileged testing irqflags_str(long);unprivileged testing _ptrace_options_str(long);unprivileged testing _ptrace_argstr(long, long, long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _ptrace_argstr(long, long, long, long) testing _ptrace_return_geteventmsg_data(long,long);no embedded C testing _swapon_flags_str(long);unprivileged testing _stp_shmget_flags_str(long);unprivileged testing _stp_msgget_key_str(long);no embedded C testing _stp_msgctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_msgctl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _stp_msgctl_cmd_str(long) testing _stp_msgflg_str(long);unprivileged testing _stp_compat_msgrcv_msgbuf(long, long);privileged testing _stp_compat_msgrcv_msgtyp(long, long, long);privileged testing _stp_xattr_flags_str(long);unprivileged testing _stp_xattr_val_str(long, long);privileged eval exec stap -p2 --unprivileged -e {function foo() { _stp_xattr_val_str(0, 0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_xattr_val_str' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:4127:10 source: function _stp_xattr_val_str:string(uaddr:long, size:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_xattr_val_str PASS: unprivileged embedded C (transitive): privileged: --unprivileged: _stp_xattr_val_str(long, long) testing _stp_ioprio_which_str(long);unprivileged testing _stp_ioprio_value_str(long);unprivileged testing _mempolicy_flags_str(long);unprivileged testing _mempolicy_mode_str(long);unprivileged testing _stp_keyctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_keyctl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _stp_keyctl_cmd_str(long) testing _stp_keyctl_keyring_shortcut_str(long);unprivileged testing _stp_keyctl_default_keyrings_str(long);unprivileged testing _stp_keyctl_perm_str(long);unprivileged testing _finit_module_flags_str(long);unprivileged testing _prctl_argstr(long, long, long, long, long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:71 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:57 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _prctl_argstr PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _prctl_argstr(long, long, long, long, long) testing _stp_timerfd_flags_str(long);unprivileged testing _stp_splice_flags_str(long);unprivileged testing _stp_fallocate_mode_str(long);unprivileged testing _stp_arch_prctl_func_str(long);unprivileged testing _struct_timex_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _struct_timex_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_timex_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5132:10 source: function _struct_timex_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_timex_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _struct_timex_u(long) testing _struct_compat_timex_u(long);privileged testing _sync_file_range_flags_str(long);unprivileged testing _stp_siginfo_u(long);privileged testing _stp_compat_siginfo_u(long);privileged testing _struct_tms_u(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { _struct_tms_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_struct_tms_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5621:10 source: function _struct_tms_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _struct_tms_u PASS: unprivileged embedded C (transitive): privileged: --unprivileged: _struct_tms_u(long) testing _struct_sysinfo_u(long);privileged testing _kexec_flags_str(long);unprivileged testing _kexec_file_load_flags_str(long);unprivileged testing _stp_sigaltstack_u(long);privileged testing _stp_compat_sigaltstack_u(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _stp_compat_sigaltstack_u(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_stp_compat_sigaltstack_u' at /root/systemtap_write/install/share/systemtap/tapset/linux/aux_syscalls.stp:5764:10 source: function _stp_compat_sigaltstack_u:string(uaddr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is _stp_compat_sigaltstack_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _stp_compat_sigaltstack_u(long) testing _renameat2_flags_str(long);unprivileged testing _fanotify_init_flags_str(long);unprivileged testing _fanotify_mark_flags_str(long);unprivileged testing _fanotify_mark_mask_str(long);unprivileged testing _perf_event_open_flags_str(long);unprivileged eval exec stap -p2 --unprivileged -e {function foo() { _perf_event_open_flags_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:64 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:50 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _perf_event_open_flags_str PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: _perf_event_open_flags_str(long) testing _kcmp_type_str(long);unprivileged testing _struct_sched_attr_u(long);privileged testing _seccomp_op_str(long);unprivileged testing _bpf_cmd_str(long);unprivileged testing _membarrier_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _membarrier_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _membarrier_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: _membarrier_cmd_str(long) testing _userfaultfd_flags_str (long);unprivileged testing _preadv2_flags_str (long);unprivileged testing callers (long);no embedded C testing caller();no embedded C testing caller_addr ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: caller_addr () testing _caller_match (long, long, string, string, long);myproc-unprivileged testing env_var(string);no embedded C testing stack (long);no embedded C testing print_stack(string);no embedded C testing sprint_stack(string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: sprint_stack(string) testing probefunc ();privileged testing probemod ();privileged testing modname (long);privileged testing symname (long);privileged testing symdata (long);privileged eval exec stap -p2 --unprivileged -e {function foo() { symdata (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symdata' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:244:10 source: function symdata:string (addr: long) %{ /* pure */ /* pragma:symbols */ ^ Pass 2: analysis failed. [man error::pass2] funcname is symdata PASS: unprivileged embedded C (transitive): privileged: --unprivileged: symdata (long) testing print_syms (string);no embedded C testing sprint_syms (string);no embedded C testing symfileline (long);privileged testing symfile (long);privileged testing symline (long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { symline (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'symline' at /root/systemtap_write/install/share/systemtap/tapset/linux/context-symbols.stp:340:10 source: function symline:string (addr:long) %{ ^ Pass 2: analysis failed. [man error::pass2] funcname is symline PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: symline (long) testing print_backtrace ();privileged testing sprint_backtrace ();privileged testing backtrace ();privileged testing task_backtrace (long);no embedded C testing execname ();unprivileged eval exec stap -p2 --unprivileged -e {function foo() { execname () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { execname () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { execname () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { execname () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is execname PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: execname () testing pid ();no embedded C testing ns_pid ();unprivileged testing tid ();no embedded C testing ns_tid ();unprivileged testing ppid();unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { ppid() } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:41 source: function foo() { ppid() } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:27 source: function foo() { ppid() } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ppid() } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ppid PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: ppid() testing ns_ppid();unprivileged testing pgrp ();unprivileged testing ns_pgrp ();unprivileged testing sid ();unprivileged testing ns_sid ();unprivileged eval exec stap -p2 --unprivileged -e {function foo() { ns_sid () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:44 source: function foo() { ns_sid () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:30 source: function foo() { ns_sid () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ns_sid () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ns_sid PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: ns_sid () testing pexecname ();unprivileged testing gid ();unprivileged testing ns_gid ();unprivileged testing egid ();unprivileged testing ns_egid ();unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { ns_egid () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:45 source: function foo() { ns_egid () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:31 source: function foo() { ns_egid () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ns_egid () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ns_egid PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: ns_egid () testing uid ();unprivileged testing ns_uid ();unprivileged testing euid ();unprivileged testing ns_euid ();unprivileged testing is_myproc ();unprivileged eval exec stap -p2 --unprivileged -e {function foo() { is_myproc () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:47 source: function foo() { is_myproc () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:33 source: function foo() { is_myproc () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { is_myproc () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is is_myproc PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: is_myproc () testing cpuid ();privileged testing cpu ();unprivileged testing registers_valid ();unprivileged testing user_mode ();unprivileged testing is_return ();privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { is_return () } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'is_return' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:357:10 source: function is_return:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is is_return PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: is_return () testing target ();no embedded C testing module_name ();unprivileged testing module_size();privileged testing stp_pid ();privileged testing remote_id ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: remote_id () testing remote_uri ();unprivileged testing stack_size ();privileged testing stack_used ();privileged testing stack_unused ();privileged testing addr ();privileged eval exec stap -p2 --unprivileged -e {function foo() { addr () } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'addr' at /root/systemtap_write/install/share/systemtap/tapset/linux/context.stp:507:10 source: function addr:long () ^ Pass 2: analysis failed. [man error::pass2] funcname is addr PASS: unprivileged embedded C (transitive): privileged: --unprivileged: addr () testing uaddr ();myproc-unprivileged testing cmdline_args(long, long, string);no embedded C testing cmdline_arg(long);no embedded C testing cmdline_str();no embedded C testing set_kernel_string (long, string);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { set_kernel_string (0, "0") } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:18:10 source: function set_kernel_string (addr:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: set_kernel_string (long, string) testing set_kernel_string_n (long, long, string);privileged testing set_kernel_long (long, long);privileged testing set_kernel_int (long, long);privileged testing set_kernel_short (long, long);privileged testing set_kernel_char (long, long);privileged eval exec stap -p2 --unprivileged -e {function foo() { set_kernel_char (0, 0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'set_kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:115:10 source: function set_kernel_char (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_char PASS: unprivileged embedded C (transitive): privileged: --unprivileged: set_kernel_char (long, long) testing set_kernel_pointer (long, long);privileged testing kernel_string (long);privileged testing kernel_string (long, string);no embedded C testing kernel_string2 (long, string);no embedded C testing kernel_string_quoted (long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { kernel_string_quoted (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_string_quoted' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:63:10 source: function kernel_string_quoted:string (addr:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_string_quoted PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: kernel_string_quoted (long) testing kernel_string_n (long, long);privileged testing kernel_string_utf32 (long);privileged testing kernel_string_utf32 (long, string);no embedded C testing kernel_string2_utf32 (long, string);no embedded C testing kernel_string_quoted_utf32 (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: kernel_string_quoted_utf32 (long) testing kernel_string_utf16 (long);privileged testing kernel_string_utf16 (long, string);no embedded C testing kernel_string2_utf16 (long, string);no embedded C testing kernel_string_quoted_utf16 (long);no embedded C testing kernel_long (long);privileged eval exec stap -p2 --unprivileged -e {function foo() { kernel_long (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'kernel_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:248:10 source: function kernel_long:long (addr:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_long PASS: unprivileged embedded C (transitive): privileged: --unprivileged: kernel_long (long) testing kernel_int (long);privileged testing kernel_short (long);privileged testing kernel_char (long);privileged testing kernel_pointer (long);privileged testing kernel_buffer_quoted (long, long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { kernel_buffer_quoted (0, 0) } probe begin { foo() }} semantic error: embedded expression may not be used when --privilege=stapusr is specified: embedded-code at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions.stp:342:44 source: return kernel_buffer_quoted(addr, inlen, %{ /* pure */ MAXSTRINGLEN%}) ^ Pass 2: analysis failed. [man error::pass2] funcname is kernel_buffer_quoted PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: kernel_buffer_quoted (long, long) testing kernel_buffer_quoted (long, long, long);privileged testing kernel_buffer_quoted_error (long, long, long);privileged testing ctime(long);privileged testing ctime();no embedded C testing d_name(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: d_name(long) testing inode_name(long);no embedded C testing inode_path(long);no embedded C testing reverse_path_walk(long);no embedded C testing real_mount(long);no embedded C testing task_dentry_path(long,long,long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_dentry_path(long,long,long) testing d_path(long);no embedded C testing fullpath_struct_nameidata(long);no embedded C testing fullpath_struct_path(long);no embedded C testing fullpath_struct_file(long, long);no embedded C testing MAJOR(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { MAJOR(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'MAJOR' at /root/systemtap_write/install/share/systemtap/tapset/linux/dev.stp:18:10 source: function MAJOR:long(dev:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is MAJOR PASS: unprivileged embedded C (transitive): privileged: --unprivileged: MAJOR(long) testing MINOR(long);privileged testing MKDEV(long, long);privileged testing usrdev2kerndev(long);privileged testing bdevname(long);no embedded C testing big_endian2 (long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { big_endian2 (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'big_endian2' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:1:10 source: function big_endian2:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is big_endian2 PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: big_endian2 (long) testing big_endian4 (long);privileged testing big_endian8 (long);privileged testing little_endian2 (long);privileged testing little_endian4 (long);privileged testing little_endian8 (long);privileged eval exec stap -p2 --unprivileged -e {function foo() { little_endian8 (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'little_endian8' at /root/systemtap_write/install/share/systemtap/tapset/linux/endian.stp:21:10 source: function little_endian8:long (val:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is little_endian8 PASS: unprivileged embedded C (transitive): privileged: --unprivileged: little_endian8 (long) testing mdelay(long);privileged testing udelay(long);privileged testing raise(long);privileged testing htonll (long);privileged testing htonl (long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { htonl (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'htonl' at /root/systemtap_write/install/share/systemtap/tapset/linux/inet.stp:19:10 source: function htonl:long (x:long) %{ /* pure */ STAP_RETVALUE = (int64_t) cpu_to_be32 ((u32) STAP_ARG_x); %} ^ Pass 2: analysis failed. [man error::pass2] funcname is htonl PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: htonl (long) testing htons (long);privileged testing ntohll (long);privileged testing ntohl (long);privileged testing ntohs (long);privileged testing inet_get_local_port(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: inet_get_local_port(long) testing inet_get_ip_source(long);no embedded C testing daddr_to_string(long);no embedded C testing bio_rw_num(long);no embedded C testing bio_rw_str(long);no embedded C testing disk_major_from_request(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { disk_major_from_request(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'disk_major_from_request' at /root/systemtap_write/install/share/systemtap/tapset/linux/ioscheduler.stp:360:10 source: function disk_major_from_request:long(var_q:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is disk_major_from_request PASS: unprivileged embedded C (transitive): privileged: --unprivileged: disk_major_from_request(long) testing disk_minor_from_request(long);privileged testing format_ipaddr (long, long);privileged testing ip_ntop (long);no embedded C testing __ip_sock_saddr (long);no embedded C testing __ip_sock_daddr (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __ip_sock_daddr (long) testing __ip_sock_family (long);no embedded C testing __get_skb_iphdr(long);privileged testing __ip_skb_proto (long);no embedded C testing __ip_skb_saddr (long);no embedded C testing __ip_skb_daddr (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __ip_skb_daddr (long) testing ipmib_filter_key (long, long, long);no embedded C testing ipmib_remote_addr (long, long);no embedded C testing ipmib_local_addr (long, long);no embedded C testing ipmib_tcp_remote_port (long, long);no embedded C testing ipmib_tcp_local_port (long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: ipmib_tcp_local_port (long, long) testing ipmib_get_proto (long);no embedded C testing _input_route_type (long);no embedded C testing json_set_prefix(string);no embedded C testing json_add_numeric_metric(string, string, string);no embedded C testing json_add_string_metric(string, string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: json_add_string_metric(string, string) testing json_add_array(string, string);no embedded C testing json_add_array_numeric_metric(string, string, string, string);no embedded C testing json_add_array_string_metric(string, string, string);no embedded C testing _get_kretprobe_long(long);privileged testing _set_kretprobe_long(long, long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _set_kretprobe_long(0, 0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier '_set_kretprobe_long' at /root/systemtap_write/install/share/systemtap/tapset/linux/kretprobe.stp:38:10 source: function _set_kretprobe_long(i:long, value:long) %{ /* impure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is _set_kretprobe_long PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: _set_kretprobe_long(long, long) testing _get_kretprobe_string(long);privileged testing _set_kretprobe_string(long, string);privileged testing linuxmib_filter_key (long, long);no embedded C testing get_loadavg_index (long);privileged testing sprint_loadavg ();privileged eval exec stap -p2 --unprivileged -e {function foo() { sprint_loadavg () } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'sprint_loadavg' at /root/systemtap_write/install/share/systemtap/tapset/linux/loadavg.stp:50:10 source: function sprint_loadavg:string () %{ /* pure */ /* stable */ ^ Pass 2: analysis failed. [man error::pass2] funcname is sprint_loadavg PASS: unprivileged embedded C (transitive): privileged: --unprivileged: sprint_loadavg () testing ftrace (string);privileged testing printk (long,string);privileged testing vm_fault_contains (long, long);privileged testing addr_to_node(long);privileged testing get_netdev_name (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: get_netdev_name (long) testing __nfs_version (long);no embedded C testing __file_inode (long);no embedded C testing __iov_length (long, long, long, long);privileged testing AF_INET();no embedded C testing AF_INET6();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: AF_INET6() testing NFS_I(long);no embedded C testing NFS_SERVER(long);no embedded C testing stap_NFS_CLIENT(long);no embedded C testing NFS_PROTO(long);no embedded C testing get_ip_from_client(long);unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { get_ip_from_client(0) } probe begin { foo() }} # global embedded code %{ /* For AF_INET */ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is get_ip_from_client PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: get_ip_from_client(long) testing get_prot_from_client(long);no embedded C testing get_ip(long);no embedded C testing get_prot(long);no embedded C testing __getfh_inode(long);no embedded C testing nfs3_cmode(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { nfs3_cmode(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'nfs3_cmode' at /root/systemtap_write/install/share/systemtap/tapset/linux/nfsd.stp:51:10 source: function nfs3_cmode:string(cmode:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is nfs3_cmode PASS: unprivileged embedded C (transitive): privileged: --unprivileged: nfs3_cmode(long) testing nfs4_ctype(long);privileged testing ftype(long);privileged testing nfsderror(long);privileged testing panic(string);privileged testing proc_mem_size ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_size () testing proc_mem_size (long);no embedded C testing proc_mem_size_pid (long);no embedded C testing proc_mem_rss ();no embedded C testing proc_mem_rss (long);no embedded C testing proc_mem_rss_pid (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_rss_pid (long) testing proc_mem_shr ();no embedded C testing proc_mem_shr (long);no embedded C testing proc_mem_shr_pid (long);no embedded C testing proc_mem_txt ();no embedded C testing proc_mem_txt (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_txt (long) testing proc_mem_txt_pid (long);no embedded C testing proc_mem_data ();no embedded C testing proc_mem_data (long);no embedded C testing proc_mem_data_pid (long);no embedded C testing mem_page_size ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: mem_page_size () testing bytes_to_string (long);no embedded C testing pages_to_string (long);no embedded C testing proc_mem_string ();no embedded C testing proc_mem_string (long);no embedded C testing proc_mem_string_pid (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_string_pid (long) testing pstrace(long);no embedded C testing rcu_dereference (long);privileged testing rlimit_from_str (string);privileged testing xid_from_clnt(long);no embedded C testing prog_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: prog_from_clnt(long) testing vers_from_clnt(long);no embedded C testing prot_from_clnt(long);no embedded C testing port_from_xprt(long);no embedded C testing port_from_clnt(long);no embedded C testing clones_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: clones_from_clnt(long) testing tasks_from_clnt(long);no embedded C testing proc_from_msg(long);no embedded C testing vers_from_prog(long, long);no embedded C testing addr_from_rqst(long);no embedded C testing addr_from_rqst_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: addr_from_rqst_str(long) testing container_of_task_rcu(long);no embedded C testing describe_data_direction(long);privileged testing describe_device_state(long);privileged testing timer_pending(long);no embedded C testing scsi_timer_pending(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: scsi_timer_pending(long) testing get_devstate_from_req(long);no embedded C testing get_sigaction_mask(long);no embedded C testing get_sigset(long);privileged testing get_sa_flags (long);no embedded C testing get_sa_handler (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: get_sa_handler (long) testing sigset_mask_str (long);privileged testing is_sig_blocked (long, long);privileged testing sa_flags_str (long);privileged testing sa_handler_str(long);no embedded C testing signal_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: signal_str(long) testing sock_prot_num2str(long);no embedded C testing sock_prot_str2num(string);no embedded C testing sock_fam_num2str(long);no embedded C testing sock_fam_str2num(string);no embedded C testing sock_state_num2str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: sock_state_num2str(long) testing sock_state_str2num(string);no embedded C testing sock_type_num2str(long);no embedded C testing sock_type_str2num(string);no embedded C testing sock_flags_num2str(long);privileged testing msg_flags_num2str(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { msg_flags_num2str(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'msg_flags_num2str' at /root/systemtap_write/install/share/systemtap/tapset/linux/socket.stp:847:10 source: function msg_flags_num2str:string(flags:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is msg_flags_num2str PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: msg_flags_num2str(long) testing _success_check(long);no embedded C testing _sock_prot_num(long);no embedded C testing _sock_fam_num(long);no embedded C testing _sock_state_num(long);no embedded C testing _sock_type_num(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _sock_type_num(long) testing _sock_flags_num(long);no embedded C testing syscall_name(long);no embedded C testing syscall_num(long);no embedded C testing target_set_pid (long);no embedded C testing target_set_report ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: target_set_report () testing task_current ();privileged testing task_rlimit (long, string);no embedded C testing task_rlimit_cpu (long);no embedded C testing task_rlimit_fsize (long);no embedded C testing task_rlimit_data (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_data (long) testing task_rlimit_stack (long);no embedded C testing task_rlimit_core (long);no embedded C testing task_rlimit_rss (long);no embedded C testing task_rlimit_nproc (long);no embedded C testing task_rlimit_nofile(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_nofile(long) testing task_rlimit_memlock(long);no embedded C testing task_rlimit_as(long);no embedded C testing task_rlimit_locks(long);no embedded C testing task_rlimit_sigpending(long);no embedded C testing task_rlimit_msgqueue(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_msgqueue(long) testing task_rlimit_nice(long);no embedded C testing task_rlimit_rtprio(long);no embedded C testing task_rlimit_rttime(long);no embedded C testing task_parent(long);no embedded C testing task_state (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_state (long) testing task_execname (long);no embedded C testing task_pid (long);no embedded C testing task_ns_pid (long);privileged testing pid2task (long);privileged testing pid2execname (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: pid2execname (long) testing task_tid (long);no embedded C testing task_ns_tid (long);privileged testing task_gid (long);privileged testing task_ns_gid (long);privileged testing task_egid (long);privileged eval exec stap -p2 --unprivileged -e {function foo() { task_egid (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_egid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:388:10 source: function task_egid:long (task:long) %{ /* pure */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_egid PASS: unprivileged embedded C (transitive): privileged: --unprivileged: task_egid (long) testing task_ns_egid (long);privileged testing task_uid (long);privileged testing task_ns_uid (long);privileged testing task_euid (long);privileged testing task_ns_euid (long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { task_ns_euid (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_ns_euid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:538:10 source: function task_ns_euid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_euid PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: task_ns_euid (long) testing task_prio (long);privileged testing task_nice (long);privileged testing task_cpu (long);no embedded C testing task_open_file_handles (long);privileged testing task_max_file_handles (long);privileged eval exec stap -p2 --unprivileged -e {function foo() { task_max_file_handles (0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'task_max_file_handles' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:642:10 source: function task_max_file_handles:long (task:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is task_max_file_handles PASS: unprivileged embedded C (transitive): privileged: --unprivileged: task_max_file_handles (long) testing task_fd_lookup(long, long);privileged testing task_cwd_path(long);privileged testing task_exe_file(long);privileged testing task_ancestry (long, long);no embedded C testing task_utime ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_utime () testing task_utime(long);no embedded C testing task_utime_tid(long);no embedded C testing task_stime ();no embedded C testing task_stime(long);no embedded C testing task_stime_tid(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_stime_tid(long) testing task_start_time (long);no embedded C testing cputime_to_msecs (long);unprivileged testing cputime_to_usecs (long);unprivileged testing msecs_to_string (long);no embedded C testing usecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: usecs_to_string (long) testing nsecs_to_string (long);no embedded C testing cputime_to_string (long);no embedded C testing task_time_string ();no embedded C testing task_time_string_tid (long);no embedded C testing tcp_get_info_rto(long);privileged eval exec stap -p2 --privilege=stapusr -e {function foo() { tcp_get_info_rto(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_get_info_rto' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:25:10 source: function tcp_get_info_rto:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_get_info_rto PASS: unprivileged embedded C (transitive): privileged: --privilege=stapusr: tcp_get_info_rto(long) testing tcp_get_info_snd_cwnd(long);privileged testing tcp_ts_get_info_state(long);privileged testing __tcp_sock_dport (long);no embedded C testing __get_skb_tcphdr(long);no embedded C testing __tcp_skb_urg (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __tcp_skb_urg (long) testing __tcp_skb_ack (long);no embedded C testing __tcp_skb_psh (long);no embedded C testing __tcp_skb_rst (long);no embedded C testing __tcp_skb_syn (long);no embedded C testing __tcp_skb_fin (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __tcp_skb_fin (long) testing __tcp_skb_sport (long);no embedded C testing __tcp_skb_dport (long);no embedded C testing __tcp_sock_sport (long);no embedded C testing tcp_sockstate_str (long);no embedded C testing tcp_ts_get_info_snd_ssthresh(long);privileged eval exec stap -p2 --unprivileged -e {function foo() { tcp_ts_get_info_snd_ssthresh(0) } probe begin { foo() }} semantic error: function may not be used when --privilege=stapusr is specified: identifier 'tcp_ts_get_info_snd_ssthresh' at /root/systemtap_write/install/share/systemtap/tapset/linux/tcp.stp:191:10 source: function tcp_ts_get_info_snd_ssthresh:long(sock:long) ^ Pass 2: analysis failed. [man error::pass2] funcname is tcp_ts_get_info_snd_ssthresh PASS: unprivileged embedded C (transitive): privileged: --unprivileged: tcp_ts_get_info_snd_ssthresh(long) testing tcp_ts_get_info_rcv_mss(long);privileged testing tcp_sockopt_str (long);no embedded C testing tcp_ipv6_sockopt_str (long);no embedded C testing tcpmib_filter_key (long, long);no embedded C testing tcpmib_get_state (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: tcpmib_get_state (long) testing tcpmib_local_addr(long);no embedded C testing tcpmib_remote_addr(long);no embedded C testing tcpmib_local_port(long);no embedded C testing tcpmib_remote_port(long);no embedded C testing get_cycles ();unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { get_cycles () } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { get_cycles () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { get_cycles () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { get_cycles () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is get_cycles PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapusr: get_cycles () testing jiffies ();unprivileged testing HZ ();unprivileged testing gettimeofday_ns ();unprivileged testing gettimeofday_us ();no embedded C testing gettimeofday_ms ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: gettimeofday_ms () testing gettimeofday_s ();no embedded C testing cpu_clock_ns (long);unprivileged testing cpu_clock_us (long);no embedded C testing cpu_clock_ms (long);no embedded C testing cpu_clock_s (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: cpu_clock_s (long) testing local_clock_ns ();unprivileged testing local_clock_us ();no embedded C testing local_clock_ms ();no embedded C testing local_clock_s ();no embedded C testing tz_gmtoff();unprivileged eval exec stap -p2 --unprivileged -e {function foo() { tz_gmtoff() } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is tz_gmtoff PASS: unprivileged embedded C (transitive): unprivileged: --unprivileged: tz_gmtoff() testing tz_name();unprivileged testing ustack (long);no embedded C testing usymname (long);myproc-unprivileged testing usymdata (long);myproc-unprivileged testing print_ustack(string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: print_ustack(string) testing print_usyms (string);no embedded C testing sprint_ustack(string);no embedded C testing sprint_usyms (string);no embedded C testing usymfileline (long);myproc-unprivileged testing usymfile (long);myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { usymfile (0) } probe begin { foo() }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:47 source: function foo() { usymfile (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:33 source: function foo() { usymfile (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { usymfile (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is usymfile PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapusr: usymfile (long) testing usymline (long);myproc-unprivileged testing print_ubacktrace ();myproc-unprivileged testing sprint_ubacktrace ();myproc-unprivileged testing print_ubacktrace_brief ();myproc-unprivileged testing ubacktrace ();myproc-unprivileged eval exec stap -p2 --unprivileged -e {function foo() { ubacktrace () } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { ubacktrace () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { ubacktrace () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ubacktrace () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ubacktrace PASS: unprivileged embedded C (transitive): myproc-unprivileged: --unprivileged: ubacktrace () testing umodname (long);myproc-unprivileged testing ucallers (long);no embedded C testing _utrace_syscall_nr ();myproc-unprivileged testing _utrace_syscall_arg (long);myproc-unprivileged testing _utrace_syscall_return ();myproc-unprivileged eval exec stap -p2 --privilege=stapusr -e {function foo() { _utrace_syscall_return () } probe begin { foo() }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:60 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:46 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _utrace_syscall_return PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapusr: _utrace_syscall_return () testing __find_bdevname(long, long);no embedded C testing ppos_pos (long);no embedded C testing __page_ino (long);no embedded C testing __page_dev (long);no embedded C testing __page_bdev (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __page_bdev (long) testing __file_dev (long);no embedded C testing __file_ino (long);no embedded C testing __file_maxbytes (long);no embedded C testing __file_filename (long);no embedded C testing _dev_minor (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _dev_minor (long) testing _dev_major (long);no embedded C testing atomic_read(long);privileged testing atomic_long_read(long);privileged testing _stp_syscall_nr ();privileged testing _struct_timeval_u(long, long);privileged testing _struct_compat_timeval_u(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_compat_timeval_u(0, 0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:65 source: function foo() { _struct_compat_timeval_u(0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:51 source: function foo() { _struct_compat_timeval_u(0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_compat_timeval_u(0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_compat_timeval_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_compat_timeval_u(long, long) testing _struct_timezone_u(long);privileged testing _stp_clock_nanosleep_flags_str(long);unprivileged testing _struct_utimbuf_actime(long);privileged testing _struct_utimbuf_modtime(long);privileged testing _struct_compat_utimbuf_actime(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_compat_utimbuf_actime(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:67 source: function foo() { _struct_compat_utimbuf_actime(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:53 source: function foo() { _struct_compat_utimbuf_actime(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_compat_utimbuf_actime(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_compat_utimbuf_actime PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_compat_utimbuf_actime(long) testing _struct_compat_utimbuf_modtime(long);privileged testing _struct_timespec_u(long, long);privileged testing _struct_compat_timespec_u(long, long);privileged testing _struct_itimerspec_u(long);privileged testing _struct_compat_itimerspec_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_compat_itimerspec_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:65 source: function foo() { _struct_compat_itimerspec_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:51 source: function foo() { _struct_compat_itimerspec_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_compat_itimerspec_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_compat_itimerspec_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_compat_itimerspec_u(long) testing _struct_itimerval_u(long);privileged testing _struct_compat_itimerval_u(long);privileged testing _struct_sockaddr_u_ip_addr(long, long);no embedded C testing _struct_sockaddr_u_tcp_port(long, long);no embedded C testing _struct_sockaddr_u_sa_family(long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _struct_sockaddr_u_sa_family(long, long) testing _struct_sockaddr_u_ipv6_flowinfo(long, long);no embedded C testing _struct_sockaddr_u_ipv6_scope_id(long, long);no embedded C testing _struct_sockaddr_u(long, long);no embedded C testing _struct_rlimit_u(long);privileged testing _fildes_index_u (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _fildes_index_u (0, 0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _fildes_index_u (0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _fildes_index_u (0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _fildes_index_u (0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _fildes_index_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _fildes_index_u (long, long) testing __sem_flags(long);unprivileged testing __get_argv(long, long);no embedded C testing __get_compat_argv(long, long);no embedded C testing __count_envp(long);no embedded C testing __count_compat_envp(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __count_compat_envp(long) testing _adjtx_mode_str(long);no embedded C testing _getrandom_flags_str(long);unprivileged testing _inotify_watch_mask_str(long);unprivileged testing _sigprocmask_how_str(long);unprivileged testing _itimer_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _itimer_which_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:55 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:41 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _itimer_which_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _itimer_which_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _itimer_which_str(long) testing _nfsctl_cmd_str(long);unprivileged testing _get_wc_str(long);unprivileged testing _flock_cmd_str(long);unprivileged testing _sys_pipe2_flag_str (long);unprivileged testing _sys_open_flag_str (long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _sys_open_flag_str (0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _sys_open_flag_str (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _sys_open_flag_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _sys_open_flag_str (long) testing _access_mode_str(long);unprivileged testing _mknod_mode_str(long);no embedded C testing _msync_flag_str(long);unprivileged testing _internal_wait_opt_str(long, long, string);unprivileged testing _waitid_opt_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _waitid_opt_str(0) } probe begin { foo() }} semantic error: unresolved function (similar: _wait4_opt_str, _waitid_which_str, _futex_op_str, _dfd_str, text_str): identifier '_waitid_opt_str' at :1:18 source: function foo() { _waitid_opt_str(0) } probe begin { foo() } ^ Pass 2: analysis failed. [man error::pass2] funcname is _waitid_opt_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _waitid_opt_str(long) testing _wait4_opt_str(long);unprivileged testing WIFEXITED(long);no embedded C testing WEXITSTATUS(long);no embedded C testing WTERMSIG(long);no embedded C testing _wait_status_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _wait_status_str(long) testing _seccomp_flags_str(long);unprivileged testing _msg_flags_str(long);unprivileged testing _sendflags_str(long);no embedded C testing _recvflags_str(long);no embedded C testing _mfd_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _mfd_flags_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:52 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:38 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mfd_flags_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mfd_flags_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _mfd_flags_str(long) testing _stp_mlock2_str(long);unprivileged testing _mlockall_flags_str(long);unprivileged testing _module_flags_str(long);unprivileged testing _sched_policy_str(long);unprivileged testing _priority_which_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _priority_which_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _priority_which_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _priority_which_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _priority_which_str(long) testing _shutdown_how_str(long);unprivileged testing _reboot_magic_str(long);unprivileged testing _reboot_flag_str(long);unprivileged testing _waitid_which_str(long);unprivileged testing _futex_op_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _futex_op_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _futex_op_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _futex_op_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _futex_op_str(long) testing _futex_wake_op_str(long);unprivileged testing _mountflags_str(long);unprivileged testing _umountflags_str(long);unprivileged testing _statfs_f_type_str(long);no embedded C testing _mremap_flags(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _mremap_flags(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mremap_flags(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mremap_flags PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _mremap_flags(long) testing _madvice_advice_str(long);unprivileged testing _fadvice_advice_str(long);unprivileged testing _fcntl_cmd_str(long);unprivileged testing _seek_whence_str(long);unprivileged testing _quotactl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _quotactl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:55 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:41 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _quotactl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _quotactl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _quotactl_cmd_str(long) testing _quotactl_subcmd(long);unprivileged testing _quotactl_quota_type_str(long);unprivileged testing _struct_dqblk_u(long);privileged testing _struct_dqinfo_u(long);privileged testing _sockopt_optname_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _sockopt_optname_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:58 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:44 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _sockopt_optname_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _sockopt_optname_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _sockopt_optname_str(long) testing _sockopt_level_str(long);unprivileged testing _sock_family_str(long);unprivileged testing _sock_type_str(long);unprivileged testing _sock_flags_str(long);unprivileged testing _sock_protocol_str(long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _sock_protocol_str(long, long) testing _opoll_op_str(long);unprivileged testing _epoll_events_str(long);no embedded C testing _rlimit_resource_str(long);unprivileged testing _rusage_who_str(long);unprivileged testing __short(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { __short(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:45 source: function foo() { __short(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:31 source: function foo() { __short(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { __short(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is __short PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: __short(long) testing __ushort(long);unprivileged testing __int32(long);unprivileged testing __uint32(long);unprivileged testing __ulong(long);unprivileged testing __long(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { __long(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:44 source: function foo() { __long(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:30 source: function foo() { __long(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { __long(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is __long PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: __long(long) testing _dfd_str(long);no embedded C testing _adjtimex_return_str(long);unprivileged testing _signal_name(long);unprivileged testing _semctl_cmd(long);unprivileged testing _stp_sigset_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _stp_sigset_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _stp_sigset_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _stp_sigset_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_sigset_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_sigset_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _stp_sigset_u(long) testing _stp_compat_sigset_u(long);privileged testing __fork_flags(long);unprivileged testing _at_flag_str(long);unprivileged testing _epoll_create1_flag_str(long);unprivileged testing _eventfd2_flag_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _eventfd2_flag_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _eventfd2_flag_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _eventfd2_flag_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _eventfd2_flag_str(long) testing _signalfd4_flags_str(long);unprivileged testing _inotify_init1_flag_str(long);unprivileged testing _dup3_flag_str(long);unprivileged testing _shmat_flags_str(long);unprivileged testing _mprotect_prot_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _mprotect_prot_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _mprotect_prot_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _mprotect_prot_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _mprotect_prot_str(long) testing _mmap_flags(long);unprivileged testing get_mmap_args (long);privileged testing _sighandler_str(long);unprivileged testing _stp_sigmask_str(long);privileged testing _struct_sigaction_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_sigaction_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _struct_sigaction_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _struct_sigaction_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_sigaction_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_sigaction_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_sigaction_u(long) testing _struct_sigaction32_u(long);privileged testing _struct_old_sigaction32_u(long);privileged testing irqflags_str(long);unprivileged testing _ptrace_options_str(long);unprivileged testing _ptrace_argstr(long, long, long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _ptrace_argstr(long, long, long, long) testing _ptrace_return_geteventmsg_data(long,long);no embedded C testing _swapon_flags_str(long);unprivileged testing _stp_shmget_flags_str(long);unprivileged testing _stp_msgget_key_str(long);no embedded C testing _stp_msgctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_msgctl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_msgctl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _stp_msgctl_cmd_str(long) testing _stp_msgflg_str(long);unprivileged testing _stp_compat_msgrcv_msgbuf(long, long);privileged testing _stp_compat_msgrcv_msgtyp(long, long, long);privileged testing _stp_xattr_flags_str(long);unprivileged testing _stp_xattr_val_str(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _stp_xattr_val_str(0, 0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:59 source: function foo() { _stp_xattr_val_str(0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:45 source: function foo() { _stp_xattr_val_str(0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_xattr_val_str(0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_xattr_val_str PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _stp_xattr_val_str(long, long) testing _stp_ioprio_which_str(long);unprivileged testing _stp_ioprio_value_str(long);unprivileged testing _mempolicy_flags_str(long);unprivileged testing _mempolicy_mode_str(long);unprivileged testing _stp_keyctl_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_keyctl_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_keyctl_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _stp_keyctl_cmd_str(long) testing _stp_keyctl_keyring_shortcut_str(long);unprivileged testing _stp_keyctl_default_keyrings_str(long);unprivileged testing _stp_keyctl_perm_str(long);unprivileged testing _finit_module_flags_str(long);unprivileged testing _prctl_argstr(long, long, long, long, long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:71 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:57 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _prctl_argstr(0, 0, 0, 0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _prctl_argstr PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _prctl_argstr(long, long, long, long, long) testing _stp_timerfd_flags_str(long);unprivileged testing _stp_splice_flags_str(long);unprivileged testing _stp_fallocate_mode_str(long);unprivileged testing _stp_arch_prctl_func_str(long);unprivileged testing _struct_timex_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_timex_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:53 source: function foo() { _struct_timex_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:39 source: function foo() { _struct_timex_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_timex_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_timex_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_timex_u(long) testing _struct_compat_timex_u(long);privileged testing _sync_file_range_flags_str(long);unprivileged testing _stp_siginfo_u(long);privileged testing _stp_compat_siginfo_u(long);privileged testing _struct_tms_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _struct_tms_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:51 source: function foo() { _struct_tms_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:37 source: function foo() { _struct_tms_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _struct_tms_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _struct_tms_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_tms_u(long) testing _struct_sysinfo_u(long);privileged testing _kexec_flags_str(long);unprivileged testing _kexec_file_load_flags_str(long);unprivileged testing _stp_sigaltstack_u(long);privileged testing _stp_compat_sigaltstack_u(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _stp_compat_sigaltstack_u(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:63 source: function foo() { _stp_compat_sigaltstack_u(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:49 source: function foo() { _stp_compat_sigaltstack_u(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _stp_compat_sigaltstack_u(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _stp_compat_sigaltstack_u PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _stp_compat_sigaltstack_u(long) testing _renameat2_flags_str(long);unprivileged testing _fanotify_init_flags_str(long);unprivileged testing _fanotify_mark_flags_str(long);unprivileged testing _fanotify_mark_mask_str(long);unprivileged testing _perf_event_open_flags_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _perf_event_open_flags_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:64 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:50 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _perf_event_open_flags_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _perf_event_open_flags_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _perf_event_open_flags_str(long) testing _kcmp_type_str(long);unprivileged testing _struct_sched_attr_u(long);privileged testing _seccomp_op_str(long);unprivileged testing _bpf_cmd_str(long);unprivileged testing _membarrier_cmd_str(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _membarrier_cmd_str(0) } probe begin { foo() }} # global embedded code %{ // Be sure we have the __NR_* defines. #include #include "linux/compat_unistd.h" // Be sure we have the SYS_* defines. #include #include "linux/compat_net.h" #ifdef CONFIG_COMPAT // Be sure we have 'SHMCTL', etc. defined. #include #ifndef SEMOP #define SEMOP 1 #endif #ifndef SEMCTL #define SEMCTL 3 #endif #ifndef SEMTIMEDOP #define SEMTIMEDOP 4 #endif #ifndef MSGSND #define MSGSND 11 #endif #ifndef MSGRCV #define MSGRCV 12 #endif #ifndef MSGCTL #define MSGCTL 14 #endif #ifndef SHMCTL #define SHMCTL 24 #endif #endif /* * Simple lookup functions for mapping values to names * using embedded C. Use these functions to create safe, * consistent lookups. */ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" // Get _stp_syscall_get_nr() definitions. #include "syscall.h" static void _stp_lookup_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, slen; while (array[i].name) { if (array[i].val == val) { strlcat (ptr, array[i].name, len); return; } i++; } slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } static inline void _stp_lookup_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_str2(array, val, ptr, len, 16); } static void _stp_lookup_or_str2(const _stp_val_array * const array, long val, char *ptr, int len, int base) { int i = 0, flag = 0, slen; if (val == 0) { _stp_lookup_str2(array, val, ptr, len, base); return; } while (array[i].name) { if (array[i].val & val) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); val &= (~array[i].val); flag = 1; } i++; } if (val) { if (flag) strlcat(ptr, "|", len); slen = strlen(ptr); if (base == 10) _stp_snprintf(ptr + slen, len - slen, "%ld", val); else if (base == 8) _stp_snprintf(ptr + slen, len - slen, "%#lo", val); else _stp_snprintf(ptr + slen, len - slen, "0x%lx", val); } } static inline void _stp_lookup_or_str(const _stp_val_array * const array, long val, char *ptr, int len) { _stp_lookup_or_str2(array, val, ptr, len, 16); } %} %{ #ifdef CONFIG_COMPAT #include #ifndef STAPCONF_SIGSET_FROM_COMPAT_EXPORTED void sigset_from_compat(sigset_t *set, compat_sigset_t *compat) { switch (_NSIG_WORDS) { case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); } } #endif /* STAPCONF_SIGSET_FROM_COMPAT_EXPORTED */ #endif /* CONFIG_COMPAT */ %} %{ // Needed for the following four functions // _struct_utimbuf_actime, _struct_utimbuf_modtime, // _struct_compat_utimbuf_actime, _struct_compat_utimbuf_modtime #include %} %{ // Needed for @__private30 function _struct_sockaddr_u_impl. Unfortunately cannot be // inlined into the function since these header files define static // functions themselves. #include #include #include %} %{ // Enum for _struct_sockaddr_u_* functions. typedef enum { SA_PRETTY = 1, SA_IP_ADDR = 2, SA_TCP_PORT = 4, SA_FAMILY = 8, SA_IPV6_FLOWINFO = 16, SA_IPV6_SCOPE_ID = 32, } sa_dispatch; %} %{ #define STAP_NEED_CONTEXT_SOCKADDR_BIG_BUFFERS 1 %} %{ #include static const _stp_val_array const _stp_getrandom_list[] = { #ifdef GRND_NONBLOCK V(GRND_NONBLOCK), #endif #ifdef GRND_RANDOM V(GRND_RANDOM), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif /* Ignore helper events IN_CLOSE and IN_MOVE, which are just * combinations of other events. */ static const _stp_val_array const _stp_inotify_watch_mask_list[] = { V(IN_ACCESS), V(IN_MODIFY), V(IN_ATTRIB), V(IN_CLOSE_WRITE), V(IN_CLOSE_NOWRITE), V(IN_OPEN), V(IN_MOVED_FROM), V(IN_MOVED_TO), V(IN_CREATE), V(IN_DELETE), V(IN_DELETE_SELF), V(IN_MOVE_SELF), V(IN_UNMOUNT), V(IN_Q_OVERFLOW), V(IN_IGNORED), V(IN_ONLYDIR), V(IN_DONT_FOLLOW), #ifdef IN_EXCL_UNLINK V(IN_EXCL_UNLINK), #endif V(IN_MASK_ADD), V(IN_ISDIR), V(IN_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_itimer_which_list[] = { V(ITIMER_REAL), V(ITIMER_VIRTUAL), V(ITIMER_PROF), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wc_str_list[] = { V(CLOCK_REALTIME), V(CLOCK_MONOTONIC), V(CLOCK_PROCESS_CPUTIME_ID), V(CLOCK_THREAD_CPUTIME_ID), #ifdef CLOCK_MONOTONIC_RAW V(CLOCK_MONOTONIC_RAW), #endif #ifdef CLOCK_REALTIME_COARSE V(CLOCK_REALTIME_COARSE), #endif #ifdef CLOCK_MONOTONIC_COARSE V(CLOCK_MONOTONIC_COARSE), #endif #ifdef CLOCK_BOOTTIME V(CLOCK_BOOTTIME), #endif #ifdef CLOCK_REALTIME_ALARM V(CLOCK_REALTIME_ALARM), #endif #ifdef CLOCK_BOOTTIME_ALARM V(CLOCK_BOOTTIME_ALARM), #endif V(CLOCK_SGI_CYCLE), #ifdef CLOCK_TAI V(CLOCK_TAI), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_flock_cmd_list[] = { V(LOCK_SH), V(LOCK_EX), V(LOCK_NB), V(LOCK_UN), V(LOCK_MAND), V(LOCK_READ), V(LOCK_WRITE), V(LOCK_RW), {0, NULL} }; static const _stp_val_array const _stp_pipe2_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_DIRECT V(O_DIRECT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_open_mode_flags_list[] = { #ifdef O_CREAT V(O_CREAT), #endif #ifdef O_EXCL V(O_EXCL), #endif #ifdef O_NOCTTY V(O_NOCTTY), #endif #ifdef O_TRUNC V(O_TRUNC), #endif #ifdef O_APPEND V(O_APPEND), #endif #ifdef O_NONBLOCK V(O_NONBLOCK), #endif /* Here's a comment from the kernel source: * * ==== * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using * the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * ==== * * On RHEL6 (2.6.32-431.3.1.el6.x86_64), the user headers are ahead of * the kernel source and define O_DSYNC, but the kernel just ignores * the extra bit set. We'll try to handle it here. */ #ifndef O_DSYNC { O_SYNC | 04000000, "O_SYNC" }, #endif #ifdef O_SYNC V(O_SYNC), #endif #ifdef O_DSYNC V(O_DSYNC), #endif #ifdef O_ASYNC V(O_ASYNC), #elif defined(FASYNC) { FASYNC, "O_ASYNC" }, #endif #ifdef O_DIRECT V(O_DIRECT), #endif #ifdef O_LARGEFILE V(O_LARGEFILE), #endif #ifdef O_DIRECTORY V(O_DIRECTORY), #endif #ifdef O_NOFOLLOW V(O_NOFOLLOW), #endif #ifdef O_NOATIME V(O_NOATIME), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif #ifdef O_PATH V(O_PATH), #endif {0, NULL} }; %} %{ /* Notice that the kernel defines and the user defines are named * differently. */ static const _stp_val_array const _stp_access_mode_list[] = { {0, "F_OK"}, {MAY_READ, "R_OK"}, {MAY_WRITE, "W_OK"}, {MAY_EXEC, "X_OK"}, {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msync_flag_list[] = { V(MS_ASYNC), V(MS_INVALIDATE), V(MS_SYNC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_wait4_op_list[] = { V(WNOHANG), #if !defined(WSTOPPED) && defined(WUNTRACED) V(WUNTRACED), #endif V(WEXITED), #ifdef WSTOPPED V(WSTOPPED), #endif V(WCONTINUED), V(WNOWAIT), V(__WNOTHREAD), V(__WALL), V(__WCLONE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_seccomp_flags_list[] = { #ifdef SECCOMP_FILTER_FLAG_TSYNC V(SECCOMP_FILTER_FLAG_TSYNC), #endif {0, NULL} }; static const _stp_val_array const _stp_seccomp_mode_list[] = { #ifdef SECCOMP_MODE_DISABLED V(SECCOMP_MODE_DISABLED), #endif #ifdef SECCOMP_MODE_STRICT V(SECCOMP_MODE_STRICT), #endif #ifdef SECCOMP_MODE_FILTER V(SECCOMP_MODE_FILTER), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_msg_flags_list[] = { V(MSG_OOB), V(MSG_PEEK), V(MSG_DONTROUTE), V(MSG_TRYHARD), V(MSG_CTRUNC), V(MSG_PROBE), V(MSG_TRUNC), V(MSG_DONTWAIT), V(MSG_EOR), V(MSG_WAITALL), V(MSG_FIN), V(MSG_SYN), V(MSG_CONFIRM), V(MSG_RST), V(MSG_ERRQUEUE), V(MSG_NOSIGNAL), V(MSG_MORE), #ifdef MSG_WAITFORONE V(MSG_WAITFORONE), #endif #ifdef MSG_SENDPAGE_NOTLAST V(MSG_SENDPAGE_NOTLAST), #endif V(MSG_EOF), #ifdef MSG_FASTOPEN V(MSG_FASTOPEN), #endif #ifdef MSG_CMSG_CLOEXEC V(MSG_CMSG_CLOEXEC), #endif {0, NULL} }; %} %{ #ifdef __NR_memfd_create #include #endif static const _stp_val_array const _stp_mfd_flags_list[] = { #ifdef MFD_CLOEXEC V(MFD_CLOEXEC), #endif #ifdef MFD_ALLOW_SEALING V(MFD_ALLOW_SEALING), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlock2_flags_list[] = { #ifdef MLOCK_ONFAULT V(MLOCK_ONFAULT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mlockall_flags_list[] = { V(MCL_CURRENT), V(MCL_FUTURE), #ifdef MCL_ONFAULT V(MCL_ONFAULT), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_module_flags_list[] = { V(O_TRUNC), V(O_NONBLOCK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sched_policy_list[] = { {SCHED_NORMAL, "SCHED_OTHER"}, // SCHED_NORMAL==SCHED_OTHER V(SCHED_FIFO), V(SCHED_RR), V(SCHED_BATCH), #ifdef SCHED_IDLE V(SCHED_IDLE), #endif #ifdef SCHED_DEADLINE V(SCHED_DEADLINE), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_priority_which_list[] = { V(PRIO_PROCESS), V(PRIO_PGRP), V(PRIO_USER), {0, NULL} }; %} %{ static const _stp_val_array const _stp_shutdown_how_list[] = { V(SHUT_RD), V(SHUT_WR), V(SHUT_RDWR), {0, NULL} }; %} %{ // Needed for function __reboot_magic_str:string. Unfortunately cannot // be inlined into the function since these header file defines static // functions on some architectures. #include static const _stp_val_array const _stp_reboot_magic_list[] = { V(LINUX_REBOOT_MAGIC1), V(LINUX_REBOOT_MAGIC2), V(LINUX_REBOOT_MAGIC2A), V(LINUX_REBOOT_MAGIC2B), V(LINUX_REBOOT_MAGIC2C), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_reboot_flag_list[] = { V(LINUX_REBOOT_CMD_RESTART), V(LINUX_REBOOT_CMD_HALT), V(LINUX_REBOOT_CMD_CAD_ON), V(LINUX_REBOOT_CMD_CAD_OFF), V(LINUX_REBOOT_CMD_POWER_OFF), V(LINUX_REBOOT_CMD_RESTART2), V(LINUX_REBOOT_CMD_SW_SUSPEND), V(LINUX_REBOOT_CMD_KEXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_waitid_which_list[] = { V(P_ALL), V(P_PID), V(P_PGID), {0, NULL} }; %} %{ #include // We need the following defines to have a value for the // @__futex_argstr() macro. #ifndef FUTEX_WAIT_BITSET #define FUTEX_WAIT_BITSET 9 #endif #ifndef FUTEX_WAKE_BITSET #define FUTEX_WAKE_BITSET 10 #endif #ifndef FUTEX_WAIT_REQUEUE_PI #define FUTEX_WAIT_REQUEUE_PI 11 #endif #ifndef FUTEX_CMP_REQUEUE_PI #define FUTEX_CMP_REQUEUE_PI 12 #endif #ifndef FUTEX_PRIVATE_FLAG #define FUTEX_PRIVATE_FLAG 128 #endif #ifndef FUTEX_WAIT_BITSET_PRIVATE #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAKE_BITSET_PRIVATE #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_WAIT_REQUEUE_PI_PRIVATE #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif #ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ FUTEX_PRIVATE_FLAG) #endif static const _stp_val_array const _stp_futex_op_list[] = { V(FUTEX_WAIT), V(FUTEX_WAKE), V(FUTEX_FD), V(FUTEX_REQUEUE), V(FUTEX_CMP_REQUEUE), V(FUTEX_WAKE_OP), V(FUTEX_LOCK_PI), V(FUTEX_UNLOCK_PI), V(FUTEX_TRYLOCK_PI), V(FUTEX_WAIT_BITSET), V(FUTEX_WAKE_BITSET), V(FUTEX_WAIT_REQUEUE_PI), V(FUTEX_CMP_REQUEUE_PI), V(FUTEX_WAIT_PRIVATE), V(FUTEX_WAKE_PRIVATE), V(FUTEX_REQUEUE_PRIVATE), V(FUTEX_CMP_REQUEUE_PRIVATE), V(FUTEX_WAKE_OP_PRIVATE), V(FUTEX_LOCK_PI_PRIVATE), V(FUTEX_UNLOCK_PI_PRIVATE), V(FUTEX_TRYLOCK_PI_PRIVATE), V(FUTEX_WAIT_BITSET_PRIVATE), V(FUTEX_WAKE_BITSET_PRIVATE), V(FUTEX_WAIT_REQUEUE_PI_PRIVATE), V(FUTEX_CMP_REQUEUE_PI_PRIVATE), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_ops_list[] = { V(FUTEX_OP_SET), V(FUTEX_OP_ADD), V(FUTEX_OP_OR), V(FUTEX_OP_ANDN), V(FUTEX_OP_XOR), {0, NULL} }; static const _stp_val_array const _stp_futex_wake_cmps_list[] = { V(FUTEX_OP_CMP_EQ), V(FUTEX_OP_CMP_NE), V(FUTEX_OP_CMP_LT), V(FUTEX_OP_CMP_LE), V(FUTEX_OP_CMP_GT), V(FUTEX_OP_CMP_GE), {0, NULL} }; %} %{ static const _stp_val_array const _stp_mountflags_list[] = { V(MS_RDONLY), V(MS_NOSUID), V(MS_NODEV), V(MS_NOEXEC), V(MS_SYNCHRONOUS), V(MS_REMOUNT), V(MS_MANDLOCK), V(MS_DIRSYNC), V(MS_NOATIME), V(MS_NODIRATIME), V(MS_BIND), V(MS_MOVE), V(MS_REC), /* MS_SILENT replaced MS_VERBOSE */ #ifdef MS_SILENT V(MS_SILENT), #else V(MS_VERBOSE), #endif V(MS_POSIXACL), V(MS_UNBINDABLE), V(MS_PRIVATE), V(MS_SLAVE), V(MS_SHARED), #ifdef MS_RELATIME V(MS_RELATIME), #endif #ifdef MS_KERNMOUNT V(MS_KERNMOUNT), #endif #ifdef MS_I_VERSION V(MS_I_VERSION), #endif #ifdef MS_STRICTATIME V(MS_STRICTATIME), #endif {0, NULL} }; static const _stp_val_array const _stp_umountflags_list[] = { V(MNT_FORCE), V(MNT_DETACH), V(MNT_EXPIRE), #ifdef UMOUNT_NOFOLLOW V(UMOUNT_NOFOLLOW), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mremap_flags_list[] = { V(MREMAP_MAYMOVE), V(MREMAP_FIXED), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_madvice_advice_list[] = { V(MADV_NORMAL), V(MADV_RANDOM), V(MADV_SEQUENTIAL), V(MADV_WILLNEED), V(MADV_DONTNEED), #ifdef MADV_FREE V(MADV_FREE), #endif V(MADV_REMOVE), V(MADV_DONTFORK), V(MADV_DOFORK), #ifdef MADV_HWPOISON V(MADV_HWPOISON), #endif #ifdef MADV_SOFT_OFFLINE V(MADV_SOFT_OFFLINE), #endif #ifdef MADV_MERGEABLE V(MADV_MERGEABLE), #endif #ifdef MADV_UNMERGEABLE V(MADV_UNMERGEABLE), #endif #ifdef MADV_HUGEPAGE V(MADV_HUGEPAGE), #endif #ifdef MADV_NOHUGEPAGE V(MADV_NOHUGEPAGE), #endif #ifdef MADV_DONTDUMP V(MADV_DONTDUMP), #endif #ifdef MADV_DODUMP V(MADV_DODUMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fadvice_advice_list[] = { V(POSIX_FADV_NORMAL), V(POSIX_FADV_RANDOM), V(POSIX_FADV_SEQUENTIAL), V(POSIX_FADV_WILLNEED), V(POSIX_FADV_DONTNEED), V(POSIX_FADV_NOREUSE), #if defined(__s390x__) /* On s390x, 64-bit exes and 32-bit exes have different * versions of the following values. */ {4, "POSIX_FADV_DONTNEED"}, {5, "POSIX_FADV_NOREUSE"}, #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fcntl_cmd_list[] = { V(F_DUPFD), V(F_GETFD), V(F_SETFD), V(F_GETFL), V(F_SETFL), V(F_GETLK), V(F_SETLK), V(F_SETLKW), V(F_SETOWN), V(F_GETOWN), V(F_SETSIG), V(F_GETSIG), #ifdef F_GETLK64 V(F_GETLK64), #endif #ifdef F_SETLK64 V(F_SETLK64), #endif #ifdef F_SETLKW64 V(F_SETLKW64), #endif #ifdef F_SETOWN_EX V(F_SETOWN_EX), #endif #ifdef F_GETOWN_EX V(F_GETOWN_EX), #endif #ifdef F_GETOWNER_UIDS V(F_GETOWNER_UIDS), #endif #ifdef F_SETLEASE V(F_SETLEASE), #endif #ifdef F_GETLEASE V(F_GETLEASE), #endif #ifdef F_DUPFD_CLOEXEC V(F_DUPFD_CLOEXEC), #endif #ifdef F_NOTIFY V(F_NOTIFY), #endif #ifdef F_SETPIPE_SZ V(F_SETPIPE_SZ), #endif #ifdef F_GETPIPE_SZ V(F_GETPIPE_SZ), #endif {0, NULL} }; %} %{ #include #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_DATA #define SEEK_DATA 3 #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 #endif static const _stp_val_array const _stp_seek_whence_list[] = { V(SEEK_SET), V(SEEK_CUR), V(SEEK_END), V(SEEK_DATA), V(SEEK_HOLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_quotactl_cmd_list[] = { V(Q_SYNC), V(Q_QUOTAON), V(Q_QUOTAOFF), V(Q_GETFMT), V(Q_GETINFO), V(Q_SETINFO), V(Q_GETQUOTA), V(Q_SETQUOTA), /* XFS Quota Manager (XQM) Codes */ V(Q_XQUOTAON), V(Q_XQUOTAOFF), V(Q_XGETQUOTA), V(Q_XSETQLIM), V(Q_XGETQSTAT), V(Q_XQUOTARM), V(Q_XQUOTASYNC), #ifdef Q_XGETQSTATV V(Q_XGETQSTATV), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_quotactl_format_list[] = { V(QFMT_VFS_OLD), #ifdef QFMT_VFS_V0 V(QFMT_VFS_V0), #endif #ifdef QFMT_OCFS2 V(QFMT_OCFS2), #endif #ifdef QFMT_VFS_V1 V(QFMT_VFS_V1), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sockopt_optname_list[] = { V(SO_DEBUG), V(SO_REUSEADDR), V(SO_TYPE), V(SO_ERROR), V(SO_DONTROUTE), V(SO_BROADCAST), V(SO_SNDBUF), V(SO_RCVBUF), V(SO_SNDBUFFORCE), V(SO_RCVBUFFORCE), V(SO_KEEPALIVE), V(SO_OOBINLINE), V(SO_NO_CHECK), V(SO_PRIORITY), V(SO_LINGER), V(SO_BSDCOMPAT), #ifdef SO_REUSEPORT V(SO_REUSEPORT), #endif V(SO_PASSCRED), V(SO_PEERCRED), V(SO_RCVLOWAT), V(SO_SNDLOWAT), V(SO_RCVTIMEO), V(SO_SNDTIMEO), V(SO_SECURITY_AUTHENTICATION), V(SO_SECURITY_ENCRYPTION_TRANSPORT), V(SO_SECURITY_ENCRYPTION_NETWORK), V(SO_BINDTODEVICE), V(SO_ATTACH_FILTER), V(SO_DETACH_FILTER), V(SO_PEERNAME), V(SO_TIMESTAMP), V(SO_ACCEPTCONN), V(SO_PEERSEC), V(SO_PASSSEC), #ifdef SO_TIMESTAMPNS V(SO_TIMESTAMPNS), #endif #ifdef SO_MARK V(SO_MARK), #endif #ifdef SO_TIMESTAMPING V(SO_TIMESTAMPING), #endif #ifdef SO_PROTOCOL V(SO_PROTOCOL), #endif #ifdef SO_DOMAIN V(SO_DOMAIN), #endif #ifdef SO_RXQ_OVFL V(SO_RXQ_OVFL), #endif #ifdef SO_WIFI_STATUS V(SO_WIFI_STATUS), #endif #ifdef SO_PEEK_OFF V(SO_PEEK_OFF), #endif #ifdef SO_NOFCS V(SO_NOFCS), #endif #ifdef SO_LOCK_FILTER V(SO_LOCK_FILTER), #endif #ifdef SO_SELECT_ERR_QUEUE V(SO_SELECT_ERR_QUEUE), #endif #ifdef SO_BUSY_POLL V(SO_BUSY_POLL), #endif #ifdef SO_MAX_PACING_RATE V(SO_MAX_PACING_RATE), #endif #ifdef SO_BPF_EXTENSIONS V(SO_BPF_EXTENSIONS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sockopt_level_list[] = { V(SOL_IP), V(SOL_SOCKET), V(SOL_TCP), V(SOL_UDP), V(SOL_IPV6), V(SOL_ICMPV6), V(SOL_SCTP), #ifdef SOL_UDPLITE V(SOL_UDPLITE), #endif V(SOL_RAW), V(SOL_IPX), V(SOL_AX25), V(SOL_ATALK), V(SOL_NETROM), V(SOL_ROSE), V(SOL_DECNET), #ifdef SOL_X25 V(SOL_X25), #endif V(SOL_PACKET), V(SOL_ATM), V(SOL_AAL), V(SOL_IRDA), V(SOL_NETBEUI), V(SOL_LLC), V(SOL_DCCP), V(SOL_NETLINK), V(SOL_TIPC), #ifdef SOL_RXRPC V(SOL_RXRPC), #endif #ifdef SOL_PPPOL2TP V(SOL_PPPOL2TP), #endif #ifdef SOL_BLUETOOTH V(SOL_BLUETOOTH), #endif #ifdef SOL_PNPIPE V(SOL_PNPIPE), #endif #ifdef SOL_RDS V(SOL_RDS), #endif V(SOL_IUCV), #ifdef SOL_CAIF V(SOL_CAIF), #endif #ifdef SOL_ALG V(SOL_ALG), #endif #ifdef SOL_NFC V(SOL_NFC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_family_list[] = { V(PF_UNSPEC), V(PF_LOCAL), /* same thing as PF_UNIX */ V(PF_INET), V(PF_AX25), V(PF_IPX), V(PF_APPLETALK), V(PF_NETROM), V(PF_BRIDGE), V(PF_ATMPVC), V(PF_X25), V(PF_INET6), V(PF_ROSE), V(PF_DECnet), V(PF_NETBEUI), V(PF_SECURITY), V(PF_KEY), V(PF_NETLINK), V(PF_ROUTE), V(PF_PACKET), V(PF_ASH), V(PF_ECONET), V(PF_ATMSVC), #ifdef PF_RDS V(PF_RDS), #endif V(PF_SNA), V(PF_IRDA), V(PF_PPPOX), V(PF_WANPIPE), V(PF_LLC), #ifdef PF_IB V(PF_IB), #endif #ifdef PF_CAN V(PF_CAN), #endif V(PF_TIPC), V(PF_BLUETOOTH), V(PF_IUCV), #ifdef PF_RXRPC V(PF_RXRPC), #endif #ifdef PF_ISDN V(PF_ISDN), #endif #ifdef PF_PHONET V(PF_PHONET), #endif #ifdef PF_IEEE802154 V(PF_IEEE802154), #endif #ifdef PF_CAIF V(PF_CAIF), #endif #ifdef PF_ALG V(PF_ALG), #endif #ifdef PF_NFC V(PF_NFC), #endif #ifdef PF_VSOCK V(PF_VSOCK), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_sock_flags_list[] = { #ifdef SOCK_TYPE_MASK V(SOCK_CLOEXEC), V(SOCK_NONBLOCK), #endif {0, NULL} }; %} %{ // Be sure we have the IPPROTO_* defines. But, on some older kernels // we don't have all of them defined. Also note that on some older // kernels these values are enum values, not defines. But, the // following code should work anyway. #include #ifndef IPPROTO_TP #define IPPROTO_TP 29 #endif #ifndef IPPROTO_MTP #define IPPROTO_MTP 92 #endif #ifndef IPPROTO_ENCAP #define IPPROTO_ENCAP 98 #endif #ifndef IPPROTO_UDPLITE #define IPPROTO_UDPLITE 136 #endif %} %{ #include static const _stp_val_array const _stp_rlimit_resource_list[] = { { (unsigned int)RLIM_INFINITY, "RLIM_INFINITY"}, V(RLIMIT_CPU), V(RLIMIT_FSIZE), V(RLIMIT_DATA), V(RLIMIT_STACK), V(RLIMIT_CORE), V(RLIMIT_RSS), V(RLIMIT_NPROC), V(RLIMIT_NOFILE), V(RLIMIT_MEMLOCK), V(RLIMIT_AS), V(RLIMIT_LOCKS), V(RLIMIT_SIGPENDING), V(RLIMIT_MSGQUEUE), V(RLIMIT_NICE), V(RLIMIT_RTPRIO), #ifdef RLIMIT_RTTIME V(RLIMIT_RTTIME), #endif V(RLIM_NLIMITS), {0, NULL} }; static const _stp_val_array const _stp_rusage_who_list[] = { V(RUSAGE_SELF), {(unsigned int)RUSAGE_CHILDREN, "RUSAGE_CHILDREN"}, {(unsigned int)RUSAGE_BOTH, "RUSAGE_BOTH"}, V(RUSAGE_THREAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_return_str_list[] = { V(TIME_OK), V(TIME_INS), V(TIME_DEL), V(TIME_OOP), V(TIME_WAIT), V(TIME_ERROR), V(TIME_BAD), {0, NULL} }; %} %{ static const _stp_val_array const _stp_signal_list[] = { {0, "SIG_0"}, V(SIGHUP), V(SIGINT), V(SIGQUIT), V(SIGILL), V(SIGTRAP), V(SIGABRT), V(SIGBUS), V(SIGFPE), V(SIGKILL), V(SIGUSR1), V(SIGSEGV), V(SIGPIPE), V(SIGUSR2), V(SIGALRM), V(SIGTERM), V(SIGCHLD), V(SIGCONT), V(SIGSTOP), V(SIGTSTP), V(SIGTTIN), V(SIGTTOU), V(SIGURG), #ifdef SIGXCPU V(SIGXCPU), #endif #ifdef SIGXFSZ V(SIGXFSZ), #endif V(SIGVTALRM), V(SIGPROF), V(SIGWINCH), {SIGIO,"SIGIO/SIGPOLL"}, V(SIGPWR), #ifdef SIGSYS V(SIGSYS), #endif {SIGTRAP|0x80,"TRACESYSGOOD"}, {0, NULL} }; static void _stp_sigset_str(sigset_t *mask, char *ptr, int len) { const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { if (array[i].val > 0 && array[i].val <= _NSIG && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); else strlcat(ptr, "[", len); strlcat(ptr, array[i].name, len); flag = 1; } i++; } if (flag == 0) strlcat(ptr, "[EMPTY]", len); else strlcat(ptr, "]", len); } %} %{ static const _stp_val_array const _stp_semctl_list[] = { V(IPC_INFO), V(SEM_INFO), V(SEM_STAT), V(GETALL), V(GETVAL), V(GETPID), V(GETNCNT), V(GETZCNT), V(IPC_STAT), V(SETVAL), V(SETALL), V(IPC_RMID), V(IPC_SET), {0, NULL} }; %} %{ static const _stp_val_array const _stp_fork_list[] = { V(CLONE_VM), V(CLONE_FS), V(CLONE_FILES), V(CLONE_SIGHAND), V(CLONE_PTRACE), V(CLONE_VFORK), V(CLONE_PARENT), V(CLONE_THREAD), V(CLONE_NEWNS), V(CLONE_SYSVSEM), V(CLONE_SETTLS), V(CLONE_PARENT_SETTID), V(CLONE_CHILD_CLEARTID), V(CLONE_DETACHED), V(CLONE_UNTRACED), V(CLONE_CHILD_SETTID), #ifdef CLONE_STOPPED V(CLONE_STOPPED), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) V(CLONE_NEWUTS), V(CLONE_NEWIPC), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) V(CLONE_NEWUSER), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) V(CLONE_NEWPID), V(CLONE_NEWNET), #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) V(CLONE_IO), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_atflag_list[] = { #ifdef AT_SYMLINK_NOFOLLOW V(AT_SYMLINK_NOFOLLOW), #endif #ifdef AT_REMOVEDIR V(AT_REMOVEDIR), #endif #ifdef AT_SYMLINK_FOLLOW V(AT_SYMLINK_FOLLOW), #endif #ifdef AT_NO_AUTOMOUNT V(AT_NO_AUTOMOUNT), #endif #ifdef AT_EMPTY_PATH V(AT_EMPTY_PATH), #endif {0, NULL} }; %} %{ #include %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_eventfd2_flag_list[] = { #ifdef EFD_NONBLOCK V(EFD_NONBLOCK), #endif #ifdef EFD_CLOEXEC V(EFD_CLOEXEC), #endif #ifdef EFD_SEMAPHORE V(EFD_SEMAPHORE), #endif {0, NULL} }; %} %{ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) #include #endif static const _stp_val_array const _stp_signalfd4_flags_list[] = { #ifdef SFD_NONBLOCK V(SFD_NONBLOCK), #endif #ifdef SFD_CLOEXEC V(SFD_CLOEXEC), #endif {0, NULL} }; %} %{ #if (defined(CONFIG_INOTIFY) || defined(CONFIG_INOTIFY_USER)) #include #endif static const _stp_val_array const _stp_inotify_init1_flag_list[] = { #if defined(IN_NONBLOCK) V(IN_NONBLOCK), #endif #if defined(IN_CLOEXEC) V(IN_CLOEXEC), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_shmat_list[] = { V(SHM_RDONLY), V(SHM_RND), V(SHM_REMAP), V(SHM_EXEC), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mprotect_list[] = { {0, "PROT_NONE"}, V(PROT_READ), V(PROT_WRITE), V(PROT_EXEC), V(PROT_SEM), V(PROT_GROWSDOWN), V(PROT_GROWSUP), #ifdef PROT_SAO // powerpc only V(PROT_SAO), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mmap_list[] = { V(MAP_SHARED), V(MAP_PRIVATE), V(MAP_FIXED), V(MAP_ANONYMOUS), V(MAP_GROWSDOWN), V(MAP_DENYWRITE), V(MAP_EXECUTABLE), V(MAP_LOCKED), V(MAP_NORESERVE), V(MAP_POPULATE), V(MAP_NONBLOCK), #ifdef MAP_STACK V(MAP_STACK), #endif #ifdef MAP_HUGETLB V(MAP_HUGETLB), #endif #ifdef MAP_UNINITIALIZED V(MAP_UNINITIALIZED), #endif #ifdef MAP_32BIT // x86 only V(MAP_32BIT), #endif {0, NULL} }; %} %{ static void _stp_sigaction_str(struct sigaction *act, char *ptr, int len) { static const _stp_val_array const _stp_sa_handler_list[] = { {0, "SIG_DFL"}, {1, "SIG_IGN"}, {0, NULL} }; static const _stp_val_array const _stp_sa_flags_list[] = { V(SA_NOCLDSTOP), V(SA_NOCLDWAIT), V(SA_RESETHAND), V(SA_ONSTACK), V(SA_RESTART), V(SA_NODEFER), V(SA_SIGINFO), V(SA_RESTORER), {0, NULL} }; int slen; _stp_lookup_str(_stp_sa_handler_list, (long)act->sa_handler, ptr, len); if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL) { strlcat (ptr, ", ", len); _stp_lookup_or_str(_stp_sa_flags_list, act->sa_flags, ptr, len); strlcat (ptr, ", ", len); #if !defined (__ia64__) slen = strlen(ptr); _stp_snprintf(ptr + slen, len - slen, "0x%lx, ", (long)act->sa_restorer); #endif _stp_sigset_str(&act->sa_mask, ptr, len); } } %} %{ #include #ifndef IRQF_ONESHOT #define IRQF_ONESHOT 0x00002000 #endif static const _stp_val_array const _stp_irq_list[] = { #ifdef IRQF_DISABLED V(IRQF_DISABLED), #endif #ifdef IRQF_SAMPLE_RANDOM V(IRQF_SAMPLE_RANDOM), #endif #ifdef IRQF_SHARED V(IRQF_SHARED), #endif #ifdef IRQF_PROBE_SHARED V(IRQF_PROBE_SHARED), #endif #ifdef IRQF_TIMER V(IRQF_TIMER), #endif #ifdef IRQF_PERCPU V(IRQF_PERCPU), #endif #ifdef IRQF_NOBALANCING V(IRQF_NOBALANCING), #endif #ifdef IRQF_IRQPOLL V(IRQF_IRQPOLL), #endif V(IRQF_ONESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ptrace_options_list[] = { #ifdef PTRACE_O_EXITKILL V(PTRACE_O_EXITKILL), #endif V(PTRACE_O_TRACECLONE), V(PTRACE_O_TRACEEXEC), V(PTRACE_O_TRACEEXIT), V(PTRACE_O_TRACEFORK), V(PTRACE_O_TRACESYSGOOD), V(PTRACE_O_TRACEVFORK), V(PTRACE_O_TRACEVFORKDONE), #ifdef PTRACE_O_TRACESECCOMP V(PTRACE_O_TRACESECCOMP), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_elf_notes_list[] = { V(NT_PRSTATUS), V(NT_PRFPREG), V(NT_PRPSINFO), V(NT_TASKSTRUCT), V(NT_AUXV), #ifdef NT_SIGINFO V(NT_SIGINFO), #endif #ifdef NT_FILE V(NT_FILE), #endif V(NT_PRXFPREG), #ifdef NT_PPC_VMX V(NT_PPC_VMX), #endif #ifdef NT_PPC_SPE V(NT_PPC_SPE), #endif #ifdef NT_PPC_VSX V(NT_PPC_VSX), #endif #ifdef NT_386_TLS V(NT_386_TLS), #endif #ifdef NT_386_IOPERM V(NT_386_IOPERM), #endif #ifdef NT_X86_XSTATE V(NT_X86_XSTATE), #endif #ifdef NT_S390_HIGH_GPRS V(NT_S390_HIGH_GPRS), #endif #ifdef NT_S390_TIMER V(NT_S390_TIMER), #endif #ifdef NT_S390_TODCMP V(NT_S390_TODCMP), #endif #ifdef NT_S390_TODPREG V(NT_S390_TODPREG), #endif #ifdef NT_S390_CTRS V(NT_S390_CTRS), #endif #ifdef NT_S390_PREFIX V(NT_S390_PREFIX), #endif #ifdef NT_S390_LAST_BREAK V(NT_S390_LAST_BREAK), #endif #ifdef NT_S390_SYSTEM_CALL V(NT_S390_SYSTEM_CALL), #endif #ifdef NT_S390_TDB V(NT_S390_TDB), #endif #ifdef NT_S390_VXRS_LOW V(NT_S390_VXRS_LOW), #endif #ifdef NT_S390_VXRS_HIGH V(NT_S390_VXRS_HIGH), #endif #ifdef NT_ARM_VFP V(NT_ARM_VFP), #endif #ifdef NT_ARM_TLS V(NT_ARM_TLS), #endif #ifdef NT_ARM_HW_BREAK V(NT_ARM_HW_BREAK), #endif #ifdef NT_ARM_HW_WATCH V(NT_ARM_HW_WATCH), #endif #ifdef NT_ARM_SYSTEM_CALL V(NT_ARM_SYSTEM_CALL), #endif #ifdef NT_METAG_CBUF V(NT_METAG_CBUF), #endif #ifdef NT_METAG_RPIPE V(NT_METAG_RPIPE), #endif #ifdef NT_METAG_TLS V(NT_METAG_TLS), #endif {0, NULL} }; %} %{ #ifndef PTRACE_GETREGSET # define PTRACE_GETREGSET 0x4204 #endif #ifndef PTRACE_SETREGSET # define PTRACE_SETREGSET 0x4205 #endif #ifndef PTRACE_SEIZE # define PTRACE_SEIZE 0x4206 #endif #ifndef PTRACE_INTERRUPT # define PTRACE_INTERRUPT 0x4207 #endif #ifndef PTRACE_LISTEN # define PTRACE_LISTEN 0x4208 #endif #ifndef PTRACE_PEEKSIGINFO # define PTRACE_PEEKSIGINFO 0x4209 #endif #ifndef PTRACE_GETSIGMASK # define PTRACE_GETSIGMASK 0x420a #endif #ifndef PTRACE_SETSIGMASK # define PTRACE_SETSIGMASK 0x420b #endif /* These are the architecture-independent ptrace requests (although * some return architecture-dependent register buffers). */ static const _stp_val_array const _stp_ptrace_request_list[] = { V(PTRACE_TRACEME), V(PTRACE_PEEKTEXT), V(PTRACE_PEEKDATA), V(PTRACE_PEEKUSR), V(PTRACE_POKETEXT), V(PTRACE_POKEDATA), V(PTRACE_POKEUSR), V(PTRACE_CONT), V(PTRACE_KILL), V(PTRACE_SINGLESTEP), V(PTRACE_ATTACH), V(PTRACE_DETACH), V(PTRACE_SYSCALL), V(PTRACE_SETOPTIONS), V(PTRACE_GETEVENTMSG), V(PTRACE_GETSIGINFO), V(PTRACE_SETSIGINFO), V(PTRACE_GETREGSET), V(PTRACE_SETREGSET), V(PTRACE_SEIZE), V(PTRACE_INTERRUPT), V(PTRACE_LISTEN), V(PTRACE_PEEKSIGINFO), V(PTRACE_GETSIGMASK), V(PTRACE_SETSIGMASK), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_swapon_flags_list[] = { V(SWAP_FLAG_PREFER), #ifdef SWAP_FLAG_DISCARD V(SWAP_FLAG_DISCARD), #endif #ifdef SWAP_FLAG_DISCARD_ONCE V(SWAP_FLAG_DISCARD_ONCE), #endif #ifdef SWAP_FLAG_DISCARD_PAGES V(SWAP_FLAG_DISCARD_PAGES), #endif {0, NULL} }; %} %{ #include #include static const _stp_val_array const _stp_shmget_flags_list[] = { V(IPC_CREAT), V(IPC_EXCL), V(SHM_HUGETLB), V(SHM_NORESERVE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_msgctl_list[] = { V(IPC_INFO), V(IPC_STAT), V(IPC_RMID), V(IPC_SET), V(MSG_INFO), V(MSG_STAT), {0, NULL} }; %} %{ static const _stp_val_array const _stp_msgflg_list[] = { V(MSG_NOERROR), V(MSG_EXCEPT), V(IPC_NOWAIT), {0, NULL} }; %} %{ // Copied from ipc/compat.c. #ifdef CONFIG_COMPAT struct compat_ipc_kludge { compat_uptr_t msgp; compat_long_t msgtyp; }; #endif %} %{ #include static const _stp_val_array const _stp_xattr_flags_list[] = { V(XATTR_CREATE), V(XATTR_REPLACE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_ioprio_who_list[] = { V(IOPRIO_WHO_PROCESS), V(IOPRIO_WHO_PGRP), V(IOPRIO_WHO_USER), {0, NULL} }; static const _stp_val_array const _stp_ioprio_class_list[] = { V(IOPRIO_CLASS_NONE), V(IOPRIO_CLASS_RT), V(IOPRIO_CLASS_BE), V(IOPRIO_CLASS_IDLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_mempolicy_flags_list[] = { V(MPOL_F_NODE), V(MPOL_F_ADDR), #ifdef MPOL_F_MEMS_ALLOWED V(MPOL_F_MEMS_ALLOWED), #endif {0, NULL} }; #ifndef MPOL_MODE_FLAGS #define MPOL_MODE_FLAGS 0 #endif static const _stp_val_array const _stp_mempolicy_mode_flags_list[] = { #ifdef MPOL_F_STATIC_NODES V(MPOL_F_STATIC_NODES), #endif #ifdef MPOL_F_RELATIVE_NODES V(MPOL_F_RELATIVE_NODES), #endif {0, NULL} }; static const _stp_val_array const _stp_mempolicy_mode_list[] = { V(MPOL_DEFAULT), V(MPOL_PREFERRED), V(MPOL_BIND), V(MPOL_INTERLEAVE), #ifdef MPOL_LOCAL V(MPOL_LOCAL), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_cmd_list[] = { V(KEYCTL_GET_KEYRING_ID), V(KEYCTL_JOIN_SESSION_KEYRING), V(KEYCTL_UPDATE), V(KEYCTL_REVOKE), V(KEYCTL_CHOWN), V(KEYCTL_SETPERM), V(KEYCTL_DESCRIBE), V(KEYCTL_CLEAR), V(KEYCTL_LINK), V(KEYCTL_UNLINK), V(KEYCTL_SEARCH), V(KEYCTL_READ), V(KEYCTL_INSTANTIATE), V(KEYCTL_NEGATE), V(KEYCTL_SET_REQKEY_KEYRING), V(KEYCTL_SET_TIMEOUT), V(KEYCTL_ASSUME_AUTHORITY), #ifdef KEYCTL_GET_SECURITY V(KEYCTL_GET_SECURITY), #endif #ifdef KEYCTL_SESSION_TO_PARENT V(KEYCTL_SESSION_TO_PARENT), #endif #ifdef KEYCTL_REJECT V(KEYCTL_REJECT), #endif #ifdef KEYCTL_INSTANTIATE_IOV V(KEYCTL_INSTANTIATE_IOV), #endif #ifdef KEYCTL_INVALIDATE V(KEYCTL_INVALIDATE), #endif #ifdef KEYCTL_GET_PERSISTENT V(KEYCTL_GET_PERSISTENT), #endif {0, NULL} }; // For older kernels, we need to define new constants for the // @__keyctl_argstr() macro #ifndef KEYCTL_GET_SECURITY #define KEYCTL_GET_SECURITY 17 #endif #ifndef KEYCTL_SESSION_TO_PARENT #define KEYCTL_SESSION_TO_PARENT 18 #endif #ifndef KEYCTL_REJECT #define KEYCTL_REJECT 19 #endif #ifndef KEYCTL_INSTANTIATE_IOV #define KEYCTL_INSTANTIATE_IOV 20 #endif #ifndef KEYCTL_INVALIDATE #define KEYCTL_INVALIDATE 21 #endif #ifndef KEYCTL_GET_PERSISTENT #define KEYCTL_GET_PERSISTENT 22 #endif %} %{ static const _stp_val_array const _stp_keyctl_keyring_shortcut_list[] = { V(KEY_SPEC_THREAD_KEYRING), V(KEY_SPEC_PROCESS_KEYRING), V(KEY_SPEC_SESSION_KEYRING), V(KEY_SPEC_USER_KEYRING), V(KEY_SPEC_USER_SESSION_KEYRING), V(KEY_SPEC_GROUP_KEYRING), V(KEY_SPEC_REQKEY_AUTH_KEY), #ifdef KEY_SPEC_REQUESTOR_KEYRING V(KEY_SPEC_REQUESTOR_KEYRING), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_keyctl_default_keyrings_list[] = { V(KEY_REQKEY_DEFL_NO_CHANGE), V(KEY_REQKEY_DEFL_DEFAULT), V(KEY_REQKEY_DEFL_THREAD_KEYRING), V(KEY_REQKEY_DEFL_PROCESS_KEYRING), V(KEY_REQKEY_DEFL_SESSION_KEYRING), V(KEY_REQKEY_DEFL_USER_KEYRING), V(KEY_REQKEY_DEFL_USER_SESSION_KEYRING), V(KEY_REQKEY_DEFL_GROUP_KEYRING), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_keyctl_perm_list[] = { #if defined(CONFIG_KEYS) V(KEY_POS_VIEW), V(KEY_POS_READ), V(KEY_POS_WRITE), V(KEY_POS_SEARCH), V(KEY_POS_LINK), V(KEY_POS_SETATTR), V(KEY_POS_ALL), V(KEY_USR_VIEW), V(KEY_USR_READ), V(KEY_USR_WRITE), V(KEY_USR_SEARCH), V(KEY_USR_LINK), V(KEY_USR_SETATTR), V(KEY_USR_ALL), V(KEY_GRP_VIEW), V(KEY_GRP_READ), V(KEY_GRP_WRITE), V(KEY_GRP_SEARCH), V(KEY_GRP_LINK), V(KEY_GRP_SETATTR), V(KEY_GRP_ALL), V(KEY_OTH_VIEW), V(KEY_OTH_READ), V(KEY_OTH_WRITE), V(KEY_OTH_SEARCH), V(KEY_OTH_LINK), V(KEY_OTH_SETATTR), V(KEY_OTH_ALL), #endif /* CONFIG_KEYS */ {0, NULL} }; %} %{ #include #ifndef MODULE_INIT_IGNORE_MODVERSIONS #define MODULE_INIT_IGNORE_MODVERSIONS 1 #endif #ifndef MODULE_INIT_IGNORE_VERMAGIC #define MODULE_INIT_IGNORE_VERMAGIC 2 #endif static const _stp_val_array const _stp_finit_module_flags_list[] = { V(MODULE_INIT_IGNORE_MODVERSIONS), V(MODULE_INIT_IGNORE_VERMAGIC), {0, NULL} }; %} %{ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include #else #include #endif static const _stp_val_array const _stp_prctl_option_list[] = { V(PR_SET_PDEATHSIG), V(PR_GET_PDEATHSIG), V(PR_GET_DUMPABLE), V(PR_SET_DUMPABLE), V(PR_GET_UNALIGN), V(PR_SET_UNALIGN), V(PR_GET_KEEPCAPS), V(PR_SET_KEEPCAPS), V(PR_GET_FPEMU), V(PR_SET_FPEMU), V(PR_GET_FPEXC), V(PR_SET_FPEXC), V(PR_GET_TIMING), V(PR_SET_TIMING), V(PR_SET_NAME), V(PR_GET_NAME), V(PR_GET_ENDIAN), V(PR_SET_ENDIAN), #ifdef PR_GET_SECCOMP V(PR_GET_SECCOMP), #endif #ifdef PR_SET_SECCOMP V(PR_SET_SECCOMP), #endif #ifdef PR_CAPBSET_READ V(PR_CAPBSET_READ), #endif #ifdef PR_CAPBSET_DROP V(PR_CAPBSET_DROP), #endif #ifdef PR_GET_TSC V(PR_GET_TSC), #endif #ifdef PR_SET_TSC V(PR_SET_TSC), #endif #ifdef PR_GET_SECUREBITS V(PR_GET_SECUREBITS), #endif #ifdef PR_SET_SECUREBITS V(PR_SET_SECUREBITS), #endif #ifdef PR_SET_TIMERSLACK V(PR_SET_TIMERSLACK), #endif #ifdef PR_GET_TIMERSLACK V(PR_GET_TIMERSLACK), #endif #ifdef PR_TASK_PERF_EVENTS_DISABLE V(PR_TASK_PERF_EVENTS_DISABLE), #endif #ifdef PR_TASK_PERF_EVENTS_ENABLE V(PR_TASK_PERF_EVENTS_ENABLE), #endif #ifdef PR_MCE_KILL V(PR_MCE_KILL), #endif #ifdef PR_MCE_KILL_GET V(PR_MCE_KILL_GET), #endif #ifdef PR_SET_MM V(PR_SET_MM), #endif #ifdef PR_SET_PTRACER V(PR_SET_PTRACER), #endif #ifdef PR_SET_CHILD_SUBREAPER V(PR_SET_CHILD_SUBREAPER), #endif #ifdef PR_GET_CHILD_SUBREAPER V(PR_GET_CHILD_SUBREAPER), #endif #ifdef PR_SET_NO_NEW_PRIVS V(PR_SET_NO_NEW_PRIVS), #endif #ifdef PR_GET_NO_NEW_PRIVS V(PR_GET_NO_NEW_PRIVS), #endif #ifdef PR_GET_TID_ADDRESS V(PR_GET_TID_ADDRESS), #endif #ifdef PR_SET_THP_DISABLE V(PR_SET_THP_DISABLE), #endif #ifdef PR_GET_THP_DISABLE V(PR_GET_THP_DISABLE), #endif #ifdef PR_MPX_ENABLE_MANAGEMENT V(PR_MPX_ENABLE_MANAGEMENT), #endif #ifdef PR_MPX_DISABLE_MANAGEMENT V(PR_MPX_DISABLE_MANAGEMENT), #endif {0, NULL} }; // Options that get passed to PR_SET_UNALIGN and returned by PR_GET_UNALIGN. static const _stp_val_array const _stp_prctl_unalign_option_list[] = { V(PR_UNALIGN_NOPRINT), V(PR_UNALIGN_SIGBUS), {0, NULL} }; // Options that get passed to PR_SET_FPEMU and returned by PR_GET_FPEMU. static const _stp_val_array const _stp_prctl_fpemu_option_list[] = { V(PR_FPEMU_NOPRINT), V(PR_FPEMU_SIGFPE), {0, NULL} }; // Options that get passed to PR_SET_FPEXC and returned by PR_GET_FPEXC. static const _stp_val_array const _stp_prctl_fpexc_option_list[] = { V(PR_FP_EXC_SW_ENABLE), V(PR_FP_EXC_DIV), V(PR_FP_EXC_OVF), V(PR_FP_EXC_UND), V(PR_FP_EXC_RES), V(PR_FP_EXC_INV), V(PR_FP_EXC_DISABLED), V(PR_FP_EXC_NONRECOV), V(PR_FP_EXC_ASYNC), V(PR_FP_EXC_PRECISE), {0, NULL} }; // Options that get passed to PR_SET_TIMING and returned by PR_GET_TIMING. static const _stp_val_array const _stp_prctl_timing_option_list[] = { V(PR_TIMING_STATISTICAL), V(PR_TIMING_TIMESTAMP), {0, NULL} }; // Options that get passed to PR_SET_ENDIAN and returned by PR_GET_ENDIAN. static const _stp_val_array const _stp_prctl_endian_option_list[] = { V(PR_ENDIAN_BIG), V(PR_ENDIAN_LITTLE), V(PR_ENDIAN_PPC_LITTLE), {0, NULL} }; #ifdef PR_SET_TSC // Options that get passed to PR_SET_TSC and returned by PR_GET_TSC. static const _stp_val_array const _stp_prctl_tsc_option_list[] = { V(PR_TSC_ENABLE), V(PR_TSC_SIGSEGV), {0, NULL} }; #endif #ifdef PR_MCE_KILL // Options that get passed to PR_MCE_KILL and returned by PR_MCE_KILL_GET. static const _stp_val_array const _stp_prctl_mce_kill_option_list[] = { V(PR_MCE_KILL_CLEAR), V(PR_MCE_KILL_SET), {0, NULL} }; // Options for PR_MCE_KILL with PR_MCE_KILL_SET. static const _stp_val_array const _stp_prctl_mce_kill_option2_list[] = { V(PR_MCE_KILL_LATE), V(PR_MCE_KILL_EARLY), V(PR_MCE_KILL_DEFAULT), {0, NULL} }; #endif #ifdef PR_SET_MM // Options that get passed to PR_SET_MM. static const _stp_val_array const _stp_prctl_mm_option_list[] = { V(PR_SET_MM_START_CODE), V(PR_SET_MM_END_CODE), V(PR_SET_MM_START_DATA), V(PR_SET_MM_END_DATA), V(PR_SET_MM_START_STACK), V(PR_SET_MM_START_BRK), V(PR_SET_MM_BRK), #ifdef PR_SET_MM_ARG_START V(PR_SET_MM_ARG_START), #endif #ifdef PR_SET_MM_ARG_END V(PR_SET_MM_ARG_END), #endif #ifdef PR_SET_MM_ENV_START V(PR_SET_MM_ENV_START), #endif #ifdef PR_SET_MM_ENV_END V(PR_SET_MM_ENV_END), #endif #ifdef PR_SET_MM_AUXV V(PR_SET_MM_AUXV), #endif #ifdef PR_SET_MM_EXE_FILE V(PR_SET_MM_EXE_FILE), #endif #ifdef PR_SET_MM_MAP V(PR_SET_MM_MAP), #endif #ifdef PR_SET_MM_MAP_SIZE V(PR_SET_MM_MAP_SIZE), #endif {0, NULL} }; #endif #ifdef PR_SET_PTRACER // Options that get passed to PR_SET_PTRACER. static const _stp_val_array const _stp_prctl_ptracer_option_list[] = { V(PR_SET_PTRACER_ANY), {0, NULL} }; #endif #include static const _stp_val_array const _stp_linux_capability_list[] = { V(CAP_CHOWN), V(CAP_DAC_OVERRIDE), V(CAP_DAC_READ_SEARCH), V(CAP_FOWNER), V(CAP_FSETID), V(CAP_KILL), V(CAP_SETGID), V(CAP_SETUID), V(CAP_SETPCAP), V(CAP_LINUX_IMMUTABLE), V(CAP_NET_BIND_SERVICE), V(CAP_NET_BROADCAST), V(CAP_NET_ADMIN), V(CAP_NET_RAW), V(CAP_IPC_LOCK), V(CAP_IPC_OWNER), V(CAP_SYS_MODULE), V(CAP_SYS_RAWIO), V(CAP_SYS_CHROOT), V(CAP_SYS_PTRACE), V(CAP_SYS_PACCT), V(CAP_SYS_ADMIN), V(CAP_SYS_BOOT), V(CAP_SYS_NICE), V(CAP_SYS_RESOURCE), V(CAP_SYS_TIME), V(CAP_SYS_TTY_CONFIG), V(CAP_MKNOD), V(CAP_LEASE), V(CAP_AUDIT_WRITE), V(CAP_AUDIT_CONTROL), #ifdef CAP_SETFCAP V(CAP_SETFCAP), #endif #ifdef CAP_MAC_OVERRIDE V(CAP_MAC_OVERRIDE), #endif #ifdef CAP_MAC_ADMIN V(CAP_MAC_ADMIN), #endif #ifdef CAP_SYSLOG V(CAP_SYSLOG), #endif #ifdef CAP_WAKE_ALARM V(CAP_WAKE_ALARM), #endif #ifdef CAP_BLOCK_SUSPEND V(CAP_BLOCK_SUSPEND), #endif #ifdef CAP_AUDIT_READ V(CAP_AUDIT_READ), #endif {0, NULL} }; #ifdef PR_SET_SECUREBITS #include #ifndef SECBIT_NOROOT #define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT)) #endif #ifndef SECBIT_NOROOT_LOCKED #define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED)) #endif #ifndef SECBIT_NO_SETUID_FIXUP #define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP)) #endif #ifndef SECBIT_NO_SETUID_FIXUP_LOCKED #define SECBIT_NO_SETUID_FIXUP_LOCKED \ (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED)) #endif #ifndef SECBIT_KEEP_CAPS #define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS)) #endif #ifndef SECBIT_KEEP_CAPS_LOCKED #define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED)) #endif static const _stp_val_array const _stp_linux_securebits_list[] = { V(SECBIT_NOROOT), V(SECBIT_NOROOT_LOCKED), V(SECBIT_NO_SETUID_FIXUP), V(SECBIT_NO_SETUID_FIXUP_LOCKED), V(SECBIT_KEEP_CAPS), V(SECBIT_KEEP_CAPS_LOCKED), {0, NULL} }; #endif %} %{ // RHEL5 x86_64 (2.6.18-398.el5) has __NR_timerfd_create but no // timerfd.h. #ifdef STAPCONF_TIMERFD_H #include #endif static const _stp_val_array const _stp_timerfd_flags_list[] = { #ifdef TFD_TIMER_ABSTIME V(TFD_TIMER_ABSTIME), #endif #ifdef TFD_TIMER_CANCEL_ON_SET V(TFD_TIMER_CANCEL_ON_SET), #endif #ifdef TFD_CLOEXEC V(TFD_CLOEXEC), #endif #ifdef TFD_NONBLOCK V(TFD_NONBLOCK), #endif {0, NULL} }; %} %{ // RHEL5 linux/pipe_fs_i.h has SPLICE* defs. RHEL6+ has it in // separate linux/splice.h, which does not exist on RHEL5. #include #ifndef SPLICE_F_MOVE #include #endif static const _stp_val_array const _stp_splice_flags_list[] = { #ifdef SPLICE_F_MOVE V(SPLICE_F_MOVE), #endif #ifdef SPLICE_F_NONBLOCK V(SPLICE_F_NONBLOCK), #endif #ifdef SPLICE_F_MORE V(SPLICE_F_MORE), #endif #ifdef SPLICE_F_GIFT V(SPLICE_F_GIFT), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_fallocate_mode_list[] = { V(FALLOC_FL_KEEP_SIZE), #ifdef FALLOC_FL_PUNCH_HOLE V(FALLOC_FL_PUNCH_HOLE), #endif #ifdef FALLOC_FL_NO_HIDE_STALE V(FALLOC_FL_NO_HIDE_STALE), #endif #ifdef FALLOC_FL_COLLAPSE_RANGE V(FALLOC_FL_COLLAPSE_RANGE), #endif #ifdef FALLOC_FL_ZERO_RANGE V(FALLOC_FL_ZERO_RANGE), #endif {0, NULL} }; %} %{ #ifdef __NR_arch_prctl #include #endif static const _stp_val_array const _stp_arch_prctl_func_list[] = { #ifdef ARCH_SET_FS V(ARCH_SET_FS), #endif #ifdef ARCH_GET_FS V(ARCH_GET_FS), #endif #ifdef ARCH_SET_GS V(ARCH_SET_GS), #endif #ifdef ARCH_GET_GS V(ARCH_GET_GS), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_adjtimex_modes_list[] = { V(ADJ_OFFSET), V(ADJ_FREQUENCY), V(ADJ_MAXERROR), V(ADJ_ESTERROR), V(ADJ_STATUS), V(ADJ_TIMECONST), V(ADJ_TICK), V(ADJ_OFFSET_SINGLESHOT), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sync_file_range_list[] = { #ifdef SYNC_FILE_RANGE_WAIT_BEFORE V(SYNC_FILE_RANGE_WAIT_BEFORE), #endif #ifdef SYNC_FILE_RANGE_WRITE V(SYNC_FILE_RANGE_WRITE), #endif #ifdef SYNC_FILE_RANGE_WAIT_AFTER V(SYNC_FILE_RANGE_WAIT_AFTER), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_siginfo_si_code_list[] = { V(SI_USER), V(SI_KERNEL), V(SI_QUEUE), V(SI_TIMER), V(SI_MESGQ), V(SI_ASYNCIO), V(SI_SIGIO), V(SI_TKILL), V(SI_DETHREAD), {0, NULL} }; /* SIGILL si_codes */ static const _stp_val_array const _stp_sigill_si_code_list[] = { V(ILL_ILLOPC), V(ILL_ILLOPN), V(ILL_ILLADR), V(ILL_ILLTRP), V(ILL_PRVOPC), V(ILL_PRVREG), V(ILL_COPROC), V(ILL_BADSTK), {0, NULL} }; /* SIGFPE si_codes */ static const _stp_val_array const _stp_sigfpe_si_code_list[] = { V(FPE_INTDIV), V(FPE_INTOVF), V(FPE_FLTDIV), V(FPE_FLTOVF), V(FPE_FLTUND), V(FPE_FLTRES), V(FPE_FLTINV), V(FPE_FLTSUB), {0, NULL} }; /* SIGSEGV si_codes */ static const _stp_val_array const _stp_sigsegv_si_code_list[] = { V(SEGV_MAPERR), V(SEGV_ACCERR), #ifdef SEGV_BNDERR V(SEGV_BNDERR), #endif {0, NULL} }; /* SIGBUS si_codes */ static const _stp_val_array const _stp_sigbus_si_code_list[] = { V(BUS_ADRALN), V(BUS_ADRERR), V(BUS_OBJERR), #ifdef BUS_MCEERR_AR V(BUS_MCEERR_AR), #endif #ifdef BUS_MCEERR_AO V(BUS_MCEERR_AO), #endif {0, NULL} }; /* SIGTRAP si_codes */ static const _stp_val_array const _stp_sigtrap_si_code_list[] = { V(TRAP_BRKPT), V(TRAP_TRACE), #ifdef TRAP_BRANCH V(TRAP_BRANCH), #endif #ifdef TRAP_HWBKPT V(TRAP_HWBKPT), #endif {0, NULL} }; /* SIGCHLD si_codes */ static const _stp_val_array const _stp_sigchld_si_code_list[] = { V(CLD_EXITED), V(CLD_KILLED), V(CLD_DUMPED), V(CLD_TRAPPED), V(CLD_STOPPED), V(CLD_CONTINUED), {0, NULL} }; /* SIGPOLL si_codes */ static const _stp_val_array const _stp_sigpoll_si_code_list[] = { V(POLL_IN), V(POLL_OUT), V(POLL_MSG), V(POLL_ERR), V(POLL_PRI), V(POLL_HUP), {0, NULL} }; /* SIGSYS si_codes */ static const _stp_val_array const _stp_sigsys_si_code_list[] = { #ifdef SYS_SECCOMP V(SYS_SECCOMP), #endif {0, NULL} }; %} %{ #ifdef CONFIG_COMPAT #include #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) #include "linux/compat_structs.h" #endif #endif %} %{ #include %} %{ #include %} %{ #include static const _stp_val_array const _stp_kexec_flags_list[] = { #if defined(CONFIG_KEXEC) V(KEXEC_ON_CRASH), #ifdef KEXEC_PRESERVE_CONTEXT V(KEXEC_PRESERVE_CONTEXT), #endif V(KEXEC_ARCH_DEFAULT), V(KEXEC_ARCH_386), V(KEXEC_ARCH_X86_64), V(KEXEC_ARCH_PPC), V(KEXEC_ARCH_PPC64), V(KEXEC_ARCH_IA_64), #ifdef KEXEC_ARCH_ARM V(KEXEC_ARCH_ARM), #endif V(KEXEC_ARCH_S390), V(KEXEC_ARCH_SH), #ifdef KEXEC_ARCH_MIPS_LE V(KEXEC_ARCH_MIPS_LE), #endif #ifdef KEXEC_ARCH_MIPS V(KEXEC_ARCH_MIPS), #endif #endif /* CONFIG_KEXEC */ {0, NULL} }; static const _stp_val_array const _stp_kexec_file_load_flags_list[] = { #ifdef KEXEC_FILE_UNLOAD V(KEXEC_FILE_UNLOAD), #endif #ifdef KEXEC_FILE_ON_CRASH V(KEXEC_FILE_ON_CRASH), #endif #ifdef KEXEC_FILE_NO_INITRAMFS V(KEXEC_FILE_NO_INITRAMFS), #endif {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_sigaltstack_flags_list[] = { V(SS_ONSTACK), V(SS_DISABLE), {0, NULL} }; %} %{ #include static const _stp_val_array const _stp_renameat2_flags_list[] = { #ifdef RENAME_NOREPLACE V(RENAME_NOREPLACE), #endif #ifdef RENAME_EXCHANGE V(RENAME_EXCHANGE), #endif #ifdef RENAME_WHITEOUT V(RENAME_WHITEOUT), #endif {0, NULL} }; %} %{ // fanotify_init() and fanotify_mark() were enabled in kernel version // 2.6.37 (but present in some earlier kernels). #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ && defined(__NR_fanotify_init) && defined(__NR_fanotify_mark) #include static const _stp_val_array const _stp_fanotify_init_class_flags_list[] = { V(FAN_CLASS_NOTIF), V(FAN_CLASS_CONTENT), V(FAN_CLASS_PRE_CONTENT), {0, NULL} }; static const _stp_val_array const _stp_fanotify_init_extra_flags_list[] = { V(FAN_CLOEXEC), V(FAN_NONBLOCK), V(FAN_UNLIMITED_QUEUE), V(FAN_UNLIMITED_MARKS), {0, NULL} }; static const _stp_val_array const _stp_fanotify_mark_flags_list[] = { V(FAN_MARK_ADD), V(FAN_MARK_REMOVE), V(FAN_MARK_FLUSH), V(FAN_MARK_DONT_FOLLOW), V(FAN_MARK_ONLYDIR), V(FAN_MARK_MOUNT), V(FAN_MARK_IGNORED_MASK), V(FAN_MARK_IGNORED_SURV_MODIFY), {0, NULL} }; /* Note that FAN_CLOSE is (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE). So, * we really can't use it. */ static const _stp_val_array const _stp_fanotify_mark_mask_list[] = { V(FAN_ACCESS), V(FAN_MODIFY), V(FAN_CLOSE_WRITE), V(FAN_CLOSE_NOWRITE), V(FAN_OPEN), V(FAN_Q_OVERFLOW), V(FAN_OPEN_PERM), V(FAN_ACCESS_PERM), V(FAN_ONDIR), V(FAN_EVENT_ON_CHILD), {0, NULL} }; #endif %} %{ #if defined(__NR_perf_event_open) && defined(CONFIG_PERF_EVENTS) #include static const _stp_val_array const _stp_perf_event_open_flags_list[] = { V(PERF_FLAG_FD_NO_GROUP), V(PERF_FLAG_FD_OUTPUT), #ifdef PERF_FLAG_PID_CGROUP V(PERF_FLAG_PID_CGROUP), #endif #ifdef PERF_FLAG_FD_CLOEXEC V(PERF_FLAG_FD_CLOEXEC), #endif {0, NULL} }; #endif %} %{ #ifdef CONFIG_CHECKPOINT_RESTORE #include #endif static const _stp_val_array const _stp_kcmp_type_list[] = { #ifdef CONFIG_CHECKPOINT_RESTORE V(KCMP_FILE), V(KCMP_VM), V(KCMP_FILES), V(KCMP_FS), V(KCMP_SIGHAND), V(KCMP_IO), V(KCMP_SYSVSEM), V(KCMP_TYPES), #endif {0, NULL} }; %} %{ #ifdef CONFIG_SECCOMP #include #endif static const _stp_val_array const _stp_seccomp_op_list[] = { #ifdef SECCOMP_SET_MODE_STRICT V(SECCOMP_SET_MODE_STRICT), #endif #ifdef SECCOMP_SET_MODE_FILTER V(SECCOMP_SET_MODE_FILTER), #endif {0, NULL} }; %} %{ #ifdef CONFIG_BPF_SYSCALL #include #endif static const _stp_val_array const _stp_bpf_cmd_list[] = { #ifdef CONFIG_BPF_SYSCALL V(BPF_MAP_CREATE), V(BPF_MAP_LOOKUP_ELEM), V(BPF_MAP_UPDATE_ELEM), V(BPF_MAP_DELETE_ELEM), V(BPF_MAP_GET_NEXT_KEY), V(BPF_PROG_LOAD), #endif {0, NULL} }; %} %{ #ifdef CONFIG_MEMBARRIER #include #endif static const _stp_val_array const _stp_membarrier_cmd_list[] = { #ifdef CONFIG_MEMBARRIER V(MEMBARRIER_CMD_QUERY), V(MEMBARRIER_CMD_SHARED), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_userfaultfd_flags_list[] = { #ifdef O_NONBLOCK V(O_NONBLOCK), #endif #ifdef O_CLOEXEC V(O_CLOEXEC), #endif {0, NULL} }; %} %{ static const _stp_val_array const _stp_preadv2_flags_list[] = { #ifdef RWF_HIPRI V(RWF_HIPRI), #endif {0, NULL} }; %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ // Get _stp_val_array and _stp_lookup_* definitions. #include "linux/syscalls-common.h" static const _stp_val_array const _stp_arch_ptrace_request_list[] = { V(COMPAT_PTRACE_GETREGS), V(COMPAT_PTRACE_SETREGS), V(COMPAT_PTRACE_GET_THREAD_AREA), V(COMPAT_PTRACE_SET_SYSCALL), V(COMPAT_PTRACE_GETVFPREGS), V(COMPAT_PTRACE_SETVFPREGS), V(COMPAT_PTRACE_GETHBPREGS), V(COMPAT_PTRACE_SETHBPREGS), {0, NULL} }; %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:57 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:43 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _membarrier_cmd_str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _membarrier_cmd_str PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: _membarrier_cmd_str(long) testing _userfaultfd_flags_str (long);unprivileged testing _preadv2_flags_str (long);unprivileged testing callers (long);no embedded C testing caller();no embedded C testing caller_addr ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: caller_addr () testing _caller_match (long, long, string, string, long);myproc-unprivileged testing env_var(string);no embedded C testing stack (long);no embedded C testing print_stack(string);no embedded C testing sprint_stack(string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: sprint_stack(string) testing probefunc ();privileged testing probemod ();privileged testing modname (long);privileged testing symname (long);privileged testing symdata (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { symdata (0) } probe begin { foo() }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { symdata (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { symdata (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { symdata (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is symdata PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: symdata (long) testing print_syms (string);no embedded C testing sprint_syms (string);no embedded C testing symfileline (long);privileged testing symfile (long);privileged testing symline (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { symline (0) } probe begin { foo() }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { symline (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { symline (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { symline (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is symline PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: symline (long) testing print_backtrace ();privileged testing sprint_backtrace ();privileged testing backtrace ();privileged testing task_backtrace (long);no embedded C testing execname ();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { execname () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { execname () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { execname () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { execname () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is execname PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: execname () testing pid ();no embedded C testing ns_pid ();unprivileged testing tid ();no embedded C testing ns_tid ();unprivileged testing ppid();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { ppid() } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:41 source: function foo() { ppid() } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:27 source: function foo() { ppid() } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ppid() } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ppid PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: ppid() testing ns_ppid();unprivileged testing pgrp ();unprivileged testing ns_pgrp ();unprivileged testing sid ();unprivileged testing ns_sid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { ns_sid () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:44 source: function foo() { ns_sid () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:30 source: function foo() { ns_sid () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ns_sid () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ns_sid PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: ns_sid () testing pexecname ();unprivileged testing gid ();unprivileged testing ns_gid ();unprivileged testing egid ();unprivileged testing ns_egid ();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { ns_egid () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:45 source: function foo() { ns_egid () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:31 source: function foo() { ns_egid () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ns_egid () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ns_egid PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: ns_egid () testing uid ();unprivileged testing ns_uid ();unprivileged testing euid ();unprivileged testing ns_euid ();unprivileged testing is_myproc ();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { is_myproc () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:47 source: function foo() { is_myproc () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:33 source: function foo() { is_myproc () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { is_myproc () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is is_myproc PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: is_myproc () testing cpuid ();privileged testing cpu ();unprivileged testing registers_valid ();unprivileged testing user_mode ();unprivileged testing is_return ();privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { is_return () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:47 source: function foo() { is_return () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:33 source: function foo() { is_return () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { is_return () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is is_return PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: is_return () testing target ();no embedded C testing module_name ();unprivileged testing module_size();privileged testing stp_pid ();privileged testing remote_id ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: remote_id () testing remote_uri ();unprivileged testing stack_size ();privileged testing stack_used ();privileged testing stack_unused ();privileged testing addr ();privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { addr () } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:42 source: function foo() { addr () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:28 source: function foo() { addr () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { addr () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is addr PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: addr () testing uaddr ();myproc-unprivileged testing cmdline_args(long, long, string);no embedded C testing cmdline_arg(long);no embedded C testing cmdline_str();no embedded C testing set_kernel_string (long, string);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { set_kernel_string (0, "0") } probe begin { foo() }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_string' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:18:10 source: function set_kernel_string (addr:long, val:string) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_string PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: set_kernel_string (long, string) testing set_kernel_string_n (long, long, string);privileged testing set_kernel_long (long, long);privileged testing set_kernel_int (long, long);privileged testing set_kernel_short (long, long);privileged testing set_kernel_char (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { set_kernel_char (0, 0) } probe begin { foo() }} semantic error: function may not be used unless -g is specified: identifier 'set_kernel_char' at /root/systemtap_write/install/share/systemtap/tapset/linux/conversions-guru.stp:115:10 source: function set_kernel_char (addr:long, val:long) %{ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is set_kernel_char PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: set_kernel_char (long, long) testing set_kernel_pointer (long, long);privileged testing kernel_string (long);privileged testing kernel_string (long, string);no embedded C testing kernel_string2 (long, string);no embedded C testing kernel_string_quoted (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { kernel_string_quoted (0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:59 source: function foo() { kernel_string_quoted (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:45 source: function foo() { kernel_string_quoted (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { kernel_string_quoted (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is kernel_string_quoted PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: kernel_string_quoted (long) testing kernel_string_n (long, long);privileged testing kernel_string_utf32 (long);privileged testing kernel_string_utf32 (long, string);no embedded C testing kernel_string2_utf32 (long, string);no embedded C testing kernel_string_quoted_utf32 (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: kernel_string_quoted_utf32 (long) testing kernel_string_utf16 (long);privileged testing kernel_string_utf16 (long, string);no embedded C testing kernel_string2_utf16 (long, string);no embedded C testing kernel_string_quoted_utf16 (long);no embedded C testing kernel_long (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { kernel_long (0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:50 source: function foo() { kernel_long (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:36 source: function foo() { kernel_long (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { kernel_long (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is kernel_long PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: kernel_long (long) testing kernel_int (long);privileged testing kernel_short (long);privileged testing kernel_char (long);privileged testing kernel_pointer (long);privileged testing kernel_buffer_quoted (long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { kernel_buffer_quoted (0, 0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:62 source: function foo() { kernel_buffer_quoted (0, 0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:48 source: function foo() { kernel_buffer_quoted (0, 0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { kernel_buffer_quoted (0, 0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is kernel_buffer_quoted PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: kernel_buffer_quoted (long, long) testing kernel_buffer_quoted (long, long, long);privileged testing kernel_buffer_quoted_error (long, long, long);privileged testing ctime(long);privileged testing ctime();no embedded C testing d_name(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: d_name(long) testing inode_name(long);no embedded C testing inode_path(long);no embedded C testing reverse_path_walk(long);no embedded C testing real_mount(long);no embedded C testing task_dentry_path(long,long,long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_dentry_path(long,long,long) testing d_path(long);no embedded C testing fullpath_struct_nameidata(long);no embedded C testing fullpath_struct_path(long);no embedded C testing fullpath_struct_file(long, long);no embedded C testing MAJOR(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { MAJOR(0) } probe begin { foo() }} # global embedded code %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:43 source: function foo() { MAJOR(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:29 source: function foo() { MAJOR(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { MAJOR(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is MAJOR PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: MAJOR(long) testing MINOR(long);privileged testing MKDEV(long, long);privileged testing usrdev2kerndev(long);privileged testing bdevname(long);no embedded C testing big_endian2 (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { big_endian2 (0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:50 source: function foo() { big_endian2 (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:36 source: function foo() { big_endian2 (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { big_endian2 (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is big_endian2 PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: big_endian2 (long) testing big_endian4 (long);privileged testing big_endian8 (long);privileged testing little_endian2 (long);privileged testing little_endian4 (long);privileged testing little_endian8 (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { little_endian8 (0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:53 source: function foo() { little_endian8 (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:39 source: function foo() { little_endian8 (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { little_endian8 (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is little_endian8 PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: little_endian8 (long) testing mdelay(long);privileged testing udelay(long);privileged testing raise(long);privileged testing htonll (long);privileged testing htonl (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { htonl (0) } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:44 source: function foo() { htonl (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:30 source: function foo() { htonl (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { htonl (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is htonl PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: htonl (long) testing htons (long);privileged testing ntohll (long);privileged testing ntohl (long);privileged testing ntohs (long);privileged testing inet_get_local_port(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: inet_get_local_port(long) testing inet_get_ip_source(long);no embedded C testing daddr_to_string(long);no embedded C testing bio_rw_num(long);no embedded C testing bio_rw_str(long);no embedded C testing disk_major_from_request(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { disk_major_from_request(0) } probe begin { foo() }} # global embedded code %{ #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:61 source: function foo() { disk_major_from_request(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:47 source: function foo() { disk_major_from_request(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { disk_major_from_request(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is disk_major_from_request PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: disk_major_from_request(long) testing disk_minor_from_request(long);privileged testing format_ipaddr (long, long);privileged testing ip_ntop (long);no embedded C testing __ip_sock_saddr (long);no embedded C testing __ip_sock_daddr (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __ip_sock_daddr (long) testing __ip_sock_family (long);no embedded C testing __get_skb_iphdr(long);privileged testing __ip_skb_proto (long);no embedded C testing __ip_skb_saddr (long);no embedded C testing __ip_skb_daddr (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __ip_skb_daddr (long) testing ipmib_filter_key (long, long, long);no embedded C testing ipmib_remote_addr (long, long);no embedded C testing ipmib_local_addr (long, long);no embedded C testing ipmib_tcp_remote_port (long, long);no embedded C testing ipmib_tcp_local_port (long, long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: ipmib_tcp_local_port (long, long) testing ipmib_get_proto (long);no embedded C testing _input_route_type (long);no embedded C testing json_set_prefix(string);no embedded C testing json_add_numeric_metric(string, string, string);no embedded C testing json_add_string_metric(string, string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: json_add_string_metric(string, string) testing json_add_array(string, string);no embedded C testing json_add_array_numeric_metric(string, string, string, string);no embedded C testing json_add_array_string_metric(string, string, string);no embedded C testing _get_kretprobe_long(long);privileged testing _set_kretprobe_long(long, long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _set_kretprobe_long(0, 0) } probe begin { foo() }} # global embedded code %{ static void * _kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) size_t end = offset + length; if (end > offset && pi && end <= pi->rp->data_size) return &pi->data[offset]; #endif return NULL; } %} # functions _set_kretprobe_long:unknown (i:long, value:long) error:unknown (msg:string) foo:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ funcname is _set_kretprobe_long PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _set_kretprobe_long(long, long) testing _get_kretprobe_string(long);privileged testing _set_kretprobe_string(long, string);privileged testing linuxmib_filter_key (long, long);no embedded C testing get_loadavg_index (long);privileged testing sprint_loadavg ();privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { sprint_loadavg () } probe begin { foo() }} # global embedded code %{ #include #define LOAD_INT(x) ((x) >> FSHIFT) #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:52 source: function foo() { sprint_loadavg () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:38 source: function foo() { sprint_loadavg () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { sprint_loadavg () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is sprint_loadavg PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: sprint_loadavg () testing ftrace (string);privileged testing printk (long,string);privileged testing vm_fault_contains (long, long);privileged testing addr_to_node(long);privileged testing get_netdev_name (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: get_netdev_name (long) testing __nfs_version (long);no embedded C testing __file_inode (long);no embedded C testing __iov_length (long, long, long, long);privileged testing AF_INET();no embedded C testing AF_INET6();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: AF_INET6() testing NFS_I(long);no embedded C testing NFS_SERVER(long);no embedded C testing stap_NFS_CLIENT(long);no embedded C testing NFS_PROTO(long);no embedded C testing get_ip_from_client(long);unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { get_ip_from_client(0) } probe begin { foo() }} # global embedded code %{ /* For AF_INET */ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:56 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:42 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { get_ip_from_client(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is get_ip_from_client PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: get_ip_from_client(long) testing get_prot_from_client(long);no embedded C testing get_ip(long);no embedded C testing get_prot(long);no embedded C testing __getfh_inode(long);no embedded C testing nfs3_cmode(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { nfs3_cmode(0) } probe begin { foo() }} # global embedded code %{ #include #include #include #include #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { nfs3_cmode(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { nfs3_cmode(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { nfs3_cmode(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is nfs3_cmode PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: nfs3_cmode(long) testing nfs4_ctype(long);privileged testing ftype(long);privileged testing nfsderror(long);privileged testing panic(string);privileged testing proc_mem_size ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_size () testing proc_mem_size (long);no embedded C testing proc_mem_size_pid (long);no embedded C testing proc_mem_rss ();no embedded C testing proc_mem_rss (long);no embedded C testing proc_mem_rss_pid (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_rss_pid (long) testing proc_mem_shr ();no embedded C testing proc_mem_shr (long);no embedded C testing proc_mem_shr_pid (long);no embedded C testing proc_mem_txt ();no embedded C testing proc_mem_txt (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_txt (long) testing proc_mem_txt_pid (long);no embedded C testing proc_mem_data ();no embedded C testing proc_mem_data (long);no embedded C testing proc_mem_data_pid (long);no embedded C testing mem_page_size ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: mem_page_size () testing bytes_to_string (long);no embedded C testing pages_to_string (long);no embedded C testing proc_mem_string ();no embedded C testing proc_mem_string (long);no embedded C testing proc_mem_string_pid (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: proc_mem_string_pid (long) testing pstrace(long);no embedded C testing rcu_dereference (long);privileged testing rlimit_from_str (string);privileged testing xid_from_clnt(long);no embedded C testing prog_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: prog_from_clnt(long) testing vers_from_clnt(long);no embedded C testing prot_from_clnt(long);no embedded C testing port_from_xprt(long);no embedded C testing port_from_clnt(long);no embedded C testing clones_from_clnt(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: clones_from_clnt(long) testing tasks_from_clnt(long);no embedded C testing proc_from_msg(long);no embedded C testing vers_from_prog(long, long);no embedded C testing addr_from_rqst(long);no embedded C testing addr_from_rqst_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: addr_from_rqst_str(long) testing container_of_task_rcu(long);no embedded C testing describe_data_direction(long);privileged testing describe_device_state(long);privileged testing timer_pending(long);no embedded C testing scsi_timer_pending(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: scsi_timer_pending(long) testing get_devstate_from_req(long);no embedded C testing get_sigaction_mask(long);no embedded C testing get_sigset(long);privileged testing get_sa_flags (long);no embedded C testing get_sa_handler (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: get_sa_handler (long) testing sigset_mask_str (long);privileged testing is_sig_blocked (long, long);privileged testing sa_flags_str (long);privileged testing sa_handler_str(long);no embedded C testing signal_str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: signal_str(long) testing sock_prot_num2str(long);no embedded C testing sock_prot_str2num(string);no embedded C testing sock_fam_num2str(long);no embedded C testing sock_fam_str2num(string);no embedded C testing sock_state_num2str(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: sock_state_num2str(long) testing sock_state_str2num(string);no embedded C testing sock_type_num2str(long);no embedded C testing sock_type_str2num(string);no embedded C testing sock_flags_num2str(long);privileged testing msg_flags_num2str(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { msg_flags_num2str(0) } probe begin { foo() }} # global embedded code %{ #include #include %} # globals _prot_num2str[138]:string [long] _prot_str2num[138]:long [string] _fam_num2str[34]:string [long] _fam_str2num[34]:long [string] _state_num2str[5]:string [long] _state_str2num[5]:long [string] _type_num2str[11]:string [long] _type_str2num[11]:long [string] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ # locals num:long WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:55 source: function foo() { msg_flags_num2str(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:41 source: function foo() { msg_flags_num2str(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { msg_flags_num2str(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is msg_flags_num2str PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: msg_flags_num2str(long) testing _success_check(long);no embedded C testing _sock_prot_num(long);no embedded C testing _sock_fam_num(long);no embedded C testing _sock_state_num(long);no embedded C testing _sock_type_num(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _sock_type_num(long) testing _sock_flags_num(long);no embedded C testing syscall_name(long);no embedded C testing syscall_num(long);no embedded C testing target_set_pid (long);no embedded C testing target_set_report ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: target_set_report () testing task_current ();privileged testing task_rlimit (long, string);no embedded C testing task_rlimit_cpu (long);no embedded C testing task_rlimit_fsize (long);no embedded C testing task_rlimit_data (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_data (long) testing task_rlimit_stack (long);no embedded C testing task_rlimit_core (long);no embedded C testing task_rlimit_rss (long);no embedded C testing task_rlimit_nproc (long);no embedded C testing task_rlimit_nofile(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_nofile(long) testing task_rlimit_memlock(long);no embedded C testing task_rlimit_as(long);no embedded C testing task_rlimit_locks(long);no embedded C testing task_rlimit_sigpending(long);no embedded C testing task_rlimit_msgqueue(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_rlimit_msgqueue(long) testing task_rlimit_nice(long);no embedded C testing task_rlimit_rtprio(long);no embedded C testing task_rlimit_rttime(long);no embedded C testing task_parent(long);no embedded C testing task_state (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_state (long) testing task_execname (long);no embedded C testing task_pid (long);no embedded C testing task_ns_pid (long);privileged testing pid2task (long);privileged testing pid2execname (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: pid2execname (long) testing task_tid (long);no embedded C testing task_ns_tid (long);privileged testing task_gid (long);privileged testing task_ns_gid (long);privileged testing task_egid (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { task_egid (0) } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { task_egid (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { task_egid (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { task_egid (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is task_egid PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: task_egid (long) testing task_ns_egid (long);privileged testing task_uid (long);privileged testing task_ns_uid (long);privileged testing task_euid (long);privileged testing task_ns_euid (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { task_ns_euid (0) } probe begin { foo() }} semantic error: function may not be used unless -g is specified: identifier 'task_ns_euid' at /root/systemtap_write/install/share/systemtap/tapset/linux/task.stp:538:10 source: function task_ns_euid:long (task:long) %{ /* pure */ /* guru */ ^ Pass 2: analysis failed. [man error::pass2] funcname is task_ns_euid PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: task_ns_euid (long) testing task_prio (long);privileged testing task_nice (long);privileged testing task_cpu (long);no embedded C testing task_open_file_handles (long);privileged testing task_max_file_handles (long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { task_max_file_handles (0) } probe begin { foo() }} # global embedded code %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:60 source: function foo() { task_max_file_handles (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:46 source: function foo() { task_max_file_handles (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { task_max_file_handles (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is task_max_file_handles PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: task_max_file_handles (long) testing task_fd_lookup(long, long);privileged testing task_cwd_path(long);privileged testing task_exe_file(long);privileged testing task_ancestry (long, long);no embedded C testing task_utime ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_utime () testing task_utime(long);no embedded C testing task_utime_tid(long);no embedded C testing task_stime ();no embedded C testing task_stime(long);no embedded C testing task_stime_tid(long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: task_stime_tid(long) testing task_start_time (long);no embedded C testing cputime_to_msecs (long);unprivileged testing cputime_to_usecs (long);unprivileged testing msecs_to_string (long);no embedded C testing usecs_to_string (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: usecs_to_string (long) testing nsecs_to_string (long);no embedded C testing cputime_to_string (long);no embedded C testing task_time_string ();no embedded C testing task_time_string_tid (long);no embedded C testing tcp_get_info_rto(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { tcp_get_info_rto(0) } probe begin { foo() }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:54 source: function foo() { tcp_get_info_rto(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:40 source: function foo() { tcp_get_info_rto(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { tcp_get_info_rto(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is tcp_get_info_rto PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: tcp_get_info_rto(long) testing tcp_get_info_snd_cwnd(long);privileged testing tcp_ts_get_info_state(long);privileged testing __tcp_sock_dport (long);no embedded C testing __get_skb_tcphdr(long);no embedded C testing __tcp_skb_urg (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __tcp_skb_urg (long) testing __tcp_skb_ack (long);no embedded C testing __tcp_skb_psh (long);no embedded C testing __tcp_skb_rst (long);no embedded C testing __tcp_skb_syn (long);no embedded C testing __tcp_skb_fin (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __tcp_skb_fin (long) testing __tcp_skb_sport (long);no embedded C testing __tcp_skb_dport (long);no embedded C testing __tcp_sock_sport (long);no embedded C testing tcp_sockstate_str (long);no embedded C testing tcp_ts_get_info_snd_ssthresh(long);privileged eval exec stap -p2 --privilege=stapsys -e {function foo() { tcp_ts_get_info_snd_ssthresh(0) } probe begin { foo() }} # global embedded code %{ #include #include #include #include #include %} %{ // Define newer IPv4 sockopt constants for older kernels. #ifndef TCP_CONGESTION #define TCP_CONGESTION 0 #endif #ifndef TCP_MD5SIG #define TCP_MD5SIG 0 #endif #ifndef TCP_COOKIE_TRANSACTIONS #define TCP_COOKIE_TRANSACTIONS 0 #endif #ifndef TCP_THIN_LINEAR_TIMEOUTS #define TCP_THIN_LINEAR_TIMEOUTS 0 #endif #ifndef TCP_THIN_DUPACK #define TCP_THIN_DUPACK 0 #endif #ifndef TCP_USER_TIMEOUT #define TCP_USER_TIMEOUT 0 #endif %} %{ // Define newer IPv6 sockopt constants for older kernels. #include #ifndef IPV6_2292PKTINFO #define IPV6_2292PKTINFO 0 #endif #ifndef IPV6_2292HOPOPTS #define IPV6_2292HOPOPTS 0 #endif #ifndef IPV6_2292DSTOPTS #define IPV6_2292DSTOPTS 0 #endif #ifndef IPV6_2292RTHDR #define IPV6_2292RTHDR 0 #endif #ifndef IPV6_2292PKTOPTIONS #define IPV6_2292PKTOPTIONS 0 #endif #ifndef IPV6_2292HOPLIMIT #define IPV6_2292HOPLIMIT 0 #endif #ifndef IPV6_RECVPKTINFO #define IPV6_RECVPKTINFO 0 #endif #ifndef IPV6_RECVHOPLIMIT #define IPV6_RECVHOPLIMIT 0 #endif #ifndef IPV6_RECVHOPOPTS #define IPV6_RECVHOPOPTS 0 #endif #ifndef IPV6_RTHDRDSTOPTS #define IPV6_RTHDRDSTOPTS 0 #endif #ifndef IPV6_RECVRTHDR #define IPV6_RECVRTHDR 0 #endif #ifndef IPV6_RECVDSTOPTS #define IPV6_RECVDSTOPTS 0 #endif #ifndef IPV6_RECVPATHMTU #define IPV6_RECVPATHMTU 0 #endif #ifndef IPV6_PATHMTU #define IPV6_PATHMTU 0 #endif #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 0 #endif #ifndef IPV6_ADDR_PREFERENCES #define IPV6_ADDR_PREFERENCES 0 #endif #ifndef IPV6_MINHOPCOUNT #define IPV6_MINHOPCOUNT 0 #endif #ifndef IPV6_RECVORIGDSTADDR #define IPV6_RECVORIGDSTADDR 0 #endif #ifndef IPV6_TRANSPARENT #define IPV6_TRANSPARENT 0 #endif %} # globals sockstate[12]:string [long] __sockopt[18]:string [long] __ipv6_sockopt[55]:string [long] # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ begin(-9223372036854775808) /* <- init = begin(-9223372036854775808) <- init */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:66 source: function foo() { tcp_ts_get_info_snd_ssthresh(0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:52 source: function foo() { tcp_ts_get_info_snd_ssthresh(0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { tcp_ts_get_info_snd_ssthresh(0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is tcp_ts_get_info_snd_ssthresh PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: tcp_ts_get_info_snd_ssthresh(long) testing tcp_ts_get_info_rcv_mss(long);privileged testing tcp_sockopt_str (long);no embedded C testing tcp_ipv6_sockopt_str (long);no embedded C testing tcpmib_filter_key (long, long);no embedded C testing tcpmib_get_state (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: tcpmib_get_state (long) testing tcpmib_local_addr(long);no embedded C testing tcpmib_remote_addr(long);no embedded C testing tcpmib_local_port(long);no embedded C testing tcpmib_remote_port(long);no embedded C testing get_cycles ();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { get_cycles () } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { get_cycles () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { get_cycles () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { get_cycles () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is get_cycles PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: get_cycles () testing jiffies ();unprivileged testing HZ ();unprivileged testing gettimeofday_ns ();unprivileged testing gettimeofday_us ();no embedded C testing gettimeofday_ms ();no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: gettimeofday_ms () testing gettimeofday_s ();no embedded C testing cpu_clock_ns (long);unprivileged testing cpu_clock_us (long);no embedded C testing cpu_clock_ms (long);no embedded C testing cpu_clock_s (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: cpu_clock_s (long) testing local_clock_ns ();unprivileged testing local_clock_us ();no embedded C testing local_clock_ms ();no embedded C testing local_clock_s ();no embedded C testing tz_gmtoff();unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { tz_gmtoff() } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:46 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:32 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { tz_gmtoff() } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is tz_gmtoff PASS: unprivileged embedded C (transitive): unprivileged: --privilege=stapsys: tz_gmtoff() testing tz_name();unprivileged testing ustack (long);no embedded C testing usymname (long);myproc-unprivileged testing usymdata (long);myproc-unprivileged testing print_ustack(string);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: print_ustack(string) testing print_usyms (string);no embedded C testing sprint_ustack(string);no embedded C testing sprint_usyms (string);no embedded C testing usymfileline (long);myproc-unprivileged testing usymfile (long);myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { usymfile (0) } probe begin { foo() }} # global embedded code %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:47 source: function foo() { usymfile (0) } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:33 source: function foo() { usymfile (0) } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { usymfile (0) } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is usymfile PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: usymfile (long) testing usymline (long);myproc-unprivileged testing print_ubacktrace ();myproc-unprivileged testing sprint_ubacktrace ();myproc-unprivileged testing print_ubacktrace_brief ();myproc-unprivileged testing ubacktrace ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { ubacktrace () } probe begin { foo() }} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:48 source: function foo() { ubacktrace () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:34 source: function foo() { ubacktrace () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { ubacktrace () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is ubacktrace PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: ubacktrace () testing umodname (long);myproc-unprivileged testing ucallers (long);no embedded C testing _utrace_syscall_nr ();myproc-unprivileged testing _utrace_syscall_arg (long);myproc-unprivileged testing _utrace_syscall_return ();myproc-unprivileged eval exec stap -p2 --privilege=stapsys -e {function foo() { _utrace_syscall_return () } probe begin { foo() }} # global embedded code %{ #include "syscall.h" %} # functions error:unknown (msg:string) # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ WARNING: Eliding side-effect-free expression : identifier 'foo' at :1:60 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ WARNING: side-effect-free probe 'probe_2760': keyword at :1:46 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ WARNING: side-effect-free function 'foo': identifier 'foo' at :1:10 source: function foo() { _utrace_syscall_return () } probe begin { foo() } ^ Number of similar warning messages suppressed: 1. Rerun with -v to see them. funcname is _utrace_syscall_return PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: _utrace_syscall_return () testing __find_bdevname(long, long);no embedded C testing ppos_pos (long);no embedded C testing __page_ino (long);no embedded C testing __page_dev (long);no embedded C testing __page_bdev (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: __page_bdev (long) testing __file_dev (long);no embedded C testing __file_ino (long);no embedded C testing __file_maxbytes (long);no embedded C testing __file_filename (long);no embedded C testing _dev_minor (long);no embedded C UNTESTED: unprivileged embedded C (transitive): no embedded C: _dev_minor (long) testing _dev_major (long);no embedded C testcase /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_embedded_C.exp completed in 883 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_myproc.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so PASS: unprivileged myproc library compile Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop PASS: unprivileged myproc exe compile addr_of_bar: 0x00000000004009c0 addr_of_libloopfunc: 0x0000000000000874 eval exec stap --dump-probe-types | grep ^process process.begin process.end process.function(number) process.function(number).call process.function(number).exported process.function(number).return process.function(string) process.function(string).call process.function(string).callee(string) process.function(string).callee(string).call process.function(string).callee(string).return process.function(string).callees process.function(string).callees(number) process.function(string).exported process.function(string).inline process.function(string).label(string) process.function(string).return process.library(string).function(number) process.library(string).function(number).call process.library(string).function(number).exported process.library(string).function(number).return process.library(string).function(string) process.library(string).function(string).call process.library(string).function(string).callee(string) process.library(string).function(string).callee(string).call process.library(string).function(string).callee(string).return process.library(string).function(string).callees process.library(string).function(string).callees(number) process.library(string).function(string).exported process.library(string).function(string).inline process.library(string).function(string).label(string) process.library(string).function(string).return process.library(string).mark(string) process.library(string).plt process.library(string).plt.return process.library(string).plt(string) process.library(string).plt(string).return process.library(string).provider(string).mark(string) process.library(string).statement(number) process.library(string).statement(number).nearest process.library(string).statement(string) process.library(string).statement(string).nearest process.mark(string) process.plt process.plt.return process.plt(string) process.plt(string).return process.provider(string).mark(string) process.statement(number) process.statement(number).nearest process.statement(string) process.statement(string).nearest process.syscall process.syscall.return process.thread.begin process.thread.end process(number).begin process(number).end process(number).function(number) process(number).function(number).call process(number).function(number).exported process(number).function(number).return process(number).function(string) process(number).function(string).call process(number).function(string).callee(string) process(number).function(string).callee(string).call process(number).function(string).callee(string).return process(number).function(string).callees process(number).function(string).callees(number) process(number).function(string).exported process(number).function(string).inline process(number).function(string).label(string) process(number).function(string).return process(number).insn process(number).insn.block process(number).mark(string) process(number).plt process(number).plt.return process(number).plt(string) process(number).plt(string).return process(number).provider(string).mark(string) process(number).statement(number) process(number).statement(number).absolute process(number).statement(number).absolute.return process(number).statement(number).nearest process(number).statement(string) process(number).statement(string).nearest process(number).syscall process(number).syscall.return process(number).thread.begin process(number).thread.end process(string).begin process(string).end process(string).function(number) process(string).function(number).call process(string).function(number).exported process(string).function(number).return process(string).function(string) process(string).function(string).call process(string).function(string).callee(string) process(string).function(string).callee(string).call process(string).function(string).callee(string).return process(string).function(string).callees process(string).function(string).callees(number) process(string).function(string).exported process(string).function(string).inline process(string).function(string).label(string) process(string).function(string).return process(string).insn process(string).insn.block process(string).library(string).function(number) process(string).library(string).function(number).call process(string).library(string).function(number).exported process(string).library(string).function(number).return process(string).library(string).function(string) process(string).library(string).function(string).call process(string).library(string).function(string).callee(string) process(string).library(string).function(string).callee(string).call process(string).library(string).function(string).callee(string).return process(string).library(string).function(string).callees process(string).library(string).function(string).callees(number) process(string).library(string).function(string).exported process(string).library(string).function(string).inline process(string).library(string).function(string).label(string) process(string).library(string).function(string).return process(string).library(string).mark(string) process(string).library(string).plt process(string).library(string).plt.return process(string).library(string).plt(string) process(string).library(string).plt(string).return process(string).library(string).provider(string).mark(string) process(string).library(string).statement(number) process(string).library(string).statement(number).nearest process(string).library(string).statement(string) process(string).library(string).statement(string).nearest process(string).mark(string) process(string).plt process(string).plt.return process(string).plt(string) process(string).plt(string).return process(string).provider(string).mark(string) process(string).statement(number) process(string).statement(number).nearest process(string).statement(string) process(string).statement(string).nearest process(string).syscall process(string).syscall.return process(string).thread.begin process(string).thread.end PASS: unprivileged myproc: Obtain list of supported probe types our ./loop pid is 3834 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:44 source: probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapusr process.function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function(0x0000000000000874).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:66 source: probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --unprivileged process.library(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function(0x0000000000000874).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function(0x0000000000000874).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function("libloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function("ilibloopfunc").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function("libloopfunc").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(string).callee(string).call as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapusr process.library(string).function(string).callee(string).return eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").function("libloopfunc").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").provider("_test_").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").statement(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").statement(0x0000000000000874).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.library(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.library(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.syscall.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process.thread.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process.thread.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process.thread.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process.thread.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(3834).begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(3834).end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).end our ./loop pid is 18221 as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapusr process(number).insn UNTESTED: unprivileged myproc: --privilege=stapusr process(number).insn.block eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).statement(0x00000000004009c0).absolute { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(18221).statement(0x00000000004009c0).absolute { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapusr process(number).statement(number).absolute (PRMS: INODE_UPROBES) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).statement(0x00000000004009c0).absolute.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(18221).statement(0x00000000004009c0).absolute.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --unprivileged process(number).statement(number).absolute.return (PRMS: INODE_UPROBES) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).syscall.return as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapusr process(number).thread.begin UNTESTED: unprivileged myproc: --privilege=stapusr process(number).thread.end eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process(18221).statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(number).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process(18221).statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(number).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).end our ./loop pid is 20043 as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --unprivileged process(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).callees(number) as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapusr process(string).insn UNTESTED: unprivileged myproc: --privilege=stapusr process(string).insn.block eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function("libloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function("ilibloopfunc").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function("libloopfunc").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function("libloopfunc").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).callee(string).call as_root true OUT RC 0 UNTESTED: unprivileged myproc: --unprivileged process(string).library(string).function(string).callee(string).return eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").provider("_test_").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").library("libloop.so").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).library(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").library("libloop.so").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).syscall.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").thread.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).thread.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapusr -e {probe process("./loop").thread.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapusr process(string).thread.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --unprivileged -e {probe process("./loop").function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --unprivileged process(string).function(string).label(string) as_root true OUT RC 0 Executing: kill -INT 20043 Executing: kill -KILL 20043 kill: kill: sending signal to 20043 failed: No such process our ./loop pid is 22543 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:44 source: probe process.function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process.function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:66 source: probe process.library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process.library(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("ilibloopfunc").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).callee(string).call as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapsys process.library(string).function(string).callee(string).return eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").provider("_test_").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").statement(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").statement(0x0000000000000874).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.library(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.syscall.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.thread.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.thread.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process.thread.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} -c "./loop 1" rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process.thread.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(22543).begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(22543).end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).end our ./loop pid is 4563 as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).insn { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(4563).insn { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(number).insn (PRMS: ITRACE) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).insn.block { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(4563).insn.block { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(number).insn.block (PRMS: ITRACE) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement(0x00000000004009c0).absolute { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(4563).statement(0x00000000004009c0).absolute { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(number).statement(number).absolute (PRMS: INODE_UPROBES) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement(0x00000000004009c0).absolute.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(4563).statement(0x00000000004009c0).absolute.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(number).statement(number).absolute.return (PRMS: INODE_UPROBES) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).syscall.return as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapsys process(number).thread.begin UNTESTED: unprivileged myproc: --privilege=stapsys process(number).thread.end eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process(4563).statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(number).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).end our ./loop pid is 6424 as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe process("./loop").function(0x00000000004009c0).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("bar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("bar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("ibar").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("bar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("bar").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("main").callee("tbar") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("main").callee("tbar").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("main").callee("tbar").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("main").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("main").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").insn { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").insn { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(string).insn (PRMS: ITRACE) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").insn.block { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").insn.block { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(string).insn.block (PRMS: ITRACE) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(number).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 1 semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged myproc: --privilege=stapsys process(string).library(string).function(number).inline (PRMS: GCC) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(number).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(number).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).call as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("ilibloopfunc").inline { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).inline as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").exported { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).exported as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).label(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).callee(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).callee(string).call as_root true OUT RC 0 UNTESTED: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).callee(string).return eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).callees as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees(1) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).function(string).callees(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").provider("_test_").mark("libloopfunc_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").provider("_test_").mark("main_enter") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).provider(string).mark(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").statement(0x00000000004009c0) { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).statement(number) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").statement(0x00000000004009c0).nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).statement(number).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").statement("bar@loop.c:*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).statement(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").statement("bar@loop.c:*").nearest { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).statement(string).nearest as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").plt { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).plt as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").plt.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).plt.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").plt("*") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).plt(string) as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").plt("*").return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).plt(string).return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").syscall { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).syscall as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").syscall.return { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).syscall.return as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").thread.begin { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).thread.begin as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").thread.end { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).thread.end as_root true OUT RC 0 eval exec /root/systemtap_write/install/bin/stap --privilege=stapsys -e {probe process("./loop").function("bar").label("a") { if (is_myproc ()) println ("is myproc") else println ("not myproc"); exit(); } probe timer.s(15) { println("timeout") exit() }} rc == 0 is myproc PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).label(string) as_root true OUT RC 0 Executing: kill -INT 6424 Executing: kill -KILL 6424 kill: kill: sending signal to 6424 failed: No such process PASS: unprivileged myproc: tested: process.begin PASS: unprivileged myproc: tested: process.end PASS: unprivileged myproc: tested: process.function(number) PASS: unprivileged myproc: tested: process.function(number).call PASS: unprivileged myproc: tested: process.function(number).exported PASS: unprivileged myproc: tested: process.function(number).return PASS: unprivileged myproc: tested: process.function(string) PASS: unprivileged myproc: tested: process.function(string).call PASS: unprivileged myproc: tested: process.function(string).callee(string) PASS: unprivileged myproc: tested: process.function(string).callee(string).call PASS: unprivileged myproc: tested: process.function(string).callee(string).return PASS: unprivileged myproc: tested: process.function(string).callees PASS: unprivileged myproc: tested: process.function(string).callees(number) PASS: unprivileged myproc: tested: process.function(string).exported PASS: unprivileged myproc: tested: process.function(string).inline PASS: unprivileged myproc: tested: process.function(string).label(string) PASS: unprivileged myproc: tested: process.function(string).return PASS: unprivileged myproc: tested: process.library(string).function(number) PASS: unprivileged myproc: tested: process.library(string).function(number).call PASS: unprivileged myproc: tested: process.library(string).function(number).exported PASS: unprivileged myproc: tested: process.library(string).function(number).return PASS: unprivileged myproc: tested: process.library(string).function(string) PASS: unprivileged myproc: tested: process.library(string).function(string).call PASS: unprivileged myproc: tested: process.library(string).function(string).callee(string) PASS: unprivileged myproc: tested: process.library(string).function(string).callee(string).call PASS: unprivileged myproc: tested: process.library(string).function(string).callee(string).return PASS: unprivileged myproc: tested: process.library(string).function(string).callees PASS: unprivileged myproc: tested: process.library(string).function(string).callees(number) PASS: unprivileged myproc: tested: process.library(string).function(string).exported PASS: unprivileged myproc: tested: process.library(string).function(string).inline PASS: unprivileged myproc: tested: process.library(string).function(string).label(string) PASS: unprivileged myproc: tested: process.library(string).function(string).return PASS: unprivileged myproc: tested: process.library(string).mark(string) PASS: unprivileged myproc: tested: process.library(string).plt PASS: unprivileged myproc: tested: process.library(string).plt.return PASS: unprivileged myproc: tested: process.library(string).plt(string) PASS: unprivileged myproc: tested: process.library(string).plt(string).return PASS: unprivileged myproc: tested: process.library(string).provider(string).mark(string) PASS: unprivileged myproc: tested: process.library(string).statement(number) PASS: unprivileged myproc: tested: process.library(string).statement(number).nearest PASS: unprivileged myproc: tested: process.library(string).statement(string) PASS: unprivileged myproc: tested: process.library(string).statement(string).nearest PASS: unprivileged myproc: tested: process.mark(string) PASS: unprivileged myproc: tested: process.plt PASS: unprivileged myproc: tested: process.plt.return PASS: unprivileged myproc: tested: process.plt(string) PASS: unprivileged myproc: tested: process.plt(string).return PASS: unprivileged myproc: tested: process.provider(string).mark(string) PASS: unprivileged myproc: tested: process.statement(number) PASS: unprivileged myproc: tested: process.statement(number).nearest PASS: unprivileged myproc: tested: process.statement(string) PASS: unprivileged myproc: tested: process.statement(string).nearest PASS: unprivileged myproc: tested: process.syscall PASS: unprivileged myproc: tested: process.syscall.return PASS: unprivileged myproc: tested: process.thread.begin PASS: unprivileged myproc: tested: process.thread.end PASS: unprivileged myproc: tested: process(number).begin PASS: unprivileged myproc: tested: process(number).end PASS: unprivileged myproc: tested: process(number).function(number) PASS: unprivileged myproc: tested: process(number).function(number).call PASS: unprivileged myproc: tested: process(number).function(number).exported PASS: unprivileged myproc: tested: process(number).function(number).return PASS: unprivileged myproc: tested: process(number).function(string) PASS: unprivileged myproc: tested: process(number).function(string).call PASS: unprivileged myproc: tested: process(number).function(string).callee(string) PASS: unprivileged myproc: tested: process(number).function(string).callee(string).call PASS: unprivileged myproc: tested: process(number).function(string).callee(string).return PASS: unprivileged myproc: tested: process(number).function(string).callees PASS: unprivileged myproc: tested: process(number).function(string).callees(number) PASS: unprivileged myproc: tested: process(number).function(string).exported PASS: unprivileged myproc: tested: process(number).function(string).inline PASS: unprivileged myproc: tested: process(number).function(string).label(string) PASS: unprivileged myproc: tested: process(number).function(string).return PASS: unprivileged myproc: tested: process(number).insn PASS: unprivileged myproc: tested: process(number).insn.block PASS: unprivileged myproc: tested: process(number).mark(string) PASS: unprivileged myproc: tested: process(number).plt PASS: unprivileged myproc: tested: process(number).plt.return PASS: unprivileged myproc: tested: process(number).plt(string) PASS: unprivileged myproc: tested: process(number).plt(string).return PASS: unprivileged myproc: tested: process(number).provider(string).mark(string) PASS: unprivileged myproc: tested: process(number).statement(number) PASS: unprivileged myproc: tested: process(number).statement(number).absolute PASS: unprivileged myproc: tested: process(number).statement(number).absolute.return PASS: unprivileged myproc: tested: process(number).statement(number).nearest PASS: unprivileged myproc: tested: process(number).statement(string) PASS: unprivileged myproc: tested: process(number).statement(string).nearest PASS: unprivileged myproc: tested: process(number).syscall PASS: unprivileged myproc: tested: process(number).syscall.return PASS: unprivileged myproc: tested: process(number).thread.begin PASS: unprivileged myproc: tested: process(number).thread.end PASS: unprivileged myproc: tested: process(string).begin PASS: unprivileged myproc: tested: process(string).end PASS: unprivileged myproc: tested: process(string).function(number) PASS: unprivileged myproc: tested: process(string).function(number).call PASS: unprivileged myproc: tested: process(string).function(number).exported PASS: unprivileged myproc: tested: process(string).function(number).return PASS: unprivileged myproc: tested: process(string).function(string) PASS: unprivileged myproc: tested: process(string).function(string).call PASS: unprivileged myproc: tested: process(string).function(string).callee(string) PASS: unprivileged myproc: tested: process(string).function(string).callee(string).call PASS: unprivileged myproc: tested: process(string).function(string).callee(string).return PASS: unprivileged myproc: tested: process(string).function(string).callees PASS: unprivileged myproc: tested: process(string).function(string).callees(number) PASS: unprivileged myproc: tested: process(string).function(string).exported PASS: unprivileged myproc: tested: process(string).function(string).inline PASS: unprivileged myproc: tested: process(string).function(string).label(string) PASS: unprivileged myproc: tested: process(string).function(string).return PASS: unprivileged myproc: tested: process(string).insn PASS: unprivileged myproc: tested: process(string).insn.block PASS: unprivileged myproc: tested: process(string).library(string).function(number) PASS: unprivileged myproc: tested: process(string).library(string).function(number).call PASS: unprivileged myproc: tested: process(string).library(string).function(number).exported PASS: unprivileged myproc: tested: process(string).library(string).function(number).return PASS: unprivileged myproc: tested: process(string).library(string).function(string) PASS: unprivileged myproc: tested: process(string).library(string).function(string).call PASS: unprivileged myproc: tested: process(string).library(string).function(string).callee(string) PASS: unprivileged myproc: tested: process(string).library(string).function(string).callee(string).call PASS: unprivileged myproc: tested: process(string).library(string).function(string).callee(string).return PASS: unprivileged myproc: tested: process(string).library(string).function(string).callees PASS: unprivileged myproc: tested: process(string).library(string).function(string).callees(number) PASS: unprivileged myproc: tested: process(string).library(string).function(string).exported PASS: unprivileged myproc: tested: process(string).library(string).function(string).inline PASS: unprivileged myproc: tested: process(string).library(string).function(string).label(string) PASS: unprivileged myproc: tested: process(string).library(string).function(string).return PASS: unprivileged myproc: tested: process(string).library(string).mark(string) PASS: unprivileged myproc: tested: process(string).library(string).plt PASS: unprivileged myproc: tested: process(string).library(string).plt.return PASS: unprivileged myproc: tested: process(string).library(string).plt(string) PASS: unprivileged myproc: tested: process(string).library(string).plt(string).return PASS: unprivileged myproc: tested: process(string).library(string).provider(string).mark(string) PASS: unprivileged myproc: tested: process(string).library(string).statement(number) PASS: unprivileged myproc: tested: process(string).library(string).statement(number).nearest PASS: unprivileged myproc: tested: process(string).library(string).statement(string) PASS: unprivileged myproc: tested: process(string).library(string).statement(string).nearest PASS: unprivileged myproc: tested: process(string).mark(string) PASS: unprivileged myproc: tested: process(string).plt PASS: unprivileged myproc: tested: process(string).plt.return PASS: unprivileged myproc: tested: process(string).plt(string) PASS: unprivileged myproc: tested: process(string).plt(string).return PASS: unprivileged myproc: tested: process(string).provider(string).mark(string) PASS: unprivileged myproc: tested: process(string).statement(number) PASS: unprivileged myproc: tested: process(string).statement(number).nearest PASS: unprivileged myproc: tested: process(string).statement(string) PASS: unprivileged myproc: tested: process(string).statement(string).nearest PASS: unprivileged myproc: tested: process(string).syscall PASS: unprivileged myproc: tested: process(string).syscall.return PASS: unprivileged myproc: tested: process(string).thread.begin PASS: unprivileged myproc: tested: process(string).thread.end testcase /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_myproc.exp completed in 1498 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_options.exp ... eval exec stap --unprivileged -g You can't specify -g and --privilege=stapusr together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: --unprivileged -g eval exec stap --privilege=stapusr -g You can't specify -g and --privilege=stapusr together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: --privilege=stapusr -g eval exec stap --privilege=stapsys -g You can't specify -g and --privilege=stapsys together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: --privilege=stapsys -g eval exec stap -g --unprivileged You can't specify -g and --privilege=stapusr together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: -g --unprivileged eval exec stap -g --privilege=stapusr You can't specify -g and --privilege=stapusr together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: -g --privilege=stapusr eval exec stap -g --privilege=stapsys You can't specify -g and --privilege=stapsys together. Try '--help' for more information. PASS: Invalid Unprivileged Mode Arguments: -g --privilege=stapsys testcase /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_options.exp completed in 0 seconds Running /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_probes.exp ... Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -g -O -Wall -Werror -I. -shared -fPIC -lm -o libloop.so PASS: unprivileged probes library compile Executing on host: gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop (timeout = 300) spawn -ignore SIGHUP gcc /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c -g -O -lpthread -isystem/root/systemtap_write/systemtap/testsuite -isystem/root/systemtap_write/install/include -Wl,-rpath,/root/systemtap_write/systemtap/testsuite -L/root/systemtap_write/systemtap/testsuite -lloop -DSTAP_SDT_ARG_CONSTRAINT=nr -lm -o loop PASS: unprivileged probes exe compile addr_of_bar: 0x00000000004009c0 addr_of_libloopfunc: 0x0000000000000874 eval exec stap --dump-probe-types begin begin(number) end end(number) error error(number) java(number).class(string).method(string) java(number).class(string).method(string).return java(string).class(string).method(string) java(string).class(string).method(string).return kernel.data(number).length(number).rw kernel.data(number).length(number).write kernel.data(number).rw kernel.data(number).write kernel.data(string).rw kernel.data(string).write kernel.function(number) kernel.function(number).call kernel.function(number).exported kernel.function(number).return kernel.function(number).return.maxactive(number) kernel.function(string) kernel.function(string).call kernel.function(string).callee(string) kernel.function(string).callee(string).call kernel.function(string).callee(string).return kernel.function(string).callees kernel.function(string).callees(number) kernel.function(string).exported kernel.function(string).inline kernel.function(string).label(string) kernel.function(string).return kernel.function(string).return.maxactive(number) kernel.mark(string) kernel.mark(string).format(string) kernel.statement(number) kernel.statement(number).absolute kernel.statement(number).nearest kernel.statement(string) kernel.statement(string).nearest kernel.trace(string) kprobe.function(string) kprobe.function(string).call kprobe.function(string).return kprobe.function(string).return.maxactive(number) kprobe.module(string).function(string) kprobe.module(string).function(string).call kprobe.module(string).function(string).return kprobe.module(string).function(string).return.maxactive(number) kprobe.statement(number).absolute module(string).function(number) module(string).function(number).call module(string).function(number).exported module(string).function(number).return module(string).function(number).return.maxactive(number) module(string).function(string) module(string).function(string).call module(string).function(string).callee(string) module(string).function(string).callee(string).call module(string).function(string).callee(string).return module(string).function(string).callees module(string).function(string).callees(number) module(string).function(string).exported module(string).function(string).inline module(string).function(string).label(string) module(string).function(string).return module(string).function(string).return.maxactive(number) module(string).statement(number) module(string).statement(number).nearest module(string).statement(string) module(string).statement(string).nearest netfilter.hook(string).pf(string) netfilter.hook(string).pf(string).priority(string) netfilter.pf(string).hook(string) netfilter.pf(string).hook(string).priority(string) never perf.type(number).config(number) perf.type(number).config(number).counter(string) perf.type(number).config(number).hz(number) perf.type(number).config(number).process perf.type(number).config(number).process(string) perf.type(number).config(number).process(string).counter(string) perf.type(number).config(number).sample(number) process.begin process.end process.function(number) process.function(number).call process.function(number).exported process.function(number).return process.function(string) process.function(string).call process.function(string).callee(string) process.function(string).callee(string).call process.function(string).callee(string).return process.function(string).callees process.function(string).callees(number) process.function(string).exported process.function(string).inline process.function(string).label(string) process.function(string).return process.library(string).function(number) process.library(string).function(number).call process.library(string).function(number).exported process.library(string).function(number).return process.library(string).function(string) process.library(string).function(string).call process.library(string).function(string).callee(string) process.library(string).function(string).callee(string).call process.library(string).function(string).callee(string).return process.library(string).function(string).callees process.library(string).function(string).callees(number) process.library(string).function(string).exported process.library(string).function(string).inline process.library(string).function(string).label(string) process.library(string).function(string).return process.library(string).mark(string) process.library(string).plt process.library(string).plt.return process.library(string).plt(string) process.library(string).plt(string).return process.library(string).provider(string).mark(string) process.library(string).statement(number) process.library(string).statement(number).nearest process.library(string).statement(string) process.library(string).statement(string).nearest process.mark(string) process.plt process.plt.return process.plt(string) process.plt(string).return process.provider(string).mark(string) process.statement(number) process.statement(number).nearest process.statement(string) process.statement(string).nearest process.syscall process.syscall.return process.thread.begin process.thread.end process(number).begin process(number).end process(number).function(number) process(number).function(number).call process(number).function(number).exported process(number).function(number).return process(number).function(string) process(number).function(string).call process(number).function(string).callee(string) process(number).function(string).callee(string).call process(number).function(string).callee(string).return process(number).function(string).callees process(number).function(string).callees(number) process(number).function(string).exported process(number).function(string).inline process(number).function(string).label(string) process(number).function(string).return process(number).insn process(number).insn.block process(number).mark(string) process(number).plt process(number).plt.return process(number).plt(string) process(number).plt(string).return process(number).provider(string).mark(string) process(number).statement(number) process(number).statement(number).absolute process(number).statement(number).absolute.return process(number).statement(number).nearest process(number).statement(string) process(number).statement(string).nearest process(number).syscall process(number).syscall.return process(number).thread.begin process(number).thread.end process(string).begin process(string).end process(string).function(number) process(string).function(number).call process(string).function(number).exported process(string).function(number).return process(string).function(string) process(string).function(string).call process(string).function(string).callee(string) process(string).function(string).callee(string).call process(string).function(string).callee(string).return process(string).function(string).callees process(string).function(string).callees(number) process(string).function(string).exported process(string).function(string).inline process(string).function(string).label(string) process(string).function(string).return process(string).insn process(string).insn.block process(string).library(string).function(number) process(string).library(string).function(number).call process(string).library(string).function(number).exported process(string).library(string).function(number).return process(string).library(string).function(string) process(string).library(string).function(string).call process(string).library(string).function(string).callee(string) process(string).library(string).function(string).callee(string).call process(string).library(string).function(string).callee(string).return process(string).library(string).function(string).callees process(string).library(string).function(string).callees(number) process(string).library(string).function(string).exported process(string).library(string).function(string).inline process(string).library(string).function(string).label(string) process(string).library(string).function(string).return process(string).library(string).mark(string) process(string).library(string).plt process(string).library(string).plt.return process(string).library(string).plt(string) process(string).library(string).plt(string).return process(string).library(string).provider(string).mark(string) process(string).library(string).statement(number) process(string).library(string).statement(number).nearest process(string).library(string).statement(string) process(string).library(string).statement(string).nearest process(string).mark(string) process(string).plt process(string).plt.return process(string).plt(string) process(string).plt(string).return process(string).provider(string).mark(string) process(string).statement(number) process(string).statement(number).nearest process(string).statement(string) process(string).statement(string).nearest process(string).syscall process(string).syscall.return process(string).thread.begin process(string).thread.end procfs.read procfs.read.maxsize(number) procfs.umask(number).read procfs.umask(number).read.maxsize(number) procfs.umask(number).write procfs.write procfs(string).read procfs(string).read.maxsize(number) procfs(string).umask(number).read procfs(string).umask(number).read.maxsize(number) procfs(string).umask(number).write procfs(string).write timer.hz(number) timer.jiffies(number) timer.jiffies(number).randomize(number) timer.ms(number) timer.ms(number).randomize(number) timer.msec(number) timer.msec(number).randomize(number) timer.ns(number) timer.ns(number).randomize(number) timer.nsec(number) timer.nsec(number).randomize(number) timer.profile.tick timer.s(number) timer.s(number).randomize(number) timer.sec(number) timer.sec(number).randomize(number) timer.us(number) timer.us(number).randomize(number) timer.usec(number) timer.usec(number).randomize(number) PASS: unprivileged probes: Obtain list of supported probe types our ./loop pid is 9009 eval exec stap -p2 --unprivileged -e {probe begin { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged begin eval exec stap -p2 --privilege=stapusr -e {probe myalias = begin(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes begin(10) /* <- myalias = begin(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr begin(number) with alias eval exec stap -p2 --unprivileged -e {probe end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes end /* <- end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged end eval exec stap -p2 --privilege=stapusr -e {probe myalias = end(10) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes end(10) /* <- myalias = end(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr end(number) with alias eval exec stap -p2 --unprivileged -e {probe error { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes error /* <- error */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged error eval exec stap -p2 --privilege=stapusr -e {probe myalias = error(10) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes error(10) /* <- myalias = error(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr error(number) with alias eval exec stap -p2 --unprivileged -e {probe java(0).class("./loop").method("./loop") { println ("Hello"); exit (); }} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged java(number).class(string).method(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = java(0).class("./loop").method("./loop").return { println ("Hello"); exit (); } probe myalias {}} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr java(number).class(string).method(string).return with alias eval exec stap -p2 --unprivileged -e {probe java("foobar").class("./loop").method("./loop") { println ("Hello"); exit (); }} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged java(string).class(string).method(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = java("foobar").class("./loop").method("./loop").return { println ("Hello"); exit (); } probe myalias {}} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr java(string).class(string).method(string).return with alias eval exec stap -p2 --unprivileged -e {probe never { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes never /* <- never */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged never eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.begin /* <- myalias = process.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.begin with alias eval exec stap -p2 --unprivileged -e {probe process.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.end /* <- process.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.end eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(number) with alias eval exec stap -p2 --unprivileged -e {probe process.function(0x00000000004009c0).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(number).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:99 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapusr process.function(number).inline with alias (PRMS: GCC) eval exec stap -p2 --unprivileged -e {probe process.function(0x00000000004009c0).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(number).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function(0x00000000004009c0).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(number).exported with alias eval exec stap -p2 --unprivileged -e {probe process.function("bar") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function("bar").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(string).call with alias eval exec stap -p2 --unprivileged -e {probe process.function("ibar").inline { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string).inline eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function("bar").label("a") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(string).label(string) with alias eval exec stap -p2 --unprivileged -e {probe process.function("bar").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function("bar").exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(string).exported with alias eval exec stap -p2 --unprivileged -e {probe process.function("main").callee("ibar") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string).callee(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function("main").callee("ibar").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(string).callee(string).call with alias eval exec stap -p2 --unprivileged -e {probe process.function("main").callee("ibar").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string).callee(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.function("main").callees { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.function(string).callees with alias eval exec stap -p2 --unprivileged -e {probe process.function("main").callees(1) { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.function(string).callees(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.plt with alias eval exec stap -p2 --unprivileged -e {probe process.plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.plt.return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.plt(string) with alias eval exec stap -p2 --unprivileged -e {probe process.plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.plt(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function(0x0000000000000874) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(number) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function(0x0000000000000874).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(number).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:121 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapusr process.library(string).function(number).inline with alias (PRMS: GCC) eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function(0x0000000000000874).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(number).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function(0x0000000000000874).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(number).exported with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("libloopfunc") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function("libloopfunc").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(string).call with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("ilibloopfunc").inline { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string).inline eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function("libloopfunc").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(string).return with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string).exported eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function("libloopfunc").label("a") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(string).label(string) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string).callee(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(string).callee(string).call with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string).callee(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").function("libloopfunc").callees { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).function(string).callees with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").function("libloopfunc").callees(1) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).function(string).callees(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).plt with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).plt.return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).plt(string) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).plt(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").mark("libloopfunc_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).mark(string) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").provider("_test_").mark("libloopfunc_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).provider(string).mark(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").statement(0x0000000000000874) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).statement(number) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").statement(0x0000000000000874).nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).statement(number).nearest eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.library("libloop.so").statement("libloopfunc@libloop.c:*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.library(string).statement(string) with alias eval exec stap -p2 --unprivileged -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.library(string).statement(string).nearest eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.provider(string).mark(string) with alias eval exec stap -p2 --unprivileged -e {probe process.mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.mark(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.statement(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.statement(number) with alias eval exec stap -p2 --unprivileged -e {probe process.statement(0x00000000004009c0).nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.statement(number).nearest eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.statement("bar@loop.c:*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.statement(string) with alias eval exec stap -p2 --unprivileged -e {probe process.statement("bar@loop.c:*").nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.statement(string).nearest eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.syscall { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.syscall /* <- myalias = process.syscall <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.syscall with alias eval exec stap -p2 --unprivileged -e {probe process.syscall.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.syscall.return /* <- process.syscall.return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.syscall.return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process.thread.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.thread.begin /* <- myalias = process.thread.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process.thread.begin with alias eval exec stap -p2 --unprivileged -e {probe process.thread.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.thread.end /* <- process.thread.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process.thread.end eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).begin /* <- myalias = process(9009).begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).begin with alias eval exec stap -p2 --unprivileged -e {probe process(9009).end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).end /* <- process(9009).end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).end eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process(9009).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {} ^ semantic error: absolute process probes not available [man error::inode-uprobes] semantic error: while resolving probe point: identifier 'myalias' at :1:108 source: probe myalias = process(9009).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapusr process(number).statement(number).absolute with alias (PRMS: INODE_UPROBES) eval exec stap -p2 --unprivileged -e {probe process(9009).statement(0x00000000004009c0).absolute.return { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(9009).statement(0x00000000004009c0).absolute.return { println ("Hello"); exit (); } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --unprivileged process(number).statement(number).absolute.return (PRMS: INODE_UPROBES) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).syscall { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).syscall /* <- myalias = process(9009).syscall <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).syscall with alias eval exec stap -p2 --unprivileged -e {probe process(9009).syscall.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).syscall.return /* <- process(9009).syscall.return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).syscall.return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).thread.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).thread.begin /* <- myalias = process(9009).thread.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).thread.begin with alias eval exec stap -p2 --unprivileged -e {probe process(9009).thread.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(9009).thread.end /* <- process(9009).thread.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).thread.end eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(number) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function(0x00000000004009c0).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(number).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function(0x00000000004009c0).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(number).exported with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function(0x00000000004009c0).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(number).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("bar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function("bar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("main").callee("ibar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string).callee(string) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function("main").callee("ibar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(string).callee(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("main").callee("ibar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string).callee(string).return with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function("main").callees { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(string).callees eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("main").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string).callees(number) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function("bar").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(string).exported eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("ibar").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string).inline with alias eval exec stap -p2 --unprivileged -e {probe process(9009).function("bar").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).function(string).label(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).function("bar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).function(string).return with alias eval exec stap -p2 --unprivileged -e {probe process(9009).mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).mark(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).plt with alias eval exec stap -p2 --unprivileged -e {probe process(9009).plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).plt.return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).plt(string) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).plt(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).provider(string).mark(string) with alias eval exec stap -p2 --unprivileged -e {probe process(9009).statement(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).statement(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).statement(0x00000000004009c0).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).statement(number).nearest with alias eval exec stap -p2 --unprivileged -e {probe process(9009).statement("bar@loop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(number).statement(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process(9009).statement("bar@loop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(number).statement(string).nearest with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").begin { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").begin /* <- process("./loop").begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).begin eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").end { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").end /* <- myalias = process("./loop").end <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).end with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function(0x00000000004009c0).call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(number).call with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --unprivileged process(string).function(number).inline (PRMS: GCC) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function(0x00000000004009c0).return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(number).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function(0x00000000004009c0).exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(number).exported eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("bar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function("bar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("ibar").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string).inline with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function("bar").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(string).label(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("bar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function("bar").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(string).exported eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("main").callee("ibar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string).callee(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function("main").callee("ibar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(string).callee(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("main").callee("ibar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string).callee(string).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").function("main").callees { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).function(string).callees eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").function("main").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).function(string).callees(number) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function(0x0000000000000874) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function(0x0000000000000874).call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(number).call with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --unprivileged process(string).library(string).function(number).inline (PRMS: GCC) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function(0x0000000000000874).return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(number).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(number).exported eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("ilibloopfunc").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string).inline with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(string).return eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string).exported with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(string).label(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string).callee(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(string).callee(string).call eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string).callee(string).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).function(string).callees eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).function(string).callees(number) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").mark("libloopfunc_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).mark(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").provider("_test_").mark("libloopfunc_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).provider(string).mark(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).statement(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").statement(0x0000000000000874).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).statement(number).nearest with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).statement(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).statement(string).nearest with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").plt { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).plt eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").plt.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).plt.return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").library("libloop.so").plt("*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).library(string).plt(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").library("libloop.so").plt("*").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).library(string).plt(string).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).mark(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).provider(string).mark(string) with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").statement(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).statement(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").statement(0x00000000004009c0).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).statement(number).nearest with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").statement("bar@loop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).statement(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").statement("bar@loop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).statement(string).nearest with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").plt { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).plt eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").plt.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).plt.return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").plt("*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).plt(string) eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").plt("*").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).plt(string).return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").syscall { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").syscall /* <- process("./loop").syscall */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).syscall eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").syscall.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").syscall.return /* <- myalias = process("./loop").syscall.return <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).syscall.return with alias eval exec stap -p2 --unprivileged -e {probe process("./loop").thread.begin { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").thread.begin /* <- process("./loop").thread.begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged process(string).thread.begin eval exec stap -p2 --privilege=stapusr -e {probe myalias = process("./loop").thread.end { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").thread.end /* <- myalias = process("./loop").thread.end <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr process(string).thread.end with alias eval exec stap -p2 --unprivileged -e {probe timer.hz(1000) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.hz(1000) /* <- timer.hz(1000) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.hz(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.jiffies(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.jiffies(10) /* <- myalias = timer.jiffies(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.jiffies(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.jiffies(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.jiffies(10).randomize(10) /* <- timer.jiffies(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.jiffies(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.ms(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.ms(10) /* <- myalias = timer.ms(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.ms(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.ms(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.ms(10).randomize(10) /* <- timer.ms(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.ms(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.msec(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.msec(10) /* <- myalias = timer.msec(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.msec(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.msec(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.msec(10).randomize(10) /* <- timer.msec(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.msec(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.ns(100000) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.ns(100000) /* <- myalias = timer.ns(100000) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.ns(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.ns(100000).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.ns(100000).randomize(10) /* <- timer.ns(100000).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.ns(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.nsec(100000) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.nsec(100000) /* <- myalias = timer.nsec(100000) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.nsec(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.nsec(100000).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.nsec(100000).randomize(10) /* <- timer.nsec(100000).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.nsec(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.s(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.s(10) /* <- myalias = timer.s(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.s(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.s(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.s(10).randomize(10) /* <- timer.s(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.s(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.sec(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.sec(10) /* <- myalias = timer.sec(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.sec(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.sec(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.sec(10).randomize(10) /* <- timer.sec(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.sec(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.us(100) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.us(100) /* <- myalias = timer.us(100) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.us(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.us(100).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.us(100).randomize(10) /* <- timer.us(100).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.us(number).randomize(number) eval exec stap -p2 --privilege=stapusr -e {probe myalias = timer.usec(100) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.usec(100) /* <- myalias = timer.usec(100) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapusr timer.usec(number) with alias eval exec stap -p2 --unprivileged -e {probe timer.usec(100).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.usec(100).randomize(10) /* <- timer.usec(100).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --unprivileged timer.usec(number).randomize(number) Executing: kill -INT 9009 Executing: kill -KILL 9009 kill: kill: sending signal to 9009 failed: No such process our ./loop pid is 10513 eval exec stap -p2 --privilege=stapsys -e {probe begin { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes begin /* <- begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys begin eval exec stap -p2 --privilege=stapsys -e {probe myalias = begin(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes begin(10) /* <- myalias = begin(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys begin(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes end /* <- end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys end eval exec stap -p2 --privilege=stapsys -e {probe myalias = end(10) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes end(10) /* <- myalias = end(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys end(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe error { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes error /* <- error */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys error eval exec stap -p2 --privilege=stapsys -e {probe myalias = error(10) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes error(10) /* <- myalias = error(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys error(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe java(0).class("./loop").method("./loop") { println ("Hello"); exit (); }} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys java(number).class(string).method(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = java(0).class("./loop").method("./loop").return { println ("Hello"); exit (); } probe myalias {}} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys java(number).class(string).method(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe java("foobar").class("./loop").method("./loop") { println ("Hello"); exit (); }} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys java(string).class(string).method(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = java("foobar").class("./loop").method("./loop").return { println ("Hello"); exit (); } probe myalias {}} # global embedded code %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #include %} # functions error:unknown (msg:string) exit:unknown () module_name:string () system:unknown (cmd:string) user_string:string (addr:long) user_string_n:string (addr:long, n:long) # probes process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) /* pc=.dynamic+0x12a0 */ /* <- process("/root/systemtap_write/install/libexec/systemtap/libHelperSDT_aarch64.so").statement(0x12a0) */ # locals __stable___global_module_name__overload_0_value:string begin /* <- begin */ # locals __stable___global_module_name__overload_0_value:string end /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string error /* <- end,error */ # locals __stable___global_module_name__overload_0_value:string timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys java(string).class(string).method(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe never { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes never /* <- never */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys never eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.begin /* <- myalias = process.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.begin with alias eval exec stap -p2 --privilege=stapsys -e {probe process.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.end /* <- process.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.end eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function(0x00000000004009c0).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(number).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:99 source: probe myalias = process.function(0x00000000004009c0).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process.function(number).inline with alias (PRMS: GCC) eval exec stap -p2 --privilege=stapsys -e {probe process.function(0x00000000004009c0).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(number).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function(0x00000000004009c0).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(number).exported with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("bar") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function("bar").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("ibar").inline { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).inline eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function("bar").label("a") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).label(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("bar").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function("bar").exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).exported with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("main").callee("ibar") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).callee(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function("main").callee("ibar").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).callee(string).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("main").callee("ibar").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).callee(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.function("main").callees { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).callees with alias eval exec stap -p2 --privilege=stapsys -e {probe process.function("main").callees(1) { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.function(string).callees(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.plt with alias eval exec stap -p2 --privilege=stapsys -e {probe process.plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.plt.return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.plt(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.plt(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function(0x0000000000000874) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(number).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:121 source: probe myalias = process.library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process.library(string).function(number).inline with alias (PRMS: GCC) eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function(0x0000000000000874).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(number).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function(0x0000000000000874).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(number).exported with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function("libloopfunc").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("ilibloopfunc").inline { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).inline eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function("libloopfunc").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).exported eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function("libloopfunc").label("a") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).label(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).callee(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).callee(string).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callee("ilibloopfunc").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).callee(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").function("libloopfunc").callees { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).callees with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").function("libloopfunc").callees(1) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).function(string).callees(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).plt with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).plt.return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).plt(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).plt(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").mark("libloopfunc_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).mark(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").provider("_test_").mark("libloopfunc_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).provider(string).mark(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").statement(0x0000000000000874) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).statement(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").statement(0x0000000000000874).nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).statement(number).nearest eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.library("libloop.so").statement("libloopfunc@libloop.c:*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).statement(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.library(string).statement(string).nearest eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.provider(string).mark(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.mark(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.statement(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.statement(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.statement(0x00000000004009c0).nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.statement(number).nearest eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.statement("bar@loop.c:*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.statement(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process.statement("bar@loop.c:*").nearest { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.statement(string).nearest eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.syscall { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.syscall /* <- myalias = process.syscall <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.syscall with alias eval exec stap -p2 --privilege=stapsys -e {probe process.syscall.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.syscall.return /* <- process.syscall.return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.syscall.return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process.thread.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.thread.begin /* <- myalias = process.thread.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.thread.begin with alias eval exec stap -p2 --privilege=stapsys -e {probe process.thread.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process.thread.end /* <- process.thread.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process.thread.end eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).begin /* <- myalias = process(10513).begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).begin with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).end /* <- process(10513).end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).end eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {}} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process(10513).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {} ^ semantic error: absolute process probes not available [man error::inode-uprobes] semantic error: while resolving probe point: identifier 'myalias' at :1:109 source: probe myalias = process(10513).statement(0x00000000004009c0).absolute { println ("Hello"); exit (); } probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process(number).statement(number).absolute with alias (PRMS: INODE_UPROBES) eval exec stap -p2 --privilege=stapsys -e {probe process(10513).statement(0x00000000004009c0).absolute.return { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(10513).statement(0x00000000004009c0).absolute.return { println ("Hello"); exit (); } ^ semantic error: absolute process probes not available [man error::inode-uprobes] Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process(number).statement(number).absolute.return (PRMS: INODE_UPROBES) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).syscall { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).syscall /* <- myalias = process(10513).syscall <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).syscall with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).syscall.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).syscall.return /* <- process(10513).syscall.return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).syscall.return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).thread.begin { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).thread.begin /* <- myalias = process(10513).thread.begin <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).thread.begin with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).thread.end { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process(10513).thread.end /* <- process(10513).thread.end */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).thread.end eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function(0x00000000004009c0) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function(0x00000000004009c0).call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(number).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function(0x00000000004009c0).exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(number).exported with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function(0x00000000004009c0).return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(number).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("bar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function("bar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("main").callee("ibar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).callee(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function("main").callee("ibar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).callee(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("main").callee("ibar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).callee(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function("main").callees { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).callees eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("main").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).callees(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function("bar").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).exported eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("ibar").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).inline with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).function("bar").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).label(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).function("bar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).function(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).mark(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).plt { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).plt with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).plt.return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).plt.return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).plt("*") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).plt(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).plt("*").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).plt(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).provider(string).mark(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).statement(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).statement(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).statement(0x00000000004009c0).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).statement(number).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process(10513).statement("bar@loop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).statement(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process(10513).statement("bar@loop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(number).statement(string).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").begin { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").begin /* <- process("./loop").begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).begin eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").end { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").end /* <- myalias = process("./loop").end <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).end with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function(0x00000000004009c0).call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(number).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:54 source: probe process("./loop").function(0x00000000004009c0).inline { println ("Hello"); exit (); } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process(string).function(number).inline (PRMS: GCC) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function(0x00000000004009c0).return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(number).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function(0x00000000004009c0).exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function(0x4009c0).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(number).exported eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("bar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function("bar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("ibar").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).inline with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function("bar").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13") /* pc=.absolute+0x9d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:13").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).label(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("bar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function("bar").exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).exported eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("main").callee("ibar") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).callee(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function("main").callee("ibar").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).callee(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("main").callee("ibar").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).callee(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").function("main").callees { println ("Hello"); exit (); }} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).callees eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").function("main").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # global embedded code %{ /* caller_addr() might be user caller, so needs at least uprobes structs. */ #include "linux/uprobes-inc.h" %} %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %} %{ #include #include #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25) #include #endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) #include #endif #ifndef STAPCONF_TASK_UID #include #endif #include #include %} %{ #define STP_GET_USER(t) \ do { \ t *_ptr = (t*) (intptr_t) STAP_ARG_addr; \ STAP_RETVALUE = uread (_ptr); \ } while (0) %} %{ #include %} # functions _caller_match:long (user_mode:long, level:long, module:string, section:string, addr:long) error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa54 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") /* pc=.absolute+0xa6c */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("ibar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:18") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ process("/root/systemtap_write/systemtap/testsuite/loop").function("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") /* pc=.absolute+0x9f4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").function("main@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:37").callee("tbar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:25") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).function(string).callees(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function(0x0000000000000874).call { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(number).call with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); }} -c ./loop semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } ^ semantic error: invalid suffix for probe: identifier 'inline' at :1:76 source: probe process("./loop").library("libloop.so").function(0x0000000000000874).inline { println ("Hello"); exit (); } ^ Pass 2: analysis failed. [man error::pass2] KFAIL: unprivileged probes: --privilege=stapsys process(string).library(string).function(number).inline (PRMS: GCC) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function(0x0000000000000874).return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(number).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function(0x0000000000000874).exported { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function(0x874).exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function(0x874).exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(number).exported eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("ilibloopfunc").inline { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").inline */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).inline with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").return { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).return eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").exported { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").exported */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).exported with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").label("a") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:19").label("a") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).label(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).callee(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").call { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").call */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).callee(string).call eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callee("ilibloopfunc").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7").return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).callee(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").function("libloopfunc").callees { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).callees eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").function("libloopfunc").callees(1) { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").function("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") /* pc=.dynamic+0x894 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").function("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").callee("ilibloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:7") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).function(string).callees(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").mark("libloopfunc_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).mark(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").provider("_test_").mark("libloopfunc_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x888) /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x888) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).provider(string).mark(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement(0x0000000000000874) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).statement(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").statement(0x0000000000000874).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x874) /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x874).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).statement(number).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).statement(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").statement("libloopfunc@libloop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16") /* pc=.dynamic+0x874 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:16").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17") /* pc=.dynamic+0x890 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:17").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20") /* pc=.dynamic+0x888 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:20").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21") /* pc=.dynamic+0x8d0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:21").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22") /* pc=.dynamic+0x8cc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:22").nearest */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24") /* pc=.dynamic+0x8d8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement("libloopfunc@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/libloop.c:24").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).statement(string).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).plt eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").plt.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).plt.return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").library("libloop.so").plt("*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0) /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0) /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0) */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700) /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).plt(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").library("libloop.so").plt("*").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6e0).return /* pc=.dynamic+0x6e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6e0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x6f0).return /* pc=.dynamic+0x6f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x6f0).return */ process("/root/systemtap_write/systemtap/testsuite/libloop.so").statement(0x700).return /* pc=.dynamic+0x700 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").library("libloop.so").statement(0x700).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).library(string).plt(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").mark("main_enter") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).mark(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").provider("_test_").mark("main_enter") { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) /* pc=.absolute+0xa00 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400a00) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).provider(string).mark(string) with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").statement(0x00000000004009c0) { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).statement(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").statement(0x00000000004009c0).nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0) /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4009c0).nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).statement(number).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").statement("bar@loop.c:*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).statement(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").statement("bar@loop.c:*").nearest { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8") /* pc=.absolute+0x9c0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:8").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11") /* pc=.absolute+0x9c4 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:11").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12") /* pc=.absolute+0x9c8 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:12").nearest */ process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15") /* pc=.absolute+0x9dc */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement("bar@/root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/loop.c:15").nearest */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).statement(string).nearest with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").plt { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).plt eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").plt.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).plt.return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").plt("*") { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840) */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).plt(string) eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").plt("*").return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return /* pc=.absolute+0x7e0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007e0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return /* pc=.absolute+0x7f0 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x4007f0).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return /* pc=.absolute+0x800 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400800).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return /* pc=.absolute+0x810 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400810).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return /* pc=.absolute+0x820 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400820).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return /* pc=.absolute+0x830 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400830).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return /* pc=.absolute+0x840 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400840).return */ process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return /* pc=.absolute+0x850 */ /* <- process("/root/systemtap_write/systemtap/testsuite/loop").statement(0x400850).return */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).plt(string).return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").syscall { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").syscall /* <- process("./loop").syscall */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).syscall eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").syscall.return { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").syscall.return /* <- myalias = process("./loop").syscall.return <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).syscall.return with alias eval exec stap -p2 --privilege=stapsys -e {probe process("./loop").thread.begin { println ("Hello"); exit (); }} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").thread.begin /* <- process("./loop").thread.begin */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).thread.begin eval exec stap -p2 --privilege=stapsys -e {probe myalias = process("./loop").thread.end { println ("Hello"); exit (); } probe myalias {}} -c ./loop # functions error:unknown (msg:string) exit:unknown () # probes process("/root/systemtap_write/systemtap/testsuite/loop").thread.end /* <- myalias = process("./loop").thread.end <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys process(string).thread.end with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.hz(1000) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.hz(1000) /* <- timer.hz(1000) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.hz(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.jiffies(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.jiffies(10) /* <- myalias = timer.jiffies(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.jiffies(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.jiffies(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.jiffies(10).randomize(10) /* <- timer.jiffies(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.jiffies(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.ms(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.ms(10) /* <- myalias = timer.ms(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.ms(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.ms(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.ms(10).randomize(10) /* <- timer.ms(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.ms(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.msec(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.msec(10) /* <- myalias = timer.msec(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.msec(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.msec(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.msec(10).randomize(10) /* <- timer.msec(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.msec(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.ns(100000) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.ns(100000) /* <- myalias = timer.ns(100000) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.ns(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.ns(100000).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.ns(100000).randomize(10) /* <- timer.ns(100000).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.ns(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.nsec(100000) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.nsec(100000) /* <- myalias = timer.nsec(100000) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.nsec(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.nsec(100000).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.nsec(100000).randomize(10) /* <- timer.nsec(100000).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.nsec(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.s(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.s(10) /* <- myalias = timer.s(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.s(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.s(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.s(10).randomize(10) /* <- timer.s(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.s(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.sec(10) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.sec(10) /* <- myalias = timer.sec(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.sec(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.sec(10).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.sec(10).randomize(10) /* <- timer.sec(10).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.sec(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.us(100) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.us(100) /* <- myalias = timer.us(100) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.us(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.us(100).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.us(100).randomize(10) /* <- timer.us(100).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.us(number).randomize(number) eval exec stap -p2 --privilege=stapsys -e {probe myalias = timer.usec(100) { println ("Hello"); exit (); } probe myalias {}} # functions error:unknown (msg:string) exit:unknown () # probes timer.usec(100) /* <- myalias = timer.usec(100) <- myalias */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.usec(number) with alias eval exec stap -p2 --privilege=stapsys -e {probe timer.usec(100).randomize(10) { println ("Hello"); exit (); }} # functions error:unknown (msg:string) exit:unknown () # probes timer.usec(100).randomize(10) /* <- timer.usec(100).randomize(10) */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys timer.usec(number).randomize(number) Executing: kill -INT 10513 Executing: kill -KILL 10513 kill: kill: sending signal to 10513 failed: No such process our ./loop pid is 12014 eval exec stap --unprivileged -p2 -e {probe process("./loop").insn {}} semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").insn {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'insn' at :1:25 source: probe process("./loop").insn {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged process(string).insn eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.data(10).length(10).rw {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.data(10).length(10).rw {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'rw' at :1:44 source: probe myalias = kernel.data(10).length(10).rw {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:56 source: probe myalias = kernel.data(10).length(10).rw {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.data(number).length(number).rw with alias eval exec stap --unprivileged -p2 -e {probe kernel.data(10).length(10).write {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.data(10).length(10).write {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:34 source: probe kernel.data(10).length(10).write {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.data(number).length(number).write eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.data(10).rw {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.data(10).rw {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'rw' at :1:33 source: probe myalias = kernel.data(10).rw {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:45 source: probe myalias = kernel.data(10).rw {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.data(number).rw with alias eval exec stap --unprivileged -p2 -e {probe kernel.data(10).write {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.data(10).write {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:23 source: probe kernel.data(10).write {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.data(number).write eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.data("./loop").rw {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.data("./loop").rw {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'rw' at :1:39 source: probe myalias = kernel.data("./loop").rw {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:51 source: probe myalias = kernel.data("./loop").rw {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.data(string).rw with alias eval exec stap --unprivileged -p2 -e {probe kernel.data("./loop").write {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.data("./loop").write {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:29 source: probe kernel.data("./loop").write {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.data(string).write eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:24 source: probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:62 source: probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(number) with alias eval exec stap --unprivileged -p2 -e {probe kernel.function(0x00000000004009c0).call {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function(0x00000000004009c0).call {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:43 source: probe kernel.function(0x00000000004009c0).call {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(number).call eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:53 source: probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:69 source: probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(number).return with alias eval exec stap --unprivileged -p2 -e {probe kernel.function(0x00000000004009c0).exported {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function(0x00000000004009c0).exported {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'exported' at :1:43 source: probe kernel.function(0x00000000004009c0).exported {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(number).exported eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:60 source: probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:83 source: probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(number).return.maxactive(number) with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("bar") {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:14 source: probe kernel.function("bar") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").call {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:40 source: probe myalias = kernel.function("bar").call {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:54 source: probe myalias = kernel.function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).call with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("ibar").inline {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("ibar").inline {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'inline' at :1:31 source: probe kernel.function("ibar").inline {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string).inline eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("bar").label("a") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").label("a") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'label' at :1:40 source: probe myalias = kernel.function("bar").label("a") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:60 source: probe myalias = kernel.function("bar").label("a") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).label(string) with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("bar").return {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar").return {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:30 source: probe kernel.function("bar").return {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string).return eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("bar").exported {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").exported {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'exported' at :1:40 source: probe myalias = kernel.function("bar").exported {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:58 source: probe myalias = kernel.function("bar").exported {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).exported with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("bar").return.maxactive(10) {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar").return.maxactive(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:37 source: probe kernel.function("bar").return.maxactive(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string).return.maxactive(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("main").callee("ibar") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callee("ibar") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callee' at :1:41 source: probe myalias = kernel.function("main").callee("ibar") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:65 source: probe myalias = kernel.function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).callee(string) with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("main").callee("ibar").call {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("main").callee("ibar").call {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:46 source: probe kernel.function("main").callee("ibar").call {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string).callee(string).call eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:56 source: probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:72 source: probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).callee(string).return with alias eval exec stap --unprivileged -p2 -e {probe kernel.function("main").callees {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("main").callees {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callees' at :1:31 source: probe kernel.function("main").callees {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.function(string).callees eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.function("main").callees(1) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callees(1) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callees' at :1:41 source: probe myalias = kernel.function("main").callees(1) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:61 source: probe myalias = kernel.function("main").callees(1) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.function(string).callees(number) with alias eval exec stap --unprivileged -p2 -e {probe kernel.mark("main_enter") {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.mark("main_enter") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'mark' at :1:14 source: probe kernel.mark("main_enter") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.mark(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'format' at :1:43 source: probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:69 source: probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.mark(string).format(string) with alias eval exec stap --unprivileged -p2 -e {probe kernel.statement(0x00000000004009c0) {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement(0x00000000004009c0) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'statement' at :1:14 source: probe kernel.statement(0x00000000004009c0) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.statement(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'nearest' at :1:54 source: probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:71 source: probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.statement(number).nearest with alias eval exec stap --unprivileged -p2 -e {probe kernel.statement(0x00000000004009c0).absolute {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement(0x00000000004009c0).absolute {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'absolute' at :1:44 source: probe kernel.statement(0x00000000004009c0).absolute {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.statement(number).absolute eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'statement' at :1:24 source: probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:59 source: probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.statement(string) with alias eval exec stap --unprivileged -p2 -e {probe kernel.statement("bar@loop.c:*").nearest {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement("bar@loop.c:*").nearest {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'nearest' at :1:40 source: probe kernel.statement("bar@loop.c:*").nearest {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kernel.statement(string).nearest eval exec stap --privilege=stapusr -p2 -e {probe myalias = kernel.trace("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.trace("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'trace' at :1:24 source: probe myalias = kernel.trace("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:49 source: probe myalias = kernel.trace("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kernel.trace(string) with alias eval exec stap --unprivileged -p2 -e {probe kprobe.function("bar") {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.function("bar") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:14 source: probe kprobe.function("bar") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kprobe.function(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kprobe.function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.function("bar").call {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:40 source: probe myalias = kprobe.function("bar").call {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:54 source: probe myalias = kprobe.function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kprobe.function(string).call with alias eval exec stap --unprivileged -p2 -e {probe kprobe.function("bar").return {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.function("bar").return {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:30 source: probe kprobe.function("bar").return {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kprobe.function(string).return eval exec stap --privilege=stapusr -p2 -e {probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:47 source: probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:70 source: probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kprobe.function(string).return.maxactive(number) with alias eval exec stap --unprivileged -p2 -e {probe kprobe.module("./loop").function("bar") {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.module("./loop").function("bar") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:31 source: probe kprobe.module("./loop").function("bar") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kprobe.module(string).function(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:57 source: probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:71 source: probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kprobe.module(string).function(string).call with alias eval exec stap --unprivileged -p2 -e {probe kprobe.module("./loop").function("bar").return {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.module("./loop").function("bar").return {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:47 source: probe kprobe.module("./loop").function("bar").return {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kprobe.module(string).function(string).return eval exec stap --privilege=stapusr -p2 -e {probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:64 source: probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:87 source: probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr kprobe.module(string).function(string).return.maxactive(number) with alias eval exec stap --unprivileged -p2 -e {probe kprobe.statement(0x00000000004009c0).absolute {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.statement(0x00000000004009c0).absolute {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'absolute' at :1:44 source: probe kprobe.statement(0x00000000004009c0).absolute {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged kprobe.statement(number).absolute eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:34 source: probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:72 source: probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(number) with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function(0x00000000004009c0).call {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function(0x00000000004009c0).call {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:53 source: probe module("./loop").function(0x00000000004009c0).call {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(number).call eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:63 source: probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:79 source: probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(number).return with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function(0x00000000004009c0).exported {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function(0x00000000004009c0).exported {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'exported' at :1:53 source: probe module("./loop").function(0x00000000004009c0).exported {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(number).exported eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:70 source: probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:93 source: probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(number).return.maxactive(number) with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("bar") {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:24 source: probe module("./loop").function("bar") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:50 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:64 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).call with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("ibar").inline {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("ibar").inline {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'inline' at :1:41 source: probe module("./loop").function("ibar").inline {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string).inline eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("bar").label("a") {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'label' at :1:50 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:70 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).label(string) with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("bar").return {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar").return {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:40 source: probe module("./loop").function("bar").return {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string).return eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("bar").exported {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'exported' at :1:50 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:68 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).exported with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("bar").return.maxactive(10) {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar").return.maxactive(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxactive' at :1:47 source: probe module("./loop").function("bar").return.maxactive(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string).return.maxactive(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callee' at :1:51 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:75 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).callee(string) with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("main").callee("ibar").call {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("main").callee("ibar").call {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'call' at :1:56 source: probe module("./loop").function("main").callee("ibar").call {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string).callee(string).call eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: keyword at :1:66 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:82 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).callee(string).return with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").function("main").callees {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("main").callees {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callees' at :1:41 source: probe module("./loop").function("main").callees {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).function(string).callees eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").function("main").callees(1) {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'callees' at :1:51 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:71 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).function(string).callees(number) with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").statement(0x00000000004009c0) {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").statement(0x00000000004009c0) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'statement' at :1:24 source: probe module("./loop").statement(0x00000000004009c0) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).statement(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'nearest' at :1:64 source: probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:81 source: probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).statement(number).nearest with alias eval exec stap --unprivileged -p2 -e {probe module("./loop").statement("bar@loop.c:*") {}} semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").statement("bar@loop.c:*") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'statement' at :1:24 source: probe module("./loop").statement("bar@loop.c:*") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged module(string).statement(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {}} semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'nearest' at :1:60 source: probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:77 source: probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr module(string).statement(string).nearest with alias eval exec stap --unprivileged -p2 -e {probe perf.type(10).config(10) {}} semantic error: while resolving probe point: identifier 'perf' at :1:7 source: probe perf.type(10).config(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'config' at :1:21 source: probe perf.type(10).config(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged perf.type(number).config(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'perf' at :1:17 source: probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'sample' at :1:42 source: probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:62 source: probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr perf.type(number).config(number).sample(number) with alias eval exec stap --unprivileged -p2 -e {probe perf.type(10).config(10).hz(1000) {}} semantic error: while resolving probe point: identifier 'perf' at :1:7 source: probe perf.type(10).config(10).hz(1000) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'hz' at :1:32 source: probe perf.type(10).config(10).hz(1000) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged perf.type(number).config(number).hz(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = perf.type(10).config(10).counter("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'perf' at :1:17 source: probe myalias = perf.type(10).config(10).counter("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'counter' at :1:42 source: probe myalias = perf.type(10).config(10).counter("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:69 source: probe myalias = perf.type(10).config(10).counter("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr perf.type(number).config(number).counter(string) with alias eval exec stap --unprivileged -p2 -e {probe perf.type(10).config(10).process {}} semantic error: while resolving probe point: identifier 'perf' at :1:7 source: probe perf.type(10).config(10).process {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'process' at :1:32 source: probe perf.type(10).config(10).process {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged perf.type(number).config(number).process eval exec stap --privilege=stapusr -p2 -e {probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'perf' at :1:17 source: probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'process' at :1:42 source: probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:69 source: probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr perf.type(number).config(number).process(string) with alias eval exec stap --unprivileged -p2 -e {probe perf.type(10).config(10).process("./loop").counter("./loop") {}} semantic error: while resolving probe point: identifier 'perf' at :1:7 source: probe perf.type(10).config(10).process("./loop").counter("./loop") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'counter' at :1:50 source: probe perf.type(10).config(10).process("./loop").counter("./loop") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged perf.type(number).config(number).process(string).counter(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = process(12014).insn {} probe myalias {}} semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process(12014).insn {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'insn' at :1:32 source: probe myalias = process(12014).insn {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:46 source: probe myalias = process(12014).insn {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr process(number).insn with alias eval exec stap --unprivileged -p2 -e {probe process(12014).insn.block {}} semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(12014).insn.block {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'block' at :1:27 source: probe process(12014).insn.block {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged process(number).insn.block eval exec stap --privilege=stapusr -p2 -e {probe myalias = process("./loop").insn.block {} probe myalias {}} semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process("./loop").insn.block {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'block' at :1:40 source: probe myalias = process("./loop").insn.block {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:55 source: probe myalias = process("./loop").insn.block {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr process(string).insn.block with alias eval exec stap --unprivileged -p2 -e {probe procfs.read {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs.read {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'read' at :1:14 source: probe procfs.read {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs.read eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs.write {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs.write {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:24 source: probe myalias = procfs.write {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:39 source: probe myalias = procfs.write {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs.write with alias eval exec stap --unprivileged -p2 -e {probe procfs.read.maxsize(10) {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs.read.maxsize(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxsize' at :1:19 source: probe procfs.read.maxsize(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs.read.maxsize(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs.umask(10).read {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs.umask(10).read {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'read' at :1:34 source: probe myalias = procfs.umask(10).read {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:48 source: probe myalias = procfs.umask(10).read {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs.umask(number).read with alias eval exec stap --unprivileged -p2 -e {probe procfs.umask(10).read.maxsize(10) {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs.umask(10).read.maxsize(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxsize' at :1:29 source: probe procfs.umask(10).read.maxsize(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs.umask(number).read.maxsize(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs.umask(10).write {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs.umask(10).write {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:34 source: probe myalias = procfs.umask(10).write {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:49 source: probe myalias = procfs.umask(10).write {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs.umask(number).write with alias eval exec stap --unprivileged -p2 -e {probe procfs("./loop").read {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").read {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'read' at :1:24 source: probe procfs("./loop").read {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs(string).read eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxsize' at :1:39 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:60 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs(string).read.maxsize(number) with alias eval exec stap --unprivileged -p2 -e {probe procfs("./loop").write {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").write {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:24 source: probe procfs("./loop").write {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs(string).write eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs("./loop").umask(10).read {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'read' at :1:44 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:58 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs(string).umask(number).read with alias eval exec stap --unprivileged -p2 -e {probe procfs("./loop").umask(10).read.maxsize(10) {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").umask(10).read.maxsize(10) {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'maxsize' at :1:39 source: probe procfs("./loop").umask(10).read.maxsize(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged procfs(string).umask(number).read.maxsize(number) eval exec stap --privilege=stapusr -p2 -e {probe myalias = procfs("./loop").umask(10).write {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'write' at :1:44 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:59 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr procfs(string).umask(number).write with alias eval exec stap --unprivileged -p2 -e {probe timer.profile.tick {}} semantic error: while resolving probe point: identifier 'timer' at :1:7 source: probe timer.profile.tick {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'tick' at :1:21 source: probe timer.profile.tick {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged timer.profile.tick eval exec stap --privilege=stapusr -p2 -e {probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:17 source: probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'pf' at :1:42 source: probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:64 source: probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr netfilter.hook(string).pf(string) with alias eval exec stap --unprivileged -p2 -e {probe netfilter.pf("./loop").hook("./loop") {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:7 source: probe netfilter.pf("./loop").hook("./loop") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'hook' at :1:30 source: probe netfilter.pf("./loop").hook("./loop") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged netfilter.pf(string).hook(string) eval exec stap --privilege=stapusr -p2 -e {probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:17 source: probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'priority' at :1:55 source: probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:83 source: probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapusr netfilter.hook(string).pf(string).priority(string) with alias eval exec stap --unprivileged -p2 -e {probe netfilter.pf("./loop").hook("./loop").priority("./loop") {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:7 source: probe netfilter.pf("./loop").hook("./loop").priority("./loop") {} ^ semantic error: probe point is not allowed for --privilege=stapusr: identifier 'priority' at :1:45 source: probe netfilter.pf("./loop").hook("./loop").priority("./loop") {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --unprivileged netfilter.pf(string).hook(string).priority(string) Executing: kill -INT 12014 Executing: kill -KILL 12014 kill: kill: sending signal to 12014 failed: No such process our ./loop pid is 12520 eval exec stap --privilege=stapsys -p2 -e {probe process("./loop").insn {}} semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process("./loop").insn {} ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys process(string).insn eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.data(10).length(10).rw {} probe myalias {}} # functions error:unknown (msg:string) # probes kernel.data(0xa).length(10).rw /* <- kernel.data(0xa).length(10).rw */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2763': identifier 'myalias' at :1:56 source: probe myalias = kernel.data(10).length(10).rw {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(number).length(number).rw with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.data(10).length(10).write {}} # functions error:unknown (msg:string) # probes kernel.data(0xa).length(10).write /* <- kernel.data(0xa).length(10).write */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe kernel.data(10).length(10).write {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(number).length(number).write eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.data(10).rw {} probe myalias {}} # functions error:unknown (msg:string) # probes kernel.data(0xa).length(1).rw /* <- kernel.data(0xa).rw */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2763': identifier 'myalias' at :1:45 source: probe myalias = kernel.data(10).rw {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(number).rw with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.data(10).write {}} # functions error:unknown (msg:string) # probes kernel.data(0xa).length(1).write /* <- kernel.data(0xa).write */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe kernel.data(10).write {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(number).write eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.data("./loop").rw {} probe myalias {}} # functions error:unknown (msg:string) # probes kernel.data("./loop").length(1).rw /* <- kernel.data("./loop").rw */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2763': identifier 'myalias' at :1:51 source: probe myalias = kernel.data("./loop").rw {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(string).rw with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.data("./loop").write {}} # functions error:unknown (msg:string) # probes kernel.data("./loop").length(1).write /* <- kernel.data("./loop").write */ timer.s(900) /* <- timer.s(900) */ WARNING: Too many hardware breakpoint probes requested for arm64 (1 vs. 0) WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe kernel.data("./loop").write {} ^ PASS: unprivileged probes: --privilege=stapsys kernel.data(string).write eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.function(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function(0x00000000004009c0).call {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function(0x00000000004009c0).call {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(number).call eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.function(number).return with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function(0x00000000004009c0).exported {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function(0x00000000004009c0).exported {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(number).exported eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.function(number).return.maxactive(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("bar") {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar") {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").call {} probe myalias {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) semantic error: while resolving probe point: identifier 'myalias' at :1:54 source: probe myalias = kernel.function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).call with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("ibar").inline {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("ibar").inline {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).inline eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("bar").label("a") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").label("a") {} probe myalias {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) semantic error: while resolving probe point: identifier 'myalias' at :1:60 source: probe myalias = kernel.function("bar").label("a") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).label(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("bar").return {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar").return {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).return eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("bar").exported {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("bar").exported {} probe myalias {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) semantic error: while resolving probe point: identifier 'myalias' at :1:58 source: probe myalias = kernel.function("bar").exported {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).exported with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("bar").return.maxactive(10) {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("bar").return.maxactive(10) {} ^ semantic error: no match (similar functions: cr, Maj, bmap, bs, bval) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).return.maxactive(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("main").callee("ibar") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match (similar functions: dec_main, inb, inl, inw, Maj) semantic error: while resolving probe point: identifier 'myalias' at :1:65 source: probe myalias = kernel.function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).callee(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("main").callee("ibar").call {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("main").callee("ibar").call {} ^ semantic error: no match (similar functions: dec_main, inb, inl, inw, Maj) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).callee(string).call eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match (similar functions: dec_main, inb, inl, inw, Maj) semantic error: while resolving probe point: identifier 'myalias' at :1:72 source: probe myalias = kernel.function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).callee(string).return with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.function("main").callees {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.function("main").callees {} ^ semantic error: no match (similar functions: dec_main, inb, inl, inw, Maj) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).callees eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.function("main").callees(1) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.function("main").callees(1) {} probe myalias {} ^ semantic error: no match (similar functions: dec_main, inb, inl, inw, Maj) semantic error: while resolving probe point: identifier 'myalias' at :1:61 source: probe myalias = kernel.function("main").callees(1) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.function(string).callees(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.mark("main_enter") {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.mark("main_enter") {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.mark(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.mark("main_enter").format("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.mark(string).format(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.statement(0x00000000004009c0) {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement(0x00000000004009c0) {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.statement(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.statement(number).nearest with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.statement(0x00000000004009c0).absolute {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement(0x00000000004009c0).absolute {} ^ semantic error: absolute statement probe in unprivileged script; need stap -g: keyword at :1:1 source: probe kernel.statement(0x00000000004009c0).absolute {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.statement(number).absolute eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.statement("bar@loop.c:*") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys kernel.statement(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe kernel.statement("bar@loop.c:*").nearest {}} semantic error: while resolving probe point: identifier 'kernel' at :1:7 source: probe kernel.statement("bar@loop.c:*").nearest {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.statement(string).nearest eval exec stap --privilege=stapsys -p2 -e {probe myalias = kernel.trace("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'kernel' at :1:17 source: probe myalias = kernel.trace("./loop") {} probe myalias {} ^ semantic error: no match (similar tracepoints: map, kmalloc, unmap, api_eosp, drv_stop) semantic error: while resolving probe point: identifier 'myalias' at :1:49 source: probe myalias = kernel.trace("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kernel.trace(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe kprobe.function("bar") {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.function("bar") {} ^ semantic error: no match (similar functions: bmap, f, do_bad, head, lf) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kprobe.function(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kprobe.function("bar").call {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.function("bar").call {} probe myalias {} ^ semantic error: no match (similar functions: bmap, f, do_bad, head, lf) semantic error: while resolving probe point: identifier 'myalias' at :1:54 source: probe myalias = kprobe.function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kprobe.function(string).call with alias eval exec stap --privilege=stapsys -p2 -e {probe kprobe.function("bar").return {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.function("bar").return {} ^ semantic error: no match (similar functions: bmap, f, do_bad, head, lf) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kprobe.function(string).return eval exec stap --privilege=stapsys -p2 -e {probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:17 source: probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: no match (similar functions: bmap, f, do_bad, head, lf) semantic error: while resolving probe point: identifier 'myalias' at :1:70 source: probe myalias = kprobe.function("bar").return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kprobe.function(string).return.maxactive(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe kprobe.module("./loop").function("bar") {}} # functions error:unknown (msg:string) # probes kprobe.module("").function("bar") /* name = :bar*/ /* <- kprobe.module("./loop").function("bar") */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe kprobe.module("./loop").function("bar") {} ^ PASS: unprivileged probes: --privilege=stapsys kprobe.module(string).function(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {}} # functions error:unknown (msg:string) # probes kprobe.module("").function("bar").call /* name = :bar*/ /* <- myalias = kprobe.module("./loop").function("bar").call <- myalias */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2762': identifier 'myalias' at :1:71 source: probe myalias = kprobe.module("./loop").function("bar").call {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys kprobe.module(string).function(string).call with alias eval exec stap --privilege=stapsys -p2 -e {probe kprobe.module("./loop").function("bar").return {}} # functions error:unknown (msg:string) # probes kprobe.module("").function("bar").return /* name = :bar*/ /* <- kprobe.module("./loop").function("bar").return */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe kprobe.module("./loop").function("bar").return {} ^ PASS: unprivileged probes: --privilege=stapsys kprobe.module(string).function(string).return eval exec stap --privilege=stapsys -p2 -e {probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {}} # functions error:unknown (msg:string) # probes kprobe.module("").function("bar").return.maxactive(10) /* name = :bar*/ /* <- myalias = kprobe.module("./loop").function("bar").return.maxactive(10) <- myalias */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2762': identifier 'myalias' at :1:87 source: probe myalias = kprobe.module("./loop").function("bar").return.maxactive(10) {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys kprobe.module(string).function(string).return.maxactive(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe kprobe.statement(0x00000000004009c0).absolute {}} semantic error: while resolving probe point: identifier 'kprobe' at :1:7 source: probe kprobe.statement(0x00000000004009c0).absolute {} ^ semantic error: absolute statement probe in unprivileged script; need stap -g: keyword at :1:1 source: probe kprobe.statement(0x00000000004009c0).absolute {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys kprobe.statement(number).absolute eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:72 source: probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function(0x00000000004009c0).call {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function(0x00000000004009c0).call {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function(0x00000000004009c0).call {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(number).call eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:79 source: probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0).return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(number).return with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function(0x00000000004009c0).exported {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function(0x00000000004009c0).exported {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function(0x00000000004009c0).exported {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(number).exported eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:93 source: probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function(0x00000000004009c0).return.maxactive(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(number).return.maxactive(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("bar") {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("bar") {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar") {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("bar").call {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:64 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) semantic error: while resolving probe point: identifier 'myalias' at :1:64 source: probe myalias = module("./loop").function("bar").call {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string).call with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("ibar").inline {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("ibar").inline {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("ibar").inline {} ^ semantic error: no match (similar functions: ibar, bar, tbar, _init, _start) Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).inline eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("bar").label("a") {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:70 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) semantic error: while resolving probe point: identifier 'myalias' at :1:70 source: probe myalias = module("./loop").function("bar").label("a") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string).label(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("bar").return {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("bar").return {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar").return {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string).return eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("bar").exported {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:68 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) semantic error: while resolving probe point: identifier 'myalias' at :1:68 source: probe myalias = module("./loop").function("bar").exported {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string).exported with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("bar").return.maxactive(10) {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("bar").return.maxactive(10) {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("bar").return.maxactive(10) {} ^ semantic error: no match (similar functions: bar, ibar, tbar, _start, main) Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).function(string).return.maxactive(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:75 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match (similar functions: main, _fini, bar, _init, ibar) semantic error: while resolving probe point: identifier 'myalias' at :1:75 source: probe myalias = module("./loop").function("main").callee("ibar") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).callee(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("main").callee("ibar").call {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("main").callee("ibar").call {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("main").callee("ibar").call {} ^ semantic error: no match (similar functions: main, _fini, bar, _init, ibar) Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).callee(string).call eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:82 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match (similar functions: main, _fini, bar, _init, ibar) semantic error: while resolving probe point: identifier 'myalias' at :1:82 source: probe myalias = module("./loop").function("main").callee("ibar").return {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).callee(string).return with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").function("main").callees {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").function("main").callees {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").function("main").callees {} ^ semantic error: no match (similar functions: main, _fini, bar, _init, ibar) Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).callees eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").function("main").callees(1) {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:71 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: no match (similar functions: main, _fini, bar, _init, ibar) semantic error: while resolving probe point: identifier 'myalias' at :1:71 source: probe myalias = module("./loop").function("main").callees(1) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).function(string).callees(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").statement(0x00000000004009c0) {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").statement(0x00000000004009c0) {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").statement(0x00000000004009c0) {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys module(string).statement(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:81 source: probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").statement(0x00000000004009c0).nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 1. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).statement(number).nearest with alias eval exec stap --privilege=stapsys -p2 -e {probe module("./loop").statement("bar@loop.c:*") {}} semantic error: inconsistent relocation address: keyword at :1:1 source: probe module("./loop").statement("bar@loop.c:*") {} ^ semantic error: while resolving probe point: identifier 'module' at :1:7 source: probe module("./loop").statement("bar@loop.c:*") {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 3. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).statement(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {}} semantic error: inconsistent relocation address: identifier 'myalias' at :1:77 source: probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'module' at :1:17 source: probe myalias = module("./loop").statement("bar@loop.c:*").nearest {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 4. Rerun with -v to see them. PASS: unprivileged probes: --privilege=stapsys module(string).statement(string).nearest with alias eval exec stap --privilege=stapsys -p2 -e {probe perf.type(10).config(10) {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(1000000) /* <- perf.type(10).config(10) */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe perf.type(10).config(10) {} ^ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(10) /* <- perf.type(10).config(10).sample(10) */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2763': identifier 'myalias' at :1:62 source: probe myalias = perf.type(10).config(10).sample(10) {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).sample(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe perf.type(10).config(10).hz(1000) {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(1000) /* <- perf.type(10).config(10).hz(1000) */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2761': keyword at :1:1 source: probe perf.type(10).config(10).hz(1000) {} ^ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).hz(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = perf.type(10).config(10).counter("./loop") {} probe myalias {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(0).counter("./loop") /* <- perf.type(10).config(10).counter("./loop") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).counter(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe perf.type(10).config(10).process {}} semantic error: while resolving probe point: identifier 'perf' at :1:7 source: probe perf.type(10).config(10).process {} ^ semantic error: unspecified process probe is invalid without a -c COMMAND [man stapprobes] Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).process eval exec stap --privilege=stapsys -p2 -e {probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(1000000).process("/root/systemtap_write/systemtap/testsuite/loop") /* <- perf.type(10).config(10).process("./loop") */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2763': identifier 'myalias' at :1:69 source: probe myalias = perf.type(10).config(10).process("./loop") {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).process(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe perf.type(10).config(10).process("./loop").counter("./loop") {}} # functions error:unknown (msg:string) # probes perf.type(10).config(10).sample(0).process("/root/systemtap_write/systemtap/testsuite/loop").counter("./loop") /* <- perf.type(10).config(10).process("./loop").counter("./loop") */ timer.s(900) /* <- timer.s(900) */ PASS: unprivileged probes: --privilege=stapsys perf.type(number).config(number).process(string).counter(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = process(12520).insn {} probe myalias {}} semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process(12520).insn {} probe myalias {} ^ semantic error: process probes not available without kernel CONFIG_UTRACE semantic error: while resolving probe point: identifier 'myalias' at :1:46 source: probe myalias = process(12520).insn {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys process(number).insn with alias eval exec stap --privilege=stapsys -p2 -e {probe process(12520).insn.block {}} semantic error: while resolving probe point: identifier 'process' at :1:7 source: probe process(12520).insn.block {} ^ semantic error: process probes not available without kernel CONFIG_UTRACE Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys process(number).insn.block eval exec stap --privilege=stapsys -p2 -e {probe myalias = process("./loop").insn.block {} probe myalias {}} semantic error: while resolving probe point: identifier 'process' at :1:17 source: probe myalias = process("./loop").insn.block {} probe myalias {} ^ semantic error: process probes not available without kernel CONFIG_UTRACE semantic error: while resolving probe point: identifier 'myalias' at :1:55 source: probe myalias = process("./loop").insn.block {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys process(string).insn.block with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs.read {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.read /* <- procfs.read */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe procfs.read {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.read eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs.write {} probe myalias {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.write /* <- myalias = procfs.write <- myalias */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2762': identifier 'myalias' at :1:39 source: probe myalias = procfs.write {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.write with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs.read.maxsize(10) {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.read.maxsize(10) /* <- procfs.read.maxsize(10) */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe procfs.read.maxsize(10) {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.read.maxsize(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs.umask(10).read {} probe myalias {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.umask(10).read /* <- myalias = procfs.umask(10).read <- myalias */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2762': identifier 'myalias' at :1:48 source: probe myalias = procfs.umask(10).read {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.umask(number).read with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs.umask(10).read.maxsize(10) {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.umask(10).read.maxsize(10) /* <- procfs.umask(10).read.maxsize(10) */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2760': keyword at :1:1 source: probe procfs.umask(10).read.maxsize(10) {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.umask(number).read.maxsize(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs.umask(10).write {} probe myalias {}} # global embedded code %{struct _stp_procfs_data { char *buffer; size_t bufsize; size_t count; }; #ifndef STP_PROCFS_BUFSIZE #define STP_PROCFS_BUFSIZE MAXSTRINGLEN #endif %} # functions error:unknown (msg:string) # probes procfs.umask(10).write /* <- myalias = procfs.umask(10).write <- myalias */ timer.s(900) /* <- timer.s(900) */ WARNING: side-effect-free probe 'probe_2762': identifier 'myalias' at :1:49 source: probe myalias = procfs.umask(10).write {} probe myalias {} ^ PASS: unprivileged probes: --privilege=stapsys procfs.umask(number).write with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs("./loop").read {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").read {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:7 source: probe procfs("./loop").read {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).read eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:60 source: probe myalias = procfs("./loop").read.maxsize(10) {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).read.maxsize(number) with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs("./loop").write {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").write {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:7 source: probe procfs("./loop").write {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).write eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs("./loop").umask(10).read {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:58 source: probe myalias = procfs("./loop").umask(10).read {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).umask(number).read with alias eval exec stap --privilege=stapsys -p2 -e {probe procfs("./loop").umask(10).read.maxsize(10) {}} semantic error: while resolving probe point: identifier 'procfs' at :1:7 source: probe procfs("./loop").umask(10).read.maxsize(10) {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:7 source: probe procfs("./loop").umask(10).read.maxsize(10) {} ^ Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).umask(number).read.maxsize(number) eval exec stap --privilege=stapsys -p2 -e {probe myalias = procfs("./loop").umask(10).write {} probe myalias {}} semantic error: while resolving probe point: identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: procfs path cannot be relative (and contain '.' or '..'): identifier 'procfs' at :1:17 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: while resolving probe point: identifier 'myalias' at :1:59 source: probe myalias = procfs("./loop").umask(10).write {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys procfs(string).umask(number).write with alias eval exec stap --privilege=stapsys -p2 -e {probe timer.profile.tick {}} semantic error: while resolving probe point: identifier 'timer' at :1:7 source: probe timer.profile.tick {} ^ semantic error: profiling timer support (register_timer_hook) not found in kernel! Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys timer.profile.tick eval exec stap --privilege=stapsys -p2 -e {probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:17 source: probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {} ^ semantic error: unsupported netfilter protocol family "./loop"; need stap -g semantic error: while resolving probe point: identifier 'myalias' at :1:64 source: probe myalias = netfilter.hook("./loop").pf("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys netfilter.hook(string).pf(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe netfilter.pf("./loop").hook("./loop") {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:7 source: probe netfilter.pf("./loop").hook("./loop") {} ^ semantic error: unsupported netfilter protocol family "./loop"; need stap -g Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys netfilter.pf(string).hook(string) eval exec stap --privilege=stapsys -p2 -e {probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:17 source: probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {} ^ semantic error: unsupported netfilter priority "./loop" for protocol family "./loop"; need stap -g semantic error: while resolving probe point: identifier 'myalias' at :1:83 source: probe myalias = netfilter.hook("./loop").pf("./loop").priority("./loop") {} probe myalias {} ^ semantic error: no match Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys netfilter.hook(string).pf(string).priority(string) with alias eval exec stap --privilege=stapsys -p2 -e {probe netfilter.pf("./loop").hook("./loop").priority("./loop") {}} semantic error: while resolving probe point: identifier 'netfilter' at :1:7 source: probe netfilter.pf("./loop").hook("./loop").priority("./loop") {} ^ semantic error: unsupported netfilter priority "./loop" for protocol family "./loop"; need stap -g Pass 2: analysis failed. [man error::pass2] PASS: unprivileged probes: --privilege=stapsys netfilter.pf(string).hook(string).priority(string) Executing: kill -INT 12520 Executing: kill -KILL 12520 kill: kill: sending signal to 12520 failed: No such process PASS: unprivileged probes: tested: begin PASS: unprivileged probes: tested: begin(number) PASS: unprivileged probes: tested: end PASS: unprivileged probes: tested: end(number) PASS: unprivileged probes: tested: error PASS: unprivileged probes: tested: error(number) PASS: unprivileged probes: tested: java(number).class(string).method(string) PASS: unprivileged probes: tested: java(number).class(string).method(string).return PASS: unprivileged probes: tested: java(string).class(string).method(string) PASS: unprivileged probes: tested: java(string).class(string).method(string).return PASS: unprivileged probes: tested: kernel.data(number).length(number).rw PASS: unprivileged probes: tested: kernel.data(number).length(number).write PASS: unprivileged probes: tested: kernel.data(number).rw PASS: unprivileged probes: tested: kernel.data(number).write PASS: unprivileged probes: tested: kernel.data(string).rw PASS: unprivileged probes: tested: kernel.data(string).write PASS: unprivileged probes: tested: kernel.function(number) PASS: unprivileged probes: tested: kernel.function(number).call PASS: unprivileged probes: tested: kernel.function(number).exported PASS: unprivileged probes: tested: kernel.function(number).return PASS: unprivileged probes: tested: kernel.function(number).return.maxactive(number) PASS: unprivileged probes: tested: kernel.function(string) PASS: unprivileged probes: tested: kernel.function(string).call PASS: unprivileged probes: tested: kernel.function(string).callee(string) PASS: unprivileged probes: tested: kernel.function(string).callee(string).call PASS: unprivileged probes: tested: kernel.function(string).callee(string).return PASS: unprivileged probes: tested: kernel.function(string).callees PASS: unprivileged probes: tested: kernel.function(string).callees(number) PASS: unprivileged probes: tested: kernel.function(string).exported PASS: unprivileged probes: tested: kernel.function(string).inline PASS: unprivileged probes: tested: kernel.function(string).label(string) PASS: unprivileged probes: tested: kernel.function(string).return PASS: unprivileged probes: tested: kernel.function(string).return.maxactive(number) PASS: unprivileged probes: tested: kernel.mark(string) PASS: unprivileged probes: tested: kernel.mark(string).format(string) PASS: unprivileged probes: tested: kernel.statement(number) PASS: unprivileged probes: tested: kernel.statement(number).absolute PASS: unprivileged probes: tested: kernel.statement(number).nearest PASS: unprivileged probes: tested: kernel.statement(string) PASS: unprivileged probes: tested: kernel.statement(string).nearest PASS: unprivileged probes: tested: kernel.trace(string) PASS: unprivileged probes: tested: kprobe.function(string) PASS: unprivileged probes: tested: kprobe.function(string).call PASS: unprivileged probes: tested: kprobe.function(string).return PASS: unprivileged probes: tested: kprobe.function(string).return.maxactive(number) PASS: unprivileged probes: tested: kprobe.module(string).function(string) PASS: unprivileged probes: tested: kprobe.module(string).function(string).call PASS: unprivileged probes: tested: kprobe.module(string).function(string).return PASS: unprivileged probes: tested: kprobe.module(string).function(string).return.maxactive(number) PASS: unprivileged probes: tested: kprobe.statement(number).absolute PASS: unprivileged probes: tested: module(string).function(number) PASS: unprivileged probes: tested: module(string).function(number).call PASS: unprivileged probes: tested: module(string).function(number).exported PASS: unprivileged probes: tested: module(string).function(number).return PASS: unprivileged probes: tested: module(string).function(number).return.maxactive(number) PASS: unprivileged probes: tested: module(string).function(string) PASS: unprivileged probes: tested: module(string).function(string).call PASS: unprivileged probes: tested: module(string).function(string).callee(string) PASS: unprivileged probes: tested: module(string).function(string).callee(string).call PASS: unprivileged probes: tested: module(string).function(string).callee(string).return PASS: unprivileged probes: tested: module(string).function(string).callees PASS: unprivileged probes: tested: module(string).function(string).callees(number) PASS: unprivileged probes: tested: module(string).function(string).exported PASS: unprivileged probes: tested: module(string).function(string).inline PASS: unprivileged probes: tested: module(string).function(string).label(string) PASS: unprivileged probes: tested: module(string).function(string).return PASS: unprivileged probes: tested: module(string).function(string).return.maxactive(number) PASS: unprivileged probes: tested: module(string).statement(number) PASS: unprivileged probes: tested: module(string).statement(number).nearest PASS: unprivileged probes: tested: module(string).statement(string) PASS: unprivileged probes: tested: module(string).statement(string).nearest PASS: unprivileged probes: tested: netfilter.hook(string).pf(string) PASS: unprivileged probes: tested: netfilter.hook(string).pf(string).priority(string) PASS: unprivileged probes: tested: netfilter.pf(string).hook(string) PASS: unprivileged probes: tested: netfilter.pf(string).hook(string).priority(string) PASS: unprivileged probes: tested: never PASS: unprivileged probes: tested: perf.type(number).config(number) PASS: unprivileged probes: tested: perf.type(number).config(number).counter(string) PASS: unprivileged probes: tested: perf.type(number).config(number).hz(number) PASS: unprivileged probes: tested: perf.type(number).config(number).process PASS: unprivileged probes: tested: perf.type(number).config(number).process(string) PASS: unprivileged probes: tested: perf.type(number).config(number).process(string).counter(string) PASS: unprivileged probes: tested: perf.type(number).config(number).sample(number) PASS: unprivileged probes: tested: process.begin PASS: unprivileged probes: tested: process.end PASS: unprivileged probes: tested: process.function(number) PASS: unprivileged probes: tested: process.function(number).call PASS: unprivileged probes: tested: process.function(number).exported PASS: unprivileged probes: tested: process.function(number).return PASS: unprivileged probes: tested: process.function(string) PASS: unprivileged probes: tested: process.function(string).call PASS: unprivileged probes: tested: process.function(string).callee(string) PASS: unprivileged probes: tested: process.function(string).callee(string).call PASS: unprivileged probes: tested: process.function(string).callee(string).return PASS: unprivileged probes: tested: process.function(string).callees PASS: unprivileged probes: tested: process.function(string).callees(number) PASS: unprivileged probes: tested: process.function(string).exported PASS: unprivileged probes: tested: process.function(string).inline PASS: unprivileged probes: tested: process.function(string).label(string) PASS: unprivileged probes: tested: process.function(string).return PASS: unprivileged probes: tested: process.library(string).function(number) PASS: unprivileged probes: tested: process.library(string).function(number).call PASS: unprivileged probes: tested: process.library(string).function(number).exported PASS: unprivileged probes: tested: process.library(string).function(number).return PASS: unprivileged probes: tested: process.library(string).function(string) PASS: unprivileged probes: tested: process.library(string).function(string).call PASS: unprivileged probes: tested: process.library(string).function(string).callee(string) PASS: unprivileged probes: tested: process.library(string).function(string).callee(string).call PASS: unprivileged probes: tested: process.library(string).function(string).callee(string).return PASS: unprivileged probes: tested: process.library(string).function(string).callees PASS: unprivileged probes: tested: process.library(string).function(string).callees(number) PASS: unprivileged probes: tested: process.library(string).function(string).exported PASS: unprivileged probes: tested: process.library(string).function(string).inline PASS: unprivileged probes: tested: process.library(string).function(string).label(string) PASS: unprivileged probes: tested: process.library(string).function(string).return PASS: unprivileged probes: tested: process.library(string).mark(string) PASS: unprivileged probes: tested: process.library(string).plt PASS: unprivileged probes: tested: process.library(string).plt.return PASS: unprivileged probes: tested: process.library(string).plt(string) PASS: unprivileged probes: tested: process.library(string).plt(string).return PASS: unprivileged probes: tested: process.library(string).provider(string).mark(string) PASS: unprivileged probes: tested: process.library(string).statement(number) PASS: unprivileged probes: tested: process.library(string).statement(number).nearest PASS: unprivileged probes: tested: process.library(string).statement(string) PASS: unprivileged probes: tested: process.library(string).statement(string).nearest PASS: unprivileged probes: tested: process.mark(string) PASS: unprivileged probes: tested: process.plt PASS: unprivileged probes: tested: process.plt.return PASS: unprivileged probes: tested: process.plt(string) PASS: unprivileged probes: tested: process.plt(string).return PASS: unprivileged probes: tested: process.provider(string).mark(string) PASS: unprivileged probes: tested: process.statement(number) PASS: unprivileged probes: tested: process.statement(number).nearest PASS: unprivileged probes: tested: process.statement(string) PASS: unprivileged probes: tested: process.statement(string).nearest PASS: unprivileged probes: tested: process.syscall PASS: unprivileged probes: tested: process.syscall.return PASS: unprivileged probes: tested: process.thread.begin PASS: unprivileged probes: tested: process.thread.end PASS: unprivileged probes: tested: process(number).begin PASS: unprivileged probes: tested: process(number).end PASS: unprivileged probes: tested: process(number).function(number) PASS: unprivileged probes: tested: process(number).function(number).call PASS: unprivileged probes: tested: process(number).function(number).exported PASS: unprivileged probes: tested: process(number).function(number).return PASS: unprivileged probes: tested: process(number).function(string) PASS: unprivileged probes: tested: process(number).function(string).call PASS: unprivileged probes: tested: process(number).function(string).callee(string) PASS: unprivileged probes: tested: process(number).function(string).callee(string).call PASS: unprivileged probes: tested: process(number).function(string).callee(string).return PASS: unprivileged probes: tested: process(number).function(string).callees PASS: unprivileged probes: tested: process(number).function(string).callees(number) PASS: unprivileged probes: tested: process(number).function(string).exported PASS: unprivileged probes: tested: process(number).function(string).inline PASS: unprivileged probes: tested: process(number).function(string).label(string) PASS: unprivileged probes: tested: process(number).function(string).return PASS: unprivileged probes: tested: process(number).insn PASS: unprivileged probes: tested: process(number).insn.block PASS: unprivileged probes: tested: process(number).mark(string) PASS: unprivileged probes: tested: process(number).plt PASS: unprivileged probes: tested: process(number).plt.return PASS: unprivileged probes: tested: process(number).plt(string) PASS: unprivileged probes: tested: process(number).plt(string).return PASS: unprivileged probes: tested: process(number).provider(string).mark(string) PASS: unprivileged probes: tested: process(number).statement(number) PASS: unprivileged probes: tested: process(number).statement(number).absolute PASS: unprivileged probes: tested: process(number).statement(number).absolute.return PASS: unprivileged probes: tested: process(number).statement(number).nearest PASS: unprivileged probes: tested: process(number).statement(string) PASS: unprivileged probes: tested: process(number).statement(string).nearest PASS: unprivileged probes: tested: process(number).syscall PASS: unprivileged probes: tested: process(number).syscall.return PASS: unprivileged probes: tested: process(number).thread.begin PASS: unprivileged probes: tested: process(number).thread.end PASS: unprivileged probes: tested: process(string).begin PASS: unprivileged probes: tested: process(string).end PASS: unprivileged probes: tested: process(string).function(number) PASS: unprivileged probes: tested: process(string).function(number).call PASS: unprivileged probes: tested: process(string).function(number).exported PASS: unprivileged probes: tested: process(string).function(number).return PASS: unprivileged probes: tested: process(string).function(string) PASS: unprivileged probes: tested: process(string).function(string).call PASS: unprivileged probes: tested: process(string).function(string).callee(string) PASS: unprivileged probes: tested: process(string).function(string).callee(string).call PASS: unprivileged probes: tested: process(string).function(string).callee(string).return PASS: unprivileged probes: tested: process(string).function(string).callees PASS: unprivileged probes: tested: process(string).function(string).callees(number) PASS: unprivileged probes: tested: process(string).function(string).exported PASS: unprivileged probes: tested: process(string).function(string).inline PASS: unprivileged probes: tested: process(string).function(string).label(string) PASS: unprivileged probes: tested: process(string).function(string).return PASS: unprivileged probes: tested: process(string).insn PASS: unprivileged probes: tested: process(string).insn.block PASS: unprivileged probes: tested: process(string).library(string).function(number) PASS: unprivileged probes: tested: process(string).library(string).function(number).call PASS: unprivileged probes: tested: process(string).library(string).function(number).exported PASS: unprivileged probes: tested: process(string).library(string).function(number).return PASS: unprivileged probes: tested: process(string).library(string).function(string) PASS: unprivileged probes: tested: process(string).library(string).function(string).call PASS: unprivileged probes: tested: process(string).library(string).function(string).callee(string) PASS: unprivileged probes: tested: process(string).library(string).function(string).callee(string).call PASS: unprivileged probes: tested: process(string).library(string).function(string).callee(string).return PASS: unprivileged probes: tested: process(string).library(string).function(string).callees PASS: unprivileged probes: tested: process(string).library(string).function(string).callees(number) PASS: unprivileged probes: tested: process(string).library(string).function(string).exported PASS: unprivileged probes: tested: process(string).library(string).function(string).inline PASS: unprivileged probes: tested: process(string).library(string).function(string).label(string) PASS: unprivileged probes: tested: process(string).library(string).function(string).return PASS: unprivileged probes: tested: process(string).library(string).mark(string) PASS: unprivileged probes: tested: process(string).library(string).plt PASS: unprivileged probes: tested: process(string).library(string).plt.return PASS: unprivileged probes: tested: process(string).library(string).plt(string) PASS: unprivileged probes: tested: process(string).library(string).plt(string).return PASS: unprivileged probes: tested: process(string).library(string).provider(string).mark(string) PASS: unprivileged probes: tested: process(string).library(string).statement(number) PASS: unprivileged probes: tested: process(string).library(string).statement(number).nearest PASS: unprivileged probes: tested: process(string).library(string).statement(string) PASS: unprivileged probes: tested: process(string).library(string).statement(string).nearest PASS: unprivileged probes: tested: process(string).mark(string) PASS: unprivileged probes: tested: process(string).plt PASS: unprivileged probes: tested: process(string).plt.return PASS: unprivileged probes: tested: process(string).plt(string) PASS: unprivileged probes: tested: process(string).plt(string).return PASS: unprivileged probes: tested: process(string).provider(string).mark(string) PASS: unprivileged probes: tested: process(string).statement(number) PASS: unprivileged probes: tested: process(string).statement(number).nearest PASS: unprivileged probes: tested: process(string).statement(string) PASS: unprivileged probes: tested: process(string).statement(string).nearest PASS: unprivileged probes: tested: process(string).syscall PASS: unprivileged probes: tested: process(string).syscall.return PASS: unprivileged probes: tested: process(string).thread.begin PASS: unprivileged probes: tested: process(string).thread.end PASS: unprivileged probes: tested: procfs.read PASS: unprivileged probes: tested: procfs.read.maxsize(number) PASS: unprivileged probes: tested: procfs.umask(number).read PASS: unprivileged probes: tested: procfs.umask(number).read.maxsize(number) PASS: unprivileged probes: tested: procfs.umask(number).write PASS: unprivileged probes: tested: procfs.write PASS: unprivileged probes: tested: procfs(string).read PASS: unprivileged probes: tested: procfs(string).read.maxsize(number) PASS: unprivileged probes: tested: procfs(string).umask(number).read PASS: unprivileged probes: tested: procfs(string).umask(number).read.maxsize(number) PASS: unprivileged probes: tested: procfs(string).umask(number).write PASS: unprivileged probes: tested: procfs(string).write PASS: unprivileged probes: tested: timer.hz(number) PASS: unprivileged probes: tested: timer.jiffies(number) PASS: unprivileged probes: tested: timer.jiffies(number).randomize(number) PASS: unprivileged probes: tested: timer.ms(number) PASS: unprivileged probes: tested: timer.ms(number).randomize(number) PASS: unprivileged probes: tested: timer.msec(number) PASS: unprivileged probes: tested: timer.msec(number).randomize(number) PASS: unprivileged probes: tested: timer.ns(number) PASS: unprivileged probes: tested: timer.ns(number).randomize(number) PASS: unprivileged probes: tested: timer.nsec(number) PASS: unprivileged probes: tested: timer.nsec(number).randomize(number) PASS: unprivileged probes: tested: timer.profile.tick PASS: unprivileged probes: tested: timer.s(number) PASS: unprivileged probes: tested: timer.s(number).randomize(number) PASS: unprivileged probes: tested: timer.sec(number) PASS: unprivileged probes: tested: timer.sec(number).randomize(number) PASS: unprivileged probes: tested: timer.us(number) PASS: unprivileged probes: tested: timer.us(number).randomize(number) PASS: unprivileged probes: tested: timer.usec(number) PASS: unprivileged probes: tested: timer.usec(number).randomize(number) testcase /root/systemtap_write/systemtap/testsuite/systemtap.unprivileged/unprivileged_probes.exp completed in 476 seconds === systemtap Summary === # of expected passes 8809 # of unexpected failures 69 # of unexpected successes 1 # of expected failures 339 # of unknown successes 3 # of known failures 95 # of untested testcases 749 # of unsupported tests 33 runtest completed at Tue Aug 16 22:18:44 2016